{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.opensearch#ARN": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the domain. See <a href=\"http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html\" target=\"_blank\">Identifiers for IAM Entities\n    </a> in <i>Using AWS Identity and Access Management</i> for more information.\n    </p>",
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.opensearch#AWSDomainInformation": {
            "type": "structure",
            "members": {
                "OwnerId": {
                    "target": "com.amazonaws.opensearch#OwnerId"
                },
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#required": {}
                    }
                },
                "Region": {
                    "target": "com.amazonaws.opensearch#Region"
                }
            }
        },
        "com.amazonaws.opensearch#AcceptInboundConnection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#AcceptInboundConnectionRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#AcceptInboundConnectionResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Allows the remote domain owner to accept an inbound cross-cluster connection request.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/accept",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#AcceptInboundConnectionRequest": {
            "type": "structure",
            "members": {
                "ConnectionId": {
                    "target": "com.amazonaws.opensearch#ConnectionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The ID of the inbound connection you want to accept.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>AcceptInboundConnection</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AcceptInboundConnectionResponse": {
            "type": "structure",
            "members": {
                "Connection": {
                    "target": "com.amazonaws.opensearch#InboundConnection",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>InboundConnection</a>\n      </code>\n      of the accepted inbound connection.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of an\n      <code>\n        <a>AcceptInboundConnection</a>\n      </code>\n      operation. Contains details about the accepted inbound connection.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AccessDeniedException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An error occurred because user does not have permissions to access the resource. Returns HTTP status code 403.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 403
            }
        },
        "com.amazonaws.opensearch#AccessPoliciesStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#PolicyDocument",
                    "traits": {
                        "smithy.api#documentation": "<p>The access policy configured for the domain. Access policies can be resource-based, IP-based, or\n      IAM-based. See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-access-policies\" target=\"_blank\">\n        Configuring access policies</a>for more information.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the access policy for the domain. See <code>OptionStatus</code> for the status\n      information that's included.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The configured access rules for the domain's document and search endpoints, and the current status of those\n      rules.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AddTags": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#AddTagsRequest"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Attaches tags to an existing domain. Tags are a set of case-sensitive key value pairs. An\n      domain can have up to 10 tags. See\n      <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains.html#managedomains-awsresorcetagging\" target=\"_blank\">\n        Tagging Amazon OpenSearch Service domains</a> for more information.\n    </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/tags",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#AddTagsRequest": {
            "type": "structure",
            "members": {
                "ARN": {
                    "target": "com.amazonaws.opensearch#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>Specify the <code>ARN</code> of the domain you want to add tags to.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "TagList": {
                    "target": "com.amazonaws.opensearch#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of <code>Tag</code> to add to the domain.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>AddTags</a>\n      </code>\n      operation. Specifies the tags to attach to the domain.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AdditionalLimit": {
            "type": "structure",
            "members": {
                "LimitName": {
                    "target": "com.amazonaws.opensearch#LimitName",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      Additional limit is specific to a given InstanceType and for each of its\n      <code>\n        <a>InstanceRole</a>\n      </code>\n      etc.\n      <br></br>\n      Attributes and their details:\n      <br></br>\n      <ul>\n        <li>MaximumNumberOfDataNodesSupported</li>\n        This attribute is present on the master node only to specify how\n        much data nodes up to which given\n        <code>\n          <a>ESPartitionInstanceType</a>\n        </code>\n        can support as master node.\n        <li>MaximumNumberOfDataNodesWithoutMasterNode</li>\n        This attribute is present on data node only to specify how much\n        data nodes of given\n        <code>\n          <a>ESPartitionInstanceType</a>\n        </code>\n        up to which you don't need any master nodes to govern them.\n      </ul>\n    </p>"
                    }
                },
                "LimitValues": {
                    "target": "com.amazonaws.opensearch#LimitValueList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      Value for a given\n      <code>\n        <a>AdditionalLimit$LimitName</a>\n      </code>\n      .\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      List of limits that are specific to a given InstanceType and for each of its\n      <code>\n        <a>InstanceRole</a>\n      </code>\n      .\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AdditionalLimitList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#AdditionalLimit"
            }
        },
        "com.amazonaws.opensearch#AdvancedOptions": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.opensearch#String"
            },
            "value": {
                "target": "com.amazonaws.opensearch#String"
            },
            "traits": {
                "smithy.api#documentation": "<p>Exposes select native OpenSearch configuration values from <code>opensearch.yml</code>. Currently, the\n      following advanced options are available:\n    </p>\n    <ul>\n      <li>Option to allow references to indices in an HTTP request body. Must be <code>false</code> when configuring\n        access to individual sub-resources. By default, the value is <code>true</code>.\n        See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options\" target=\"_blank\">Advanced cluster parameters\n        </a> for more information.\n      </li>\n      <li>Option to specify the percentage of heap space allocated to field data. By default, this setting is\n        unbounded.\n      </li>\n    </ul>\n    <p>For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options\">\n      Advanced cluster parameters</a>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AdvancedOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#AdvancedOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of advanced options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>OptionStatus</code> for advanced options for the specified domain.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Status of the advanced options for the specified domain. Currently, the following advanced options\n      are available:\n    </p>\n    <ul>\n      <li>Option to allow references to indices in an HTTP request body. Must be <code>false</code> when configuring\n        access to individual sub-resources. By default, the value is <code>true</code>.\n        See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options\" target=\"_blank\">Advanced cluster parameters\n        </a> for more information.\n      </li>\n      <li>Option to specify the percentage of heap space allocated to field data. By default, this setting is\n        unbounded.\n      </li>\n    </ul>\n    <p>For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options\">\n      Advanced cluster parameters</a>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AdvancedSecurityOptions": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True if advanced security is enabled.</p>"
                    }
                },
                "InternalUserDatabaseEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True if the internal user database is enabled.</p>"
                    }
                },
                "SAMLOptions": {
                    "target": "com.amazonaws.opensearch#SAMLOptionsOutput",
                    "traits": {
                        "smithy.api#documentation": "<p>Describes the SAML application configured for a domain.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The advanced security configuration: whether advanced security is enabled, whether the internal\n      database option is enabled.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AdvancedSecurityOptionsInput": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True if advanced security is enabled.</p>"
                    }
                },
                "InternalUserDatabaseEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True if the internal user database is enabled.</p>"
                    }
                },
                "MasterUserOptions": {
                    "target": "com.amazonaws.opensearch#MasterUserOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Credentials for the master user: username and password, ARN, or both.</p>"
                    }
                },
                "SAMLOptions": {
                    "target": "com.amazonaws.opensearch#SAMLOptionsInput",
                    "traits": {
                        "smithy.api#documentation": "<p>The SAML application configuration for the domain.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The advanced security configuration: whether advanced security is enabled, whether the internal\n      database option is enabled, master username and password (if internal database is enabled), and master user ARN\n      (if IAM is enabled).\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AdvancedSecurityOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#AdvancedSecurityOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Advanced security options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Status of the advanced security options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The status of advanced security options for the specified domain.</p>"
            }
        },
        "com.amazonaws.opensearch#AmazonOpenSearchService": {
            "type": "service",
            "version": "2021-01-01",
            "operations": [
                {
                    "target": "com.amazonaws.opensearch#AcceptInboundConnection"
                },
                {
                    "target": "com.amazonaws.opensearch#AddTags"
                },
                {
                    "target": "com.amazonaws.opensearch#AssociatePackage"
                },
                {
                    "target": "com.amazonaws.opensearch#CancelServiceSoftwareUpdate"
                },
                {
                    "target": "com.amazonaws.opensearch#CreateDomain"
                },
                {
                    "target": "com.amazonaws.opensearch#CreateOutboundConnection"
                },
                {
                    "target": "com.amazonaws.opensearch#CreatePackage"
                },
                {
                    "target": "com.amazonaws.opensearch#DeleteDomain"
                },
                {
                    "target": "com.amazonaws.opensearch#DeleteInboundConnection"
                },
                {
                    "target": "com.amazonaws.opensearch#DeleteOutboundConnection"
                },
                {
                    "target": "com.amazonaws.opensearch#DeletePackage"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeDomain"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeDomainAutoTunes"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeDomainConfig"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeDomains"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeInboundConnections"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeInstanceTypeLimits"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeOutboundConnections"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribePackages"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeReservedInstanceOfferings"
                },
                {
                    "target": "com.amazonaws.opensearch#DescribeReservedInstances"
                },
                {
                    "target": "com.amazonaws.opensearch#DissociatePackage"
                },
                {
                    "target": "com.amazonaws.opensearch#GetCompatibleVersions"
                },
                {
                    "target": "com.amazonaws.opensearch#GetPackageVersionHistory"
                },
                {
                    "target": "com.amazonaws.opensearch#GetUpgradeHistory"
                },
                {
                    "target": "com.amazonaws.opensearch#GetUpgradeStatus"
                },
                {
                    "target": "com.amazonaws.opensearch#ListDomainNames"
                },
                {
                    "target": "com.amazonaws.opensearch#ListDomainsForPackage"
                },
                {
                    "target": "com.amazonaws.opensearch#ListInstanceTypeDetails"
                },
                {
                    "target": "com.amazonaws.opensearch#ListPackagesForDomain"
                },
                {
                    "target": "com.amazonaws.opensearch#ListTags"
                },
                {
                    "target": "com.amazonaws.opensearch#ListVersions"
                },
                {
                    "target": "com.amazonaws.opensearch#PurchaseReservedInstanceOffering"
                },
                {
                    "target": "com.amazonaws.opensearch#RejectInboundConnection"
                },
                {
                    "target": "com.amazonaws.opensearch#RemoveTags"
                },
                {
                    "target": "com.amazonaws.opensearch#StartServiceSoftwareUpdate"
                },
                {
                    "target": "com.amazonaws.opensearch#UpdateDomainConfig"
                },
                {
                    "target": "com.amazonaws.opensearch#UpdatePackage"
                },
                {
                    "target": "com.amazonaws.opensearch#UpgradeDomain"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "OpenSearch",
                    "arnNamespace": "es",
                    "cloudFormationName": "OpenSearch",
                    "cloudTrailEventSource": "opensearch.amazonaws.com",
                    "endpointPrefix": "es"
                },
                "aws.auth#sigv4": {
                    "name": "es"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#documentation": "<fullname>Amazon OpenSearch Configuration Service</fullname>\n    <p>Use the Amazon OpenSearch configuration API to create, configure, and manage Amazon OpenSearch Service domains.</p>\n    <p>For sample code that uses the configuration API, see the <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/opensearch-configuration-samples.html\">\n      Amazon OpenSearch Service Developer Guide</a>.\n      The guide also contains <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/request-signing.html\">\n        sample\n        code for sending signed HTTP requests to the OpenSearch APIs</a>.\n    </p>\n    <p>The endpoint for configuration service requests is region-specific: es.<i>region</i>.amazonaws.com.\n      For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints,\n      see <a href=\"http://docs.aws.amazon.com/general/latest/gr/rande.html#service-regions\" target=\"_blank\">Regions and Endpoints</a>.\n    </p>",
                "smithy.api#title": "Amazon OpenSearch Service",
                "smithy.api#xmlNamespace": {
                    "uri": "http://es.amazonaws.com/doc/2021-01-01/"
                }
            }
        },
        "com.amazonaws.opensearch#AssociatePackage": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#AssociatePackageRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#AssociatePackageResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#ConflictException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Associates a package with an Amazon OpenSearch Service domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/packages/associate/{PackageID}/{DomainName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#AssociatePackageRequest": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>Internal ID of the package to associate with a domain. Use <code>DescribePackages</code> to find\n      this value.\n    </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain to associate the package with.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>AssociatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AssociatePackageResponse": {
            "type": "structure",
            "members": {
                "DomainPackageDetails": {
                    "target": "com.amazonaws.opensearch#DomainPackageDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      <code>DomainPackageDetails</code>\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by\n      <code>\n        <a>AssociatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AutoTune": {
            "type": "structure",
            "members": {
                "AutoTuneType": {
                    "target": "com.amazonaws.opensearch#AutoTuneType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.</p>"
                    }
                },
                "AutoTuneDetails": {
                    "target": "com.amazonaws.opensearch#AutoTuneDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies details about the Auto-Tune action. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies the Auto-Tune type and Auto-Tune action details.</p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneDate": {
            "type": "timestamp",
            "traits": {
                "smithy.api#documentation": "<p>The timestamp of the Auto-Tune action scheduled for the domain.</p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneDesiredState": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune desired state. Valid values are ENABLED and DISABLED.</p>",
                "smithy.api#enum": [
                    {
                        "value": "ENABLED",
                        "name": "ENABLED"
                    },
                    {
                        "value": "DISABLED",
                        "name": "DISABLED"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#AutoTuneDetails": {
            "type": "structure",
            "members": {
                "ScheduledAutoTuneDetails": {
                    "target": "com.amazonaws.opensearch#ScheduledAutoTuneDetails"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies details about the Auto-Tune action. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#AutoTune"
            }
        },
        "com.amazonaws.opensearch#AutoTuneMaintenanceSchedule": {
            "type": "structure",
            "members": {
                "StartAt": {
                    "target": "com.amazonaws.opensearch#StartAt",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp at which the Auto-Tune maintenance schedule starts.</p>"
                    }
                },
                "Duration": {
                    "target": "com.amazonaws.opensearch#Duration",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies maintenance schedule duration: duration value and duration unit. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                },
                "CronExpressionForRecurrence": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>A cron expression for a recurring maintenance schedule. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies the Auto-Tune maintenance schedule. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneMaintenanceScheduleList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#AutoTuneMaintenanceSchedule"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.opensearch#AutoTuneOptions": {
            "type": "structure",
            "members": {
                "DesiredState": {
                    "target": "com.amazonaws.opensearch#AutoTuneDesiredState",
                    "traits": {
                        "smithy.api#documentation": "<p>The Auto-Tune desired state. Valid values are ENABLED and DISABLED.</p>"
                    }
                },
                "RollbackOnDisable": {
                    "target": "com.amazonaws.opensearch#RollbackOnDisable",
                    "traits": {
                        "smithy.api#documentation": "<p>The rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK and DEFAULT_ROLLBACK.\n    </p>"
                    }
                },
                "MaintenanceSchedules": {
                    "target": "com.amazonaws.opensearch#AutoTuneMaintenanceScheduleList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of maintenance schedules. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune options: the Auto-Tune desired state for the domain, rollback state when disabling\n      Auto-Tune options and list of maintenance schedules.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneOptionsInput": {
            "type": "structure",
            "members": {
                "DesiredState": {
                    "target": "com.amazonaws.opensearch#AutoTuneDesiredState",
                    "traits": {
                        "smithy.api#documentation": "<p>The Auto-Tune desired state. Valid values are ENABLED and DISABLED.</p>"
                    }
                },
                "MaintenanceSchedules": {
                    "target": "com.amazonaws.opensearch#AutoTuneMaintenanceScheduleList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of maintenance schedules. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneOptionsOutput": {
            "type": "structure",
            "members": {
                "State": {
                    "target": "com.amazonaws.opensearch#AutoTuneState",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>AutoTuneState</code> for the domain.\n    </p>"
                    }
                },
                "ErrorMessage": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The error message while enabling or disabling Auto-Tune.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#AutoTuneOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies Auto-Tune options for the domain.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#AutoTuneStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the Auto-Tune options for the domain.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune status for the domain.</p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneState": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune state for the domain. For valid states see <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service</a>.\n    </p>",
                "smithy.api#enum": [
                    {
                        "value": "ENABLED",
                        "name": "ENABLED"
                    },
                    {
                        "value": "DISABLED",
                        "name": "DISABLED"
                    },
                    {
                        "value": "ENABLE_IN_PROGRESS",
                        "name": "ENABLE_IN_PROGRESS"
                    },
                    {
                        "value": "DISABLE_IN_PROGRESS",
                        "name": "DISABLE_IN_PROGRESS"
                    },
                    {
                        "value": "DISABLED_AND_ROLLBACK_SCHEDULED",
                        "name": "DISABLED_AND_ROLLBACK_SCHEDULED"
                    },
                    {
                        "value": "DISABLED_AND_ROLLBACK_IN_PROGRESS",
                        "name": "DISABLED_AND_ROLLBACK_IN_PROGRESS"
                    },
                    {
                        "value": "DISABLED_AND_ROLLBACK_COMPLETE",
                        "name": "DISABLED_AND_ROLLBACK_COMPLETE"
                    },
                    {
                        "value": "DISABLED_AND_ROLLBACK_ERROR",
                        "name": "DISABLED_AND_ROLLBACK_ERROR"
                    },
                    {
                        "value": "ERROR",
                        "name": "ERROR"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#AutoTuneStatus": {
            "type": "structure",
            "members": {
                "CreationDate": {
                    "target": "com.amazonaws.opensearch#UpdateTimestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of the Auto-Tune options creation date.</p>",
                        "smithy.api#required": {}
                    }
                },
                "UpdateDate": {
                    "target": "com.amazonaws.opensearch#UpdateTimestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of when the Auto-Tune options were last updated.</p>",
                        "smithy.api#required": {}
                    }
                },
                "UpdateVersion": {
                    "target": "com.amazonaws.opensearch#UIntValue",
                    "traits": {
                        "smithy.api#documentation": "<p>The latest version of the Auto-Tune options.</p>"
                    }
                },
                "State": {
                    "target": "com.amazonaws.opensearch#AutoTuneState",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>AutoTuneState</code> for the domain.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "ErrorMessage": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The error message while enabling or disabling Auto-Tune.</p>"
                    }
                },
                "PendingDeletion": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether the domain is being deleted.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Provides the current Auto-Tune status for the domain.</p>"
            }
        },
        "com.amazonaws.opensearch#AutoTuneType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.</p>",
                "smithy.api#enum": [
                    {
                        "value": "SCHEDULED_ACTION",
                        "name": "SCHEDULED_ACTION"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#BackendRole": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.opensearch#BaseException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An error occurred while processing the request.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.opensearch#Boolean": {
            "type": "boolean",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.opensearch#CancelServiceSoftwareUpdate": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#CancelServiceSoftwareUpdateRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#CancelServiceSoftwareUpdateResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Cancels a scheduled service software update for an Amazon OpenSearch Service domain. You can only perform this operation before\n      the <code>AutomatedUpdateDate</code> and when the <code>UpdateStatus</code> is in the <code>PENDING_UPDATE</code> state.\n    </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/serviceSoftwareUpdate/cancel",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#CancelServiceSoftwareUpdateRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain that you want to stop the latest service software update on.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>CancelServiceSoftwareUpdate</a>\n      </code>\n      operation. Specifies the name of the domain that you wish to cancel a service software update on.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CancelServiceSoftwareUpdateResponse": {
            "type": "structure",
            "members": {
                "ServiceSoftwareOptions": {
                    "target": "com.amazonaws.opensearch#ServiceSoftwareOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The current status of the OpenSearch service software update.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>CancelServiceSoftwareUpdate</code> operation. Contains the status of the\n      update.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CloudWatchLogsLogGroupArn": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>ARN of the Cloudwatch log group to publish logs to.</p>",
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.opensearch#ClusterConfig": {
            "type": "structure",
            "members": {
                "InstanceType": {
                    "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The instance type for an OpenSearch cluster. UltraWarm instance types are not supported for data instances.\n    </p>"
                    }
                },
                "InstanceCount": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of instances in the specified domain cluster.</p>"
                    }
                },
                "DedicatedMasterEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>A boolean value to indicate whether a dedicated master node is enabled. See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains.html#managedomains-dedicatedmasternodes\" target=\"_blank\">Dedicated master nodes in Amazon OpenSearch Service \n    </a> for more information.\n    </p>"
                    }
                },
                "ZoneAwarenessEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>A boolean value to indicate whether zone awareness is enabled. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-multiaz.html\" target=\"_blank\">Configuring a multi-AZ domain in Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                },
                "ZoneAwarenessConfig": {
                    "target": "com.amazonaws.opensearch#ZoneAwarenessConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The zone awareness configuration for a domain when zone awareness is enabled.</p>"
                    }
                },
                "DedicatedMasterType": {
                    "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The instance type for a dedicated master node.</p>"
                    }
                },
                "DedicatedMasterCount": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>Total number of dedicated master nodes, active and on standby, for the cluster.</p>"
                    }
                },
                "WarmEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True to enable UltraWarm storage.</p>"
                    }
                },
                "WarmType": {
                    "target": "com.amazonaws.opensearch#OpenSearchWarmPartitionInstanceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The instance type for the OpenSearch cluster's warm nodes.</p>"
                    }
                },
                "WarmCount": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of UltraWarm nodes in the cluster.</p>"
                    }
                },
                "ColdStorageOptions": {
                    "target": "com.amazonaws.opensearch#ColdStorageOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the <code>ColdStorageOptions</code> config for a Domain</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The configuration for the domain cluster, such as the type and number of instances.</p>"
            }
        },
        "com.amazonaws.opensearch#ClusterConfigStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#ClusterConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The cluster configuration for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The cluster configuration status for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The configuration status for the specified domain.</p>"
            }
        },
        "com.amazonaws.opensearch#CognitoOptions": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The option to enable Cognito for OpenSearch Dashboards authentication.</p>"
                    }
                },
                "UserPoolId": {
                    "target": "com.amazonaws.opensearch#UserPoolId",
                    "traits": {
                        "smithy.api#documentation": "<p>The Cognito user pool ID for OpenSearch Dashboards authentication.</p>"
                    }
                },
                "IdentityPoolId": {
                    "target": "com.amazonaws.opensearch#IdentityPoolId",
                    "traits": {
                        "smithy.api#documentation": "<p>The Cognito identity pool ID for OpenSearch Dashboards authentication.</p>"
                    }
                },
                "RoleArn": {
                    "target": "com.amazonaws.opensearch#RoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The role ARN that provides OpenSearch permissions for accessing Cognito resources.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html\" target=\"_blank\">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CognitoOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#CognitoOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Cognito options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the Cognito options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The status of the Cognito options for the specified domain.</p>"
            }
        },
        "com.amazonaws.opensearch#ColdStorageOptions": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Enable cold storage option. Accepted values true or false</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies the configuration for cold storage options such as enabled</p>"
            }
        },
        "com.amazonaws.opensearch#CommitMessage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 160
                }
            }
        },
        "com.amazonaws.opensearch#CompatibleVersionsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#CompatibleVersionsMap"
            }
        },
        "com.amazonaws.opensearch#CompatibleVersionsMap": {
            "type": "structure",
            "members": {
                "SourceVersion": {
                    "target": "com.amazonaws.opensearch#VersionString",
                    "traits": {
                        "smithy.api#documentation": "<p>The current version of OpenSearch a domain is on.</p>"
                    }
                },
                "TargetVersions": {
                    "target": "com.amazonaws.opensearch#VersionList"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      A map from an\n      <code>\n        <a>EngineVersion</a>\n      </code>\n      to a list of compatible\n      <code>\n        <a>EngineVersion</a>\n      </code>\n      s to which the domain can be upgraded.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ConflictException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An error occurred because the client attempts to remove a resource that is currently in use. Returns HTTP status code 409.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.opensearch#ConnectionAlias": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 2,
                    "max": 100
                },
                "smithy.api#pattern": "^[a-zA-Z][a-zA-Z0-9\\-\\_]+$"
            }
        },
        "com.amazonaws.opensearch#ConnectionId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 10,
                    "max": 256
                },
                "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$"
            }
        },
        "com.amazonaws.opensearch#ConnectionStatusMessage": {
            "type": "string"
        },
        "com.amazonaws.opensearch#CreateDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#CreateDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#CreateDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#InvalidTypeException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a new Amazon OpenSearch Service domain. For more information,\n      see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html\" target=\"_blank\">Creating and managing Amazon OpenSearch Service domains\n      </a> in the <i>Amazon OpenSearch Service Developer Guide</i>.\n    </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/domain",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#CreateDomainRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the domains owned by\n      an account within an AWS region. Domain names must start with a lowercase letter and can contain the following\n      characters: a-z (lowercase), 0-9, and - (hyphen).\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "EngineVersion": {
                    "target": "com.amazonaws.opensearch#VersionString",
                    "traits": {
                        "smithy.api#documentation": "<p>String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon OpenSearch Service domain.\n      For example, \"OpenSearch_1.0\" or \"Elasticsearch_7.9\". For more information,\n      see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains\" target=\"_blank\">Creating and managing Amazon OpenSearch Service domains\n      </a>.\n    </p>"
                    }
                },
                "ClusterConfig": {
                    "target": "com.amazonaws.opensearch#ClusterConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>Configuration options for a domain. Specifies the instance type and number of instances in the\n      domain.\n    </p>"
                    }
                },
                "EBSOptions": {
                    "target": "com.amazonaws.opensearch#EBSOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to enable, disable, and specify the type and size of EBS storage volumes.</p>"
                    }
                },
                "AccessPolicies": {
                    "target": "com.amazonaws.opensearch#PolicyDocument",
                    "traits": {
                        "smithy.api#documentation": "<p>IAM access policy as a JSON-formatted string.</p>"
                    }
                },
                "SnapshotOptions": {
                    "target": "com.amazonaws.opensearch#SnapshotOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.</p>"
                    }
                },
                "VPCOptions": {
                    "target": "com.amazonaws.opensearch#VPCOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to specify the subnets and security groups for a VPC endpoint. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html\" target=\"_blank\">Launching your Amazon OpenSearch Service domains using a VPC\n    </a>.\n    </p>"
                    }
                },
                "CognitoOptions": {
                    "target": "com.amazonaws.opensearch#CognitoOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html\" target=\"_blank\">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.\n    </p>"
                    }
                },
                "EncryptionAtRestOptions": {
                    "target": "com.amazonaws.opensearch#EncryptionAtRestOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options for encryption of data at rest.</p>"
                    }
                },
                "NodeToNodeEncryptionOptions": {
                    "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Node-to-node encryption options.</p>"
                    }
                },
                "AdvancedOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Option to allow references to indices in an HTTP request body. Must be <code>false</code> when configuring access\n      to individual sub-resources. By default, the value is <code>true</code>.\n      See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options\" target=\"_blank\">Advanced cluster parameters\n      </a> for more information.\n    </p>"
                    }
                },
                "LogPublishingOptions": {
                    "target": "com.amazonaws.opensearch#LogPublishingOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Map of <code>LogType</code> and <code>LogPublishingOption</code>, each containing options to publish a given type\n      of OpenSearch log.\n    </p>"
                    }
                },
                "DomainEndpointOptions": {
                    "target": "com.amazonaws.opensearch#DomainEndpointOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to specify configurations that will be applied to the domain endpoint.</p>"
                    }
                },
                "AdvancedSecurityOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedSecurityOptionsInput",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies advanced security options.</p>"
                    }
                },
                "TagList": {
                    "target": "com.amazonaws.opensearch#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of <code>Tag</code> added during domain creation.\n    </p>"
                    }
                },
                "AutoTuneOptions": {
                    "target": "com.amazonaws.opensearch#AutoTuneOptionsInput",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies Auto-Tune options.</p>"
                    }
                }
            }
        },
        "com.amazonaws.opensearch#CreateDomainResponse": {
            "type": "structure",
            "members": {
                "DomainStatus": {
                    "target": "com.amazonaws.opensearch#DomainStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the newly created domain.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>CreateDomain</code> operation. Contains the status of the newly created\n      Amazon OpenSearch Service domain.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CreateOutboundConnection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#CreateOutboundConnectionRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#CreateOutboundConnectionResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a new cross-cluster connection from a local OpenSearch domain to a remote OpenSearch domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/cc/outboundConnection",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#CreateOutboundConnectionRequest": {
            "type": "structure",
            "members": {
                "LocalDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>AWSDomainInformation</a>\n      </code>\n      for the local OpenSearch domain.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "RemoteDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>AWSDomainInformation</a>\n      </code>\n      for the remote OpenSearch domain.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "ConnectionAlias": {
                    "target": "com.amazonaws.opensearch#ConnectionAlias",
                    "traits": {
                        "smithy.api#documentation": "<p>The connection alias used used by the customer for this cross-cluster connection.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>CreateOutboundConnection</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CreateOutboundConnectionResponse": {
            "type": "structure",
            "members": {
                "LocalDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>AWSDomainInformation</a>\n      </code>\n      for the local OpenSearch domain.\n    </p>"
                    }
                },
                "RemoteDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>AWSDomainInformation</a>\n      </code>\n      for the remote OpenSearch domain.\n    </p>"
                    }
                },
                "ConnectionAlias": {
                    "target": "com.amazonaws.opensearch#ConnectionAlias",
                    "traits": {
                        "smithy.api#documentation": "<p>The connection alias provided during the create connection request.</p>"
                    }
                },
                "ConnectionStatus": {
                    "target": "com.amazonaws.opensearch#OutboundConnectionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>OutboundConnectionStatus</a>\n      </code>\n      for the newly created connection.\n    </p>"
                    }
                },
                "ConnectionId": {
                    "target": "com.amazonaws.opensearch#ConnectionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique ID for the created outbound connection, which is used for subsequent operations on the connection.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a\n      <code>\n        <a>CreateOutboundConnection</a>\n      </code>\n      request. Contains the details about the newly created cross-cluster connection.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CreatePackage": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#CreatePackageRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#CreatePackageResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#InvalidTypeException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Create a package for use with Amazon OpenSearch Service domains.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/packages",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#CreatePackageRequest": {
            "type": "structure",
            "members": {
                "PackageName": {
                    "target": "com.amazonaws.opensearch#PackageName",
                    "traits": {
                        "smithy.api#documentation": "<p>Unique identifier for the package.</p>",
                        "smithy.api#required": {}
                    }
                },
                "PackageType": {
                    "target": "com.amazonaws.opensearch#PackageType",
                    "traits": {
                        "smithy.api#documentation": "<p>Type of package. Currently supports only TXT-DICTIONARY.</p>",
                        "smithy.api#required": {}
                    }
                },
                "PackageDescription": {
                    "target": "com.amazonaws.opensearch#PackageDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>Description of the package.</p>"
                    }
                },
                "PackageSource": {
                    "target": "com.amazonaws.opensearch#PackageSource",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon S3 location from which to import the package.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for request parameters to the\n      <code>\n        <a>CreatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CreatePackageResponse": {
            "type": "structure",
            "members": {
                "PackageDetails": {
                    "target": "com.amazonaws.opensearch#PackageDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about the package.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by the\n      <code>\n        <a>CreatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#CreatedAt": {
            "type": "timestamp"
        },
        "com.amazonaws.opensearch#DeleteDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DeleteDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DeleteDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Permanently deletes the specified domain and all of its data. Once a domain is deleted, it cannot\n      be recovered.\n    </p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/2021-01-01/opensearch/domain/{DomainName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DeleteDomainRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain you want to permanently delete.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>DeleteDomain</a>\n      </code>\n      operation. Specifies the name of the domain you want to delete.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeleteDomainResponse": {
            "type": "structure",
            "members": {
                "DomainStatus": {
                    "target": "com.amazonaws.opensearch#DomainStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the domain being deleted.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>DeleteDomain</code> request. Contains the status of the pending deletion, or\n      a \"domain not found\" error if the domain and all of its resources have been deleted.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeleteInboundConnection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DeleteInboundConnectionRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DeleteInboundConnectionResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Allows the remote domain owner to delete an existing inbound cross-cluster connection.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DeleteInboundConnectionRequest": {
            "type": "structure",
            "members": {
                "ConnectionId": {
                    "target": "com.amazonaws.opensearch#ConnectionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The ID of the inbound connection to permanently delete.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>DeleteInboundConnection</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeleteInboundConnectionResponse": {
            "type": "structure",
            "members": {
                "Connection": {
                    "target": "com.amazonaws.opensearch#InboundConnection",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>InboundConnection</a>\n      </code>\n      of the deleted inbound connection.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a\n      <code>\n        <a>DeleteInboundConnection</a>\n      </code>\n      operation. Contains details about the deleted inbound connection.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeleteOutboundConnection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DeleteOutboundConnectionRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DeleteOutboundConnectionResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Allows the local domain owner to delete an existing outbound cross-cluster connection.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/2021-01-01/opensearch/cc/outboundConnection/{ConnectionId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DeleteOutboundConnectionRequest": {
            "type": "structure",
            "members": {
                "ConnectionId": {
                    "target": "com.amazonaws.opensearch#ConnectionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The ID of the outbound connection you want to permanently delete.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>DeleteOutboundConnection</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeleteOutboundConnectionResponse": {
            "type": "structure",
            "members": {
                "Connection": {
                    "target": "com.amazonaws.opensearch#OutboundConnection",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>OutboundConnection</a>\n      </code>\n      of the deleted outbound connection.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a\n      <code>\n        <a>DeleteOutboundConnection</a>\n      </code>\n      operation. Contains details about the deleted outbound connection.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeletePackage": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DeletePackageRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DeletePackageResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#ConflictException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the package.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/2021-01-01/packages/{PackageID}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DeletePackageRequest": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>The internal ID of the package you want to delete. Use <code>DescribePackages</code> to find this value.\n    </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>DeletePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeletePackageResponse": {
            "type": "structure",
            "members": {
                "PackageDetails": {
                    "target": "com.amazonaws.opensearch#PackageDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      <code>PackageDetails</code>\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response parameters to the\n      <code>\n        <a>DeletePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DeploymentCloseDateTimeStamp": {
            "type": "timestamp"
        },
        "com.amazonaws.opensearch#DeploymentStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PENDING_UPDATE",
                        "name": "PENDING_UPDATE"
                    },
                    {
                        "value": "IN_PROGRESS",
                        "name": "IN_PROGRESS"
                    },
                    {
                        "value": "COMPLETED",
                        "name": "COMPLETED"
                    },
                    {
                        "value": "NOT_ELIGIBLE",
                        "name": "NOT_ELIGIBLE"
                    },
                    {
                        "value": "ELIGIBLE",
                        "name": "ELIGIBLE"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#DescribeDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns domain configuration information about the specified domain, including the domain ID,\n      domain endpoint, and domain ARN.\n    </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/domain/{DomainName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DescribeDomainAutoTunes": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeDomainAutoTunesRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeDomainAutoTunesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Provides scheduled Auto-Tune action details for the domain, such as Auto-Tune action type,\n      description, severity, and scheduled date.\n    </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/domain/{DomainName}/autoTunes",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#DescribeDomainAutoTunesRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The domain name for which you want Auto-Tune action details.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Set this value to limit the number of results returned. If not specified, defaults to 100.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>NextToken is sent in case the earlier API call results contain the NextToken. Used for pagination.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the <code>DescribeDomainAutoTunes</code> operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeDomainAutoTunesResponse": {
            "type": "structure",
            "members": {
                "AutoTunes": {
                    "target": "com.amazonaws.opensearch#AutoTuneList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of setting adjustments that Auto-Tune has made to the domain. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>An identifier to allow retrieval of paginated results.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>DescribeDomainAutoTunes</code> request. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeDomainConfig": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeDomainConfigRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeDomainConfigResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Provides cluster configuration information about the specified domain, such as the state, creation\n      date, update version, and update date for cluster options.\n    </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/domain/{DomainName}/config",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DescribeDomainConfigRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The domain you want to get information about.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the <code>DescribeDomainConfig</code> operation. Specifies the\n      domain name for which you want configuration information.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeDomainConfigResponse": {
            "type": "structure",
            "members": {
                "DomainConfig": {
                    "target": "com.amazonaws.opensearch#DomainConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The configuration information of the domain requested in the <code>DescribeDomainConfig</code> request.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>DescribeDomainConfig</code> request. Contains the configuration information of\n      the requested domain.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeDomainRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain for which you want information.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>DescribeDomain</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeDomainResponse": {
            "type": "structure",
            "members": {
                "DomainStatus": {
                    "target": "com.amazonaws.opensearch#DomainStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The current status of the domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>DescribeDomain</code> request. Contains the status of the domain specified in\n      the request.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeDomains": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeDomainsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeDomainsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns domain configuration information about the specified domains, including the domain ID,\n      domain endpoint, and domain ARN.\n    </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/domain-info",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DescribeDomainsRequest": {
            "type": "structure",
            "members": {
                "DomainNames": {
                    "target": "com.amazonaws.opensearch#DomainNameList",
                    "traits": {
                        "smithy.api#documentation": "<p>The domains for which you want information.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>DescribeDomains</a>\n      </code>\n      operation. By default, the API returns the status of all domains.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeDomainsResponse": {
            "type": "structure",
            "members": {
                "DomainStatusList": {
                    "target": "com.amazonaws.opensearch#DomainStatusList",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the domains requested in the <code>DescribeDomains</code> request.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>DescribeDomains</code> request. Contains the status of the specified domains\n      or all domains owned by the account.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeInboundConnections": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeInboundConnectionsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeInboundConnectionsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InvalidPaginationTokenException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists all the inbound cross-cluster connections for a remote domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/cc/inboundConnection/search",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#DescribeInboundConnectionsRequest": {
            "type": "structure",
            "members": {
                "Filters": {
                    "target": "com.amazonaws.opensearch#FilterList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      A list of filters used to match properties for inbound cross-cluster connections.\n      Available\n      <code>\n        <a>Filter</a>\n      </code>\n      values are:\n      <ul>\n        <li>connection-id</li>\n        <li>local-domain-info.domain-name</li>\n        <li>local-domain-info.owner-id</li>\n        <li>local-domain-info.region</li>\n        <li>remote-domain-info.domain-name</li>\n      </ul>\n    </p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Set this value to limit the number of results returned. If not specified, defaults to 100.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>If more results are available and NextToken is present, make the next request to the same API with the received\n      NextToken to paginate the remaining results.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>DescribeInboundConnections</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeInboundConnectionsResponse": {
            "type": "structure",
            "members": {
                "Connections": {
                    "target": "com.amazonaws.opensearch#InboundConnections",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of\n      <code>\n        <a>InboundConnection</a>\n      </code>\n      matching the specified filter criteria.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>If more results are available and NextToken is present, make the next request to the same API with the received\n      NextToken to paginate the remaining results.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a\n      <code>\n        <a>DescribeInboundConnections</a>\n      </code>\n      request. Contains a list of connections matching the filter criteria.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeInstanceTypeLimits": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeInstanceTypeLimitsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeInstanceTypeLimitsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#InvalidTypeException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n      Describe the limits for a given instance type and OpenSearch or Elasticsearch version.\n      When modifying an existing domain, specify the\n      <code>\n        <a>DomainName</a>\n      </code>\n      to see which limits you can modify.\n    </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/instanceTypeLimits/{EngineVersion}/{InstanceType}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DescribeInstanceTypeLimitsRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      The name of the domain you want to modify. Only include this value if you're\n      querying OpenSearch\n      <code>\n        <a>Limits</a>\n      </code>\n      for an existing domain.\n    </p>",
                        "smithy.api#httpQuery": "domainName"
                    }
                },
                "InstanceType": {
                    "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      The instance type for an OpenSearch cluster for which OpenSearch\n      <code>\n        <a>Limits</a>\n      </code>\n      are needed.\n    </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "EngineVersion": {
                    "target": "com.amazonaws.opensearch#VersionString",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      Version of OpenSearch for which\n      <code>\n        <a>Limits</a>\n      </code>\n      are needed.\n    </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the parameters to the\n      <code>\n        <a>DescribeInstanceTypeLimits</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeInstanceTypeLimitsResponse": {
            "type": "structure",
            "members": {
                "LimitsByRole": {
                    "target": "com.amazonaws.opensearch#LimitsByRole"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the parameters received from the\n      <code>\n        <a>DescribeInstanceTypeLimits</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeOutboundConnections": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeOutboundConnectionsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeOutboundConnectionsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InvalidPaginationTokenException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists all the outbound cross-cluster connections for a local domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/cc/outboundConnection/search",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#DescribeOutboundConnectionsRequest": {
            "type": "structure",
            "members": {
                "Filters": {
                    "target": "com.amazonaws.opensearch#FilterList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      A list of filters used to match properties for outbound cross-cluster connections.\n      Available\n      <code>\n        <a>Filter</a>\n      </code>\n      names for this operation are:\n      <ul>\n        <li>connection-id</li>\n        <li>remote-domain-info.domain-name</li>\n        <li>remote-domain-info.owner-id</li>\n        <li>remote-domain-info.region</li>\n        <li>local-domain-info.domain-name</li>\n      </ul>\n    </p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Set this value to limit the number of results returned. If not specified, defaults to 100.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>NextToken is sent in case the earlier API call results contain the NextToken parameter. Used for pagination.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>DescribeOutboundConnections</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeOutboundConnectionsResponse": {
            "type": "structure",
            "members": {
                "Connections": {
                    "target": "com.amazonaws.opensearch#OutboundConnections",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of\n      <code>\n        <a>OutboundConnection</a>\n      </code>\n      matching the specified filter criteria.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>If more results are available and NextToken is present, make the next request to the same API with the received\n      NextToken to paginate the remaining results.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a\n      <code>\n        <a>DescribeOutboundConnections</a>\n      </code>\n      request. Contains the list of connections matching the filter criteria.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribePackages": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribePackagesRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribePackagesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Describes all packages available to Amazon OpenSearch Service domains. Includes options for filtering, limiting the number of results,\n      and pagination.\n    </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/packages/describe",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#DescribePackagesFilter": {
            "type": "structure",
            "members": {
                "Name": {
                    "target": "com.amazonaws.opensearch#DescribePackagesFilterName",
                    "traits": {
                        "smithy.api#documentation": "<p>Any field from <code>PackageDetails</code>.\n    </p>"
                    }
                },
                "Value": {
                    "target": "com.amazonaws.opensearch#DescribePackagesFilterValues",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of values for the specified field.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A filter to apply to the <code>DescribePackage</code> response.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribePackagesFilterList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#DescribePackagesFilter"
            },
            "traits": {
                "smithy.api#documentation": "<p>A list of <code>DescribePackagesFilter</code> to filter the packages included in a <code>DescribePackages</code> response.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribePackagesFilterName": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PackageID",
                        "name": "PackageID"
                    },
                    {
                        "value": "PackageName",
                        "name": "PackageName"
                    },
                    {
                        "value": "PackageStatus",
                        "name": "PackageStatus"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#DescribePackagesFilterValue": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^[0-9a-zA-Z\\*\\.\\\\/\\?-]*$"
            }
        },
        "com.amazonaws.opensearch#DescribePackagesFilterValues": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#DescribePackagesFilterValue"
            }
        },
        "com.amazonaws.opensearch#DescribePackagesRequest": {
            "type": "structure",
            "members": {
                "Filters": {
                    "target": "com.amazonaws.opensearch#DescribePackagesFilterList",
                    "traits": {
                        "smithy.api#documentation": "<p>Only returns packages that match the <code>DescribePackagesFilterList</code> values.\n    </p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Limits results to a maximum number of packages.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n      returns results for the next page.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>DescribePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribePackagesResponse": {
            "type": "structure",
            "members": {
                "PackageDetailsList": {
                    "target": "com.amazonaws.opensearch#PackageDetailsList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of <code>PackageDetails</code> objects.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by the\n      <code>\n        <a>DescribePackages</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeReservedInstanceOfferings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists available reserved OpenSearch instance offerings.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/reservedInstanceOfferings",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsRequest": {
            "type": "structure",
            "members": {
                "ReservedInstanceOfferingId": {
                    "target": "com.amazonaws.opensearch#GUID",
                    "traits": {
                        "smithy.api#documentation": "<p>The offering identifier filter value. Use this parameter to show only the available offering that matches the\n      specified reservation identifier.\n    </p>",
                        "smithy.api#httpQuery": "offeringId"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Set this value to limit the number of results returned. If not specified, defaults to 100.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Provides an identifier to allow retrieval of paginated results.\n    </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for parameters to\n      <code>DescribeReservedInstanceOfferings</code>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeReservedInstanceOfferingsResponse": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Provides an identifier to allow retrieval of paginated results.</p>"
                    }
                },
                "ReservedInstanceOfferings": {
                    "target": "com.amazonaws.opensearch#ReservedInstanceOfferingList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of reserved OpenSearch instance offerings</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for results from\n      <code>DescribeReservedInstanceOfferings</code>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeReservedInstances": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DescribeReservedInstancesRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DescribeReservedInstancesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns information about reserved OpenSearch instances for this account.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/reservedInstances",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#DescribeReservedInstancesRequest": {
            "type": "structure",
            "members": {
                "ReservedInstanceId": {
                    "target": "com.amazonaws.opensearch#GUID",
                    "traits": {
                        "smithy.api#documentation": "<p>The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the\n      specified reserved OpenSearch instance ID.\n    </p>",
                        "smithy.api#httpQuery": "reservationId"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Set this value to limit the number of results returned. If not specified, defaults to 100.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Provides an identifier to allow retrieval of paginated results.\n    </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for parameters to\n      <code>DescribeReservedInstances</code>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DescribeReservedInstancesResponse": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Provides an identifier to allow retrieval of paginated results.</p>"
                    }
                },
                "ReservedInstances": {
                    "target": "com.amazonaws.opensearch#ReservedInstanceList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of reserved OpenSearch instances.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for results from\n      <code>DescribeReservedInstances</code>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DisabledOperationException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An error occured because the client wanted to access a not supported operation. Gives http status code of 409.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.opensearch#DissociatePackage": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#DissociatePackageRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#DissociatePackageResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#ConflictException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Dissociates a package from the Amazon OpenSearch Service domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/packages/dissociate/{PackageID}/{DomainName}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#DissociatePackageRequest": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>The internal ID of the package to associate with a domain. Use <code>DescribePackages</code> to find\n      this value.\n    </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain to associate the package with.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>DissociatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DissociatePackageResponse": {
            "type": "structure",
            "members": {
                "DomainPackageDetails": {
                    "target": "com.amazonaws.opensearch#DomainPackageDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      <code>DomainPackageDetails</code>\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by\n      <code>\n        <a>DissociatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DomainConfig": {
            "type": "structure",
            "members": {
                "EngineVersion": {
                    "target": "com.amazonaws.opensearch#VersionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch or Elasticsearch domain.</p>"
                    }
                },
                "ClusterConfig": {
                    "target": "com.amazonaws.opensearch#ClusterConfigStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>ClusterConfig</code> for the domain.\n    </p>"
                    }
                },
                "EBSOptions": {
                    "target": "com.amazonaws.opensearch#EBSOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>EBSOptions</code> for the domain.\n    </p>"
                    }
                },
                "AccessPolicies": {
                    "target": "com.amazonaws.opensearch#AccessPoliciesStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>IAM access policy as a JSON-formatted string.</p>"
                    }
                },
                "SnapshotOptions": {
                    "target": "com.amazonaws.opensearch#SnapshotOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>SnapshotOptions</code> for the domain.\n    </p>"
                    }
                },
                "VPCOptions": {
                    "target": "com.amazonaws.opensearch#VPCDerivedInfoStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>VPCOptions</code> for the specified domain. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html\" target=\"_blank\">\n      Launching your Amazon OpenSearch Service domains using a VPC</a>.\n    </p>"
                    }
                },
                "CognitoOptions": {
                    "target": "com.amazonaws.opensearch#CognitoOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>CognitoOptions</code> for the specified domain. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html\" target=\"_blank\">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.\n    </p>"
                    }
                },
                "EncryptionAtRestOptions": {
                    "target": "com.amazonaws.opensearch#EncryptionAtRestOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>EncryptionAtRestOptions</code> for the domain.\n    </p>"
                    }
                },
                "NodeToNodeEncryptionOptions": {
                    "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>NodeToNodeEncryptionOptions</code> for the domain.\n    </p>"
                    }
                },
                "AdvancedOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>AdvancedOptions</code> for the domain. See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options\" target=\"_blank\">Advanced options\n    </a> for more information.\n    </p>"
                    }
                },
                "LogPublishingOptions": {
                    "target": "com.amazonaws.opensearch#LogPublishingOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Log publishing options for the given domain.</p>"
                    }
                },
                "DomainEndpointOptions": {
                    "target": "com.amazonaws.opensearch#DomainEndpointOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>DomainEndpointOptions</code> for the domain.\n    </p>"
                    }
                },
                "AdvancedSecurityOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedSecurityOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies <code>AdvancedSecurityOptions</code> for the domain.\n    </p>"
                    }
                },
                "AutoTuneOptions": {
                    "target": "com.amazonaws.opensearch#AutoTuneOptionsStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies <code>AutoTuneOptions</code> for the domain.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The configuration of a domain.</p>"
            }
        },
        "com.amazonaws.opensearch#DomainEndpointOptions": {
            "type": "structure",
            "members": {
                "EnforceHTTPS": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether only HTTPS endpoint should be enabled for the domain.</p>"
                    }
                },
                "TLSSecurityPolicy": {
                    "target": "com.amazonaws.opensearch#TLSSecurityPolicy",
                    "traits": {
                        "smithy.api#documentation": "<p>Specify the TLS security policy to apply to the HTTPS endpoint of the domain.\n      <br></br>\n      Can be one of the following values:\n      <ul>\n        <li>\n          <b>Policy-Min-TLS-1-0-2019-07:</b>\n          TLS security policy which supports TLSv1.0 and higher.\n        </li>\n        <li>\n          <b>Policy-Min-TLS-1-2-2019-07:</b>\n          TLS security policy which supports only TLSv1.2\n        </li>\n      </ul>\n    </p>"
                    }
                },
                "CustomEndpointEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether to enable a custom endpoint for the domain.</p>"
                    }
                },
                "CustomEndpoint": {
                    "target": "com.amazonaws.opensearch#DomainNameFqdn",
                    "traits": {
                        "smithy.api#documentation": "<p>The fully qualified domain for your custom endpoint.</p>"
                    }
                },
                "CustomEndpointCertificateArn": {
                    "target": "com.amazonaws.opensearch#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ACM certificate ARN for your custom endpoint.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Options to configure the endpoint for the domain.</p>"
            }
        },
        "com.amazonaws.opensearch#DomainEndpointOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#DomainEndpointOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to configure the endpoint for the domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the endpoint options for the domain. See <code>OptionStatus</code> for the status\n      information that's included.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The configured endpoint options for the domain and their current status.</p>"
            }
        },
        "com.amazonaws.opensearch#DomainId": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>Unique identifier for the domain.</p>",
                "smithy.api#length": {
                    "min": 1,
                    "max": 64
                }
            }
        },
        "com.amazonaws.opensearch#DomainInfo": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>DomainName</code>.\n    </p>"
                    }
                },
                "EngineType": {
                    "target": "com.amazonaws.opensearch#EngineType",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the <code>EngineType</code> of the domain.</p>"
                    }
                }
            }
        },
        "com.amazonaws.opensearch#DomainInfoList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#DomainInfo"
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the list of domain information.</p>"
            }
        },
        "com.amazonaws.opensearch#DomainInformationContainer": {
            "type": "structure",
            "members": {
                "AWSDomainInformation": {
                    "target": "com.amazonaws.opensearch#AWSDomainInformation"
                }
            }
        },
        "com.amazonaws.opensearch#DomainName": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The name of an domain. Domain names are unique across the domains owned by an account within an AWS\n      region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9,\n      and - (hyphen).\n    </p>",
                "smithy.api#length": {
                    "min": 3,
                    "max": 28
                },
                "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$"
            }
        },
        "com.amazonaws.opensearch#DomainNameFqdn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 255
                },
                "smithy.api#pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$"
            }
        },
        "com.amazonaws.opensearch#DomainNameList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#DomainName"
            },
            "traits": {
                "smithy.api#documentation": "<p>A list of domain names.</p>"
            }
        },
        "com.amazonaws.opensearch#DomainPackageDetails": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>The internal ID of the package.</p>"
                    }
                },
                "PackageName": {
                    "target": "com.amazonaws.opensearch#PackageName",
                    "traits": {
                        "smithy.api#documentation": "<p>User-specified name of the package.</p>"
                    }
                },
                "PackageType": {
                    "target": "com.amazonaws.opensearch#PackageType",
                    "traits": {
                        "smithy.api#documentation": "<p>Currently supports only TXT-DICTIONARY.</p>"
                    }
                },
                "LastUpdated": {
                    "target": "com.amazonaws.opensearch#LastUpdated",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of the most recent update to the package association status.</p>"
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain you've associated a package with.</p>"
                    }
                },
                "DomainPackageStatus": {
                    "target": "com.amazonaws.opensearch#DomainPackageStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>State of the association. Values are ASSOCIATING, ASSOCIATION_FAILED, ACTIVE, DISSOCIATING, and DISSOCIATION_FAILED.</p>"
                    }
                },
                "PackageVersion": {
                    "target": "com.amazonaws.opensearch#PackageVersion"
                },
                "ReferencePath": {
                    "target": "com.amazonaws.opensearch#ReferencePath",
                    "traits": {
                        "smithy.api#documentation": "<p>The relative path on Amazon OpenSearch Service nodes, which can be used as synonym_path when the package is a synonym file.</p>"
                    }
                },
                "ErrorDetails": {
                    "target": "com.amazonaws.opensearch#ErrorDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>Additional information if the package is in an error state. Null otherwise.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Information on a package associated with a domain.</p>"
            }
        },
        "com.amazonaws.opensearch#DomainPackageDetailsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#DomainPackageDetails"
            }
        },
        "com.amazonaws.opensearch#DomainPackageStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "ASSOCIATING",
                        "name": "ASSOCIATING"
                    },
                    {
                        "value": "ASSOCIATION_FAILED",
                        "name": "ASSOCIATION_FAILED"
                    },
                    {
                        "value": "ACTIVE",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "DISSOCIATING",
                        "name": "DISSOCIATING"
                    },
                    {
                        "value": "DISSOCIATION_FAILED",
                        "name": "DISSOCIATION_FAILED"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#DomainStatus": {
            "type": "structure",
            "members": {
                "DomainId": {
                    "target": "com.amazonaws.opensearch#DomainId",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique identifier for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of a domain. Domain names are unique across the domains owned by an account within an AWS\n      region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9,\n      and - (hyphen).\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "ARN": {
                    "target": "com.amazonaws.opensearch#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of a domain. See <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html\" target=\"_blank\">IAM identifiers\n    </a> in the <i>AWS Identity and Access Management User Guide</i> for more information.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "Created": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The domain creation status. <code>True</code> if the creation of a domain is complete. <code>\n      False\n    </code> if domain creation is still in progress.\n    </p>"
                    }
                },
                "Deleted": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The domain deletion status. <code>True</code> if a delete request has been received for the domain but resource\n      cleanup is still in progress. <code>False</code> if the domain has not been deleted. Once domain deletion is\n      complete, the status of the domain is no longer returned.\n    </p>"
                    }
                },
                "Endpoint": {
                    "target": "com.amazonaws.opensearch#ServiceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p>The domain endpoint that you use to submit index and search requests.</p>"
                    }
                },
                "Endpoints": {
                    "target": "com.amazonaws.opensearch#EndpointsMap",
                    "traits": {
                        "smithy.api#documentation": "<p>Map containing the domain endpoints used to submit index and search requests. Example <code>key,\n      value</code>: <code>'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'</code>.\n    </p>"
                    }
                },
                "Processing": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the domain configuration. <code>True</code> if Amazon OpenSearch Service is\n      processing configuration changes. <code>False</code> if the configuration is active.\n    </p>"
                    }
                },
                "UpgradeProcessing": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of a domain version upgrade. <code>True</code> if Amazon OpenSearch Service is\n      undergoing a version upgrade. <code>False</code> if the configuration is active.\n    </p>"
                    }
                },
                "EngineVersion": {
                    "target": "com.amazonaws.opensearch#VersionString"
                },
                "ClusterConfig": {
                    "target": "com.amazonaws.opensearch#ClusterConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The type and number of instances in the domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "EBSOptions": {
                    "target": "com.amazonaws.opensearch#EBSOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>EBSOptions</code> for the specified domain.\n    </p>"
                    }
                },
                "AccessPolicies": {
                    "target": "com.amazonaws.opensearch#PolicyDocument",
                    "traits": {
                        "smithy.api#documentation": "<p>IAM access policy as a JSON-formatted string.</p>"
                    }
                },
                "SnapshotOptions": {
                    "target": "com.amazonaws.opensearch#SnapshotOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the\n      <code>SnapshotOptions</code>.\n    </p>"
                    }
                },
                "VPCOptions": {
                    "target": "com.amazonaws.opensearch#VPCDerivedInfo",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>VPCOptions</code> for the specified domain. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html\" target=\"_blank\">\n      Launching your Amazon OpenSearch Service domains using a VPC</a>.\n    </p>"
                    }
                },
                "CognitoOptions": {
                    "target": "com.amazonaws.opensearch#CognitoOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>CognitoOptions</code> for the specified domain. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html\" target=\"_blank\">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.\n    </p>"
                    }
                },
                "EncryptionAtRestOptions": {
                    "target": "com.amazonaws.opensearch#EncryptionAtRestOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the <code>EncryptionAtRestOptions</code>.\n    </p>"
                    }
                },
                "NodeToNodeEncryptionOptions": {
                    "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the <code>NodeToNodeEncryptionOptions</code>.\n    </p>"
                    }
                },
                "AdvancedOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the\n      <code>AdvancedOptions</code>.\n    </p>"
                    }
                },
                "LogPublishingOptions": {
                    "target": "com.amazonaws.opensearch#LogPublishingOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Log publishing options for the given domain.</p>"
                    }
                },
                "ServiceSoftwareOptions": {
                    "target": "com.amazonaws.opensearch#ServiceSoftwareOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The current status of the domain's service software.</p>"
                    }
                },
                "DomainEndpointOptions": {
                    "target": "com.amazonaws.opensearch#DomainEndpointOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The current status of the domain's endpoint options.</p>"
                    }
                },
                "AdvancedSecurityOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedSecurityOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The current status of the domain's advanced security options.</p>"
                    }
                },
                "AutoTuneOptions": {
                    "target": "com.amazonaws.opensearch#AutoTuneOptionsOutput",
                    "traits": {
                        "smithy.api#documentation": "<p>The current status of the domain's Auto-Tune options.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The current status of a domain.</p>"
            }
        },
        "com.amazonaws.opensearch#DomainStatusList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#DomainStatus"
            },
            "traits": {
                "smithy.api#documentation": "<p>A list that contains the status of each requested domain.</p>"
            }
        },
        "com.amazonaws.opensearch#Double": {
            "type": "double",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.opensearch#Duration": {
            "type": "structure",
            "members": {
                "Value": {
                    "target": "com.amazonaws.opensearch#DurationValue",
                    "traits": {
                        "smithy.api#documentation": "<p>Integer to specify the value of a maintenance schedule duration. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                },
                "Unit": {
                    "target": "com.amazonaws.opensearch#TimeUnit",
                    "traits": {
                        "smithy.api#documentation": "<p>The unit of a maintenance schedule duration. Valid value is HOURS. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The maintenance schedule duration: duration value and duration unit. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#DurationValue": {
            "type": "long",
            "traits": {
                "smithy.api#documentation": "<p>Integer to specify the value of a maintenance schedule duration. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>",
                "smithy.api#range": {
                    "min": 1,
                    "max": 24
                }
            }
        },
        "com.amazonaws.opensearch#EBSOptions": {
            "type": "structure",
            "members": {
                "EBSEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether EBS-based storage is enabled.</p>"
                    }
                },
                "VolumeType": {
                    "target": "com.amazonaws.opensearch#VolumeType",
                    "traits": {
                        "smithy.api#documentation": "<p>The volume type for EBS-based storage.</p>"
                    }
                },
                "VolumeSize": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>Integer to specify the size of an EBS volume.</p>"
                    }
                },
                "Iops": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>The IOPD for a Provisioned IOPS EBS volume (SSD).</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Options to enable, disable, and specify the properties of EBS storage volumes.</p>"
            }
        },
        "com.amazonaws.opensearch#EBSOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#EBSOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The EBS options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the EBS options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Status of the EBS options for the specified domain.</p>"
            }
        },
        "com.amazonaws.opensearch#EncryptionAtRestOptions": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The option to enable encryption at rest.</p>"
                    }
                },
                "KmsKeyId": {
                    "target": "com.amazonaws.opensearch#KmsKeyId",
                    "traits": {
                        "smithy.api#documentation": "<p>The KMS key ID for encryption at rest options.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies encryption at rest options.</p>"
            }
        },
        "com.amazonaws.opensearch#EncryptionAtRestOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#EncryptionAtRestOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The Encryption At Rest options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the Encryption At Rest options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Status of the encryption At Rest options for the specified domain.</p>"
            }
        },
        "com.amazonaws.opensearch#EndpointsMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.opensearch#String"
            },
            "value": {
                "target": "com.amazonaws.opensearch#ServiceUrl"
            }
        },
        "com.amazonaws.opensearch#EngineType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "OpenSearch",
                        "name": "OpenSearch"
                    },
                    {
                        "value": "Elasticsearch",
                        "name": "Elasticsearch"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#ErrorDetails": {
            "type": "structure",
            "members": {
                "ErrorType": {
                    "target": "com.amazonaws.opensearch#ErrorType"
                },
                "ErrorMessage": {
                    "target": "com.amazonaws.opensearch#ErrorMessage"
                }
            }
        },
        "com.amazonaws.opensearch#ErrorMessage": {
            "type": "string"
        },
        "com.amazonaws.opensearch#ErrorType": {
            "type": "string"
        },
        "com.amazonaws.opensearch#Filter": {
            "type": "structure",
            "members": {
                "Name": {
                    "target": "com.amazonaws.opensearch#NonEmptyString",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      The name of the filter.\n    </p>"
                    }
                },
                "Values": {
                    "target": "com.amazonaws.opensearch#ValueStringList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      Contains one or more values for the filter.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      A filter used to limit results when describing inbound or outbound cross-cluster connections.\n      Multiple values can be specified per filter.\n      A cross-cluster connection must match at least one of the specified values for it to be\n      returned from an operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#FilterList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#Filter"
            }
        },
        "com.amazonaws.opensearch#GUID": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 36,
                    "max": 36
                },
                "smithy.api#pattern": "^\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}$"
            }
        },
        "com.amazonaws.opensearch#GetCompatibleVersions": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#GetCompatibleVersionsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#GetCompatibleVersionsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n      Returns a list of upgrade-compatible versions of OpenSearch/Elasticsearch.\n      You can optionally pass a\n      <code>\n        <a>DomainName</a>\n      </code>\n      to get all upgrade-compatible versions of OpenSearch/Elasticsearch for that specific domain.\n    </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/compatibleVersions",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#GetCompatibleVersionsRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#httpQuery": "domainName"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to\n      <code>\n        <a>GetCompatibleVersions</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#GetCompatibleVersionsResponse": {
            "type": "structure",
            "members": {
                "CompatibleVersions": {
                    "target": "com.amazonaws.opensearch#CompatibleVersionsList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      A map of compatible OpenSearch versions returned as part of the\n      <code>\n        <a>GetCompatibleVersions</a>\n      </code>\n      operation.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by the\n      <code>\n        <a>GetCompatibleVersions</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#GetPackageVersionHistory": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#GetPackageVersionHistoryRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#GetPackageVersionHistoryResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns a list of package versions, along with their creation time and commit message.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/packages/{PackageID}/history",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#GetPackageVersionHistoryRequest": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>Returns an audit history of package versions.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Limits results to a maximum number of package versions.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n      returns results for the next page.\n    </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>GetPackageVersionHistory</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#GetPackageVersionHistoryResponse": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID"
                },
                "PackageVersionHistoryList": {
                    "target": "com.amazonaws.opensearch#PackageVersionHistoryList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of <code>PackageVersionHistory</code> objects.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for response returned by\n      <code>\n        <a>GetPackageVersionHistory</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#GetUpgradeHistory": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#GetUpgradeHistoryRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#GetUpgradeHistoryResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves the complete history of the last 10 upgrades performed on the domain.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/upgradeDomain/{DomainName}/history",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#GetUpgradeHistoryRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>GetUpgradeHistory</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#GetUpgradeHistoryResponse": {
            "type": "structure",
            "members": {
                "UpgradeHistories": {
                    "target": "com.amazonaws.opensearch#UpgradeHistoryList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      A list of\n      <code>\n        <a>UpgradeHistory</a>\n      </code>\n      objects corresponding to each upgrade or upgrade eligibility check performed on a domain returned as part of the\n      <code>\n        <a>GetUpgradeHistoryResponse</a>\n      </code>\n      object.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Pagination token that needs to be supplied to the next call to get the next page of results.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by the\n      <code>\n        <a>GetUpgradeHistory</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#GetUpgradeStatus": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#GetUpgradeStatusRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#GetUpgradeStatusResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves the latest status of the last upgrade or upgrade eligibility check performed on the domain.\n    </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/upgradeDomain/{DomainName}/status",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#GetUpgradeStatusRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>GetUpgradeStatus</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#GetUpgradeStatusResponse": {
            "type": "structure",
            "members": {
                "UpgradeStep": {
                    "target": "com.amazonaws.opensearch#UpgradeStep",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      One of three steps an upgrade or upgrade eligibility check goes through:\n      <ul>\n        <li>PreUpgradeCheck</li>\n        <li>Snapshot</li>\n        <li>Upgrade</li>\n      </ul>\n    </p>"
                    }
                },
                "StepStatus": {
                    "target": "com.amazonaws.opensearch#UpgradeStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      One of four statuses an upgrade have, returned as part of the\n      <code>\n        <a>GetUpgradeStatusResponse</a>\n      </code>\n      object. The status can take one of the following values:\n      <ul>\n        <li>In Progress</li>\n        <li>Succeeded</li>\n        <li>Succeeded with Issues</li>\n        <li>Failed</li>\n      </ul>\n    </p>"
                    }
                },
                "UpgradeName": {
                    "target": "com.amazonaws.opensearch#UpgradeName",
                    "traits": {
                        "smithy.api#documentation": "<p>A string that briefly describes the update.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by the\n      <code>\n        <a>GetUpgradeStatus</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#IdentityPoolId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 55
                },
                "smithy.api#pattern": "^[\\w-]+:[0-9a-f-]+$"
            }
        },
        "com.amazonaws.opensearch#InboundConnection": {
            "type": "structure",
            "members": {
                "LocalDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>AWSDomainInformation</a>\n      </code>\n      for the local OpenSearch domain.\n    </p>"
                    }
                },
                "RemoteDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>AWSDomainInformation</a>\n      </code>\n      for the remote OpenSearch domain.\n    </p>"
                    }
                },
                "ConnectionId": {
                    "target": "com.amazonaws.opensearch#ConnectionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The connection ID for the inbound cross-cluster connection.</p>"
                    }
                },
                "ConnectionStatus": {
                    "target": "com.amazonaws.opensearch#InboundConnectionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>InboundConnectionStatus</a>\n      </code>\n      for the outbound connection.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Details of an inbound connection.</p>"
            }
        },
        "com.amazonaws.opensearch#InboundConnectionStatus": {
            "type": "structure",
            "members": {
                "StatusCode": {
                    "target": "com.amazonaws.opensearch#InboundConnectionStatusCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The state code for the inbound connection. Can be one of the following:</p>\n    <ul>\n      <li>PENDING_ACCEPTANCE: Inbound connection is not yet accepted by the remote domain owner.</li>\n      <li>APPROVED: Inbound connection is pending acceptance by the remote domain owner.</li>\n      <li>PROVISIONING: Inbound connection provisioning is in progress.</li>\n      <li>ACTIVE: Inbound connection is active and ready to use.</li>\n      <li>REJECTING: Inbound connection rejection is in process.</li>\n      <li>REJECTED: Inbound connection is rejected.</li>\n      <li>DELETING: Inbound connection deletion is in progress.</li>\n      <li>DELETED: Inbound connection is deleted and can no longer be used.</li>\n    </ul>"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.opensearch#ConnectionStatusMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>Verbose information for the inbound connection status.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The connection status of an inbound cross-cluster connection.</p>"
            }
        },
        "com.amazonaws.opensearch#InboundConnectionStatusCode": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PENDING_ACCEPTANCE",
                        "name": "PENDING_ACCEPTANCE"
                    },
                    {
                        "value": "APPROVED",
                        "name": "APPROVED"
                    },
                    {
                        "value": "PROVISIONING",
                        "name": "PROVISIONING"
                    },
                    {
                        "value": "ACTIVE",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "REJECTING",
                        "name": "REJECTING"
                    },
                    {
                        "value": "REJECTED",
                        "name": "REJECTED"
                    },
                    {
                        "value": "DELETING",
                        "name": "DELETING"
                    },
                    {
                        "value": "DELETED",
                        "name": "DELETED"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#InboundConnections": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#InboundConnection"
            }
        },
        "com.amazonaws.opensearch#InstanceCount": {
            "type": "integer",
            "traits": {
                "smithy.api#documentation": "<p>The number of EC2 instances in the domain.</p>",
                "smithy.api#range": {
                    "min": 1
                }
            }
        },
        "com.amazonaws.opensearch#InstanceCountLimits": {
            "type": "structure",
            "members": {
                "MinimumInstanceCount": {
                    "target": "com.amazonaws.opensearch#MinimumInstanceCount"
                },
                "MaximumInstanceCount": {
                    "target": "com.amazonaws.opensearch#MaximumInstanceCount"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      InstanceCountLimits represents the limits on the number of instances that can be created in Amazon OpenSearch Service for\n      a given InstanceType.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#InstanceLimits": {
            "type": "structure",
            "members": {
                "InstanceCountLimits": {
                    "target": "com.amazonaws.opensearch#InstanceCountLimits"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>InstanceLimits represents the list of instance-related attributes that are available for a given InstanceType.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#InstanceRole": {
            "type": "string"
        },
        "com.amazonaws.opensearch#InstanceRoleList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#InstanceRole"
            }
        },
        "com.amazonaws.opensearch#InstanceTypeDetails": {
            "type": "structure",
            "members": {
                "InstanceType": {
                    "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType"
                },
                "EncryptionEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean"
                },
                "CognitoEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean"
                },
                "AppLogsEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean"
                },
                "AdvancedSecurityEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean"
                },
                "WarmEnabled": {
                    "target": "com.amazonaws.opensearch#Boolean"
                },
                "InstanceRole": {
                    "target": "com.amazonaws.opensearch#InstanceRoleList"
                }
            }
        },
        "com.amazonaws.opensearch#InstanceTypeDetailsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#InstanceTypeDetails"
            }
        },
        "com.amazonaws.opensearch#Integer": {
            "type": "integer"
        },
        "com.amazonaws.opensearch#IntegerClass": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.opensearch#InternalException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The request processing has failed because of an unknown error, exception or failure (the failure is internal to the service) . Gives http status code of 500.</p>",
                "smithy.api#error": "server",
                "smithy.api#httpError": 500
            }
        },
        "com.amazonaws.opensearch#InvalidPaginationTokenException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The request processing has failed because of invalid pagination token provided by customer. Returns an HTTP status code of 400. </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.opensearch#InvalidTypeException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An exception for trying to create or access sub-resource that is either invalid or not supported. Gives http status code of 409.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.opensearch#Issue": {
            "type": "string"
        },
        "com.amazonaws.opensearch#Issues": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#Issue"
            }
        },
        "com.amazonaws.opensearch#KmsKeyId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 500
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.opensearch#LastUpdated": {
            "type": "timestamp"
        },
        "com.amazonaws.opensearch#LimitExceededException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An exception for trying to create more than allowed resources or sub-resources. Gives http status code of 409.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.opensearch#LimitName": {
            "type": "string"
        },
        "com.amazonaws.opensearch#LimitValue": {
            "type": "string"
        },
        "com.amazonaws.opensearch#LimitValueList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#LimitValue"
            }
        },
        "com.amazonaws.opensearch#Limits": {
            "type": "structure",
            "members": {
                "StorageTypes": {
                    "target": "com.amazonaws.opensearch#StorageTypeList",
                    "traits": {
                        "smithy.api#documentation": "<p>Storage-related types and attributes\n      that are available for a given InstanceType.\n    </p>"
                    }
                },
                "InstanceLimits": {
                    "target": "com.amazonaws.opensearch#InstanceLimits"
                },
                "AdditionalLimits": {
                    "target": "com.amazonaws.opensearch#AdditionalLimitList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      List of additional limits that are specific to a given InstanceType and for each of its\n      <code>\n        <a>InstanceRole</a>\n      </code>\n      .\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Limits for a given InstanceType and for each of its roles.\n      <br></br>\n      Limits contains the following:\n      <code>\n        <a>StorageTypes</a>\n      </code>,\n      <code>\n        <a>InstanceLimits</a>\n      </code>,\n      and\n      <code>\n        <a>AdditionalLimits</a>\n      </code>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#LimitsByRole": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.opensearch#InstanceRole"
            },
            "value": {
                "target": "com.amazonaws.opensearch#Limits"
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      The role of a given instance and all applicable limits.\n      The role performed by a given OpenSearch instance\n      can be one of the following:\n      <ul>\n        <li>data: If the given InstanceType is used as a data node</li>\n        <li>master: If the given InstanceType is used as a master node</li>\n        <li>ultra_warm: If the given InstanceType is used as a warm node</li>\n      </ul>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListDomainNames": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#ListDomainNamesRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#ListDomainNamesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the names of all domains owned by the current user's account.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/domain",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#ListDomainNamesRequest": {
            "type": "structure",
            "members": {
                "EngineType": {
                    "target": "com.amazonaws.opensearch#EngineType",
                    "traits": {
                        "smithy.api#documentation": "<p> Optional parameter to filter the output by domain engine type. Acceptable values are 'Elasticsearch' and 'OpenSearch'. </p>",
                        "smithy.api#httpQuery": "engineType"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Container for the parameters to the <code><a>ListDomainNames</a></code> operation.</p>"
            }
        },
        "com.amazonaws.opensearch#ListDomainNamesResponse": {
            "type": "structure",
            "members": {
                "DomainNames": {
                    "target": "com.amazonaws.opensearch#DomainInfoList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of domain names and respective engine types.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>ListDomainNames</code> operation. Contains the names of all domains owned by this account and their respective engine types.</p>"
            }
        },
        "com.amazonaws.opensearch#ListDomainsForPackage": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#ListDomainsForPackageRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#ListDomainsForPackageResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists all Amazon OpenSearch Service domains associated with the package.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/packages/{PackageID}/domains",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#ListDomainsForPackageRequest": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>The package for which to list associated domains.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Limits the results to a maximum number of domains.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n      returns results for the next page.\n    </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>ListDomainsForPackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListDomainsForPackageResponse": {
            "type": "structure",
            "members": {
                "DomainPackageDetailsList": {
                    "target": "com.amazonaws.opensearch#DomainPackageDetailsList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of <code>DomainPackageDetails</code> objects.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response parameters to the\n      <code>\n        <a>ListDomainsForPackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListInstanceTypeDetails": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#ListInstanceTypeDetailsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#ListInstanceTypeDetailsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/instanceTypeDetails/{EngineVersion}",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#ListInstanceTypeDetailsRequest": {
            "type": "structure",
            "members": {
                "EngineVersion": {
                    "target": "com.amazonaws.opensearch#VersionString",
                    "traits": {
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#httpQuery": "domainName"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            }
        },
        "com.amazonaws.opensearch#ListInstanceTypeDetailsResponse": {
            "type": "structure",
            "members": {
                "InstanceTypeDetails": {
                    "target": "com.amazonaws.opensearch#InstanceTypeDetailsList"
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken"
                }
            }
        },
        "com.amazonaws.opensearch#ListPackagesForDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#ListPackagesForDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#ListPackagesForDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists all packages associated with the Amazon OpenSearch Service domain.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/domain/{DomainName}/packages",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#ListPackagesForDomainRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain for which you want to list associated packages.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Limits results to a maximum number of packages.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided,\n      returns results for the next page.\n    </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to the\n      <code>\n        <a>ListPackagesForDomain</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListPackagesForDomainResponse": {
            "type": "structure",
            "members": {
                "DomainPackageDetailsList": {
                    "target": "com.amazonaws.opensearch#DomainPackageDetailsList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of <code>DomainPackageDetails</code> objects.\n    </p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Pagination token to supply to the next call to get the next page of results.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response parameters to the\n      <code>\n        <a>ListPackagesForDomain</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListTags": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#ListTagsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#ListTagsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns all tags for the given domain.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/tags",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#ListTagsRequest": {
            "type": "structure",
            "members": {
                "ARN": {
                    "target": "com.amazonaws.opensearch#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>Specify the <code>ARN</code> of the domain that the tags you want\n      to view are attached to.\n    </p>",
                        "smithy.api#httpQuery": "arn",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>ListTags</a>\n      </code>\n      operation. Specify the <code>ARN</code> of the domain that the tags you want\n      to view are attached to.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListTagsResponse": {
            "type": "structure",
            "members": {
                "TagList": {
                    "target": "com.amazonaws.opensearch#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of <code>Tag</code> for the requested domain.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>ListTags</code> operation. Contains tags for all requested domains.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListVersions": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#ListVersionsRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#ListVersionsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>List all supported versions of OpenSearch and Elasticsearch.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/2021-01-01/opensearch/versions",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.opensearch#ListVersionsRequest": {
            "type": "structure",
            "members": {
                "MaxResults": {
                    "target": "com.amazonaws.opensearch#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      Set this value to limit the number of results returned.\n      Value must be greater than 10 or it won't be honored.\n    </p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken",
                    "traits": {
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the parameters to the\n      <code>\n        <a>ListVersions</a>\n      </code>\n      operation.\n      <p>\n        Use\n        <code>\n          <a>MaxResults</a>\n        </code>\n        to control the maximum number of results to retrieve in a single\n        call.\n      </p>\n      <p>\n        Use\n        <code>\n          <a>NextToken</a>\n        </code>\n        in response to retrieve more results. If the received response does\n        not contain a NextToken, there are no more results to retrieve.\n      </p>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ListVersionsResponse": {
            "type": "structure",
            "members": {
                "Versions": {
                    "target": "com.amazonaws.opensearch#VersionList"
                },
                "NextToken": {
                    "target": "com.amazonaws.opensearch#NextToken"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the parameters for response received from the\n      <code>\n        <a>ListVersions</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#LogPublishingOption": {
            "type": "structure",
            "members": {
                "CloudWatchLogsLogGroupArn": {
                    "target": "com.amazonaws.opensearch#CloudWatchLogsLogGroupArn"
                },
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether the given log publishing option is enabled or not.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Log Publishing option that is set for a given domain.\n      <br></br>Attributes and their details:\n      <ul>\n        <li>CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to publish logs to.</li>\n        <li>Enabled: Whether the log publishing for a given log type is enabled or not.</li>\n      </ul>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#LogPublishingOptions": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.opensearch#LogType"
            },
            "value": {
                "target": "com.amazonaws.opensearch#LogPublishingOption"
            }
        },
        "com.amazonaws.opensearch#LogPublishingOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#LogPublishingOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The log publishing options configured for the domain.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the log publishing options for the domain. See <code>OptionStatus</code> for the\n      status information that's included.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The configured log publishing options for the domain and their current status.</p>"
            }
        },
        "com.amazonaws.opensearch#LogType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>Type of log file. Can be one of the following:\n      <ul>\n        <li>INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more time than configured index query log\n          threshold to execute.\n        </li>\n        <li>SEARCH_SLOW_LOGS: Search slow logs contain search queries that took more time than configured search query\n          log threshold to execute.\n        </li>\n        <li>ES_APPLICATION_LOGS: OpenSearch application logs contain information about errors and warnings raised\n          during the operation of the service and can be useful for troubleshooting.\n        </li>\n        <li>AUDIT_LOGS: Audit logs contain records of user requests for access from the domain.</li>\n      </ul>\n    </p>",
                "smithy.api#enum": [
                    {
                        "value": "INDEX_SLOW_LOGS",
                        "name": "INDEX_SLOW_LOGS"
                    },
                    {
                        "value": "SEARCH_SLOW_LOGS",
                        "name": "SEARCH_SLOW_LOGS"
                    },
                    {
                        "value": "ES_APPLICATION_LOGS",
                        "name": "ES_APPLICATION_LOGS"
                    },
                    {
                        "value": "AUDIT_LOGS",
                        "name": "AUDIT_LOGS"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#Long": {
            "type": "long",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.opensearch#MasterUserOptions": {
            "type": "structure",
            "members": {
                "MasterUserARN": {
                    "target": "com.amazonaws.opensearch#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>ARN for the master user (if IAM is enabled).</p>"
                    }
                },
                "MasterUserName": {
                    "target": "com.amazonaws.opensearch#Username",
                    "traits": {
                        "smithy.api#documentation": "<p>The master user's username, which is stored in the Amazon OpenSearch Service domain's internal database.</p>"
                    }
                },
                "MasterUserPassword": {
                    "target": "com.amazonaws.opensearch#Password",
                    "traits": {
                        "smithy.api#documentation": "<p>The master user's password, which is stored in the Amazon OpenSearch Service domain's internal database.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Credentials for the master user: username and password, ARN, or both.</p>"
            }
        },
        "com.amazonaws.opensearch#MaxResults": {
            "type": "integer",
            "traits": {
                "smithy.api#documentation": "<p>\n      Set this value to limit the number of results returned.\n    </p>",
                "smithy.api#range": {
                    "max": 100
                }
            }
        },
        "com.amazonaws.opensearch#MaximumInstanceCount": {
            "type": "integer",
            "traits": {
                "smithy.api#documentation": "<p>\n      Maximum number of instances that can be instantiated for a given InstanceType.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#MinimumInstanceCount": {
            "type": "integer",
            "traits": {
                "smithy.api#documentation": "<p>\n      Minimum number of instances that can be instantiated for a given InstanceType.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#NextToken": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>\n      Paginated APIs accept the NextToken input to return the next page of results and provide\n      a NextToken output in the response, which you can use to retrieve more results.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#NodeToNodeEncryptionOptions": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True to enable node-to-node encryption.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The node-to-node encryption options.</p>"
            }
        },
        "com.amazonaws.opensearch#NodeToNodeEncryptionOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The node-to-node encryption options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the node-to-node encryption options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Status of the node-to-node encryption options for the specified domain.</p>"
            }
        },
        "com.amazonaws.opensearch#NonEmptyString": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 100
                },
                "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_\\.]+$"
            }
        },
        "com.amazonaws.opensearch#OpenSearchPartitionInstanceType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "m3.medium.search",
                        "name": "m3_medium_search"
                    },
                    {
                        "value": "m3.large.search",
                        "name": "m3_large_search"
                    },
                    {
                        "value": "m3.xlarge.search",
                        "name": "m3_xlarge_search"
                    },
                    {
                        "value": "m3.2xlarge.search",
                        "name": "m3_2xlarge_search"
                    },
                    {
                        "value": "m4.large.search",
                        "name": "m4_large_search"
                    },
                    {
                        "value": "m4.xlarge.search",
                        "name": "m4_xlarge_search"
                    },
                    {
                        "value": "m4.2xlarge.search",
                        "name": "m4_2xlarge_search"
                    },
                    {
                        "value": "m4.4xlarge.search",
                        "name": "m4_4xlarge_search"
                    },
                    {
                        "value": "m4.10xlarge.search",
                        "name": "m4_10xlarge_search"
                    },
                    {
                        "value": "m5.large.search",
                        "name": "m5_large_search"
                    },
                    {
                        "value": "m5.xlarge.search",
                        "name": "m5_xlarge_search"
                    },
                    {
                        "value": "m5.2xlarge.search",
                        "name": "m5_2xlarge_search"
                    },
                    {
                        "value": "m5.4xlarge.search",
                        "name": "m5_4xlarge_search"
                    },
                    {
                        "value": "m5.12xlarge.search",
                        "name": "m5_12xlarge_search"
                    },
                    {
                        "value": "m5.24xlarge.search",
                        "name": "m5_24xlarge_search"
                    },
                    {
                        "value": "r5.large.search",
                        "name": "r5_large_search"
                    },
                    {
                        "value": "r5.xlarge.search",
                        "name": "r5_xlarge_search"
                    },
                    {
                        "value": "r5.2xlarge.search",
                        "name": "r5_2xlarge_search"
                    },
                    {
                        "value": "r5.4xlarge.search",
                        "name": "r5_4xlarge_search"
                    },
                    {
                        "value": "r5.12xlarge.search",
                        "name": "r5_12xlarge_search"
                    },
                    {
                        "value": "r5.24xlarge.search",
                        "name": "r5_24xlarge_search"
                    },
                    {
                        "value": "c5.large.search",
                        "name": "c5_large_search"
                    },
                    {
                        "value": "c5.xlarge.search",
                        "name": "c5_xlarge_search"
                    },
                    {
                        "value": "c5.2xlarge.search",
                        "name": "c5_2xlarge_search"
                    },
                    {
                        "value": "c5.4xlarge.search",
                        "name": "c5_4xlarge_search"
                    },
                    {
                        "value": "c5.9xlarge.search",
                        "name": "c5_9xlarge_search"
                    },
                    {
                        "value": "c5.18xlarge.search",
                        "name": "c5_18xlarge_search"
                    },
                    {
                        "value": "t3.nano.search",
                        "name": "t3_nano_search"
                    },
                    {
                        "value": "t3.micro.search",
                        "name": "t3_micro_search"
                    },
                    {
                        "value": "t3.small.search",
                        "name": "t3_small_search"
                    },
                    {
                        "value": "t3.medium.search",
                        "name": "t3_medium_search"
                    },
                    {
                        "value": "t3.large.search",
                        "name": "t3_large_search"
                    },
                    {
                        "value": "t3.xlarge.search",
                        "name": "t3_xlarge_search"
                    },
                    {
                        "value": "t3.2xlarge.search",
                        "name": "t3_2xlarge_search"
                    },
                    {
                        "value": "ultrawarm1.medium.search",
                        "name": "ultrawarm1_medium_search"
                    },
                    {
                        "value": "ultrawarm1.large.search",
                        "name": "ultrawarm1_large_search"
                    },
                    {
                        "value": "ultrawarm1.xlarge.search",
                        "name": "ultrawarm1_xlarge_search"
                    },
                    {
                        "value": "t2.micro.search",
                        "name": "t2_micro_search"
                    },
                    {
                        "value": "t2.small.search",
                        "name": "t2_small_search"
                    },
                    {
                        "value": "t2.medium.search",
                        "name": "t2_medium_search"
                    },
                    {
                        "value": "r3.large.search",
                        "name": "r3_large_search"
                    },
                    {
                        "value": "r3.xlarge.search",
                        "name": "r3_xlarge_search"
                    },
                    {
                        "value": "r3.2xlarge.search",
                        "name": "r3_2xlarge_search"
                    },
                    {
                        "value": "r3.4xlarge.search",
                        "name": "r3_4xlarge_search"
                    },
                    {
                        "value": "r3.8xlarge.search",
                        "name": "r3_8xlarge_search"
                    },
                    {
                        "value": "i2.xlarge.search",
                        "name": "i2_xlarge_search"
                    },
                    {
                        "value": "i2.2xlarge.search",
                        "name": "i2_2xlarge_search"
                    },
                    {
                        "value": "d2.xlarge.search",
                        "name": "d2_xlarge_search"
                    },
                    {
                        "value": "d2.2xlarge.search",
                        "name": "d2_2xlarge_search"
                    },
                    {
                        "value": "d2.4xlarge.search",
                        "name": "d2_4xlarge_search"
                    },
                    {
                        "value": "d2.8xlarge.search",
                        "name": "d2_8xlarge_search"
                    },
                    {
                        "value": "c4.large.search",
                        "name": "c4_large_search"
                    },
                    {
                        "value": "c4.xlarge.search",
                        "name": "c4_xlarge_search"
                    },
                    {
                        "value": "c4.2xlarge.search",
                        "name": "c4_2xlarge_search"
                    },
                    {
                        "value": "c4.4xlarge.search",
                        "name": "c4_4xlarge_search"
                    },
                    {
                        "value": "c4.8xlarge.search",
                        "name": "c4_8xlarge_search"
                    },
                    {
                        "value": "r4.large.search",
                        "name": "r4_large_search"
                    },
                    {
                        "value": "r4.xlarge.search",
                        "name": "r4_xlarge_search"
                    },
                    {
                        "value": "r4.2xlarge.search",
                        "name": "r4_2xlarge_search"
                    },
                    {
                        "value": "r4.4xlarge.search",
                        "name": "r4_4xlarge_search"
                    },
                    {
                        "value": "r4.8xlarge.search",
                        "name": "r4_8xlarge_search"
                    },
                    {
                        "value": "r4.16xlarge.search",
                        "name": "r4_16xlarge_search"
                    },
                    {
                        "value": "i3.large.search",
                        "name": "i3_large_search"
                    },
                    {
                        "value": "i3.xlarge.search",
                        "name": "i3_xlarge_search"
                    },
                    {
                        "value": "i3.2xlarge.search",
                        "name": "i3_2xlarge_search"
                    },
                    {
                        "value": "i3.4xlarge.search",
                        "name": "i3_4xlarge_search"
                    },
                    {
                        "value": "i3.8xlarge.search",
                        "name": "i3_8xlarge_search"
                    },
                    {
                        "value": "i3.16xlarge.search",
                        "name": "i3_16xlarge_search"
                    },
                    {
                        "value": "r6g.large.search",
                        "name": "r6g_large_search"
                    },
                    {
                        "value": "r6g.xlarge.search",
                        "name": "r6g_xlarge_search"
                    },
                    {
                        "value": "r6g.2xlarge.search",
                        "name": "r6g_2xlarge_search"
                    },
                    {
                        "value": "r6g.4xlarge.search",
                        "name": "r6g_4xlarge_search"
                    },
                    {
                        "value": "r6g.8xlarge.search",
                        "name": "r6g_8xlarge_search"
                    },
                    {
                        "value": "r6g.12xlarge.search",
                        "name": "r6g_12xlarge_search"
                    },
                    {
                        "value": "m6g.large.search",
                        "name": "m6g_large_search"
                    },
                    {
                        "value": "m6g.xlarge.search",
                        "name": "m6g_xlarge_search"
                    },
                    {
                        "value": "m6g.2xlarge.search",
                        "name": "m6g_2xlarge_search"
                    },
                    {
                        "value": "m6g.4xlarge.search",
                        "name": "m6g_4xlarge_search"
                    },
                    {
                        "value": "m6g.8xlarge.search",
                        "name": "m6g_8xlarge_search"
                    },
                    {
                        "value": "m6g.12xlarge.search",
                        "name": "m6g_12xlarge_search"
                    },
                    {
                        "value": "c6g.large.search",
                        "name": "c6g_large_search"
                    },
                    {
                        "value": "c6g.xlarge.search",
                        "name": "c6g_xlarge_search"
                    },
                    {
                        "value": "c6g.2xlarge.search",
                        "name": "c6g_2xlarge_search"
                    },
                    {
                        "value": "c6g.4xlarge.search",
                        "name": "c6g_4xlarge_search"
                    },
                    {
                        "value": "c6g.8xlarge.search",
                        "name": "c6g_8xlarge_search"
                    },
                    {
                        "value": "c6g.12xlarge.search",
                        "name": "c6g_12xlarge_search"
                    },
                    {
                        "value": "r6gd.large.search",
                        "name": "r6gd_large_search"
                    },
                    {
                        "value": "r6gd.xlarge.search",
                        "name": "r6gd_xlarge_search"
                    },
                    {
                        "value": "r6gd.2xlarge.search",
                        "name": "r6gd_2xlarge_search"
                    },
                    {
                        "value": "r6gd.4xlarge.search",
                        "name": "r6gd_4xlarge_search"
                    },
                    {
                        "value": "r6gd.8xlarge.search",
                        "name": "r6gd_8xlarge_search"
                    },
                    {
                        "value": "r6gd.12xlarge.search",
                        "name": "r6gd_12xlarge_search"
                    },
                    {
                        "value": "r6gd.16xlarge.search",
                        "name": "r6gd_16xlarge_search"
                    },
                    {
                        "value": "t4g.small.search",
                        "name": "t4g_small_search"
                    },
                    {
                        "value": "t4g.medium.search",
                        "name": "t4g_medium_search"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#OpenSearchWarmPartitionInstanceType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "ultrawarm1.medium.search",
                        "name": "ultrawarm1_medium_search"
                    },
                    {
                        "value": "ultrawarm1.large.search",
                        "name": "ultrawarm1_large_search"
                    },
                    {
                        "value": "ultrawarm1.xlarge.search",
                        "name": "ultrawarm1_xlarge_search"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#OptionState": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The state of a requested change. One of the following:</p>\n    <ul>\n      <li>Processing: The request change is still in progress.</li>\n      <li>Active: The request change is processed and deployed to the domain.</li>\n    </ul>",
                "smithy.api#enum": [
                    {
                        "value": "RequiresIndexDocuments",
                        "name": "RequiresIndexDocuments"
                    },
                    {
                        "value": "Processing",
                        "name": "Processing"
                    },
                    {
                        "value": "Active",
                        "name": "Active"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#OptionStatus": {
            "type": "structure",
            "members": {
                "CreationDate": {
                    "target": "com.amazonaws.opensearch#UpdateTimestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of when the entity was created.</p>",
                        "smithy.api#required": {}
                    }
                },
                "UpdateDate": {
                    "target": "com.amazonaws.opensearch#UpdateTimestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of the last time the entity was updated.</p>",
                        "smithy.api#required": {}
                    }
                },
                "UpdateVersion": {
                    "target": "com.amazonaws.opensearch#UIntValue",
                    "traits": {
                        "smithy.api#documentation": "<p>The latest version of the entity.</p>"
                    }
                },
                "State": {
                    "target": "com.amazonaws.opensearch#OptionState",
                    "traits": {
                        "smithy.api#documentation": "<p>Provides the <code>OptionState</code> for the domain.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "PendingDeletion": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether the domain is being deleted.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Provides the current status of the entity.</p>"
            }
        },
        "com.amazonaws.opensearch#OutboundConnection": {
            "type": "structure",
            "members": {
                "LocalDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>DomainInformation</a>\n      </code>\n      for the local OpenSearch domain.\n    </p>"
                    }
                },
                "RemoteDomainInfo": {
                    "target": "com.amazonaws.opensearch#DomainInformationContainer",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>DomainInformation</a>\n      </code>\n      for the remote OpenSearch domain.\n    </p>"
                    }
                },
                "ConnectionId": {
                    "target": "com.amazonaws.opensearch#ConnectionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The connection ID for the outbound cross-cluster connection.</p>"
                    }
                },
                "ConnectionAlias": {
                    "target": "com.amazonaws.opensearch#ConnectionAlias",
                    "traits": {
                        "smithy.api#documentation": "<p>The connection alias for the outbound cross-cluster connection.</p>"
                    }
                },
                "ConnectionStatus": {
                    "target": "com.amazonaws.opensearch#OutboundConnectionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>OutboundConnectionStatus</a>\n      </code>\n      for the outbound connection.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies details about an outbound connection.</p>"
            }
        },
        "com.amazonaws.opensearch#OutboundConnectionStatus": {
            "type": "structure",
            "members": {
                "StatusCode": {
                    "target": "com.amazonaws.opensearch#OutboundConnectionStatusCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The state code for the outbound connection. Can be one of the following:</p>\n    <ul>\n      <li>VALIDATING: The outbound connection request is being validated.</li>\n      <li>VALIDATION_FAILED: Validation failed for the connection request.</li>\n      <li>PENDING_ACCEPTANCE: Outbound connection request is validated and is not yet accepted by the remote domain\n        owner.\n      </li>\n      <li>APPROVED: Outbound connection has been approved by the remote domain owner for getting provisioned.</li>\n      <li>PROVISIONING: Outbound connection request is in process.</li>\n      <li>ACTIVE: Outbound connection is active and ready to use.</li>\n      <li>REJECTING: Outbound connection rejection by remote domain owner is in progress.</li>\n      <li>REJECTED: Outbound connection request is rejected by remote domain owner.</li>\n      <li>DELETING: Outbound connection deletion is in progress.</li>\n      <li>DELETED: Outbound connection is deleted and can no longer be used.</li>\n    </ul>"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.opensearch#ConnectionStatusMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>Verbose information for the outbound connection status.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The connection status of an outbound cross-cluster connection.</p>"
            }
        },
        "com.amazonaws.opensearch#OutboundConnectionStatusCode": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "VALIDATING",
                        "name": "VALIDATING"
                    },
                    {
                        "value": "VALIDATION_FAILED",
                        "name": "VALIDATION_FAILED"
                    },
                    {
                        "value": "PENDING_ACCEPTANCE",
                        "name": "PENDING_ACCEPTANCE"
                    },
                    {
                        "value": "APPROVED",
                        "name": "APPROVED"
                    },
                    {
                        "value": "PROVISIONING",
                        "name": "PROVISIONING"
                    },
                    {
                        "value": "ACTIVE",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "REJECTING",
                        "name": "REJECTING"
                    },
                    {
                        "value": "REJECTED",
                        "name": "REJECTED"
                    },
                    {
                        "value": "DELETING",
                        "name": "DELETING"
                    },
                    {
                        "value": "DELETED",
                        "name": "DELETED"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#OutboundConnections": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#OutboundConnection"
            }
        },
        "com.amazonaws.opensearch#OwnerId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 12,
                    "max": 12
                },
                "smithy.api#pattern": "^[0-9]+$"
            }
        },
        "com.amazonaws.opensearch#PackageDescription": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 1024
                }
            }
        },
        "com.amazonaws.opensearch#PackageDetails": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>Internal ID of the package.</p>"
                    }
                },
                "PackageName": {
                    "target": "com.amazonaws.opensearch#PackageName",
                    "traits": {
                        "smithy.api#documentation": "<p>User-specified name of the package.</p>"
                    }
                },
                "PackageType": {
                    "target": "com.amazonaws.opensearch#PackageType",
                    "traits": {
                        "smithy.api#documentation": "<p>Currently supports only TXT-DICTIONARY.</p>"
                    }
                },
                "PackageDescription": {
                    "target": "com.amazonaws.opensearch#PackageDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>User-specified description of the package.</p>"
                    }
                },
                "PackageStatus": {
                    "target": "com.amazonaws.opensearch#PackageStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Current state of the package. Values are COPYING, COPY_FAILED, AVAILABLE, DELETING, and DELETE_FAILED.</p>"
                    }
                },
                "CreatedAt": {
                    "target": "com.amazonaws.opensearch#CreatedAt",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of when the package was created.</p>"
                    }
                },
                "LastUpdatedAt": {
                    "target": "com.amazonaws.opensearch#LastUpdated"
                },
                "AvailablePackageVersion": {
                    "target": "com.amazonaws.opensearch#PackageVersion"
                },
                "ErrorDetails": {
                    "target": "com.amazonaws.opensearch#ErrorDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>Additional information if the package is in an error state. Null otherwise.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Basic information about a package.</p>"
            }
        },
        "com.amazonaws.opensearch#PackageDetailsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#PackageDetails"
            }
        },
        "com.amazonaws.opensearch#PackageID": {
            "type": "string"
        },
        "com.amazonaws.opensearch#PackageName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 3,
                    "max": 28
                },
                "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$"
            }
        },
        "com.amazonaws.opensearch#PackageSource": {
            "type": "structure",
            "members": {
                "S3BucketName": {
                    "target": "com.amazonaws.opensearch#S3BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the Amazon S3 bucket containing the package.</p>"
                    }
                },
                "S3Key": {
                    "target": "com.amazonaws.opensearch#S3Key",
                    "traits": {
                        "smithy.api#documentation": "<p>Key (file name) of the package.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The Amazon S3 location for importing the package specified as <code>S3BucketName</code> and\n      <code>S3Key</code>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#PackageStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "COPYING",
                        "name": "COPYING"
                    },
                    {
                        "value": "COPY_FAILED",
                        "name": "COPY_FAILED"
                    },
                    {
                        "value": "VALIDATING",
                        "name": "VALIDATING"
                    },
                    {
                        "value": "VALIDATION_FAILED",
                        "name": "VALIDATION_FAILED"
                    },
                    {
                        "value": "AVAILABLE",
                        "name": "AVAILABLE"
                    },
                    {
                        "value": "DELETING",
                        "name": "DELETING"
                    },
                    {
                        "value": "DELETED",
                        "name": "DELETED"
                    },
                    {
                        "value": "DELETE_FAILED",
                        "name": "DELETE_FAILED"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#PackageType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "TXT-DICTIONARY",
                        "name": "TXT_DICTIONARY"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#PackageVersion": {
            "type": "string"
        },
        "com.amazonaws.opensearch#PackageVersionHistory": {
            "type": "structure",
            "members": {
                "PackageVersion": {
                    "target": "com.amazonaws.opensearch#PackageVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The package version.</p>"
                    }
                },
                "CommitMessage": {
                    "target": "com.amazonaws.opensearch#CommitMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A message associated with the package version.</p>"
                    }
                },
                "CreatedAt": {
                    "target": "com.amazonaws.opensearch#CreatedAt",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of when the package was created.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Details of a package version.</p>"
            }
        },
        "com.amazonaws.opensearch#PackageVersionHistoryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#PackageVersionHistory"
            }
        },
        "com.amazonaws.opensearch#Password": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 8,
                    "max": 128
                },
                "smithy.api#pattern": ".*",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.opensearch#PolicyDocument": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>Access policy rules for a domain service endpoints. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-access-policies\" target=\"_blank\">Configuring access policies\n    </a>. The maximum size of a policy document is 100 KB.\n    </p>",
                "smithy.api#length": {
                    "min": 0,
                    "max": 102400
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.opensearch#PurchaseReservedInstanceOffering": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Allows you to purchase reserved OpenSearch instances.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/purchaseReservedInstanceOffering",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingRequest": {
            "type": "structure",
            "members": {
                "ReservedInstanceOfferingId": {
                    "target": "com.amazonaws.opensearch#GUID",
                    "traits": {
                        "smithy.api#documentation": "<p>The ID of the reserved OpenSearch instance offering to purchase.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ReservationName": {
                    "target": "com.amazonaws.opensearch#ReservationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A customer-specified identifier to track this reservation.</p>",
                        "smithy.api#required": {}
                    }
                },
                "InstanceCount": {
                    "target": "com.amazonaws.opensearch#InstanceCount",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of OpenSearch instances to reserve.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for parameters to\n      <code>PurchaseReservedInstanceOffering</code>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#PurchaseReservedInstanceOfferingResponse": {
            "type": "structure",
            "members": {
                "ReservedInstanceId": {
                    "target": "com.amazonaws.opensearch#GUID",
                    "traits": {
                        "smithy.api#documentation": "<p>Details of the reserved OpenSearch instance which was purchased.</p>"
                    }
                },
                "ReservationName": {
                    "target": "com.amazonaws.opensearch#ReservationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The customer-specified identifier used to track this reservation.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Represents the output of a <code>PurchaseReservedInstanceOffering</code> operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#RecurringCharge": {
            "type": "structure",
            "members": {
                "RecurringChargeAmount": {
                    "target": "com.amazonaws.opensearch#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>The monetary amount of the recurring charge.</p>"
                    }
                },
                "RecurringChargeFrequency": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The frequency of the recurring charge.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the specific price and frequency of a recurring charges for a reserved OpenSearch instance, or for a\n      reserved OpenSearch instance offering.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#RecurringChargeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#RecurringCharge",
                "traits": {
                    "smithy.api#xmlName": "RecurringCharge"
                }
            }
        },
        "com.amazonaws.opensearch#ReferencePath": {
            "type": "string"
        },
        "com.amazonaws.opensearch#Region": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 5,
                    "max": 30
                },
                "smithy.api#pattern": "^[a-z][a-z0-9\\-]+$"
            }
        },
        "com.amazonaws.opensearch#RejectInboundConnection": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#RejectInboundConnectionRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#RejectInboundConnectionResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Allows the remote domain owner to reject an inbound cross-cluster connection request.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/reject",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#RejectInboundConnectionRequest": {
            "type": "structure",
            "members": {
                "ConnectionId": {
                    "target": "com.amazonaws.opensearch#ConnectionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The ID of the inbound connection to reject.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>RejectInboundConnection</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#RejectInboundConnectionResponse": {
            "type": "structure",
            "members": {
                "Connection": {
                    "target": "com.amazonaws.opensearch#InboundConnection",
                    "traits": {
                        "smithy.api#documentation": "<p>The\n      <code>\n        <a>InboundConnection</a>\n      </code>\n      of the rejected inbound connection.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a\n      <code>\n        <a>RejectInboundConnection</a>\n      </code>\n      operation. Contains details about the rejected inbound connection.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#RemoveTags": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#RemoveTagsRequest"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Removes the specified set of tags from the given domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/tags-removal",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#RemoveTagsRequest": {
            "type": "structure",
            "members": {
                "ARN": {
                    "target": "com.amazonaws.opensearch#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>ARN</code> of the domain from which you want to delete the specified tags.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "TagKeys": {
                    "target": "com.amazonaws.opensearch#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>TagKey</code> list you want to remove from the domain.\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>RemoveTags</a>\n      </code>\n      operation. Specify the <code>ARN</code> for the domain from which you want to remove the\n      specified <code>TagKey</code>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ReservationToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 5,
                    "max": 64
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.opensearch#ReservedInstance": {
            "type": "structure",
            "members": {
                "ReservationName": {
                    "target": "com.amazonaws.opensearch#ReservationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The customer-specified identifier to track this reservation.</p>"
                    }
                },
                "ReservedInstanceId": {
                    "target": "com.amazonaws.opensearch#GUID",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique identifier for the reservation.</p>"
                    }
                },
                "BillingSubscriptionId": {
                    "target": "com.amazonaws.opensearch#Long"
                },
                "ReservedInstanceOfferingId": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The offering identifier.</p>"
                    }
                },
                "InstanceType": {
                    "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The OpenSearch instance type offered by the reserved instance offering.</p>"
                    }
                },
                "StartTime": {
                    "target": "com.amazonaws.opensearch#UpdateTimestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The time the reservation started.</p>"
                    }
                },
                "Duration": {
                    "target": "com.amazonaws.opensearch#Integer",
                    "traits": {
                        "smithy.api#documentation": "<p>The duration, in seconds, for which the OpenSearch instance is reserved.</p>"
                    }
                },
                "FixedPrice": {
                    "target": "com.amazonaws.opensearch#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>The upfront fixed charge you will paid to purchase the specific reserved OpenSearch instance offering.</p>"
                    }
                },
                "UsagePrice": {
                    "target": "com.amazonaws.opensearch#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>The rate you are charged for each hour for the domain that is using this reserved instance.</p>"
                    }
                },
                "CurrencyCode": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The currency code for the reserved OpenSearch instance offering.</p>"
                    }
                },
                "InstanceCount": {
                    "target": "com.amazonaws.opensearch#Integer",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of OpenSearch instances that have been reserved.</p>"
                    }
                },
                "State": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The state of the reserved OpenSearch instance.</p>"
                    }
                },
                "PaymentOption": {
                    "target": "com.amazonaws.opensearch#ReservedInstancePaymentOption",
                    "traits": {
                        "smithy.api#documentation": "<p>The payment option as defined in the reserved OpenSearch instance offering.</p>"
                    }
                },
                "RecurringCharges": {
                    "target": "com.amazonaws.opensearch#RecurringChargeList",
                    "traits": {
                        "smithy.api#documentation": "<p>The charge to your account regardless of whether you are creating any domains using the instance offering.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Details of a reserved OpenSearch instance.</p>"
            }
        },
        "com.amazonaws.opensearch#ReservedInstanceList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#ReservedInstance"
            }
        },
        "com.amazonaws.opensearch#ReservedInstanceOffering": {
            "type": "structure",
            "members": {
                "ReservedInstanceOfferingId": {
                    "target": "com.amazonaws.opensearch#GUID",
                    "traits": {
                        "smithy.api#documentation": "<p>The OpenSearch reserved instance offering identifier.</p>"
                    }
                },
                "InstanceType": {
                    "target": "com.amazonaws.opensearch#OpenSearchPartitionInstanceType",
                    "traits": {
                        "smithy.api#documentation": "<p>The OpenSearch instance type offered by the reserved instance offering.</p>"
                    }
                },
                "Duration": {
                    "target": "com.amazonaws.opensearch#Integer",
                    "traits": {
                        "smithy.api#documentation": "<p>The duration, in seconds, for which the offering will reserve the OpenSearch instance.</p>"
                    }
                },
                "FixedPrice": {
                    "target": "com.amazonaws.opensearch#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>The upfront fixed charge you will pay to purchase the specific reserved OpenSearch instance offering.</p>"
                    }
                },
                "UsagePrice": {
                    "target": "com.amazonaws.opensearch#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>The rate you are charged for each hour the domain that is using the offering is running.</p>"
                    }
                },
                "CurrencyCode": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The currency code for the reserved OpenSearch instance offering.</p>"
                    }
                },
                "PaymentOption": {
                    "target": "com.amazonaws.opensearch#ReservedInstancePaymentOption",
                    "traits": {
                        "smithy.api#documentation": "<p>Payment option for the reserved OpenSearch instance offering</p>"
                    }
                },
                "RecurringCharges": {
                    "target": "com.amazonaws.opensearch#RecurringChargeList",
                    "traits": {
                        "smithy.api#documentation": "<p>The charge to your account regardless of whether you are creating any domains using the instance offering.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Details of a reserved OpenSearch instance offering.</p>"
            }
        },
        "com.amazonaws.opensearch#ReservedInstanceOfferingList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#ReservedInstanceOffering",
                "traits": {
                    "smithy.api#xmlName": "ReservedInstanceOffering"
                }
            }
        },
        "com.amazonaws.opensearch#ReservedInstancePaymentOption": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "ALL_UPFRONT",
                        "name": "ALL_UPFRONT"
                    },
                    {
                        "value": "PARTIAL_UPFRONT",
                        "name": "PARTIAL_UPFRONT"
                    },
                    {
                        "value": "NO_UPFRONT",
                        "name": "NO_UPFRONT"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#ResourceAlreadyExistsException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An exception for creating a resource that already exists. Gives http status code of 400.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.opensearch#ResourceNotFoundException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An exception for accessing or deleting a resource that does not exist. Gives http status code of 400.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.opensearch#RoleArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                },
                "smithy.api#pattern": "^arn:(aws|aws\\-cn|aws\\-us\\-gov|aws\\-iso|aws\\-iso\\-b):iam::[0-9]+:role\\/"
            }
        },
        "com.amazonaws.opensearch#RollbackOnDisable": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK and DEFAULT_ROLLBACK.\n    </p>",
                "smithy.api#enum": [
                    {
                        "value": "NO_ROLLBACK",
                        "name": "NO_ROLLBACK"
                    },
                    {
                        "value": "DEFAULT_ROLLBACK",
                        "name": "DEFAULT_ROLLBACK"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#S3BucketName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 3,
                    "max": 63
                }
            }
        },
        "com.amazonaws.opensearch#S3Key": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 1024
                }
            }
        },
        "com.amazonaws.opensearch#SAMLEntityId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 8,
                    "max": 512
                }
            }
        },
        "com.amazonaws.opensearch#SAMLIdp": {
            "type": "structure",
            "members": {
                "MetadataContent": {
                    "target": "com.amazonaws.opensearch#SAMLMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p>The metadata of the SAML application in XML format.</p>",
                        "smithy.api#required": {}
                    }
                },
                "EntityId": {
                    "target": "com.amazonaws.opensearch#SAMLEntityId",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique entity ID of the application in SAML identity provider.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The SAML identity povider's information.</p>"
            }
        },
        "com.amazonaws.opensearch#SAMLMetadata": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 1048576
                }
            }
        },
        "com.amazonaws.opensearch#SAMLOptionsInput": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True if SAML is enabled.</p>"
                    }
                },
                "Idp": {
                    "target": "com.amazonaws.opensearch#SAMLIdp",
                    "traits": {
                        "smithy.api#documentation": "<p>The SAML Identity Provider's information.</p>"
                    }
                },
                "MasterUserName": {
                    "target": "com.amazonaws.opensearch#Username",
                    "traits": {
                        "smithy.api#documentation": "<p>The SAML master username, which is stored in the Amazon OpenSearch Service domain's internal database.</p>"
                    }
                },
                "MasterBackendRole": {
                    "target": "com.amazonaws.opensearch#BackendRole",
                    "traits": {
                        "smithy.api#documentation": "<p>The backend role that the SAML master user is mapped to.</p>"
                    }
                },
                "SubjectKey": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Element of the SAML assertion to use for username. Default is NameID.</p>"
                    }
                },
                "RolesKey": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Element of the SAML assertion to use for backend roles. Default is roles.</p>"
                    }
                },
                "SessionTimeoutMinutes": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>The duration, in minutes, after which a user session becomes inactive. Acceptable values are between 1 and 1440,\n      and the default value is 60.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The SAML application configuration for the domain.</p>"
            }
        },
        "com.amazonaws.opensearch#SAMLOptionsOutput": {
            "type": "structure",
            "members": {
                "Enabled": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>True if SAML is enabled.</p>"
                    }
                },
                "Idp": {
                    "target": "com.amazonaws.opensearch#SAMLIdp",
                    "traits": {
                        "smithy.api#documentation": "<p>Describes the SAML identity provider's information.</p>"
                    }
                },
                "SubjectKey": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The key used for matching the SAML subject attribute.</p>"
                    }
                },
                "RolesKey": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The key used for matching the SAML roles attribute.</p>"
                    }
                },
                "SessionTimeoutMinutes": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>The duration, in minutes, after which a user session becomes inactive.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Describes the SAML application configured for the domain.</p>"
            }
        },
        "com.amazonaws.opensearch#ScheduledAutoTuneActionType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING, and JVM_YOUNG_GEN_TUNING.</p>",
                "smithy.api#enum": [
                    {
                        "value": "JVM_HEAP_SIZE_TUNING",
                        "name": "JVM_HEAP_SIZE_TUNING"
                    },
                    {
                        "value": "JVM_YOUNG_GEN_TUNING",
                        "name": "JVM_YOUNG_GEN_TUNING"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#ScheduledAutoTuneDescription": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune action description.</p>"
            }
        },
        "com.amazonaws.opensearch#ScheduledAutoTuneDetails": {
            "type": "structure",
            "members": {
                "Date": {
                    "target": "com.amazonaws.opensearch#AutoTuneDate",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp of the Auto-Tune action scheduled for the domain.</p>"
                    }
                },
                "ActionType": {
                    "target": "com.amazonaws.opensearch#ScheduledAutoTuneActionType",
                    "traits": {
                        "smithy.api#documentation": "<p>The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and JVM_YOUNG_GEN_TUNING.</p>"
                    }
                },
                "Action": {
                    "target": "com.amazonaws.opensearch#ScheduledAutoTuneDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>The Auto-Tune action description.</p>"
                    }
                },
                "Severity": {
                    "target": "com.amazonaws.opensearch#ScheduledAutoTuneSeverityType",
                    "traits": {
                        "smithy.api#documentation": "<p>The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies details about the scheduled Auto-Tune action. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ScheduledAutoTuneSeverityType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.</p>",
                "smithy.api#enum": [
                    {
                        "value": "LOW",
                        "name": "LOW"
                    },
                    {
                        "value": "MEDIUM",
                        "name": "MEDIUM"
                    },
                    {
                        "value": "HIGH",
                        "name": "HIGH"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#ServiceSoftwareOptions": {
            "type": "structure",
            "members": {
                "CurrentVersion": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The current service software version present on the domain.</p>"
                    }
                },
                "NewVersion": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The new service software version if one is available.</p>"
                    }
                },
                "UpdateAvailable": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      <code>True</code>\n      if you're able to update your service software version. <code>False</code> if you can't update your\n      service software version.\n    </p>"
                    }
                },
                "Cancellable": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      <code>True</code>\n      if you're able to cancel your service software version update. <code>False</code> if you can't cancel\n      your service software update.\n    </p>"
                    }
                },
                "UpdateStatus": {
                    "target": "com.amazonaws.opensearch#DeploymentStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of your service software update. This field can take the following values: <code>\n      ELIGIBLE</code>, <code>PENDING_UPDATE</code>, <code>IN_PROGRESS</code>, <code>COMPLETED</code>, and <code>\n      NOT_ELIGIBLE</code>.\n    </p>"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The description of the <code>UpdateStatus</code>.\n    </p>"
                    }
                },
                "AutomatedUpdateDate": {
                    "target": "com.amazonaws.opensearch#DeploymentCloseDateTimeStamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp, in Epoch time, until which you can manually request a service software update. After this date, we\n      automatically update your service software.\n    </p>"
                    }
                },
                "OptionalDeployment": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      <code>True</code>\n      if a service software is never automatically updated. <code>False</code> if a service software is automatically\n      updated after <code>AutomatedUpdateDate</code>.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The current options of an domain service software options.</p>"
            }
        },
        "com.amazonaws.opensearch#ServiceUrl": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The endpoint to which service requests are submitted. For example, <code>\n      search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com\n    </code> or <code>doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com</code>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#SnapshotOptions": {
            "type": "structure",
            "members": {
                "AutomatedSnapshotStartHour": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>The time, in UTC format, when the service takes a daily automated snapshot of the specified\n      domain. Default is <code>0</code> hours.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The time, in UTC format, when the service takes a daily automated snapshot of the specified\n      domain. Default is <code>0</code> hours.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#SnapshotOptionsStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#SnapshotOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The daily snapshot options specified for the domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of a daily automated snapshot.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Status of a daily automated snapshot.</p>"
            }
        },
        "com.amazonaws.opensearch#StartAt": {
            "type": "timestamp"
        },
        "com.amazonaws.opensearch#StartServiceSoftwareUpdate": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#StartServiceSoftwareUpdateRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#StartServiceSoftwareUpdateResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Schedules a service software update for an Amazon OpenSearch Service domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/serviceSoftwareUpdate/start",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#StartServiceSoftwareUpdateRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain that you want to update to the latest service software.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>StartServiceSoftwareUpdate</a>\n      </code>\n      operation. Specifies the name of the domain to schedule a service software update for.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#StartServiceSoftwareUpdateResponse": {
            "type": "structure",
            "members": {
                "ServiceSoftwareOptions": {
                    "target": "com.amazonaws.opensearch#ServiceSoftwareOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>The current status of the OpenSearch service software update.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of a <code>StartServiceSoftwareUpdate</code> operation. Contains the status of the\n      update.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#StartTimestamp": {
            "type": "timestamp"
        },
        "com.amazonaws.opensearch#StorageSubTypeName": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>\n      Sub-type of the given storage type.\n      List of available sub-storage options:\n      \"instance\" storageType has no storageSubType.\n      \"ebs\" storageType has the following valid storageSubTypes:\n      <ol>\n        <li>standard</li>\n        <li>gp2</li>\n        <li>io1</li>\n      </ol>\n      See\n      <code>\n        <a>VolumeType</a>\n      </code>\n      for more information regarding each EBS storage option.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#StorageType": {
            "type": "structure",
            "members": {
                "StorageTypeName": {
                    "target": "com.amazonaws.opensearch#StorageTypeName"
                },
                "StorageSubTypeName": {
                    "target": "com.amazonaws.opensearch#StorageSubTypeName"
                },
                "StorageTypeLimits": {
                    "target": "com.amazonaws.opensearch#StorageTypeLimitList",
                    "traits": {
                        "smithy.api#documentation": "<p>Limits that are applicable for the given storage type.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>StorageTypes represents the list of storage-related types and their attributes\n      that are available for a given InstanceType.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#StorageTypeLimit": {
            "type": "structure",
            "members": {
                "LimitName": {
                    "target": "com.amazonaws.opensearch#LimitName",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      Name of storage limits that are applicable for the given storage type.\n      If\n      <code>\n        <a>StorageType</a>\n      </code>\n      is \"ebs\", the following storage options are applicable:\n      <ol>\n        <li>MinimumVolumeSize</li>\n        Minimum amount of volume size that is applicable for the given storage type. Can be empty if not applicable.\n        <li>MaximumVolumeSize</li>\n        Maximum amount of volume size that is applicable for the given storage type. Can be empty if not applicable.\n        <li>MaximumIops</li>\n        Maximum amount of Iops that is applicable for given the storage type. Can be empty if not applicable.\n        <li>MinimumIops</li>\n        Minimum amount of Iops that is applicable for given the storage type. Can be empty if not applicable.\n      </ol>\n    </p>"
                    }
                },
                "LimitValues": {
                    "target": "com.amazonaws.opensearch#LimitValueList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      Values for the\n      <code>\n        <a>StorageTypeLimit$LimitName</a>\n      </code>\n      .\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Limits that are applicable for the given storage type.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#StorageTypeLimitList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#StorageTypeLimit"
            }
        },
        "com.amazonaws.opensearch#StorageTypeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#StorageType"
            }
        },
        "com.amazonaws.opensearch#StorageTypeName": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>\n      Type of storage.\n      List of available storage options:\n      <ol>\n        <li>instance</li>\n        Built-in storage available for the instance\n        <li>ebs</li>\n        Elastic block storage attached to the instance\n      </ol>\n    </p>"
            }
        },
        "com.amazonaws.opensearch#String": {
            "type": "string"
        },
        "com.amazonaws.opensearch#StringList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#String"
            }
        },
        "com.amazonaws.opensearch#TLSSecurityPolicy": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Policy-Min-TLS-1-0-2019-07",
                        "name": "POLICY_MIN_TLS_1_0_2019_07"
                    },
                    {
                        "value": "Policy-Min-TLS-1-2-2019-07",
                        "name": "POLICY_MIN_TLS_1_2_2019_07"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#Tag": {
            "type": "structure",
            "members": {
                "Key": {
                    "target": "com.amazonaws.opensearch#TagKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>TagKey</code>, the name of the tag. Tag keys must be unique for the domain to\n      which they are attached.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "Value": {
                    "target": "com.amazonaws.opensearch#TagValue",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>TagValue</code>, the value assigned to the corresponding tag key. Tag values can be null and\n      don't have to be unique in a tag set. For example, you can have a key value\n      pair in a tag set of <code>project : Trinity</code> and\n      <code>cost-center : Trinity</code>\n    </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A key value pair for a resource tag.</p>"
            }
        },
        "com.amazonaws.opensearch#TagKey": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>A string of length from 1 to 128 characters that specifies the key for a tag. Tag keys must be unique for the\n      domain to which they're attached.\n    </p>",
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.opensearch#TagList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#Tag"
            },
            "traits": {
                "smithy.api#documentation": "<p>A list of\n      <code>Tag</code>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#TagValue": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>A string of length from 0 to 256 characters that specifies the value for a tag. Tag values can be null and don't\n      have to be unique in a tag set.\n    </p>",
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.opensearch#TimeUnit": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The unit of a maintenance schedule duration. Valid value is HOUR. See <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html\" target=\"_blank\">\n      Auto-Tune for Amazon OpenSearch Service\n    </a> for more information.\n    </p>",
                "smithy.api#enum": [
                    {
                        "value": "HOURS",
                        "name": "HOURS"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#UIntValue": {
            "type": "integer",
            "traits": {
                "smithy.api#range": {
                    "min": 0
                }
            }
        },
        "com.amazonaws.opensearch#UpdateDomainConfig": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#UpdateDomainConfigRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#UpdateDomainConfigResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#InvalidTypeException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Modifies the cluster configuration of the specified domain, such as setting the instance type\n      and the number of instances.\n    </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/domain/{DomainName}/config",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#UpdateDomainConfigRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain you're updating.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "ClusterConfig": {
                    "target": "com.amazonaws.opensearch#ClusterConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The type and number of instances to instantiate for the domain cluster.</p>"
                    }
                },
                "EBSOptions": {
                    "target": "com.amazonaws.opensearch#EBSOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specify the type and size of the EBS volume to use.</p>"
                    }
                },
                "SnapshotOptions": {
                    "target": "com.amazonaws.opensearch#SnapshotOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Option to set the time, in UTC format, for the daily automated snapshot. Default value is <code>0</code> hours.\n    </p>"
                    }
                },
                "VPCOptions": {
                    "target": "com.amazonaws.opensearch#VPCOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to specify the subnets and security groups for the VPC endpoint. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html\" target=\"_blank\">Launching your Amazon OpenSearch Service domains using a VPC\n    </a>.\n    </p>"
                    }
                },
                "CognitoOptions": {
                    "target": "com.amazonaws.opensearch#CognitoOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html\" target=\"_blank\">Configuring Amazon Cognito authentication for OpenSearch Dashboards</a>.\n    </p>"
                    }
                },
                "AdvancedOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Modifies the advanced option to allow references to indices in an HTTP request body. Must be <code>false</code> when\n      configuring access to individual sub-resources. By default, the value is <code>true</code>.\n      See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options\" target=\"_blank\">Advanced options\n      </a> for more information.\n    </p>"
                    }
                },
                "AccessPolicies": {
                    "target": "com.amazonaws.opensearch#PolicyDocument",
                    "traits": {
                        "smithy.api#documentation": "<p>IAM access policy as a JSON-formatted string.</p>"
                    }
                },
                "LogPublishingOptions": {
                    "target": "com.amazonaws.opensearch#LogPublishingOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Map of <code>LogType</code> and <code>LogPublishingOption</code>, each containing options to publish a given type\n      of OpenSearch log.\n    </p>"
                    }
                },
                "EncryptionAtRestOptions": {
                    "target": "com.amazonaws.opensearch#EncryptionAtRestOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies encryption of data at rest options.</p>"
                    }
                },
                "DomainEndpointOptions": {
                    "target": "com.amazonaws.opensearch#DomainEndpointOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Options to specify configuration that will be applied to the domain endpoint.</p>"
                    }
                },
                "NodeToNodeEncryptionOptions": {
                    "target": "com.amazonaws.opensearch#NodeToNodeEncryptionOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies node-to-node encryption options.</p>"
                    }
                },
                "AdvancedSecurityOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedSecurityOptionsInput",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies advanced security options.</p>"
                    }
                },
                "AutoTuneOptions": {
                    "target": "com.amazonaws.opensearch#AutoTuneOptions",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies Auto-Tune options.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Container for the parameters to the\n      <code>\n        <a>UpdateDomain</a>\n      </code>\n      operation. Specifies the type and number of instances in the domain cluster.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#UpdateDomainConfigResponse": {
            "type": "structure",
            "members": {
                "DomainConfig": {
                    "target": "com.amazonaws.opensearch#DomainConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the updated domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The result of an <code>UpdateDomain</code> request. Contains the status of the domain\n      being updated.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#UpdatePackage": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#UpdatePackageRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#UpdatePackageResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates a package for use with Amazon OpenSearch Service domains.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/packages/update",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#UpdatePackageRequest": {
            "type": "structure",
            "members": {
                "PackageID": {
                    "target": "com.amazonaws.opensearch#PackageID",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique identifier for the package.</p>",
                        "smithy.api#required": {}
                    }
                },
                "PackageSource": {
                    "target": "com.amazonaws.opensearch#PackageSource",
                    "traits": {
                        "smithy.api#required": {}
                    }
                },
                "PackageDescription": {
                    "target": "com.amazonaws.opensearch#PackageDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>A new description of the package.</p>"
                    }
                },
                "CommitMessage": {
                    "target": "com.amazonaws.opensearch#CommitMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A commit message for the new version which is shown as part of <code>GetPackageVersionHistoryResponse</code>.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for request parameters to the\n      <code>\n        <a>UpdatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#UpdatePackageResponse": {
            "type": "structure",
            "members": {
                "PackageDetails": {
                    "target": "com.amazonaws.opensearch#PackageDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about the package.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the response returned by the\n      <code>\n        <a>UpdatePackage</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#UpdateTimestamp": {
            "type": "timestamp"
        },
        "com.amazonaws.opensearch#UpgradeDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.opensearch#UpgradeDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.opensearch#UpgradeDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.opensearch#BaseException"
                },
                {
                    "target": "com.amazonaws.opensearch#DisabledOperationException"
                },
                {
                    "target": "com.amazonaws.opensearch#InternalException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.opensearch#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.opensearch#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Allows you to either upgrade your domain or perform an upgrade eligibility check to a compatible version of OpenSearch or Elasticsearch.\n    </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/2021-01-01/opensearch/upgradeDomain",
                    "code": 200
                }
            }
        },
        "com.amazonaws.opensearch#UpgradeDomainRequest": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName",
                    "traits": {
                        "smithy.api#required": {}
                    }
                },
                "TargetVersion": {
                    "target": "com.amazonaws.opensearch#VersionString",
                    "traits": {
                        "smithy.api#documentation": "<p>The version of OpenSearch you intend to upgrade the domain to.</p>",
                        "smithy.api#required": {}
                    }
                },
                "PerformCheckOnly": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      When true, indicates that an upgrade eligibility check needs to be performed.\n      Does not actually perform the upgrade.\n    </p>"
                    }
                },
                "AdvancedOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedOptions"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for the request parameters to\n      <code>\n        <a>UpgradeDomain</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#UpgradeDomainResponse": {
            "type": "structure",
            "members": {
                "UpgradeId": {
                    "target": "com.amazonaws.opensearch#String"
                },
                "DomainName": {
                    "target": "com.amazonaws.opensearch#DomainName"
                },
                "TargetVersion": {
                    "target": "com.amazonaws.opensearch#VersionString",
                    "traits": {
                        "smithy.api#documentation": "<p>The version of OpenSearch that you intend to upgrade the domain to.</p>"
                    }
                },
                "PerformCheckOnly": {
                    "target": "com.amazonaws.opensearch#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      When true, indicates that an upgrade eligibility check needs to be performed.\n      Does not actually perform the upgrade.\n    </p>"
                    }
                },
                "AdvancedOptions": {
                    "target": "com.amazonaws.opensearch#AdvancedOptions"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n      Container for response returned by\n      <code>\n        <a>UpgradeDomain</a>\n      </code>\n      operation.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#UpgradeHistory": {
            "type": "structure",
            "members": {
                "UpgradeName": {
                    "target": "com.amazonaws.opensearch#UpgradeName",
                    "traits": {
                        "smithy.api#documentation": "<p>A string that briefly describes the upgrade.</p>"
                    }
                },
                "StartTimestamp": {
                    "target": "com.amazonaws.opensearch#StartTimestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>UTC timestamp at which the upgrade API call was made in \"yyyy-MM-ddTHH:mm:ssZ\" format.</p>"
                    }
                },
                "UpgradeStatus": {
                    "target": "com.amazonaws.opensearch#UpgradeStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      The current status of the upgrade. The status can take one of the following values:\n      <ul>\n        <li>In Progress</li>\n        <li>Succeeded</li>\n        <li>Succeeded with Issues</li>\n        <li>Failed</li>\n      </ul>\n    </p>"
                    }
                },
                "StepsList": {
                    "target": "com.amazonaws.opensearch#UpgradeStepsList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      A list of\n      <code>\n        <a>UpgradeStepItem</a>\n      </code>\n      s representing information about each step performed as part of a specific upgrade or upgrade eligibility check.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>History of the last 10 upgrades and upgrade eligibility checks.</p>"
            }
        },
        "com.amazonaws.opensearch#UpgradeHistoryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#UpgradeHistory"
            }
        },
        "com.amazonaws.opensearch#UpgradeName": {
            "type": "string"
        },
        "com.amazonaws.opensearch#UpgradeStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "IN_PROGRESS",
                        "name": "IN_PROGRESS"
                    },
                    {
                        "value": "SUCCEEDED",
                        "name": "SUCCEEDED"
                    },
                    {
                        "value": "SUCCEEDED_WITH_ISSUES",
                        "name": "SUCCEEDED_WITH_ISSUES"
                    },
                    {
                        "value": "FAILED",
                        "name": "FAILED"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#UpgradeStep": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PRE_UPGRADE_CHECK",
                        "name": "PRE_UPGRADE_CHECK"
                    },
                    {
                        "value": "SNAPSHOT",
                        "name": "SNAPSHOT"
                    },
                    {
                        "value": "UPGRADE",
                        "name": "UPGRADE"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#UpgradeStepItem": {
            "type": "structure",
            "members": {
                "UpgradeStep": {
                    "target": "com.amazonaws.opensearch#UpgradeStep",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      One of three steps an upgrade or upgrade eligibility check goes through:\n      <ul>\n        <li>PreUpgradeCheck</li>\n        <li>Snapshot</li>\n        <li>Upgrade</li>\n      </ul>\n    </p>"
                    }
                },
                "UpgradeStepStatus": {
                    "target": "com.amazonaws.opensearch#UpgradeStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>\n      The current status of the upgrade. The status can take one of the following values:\n      <ul>\n        <li>In Progress</li>\n        <li>Succeeded</li>\n        <li>Succeeded with Issues</li>\n        <li>Failed</li>\n      </ul>\n    </p>"
                    }
                },
                "Issues": {
                    "target": "com.amazonaws.opensearch#Issues",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of strings containing detailed information about the errors encountered in a particular step.</p>"
                    }
                },
                "ProgressPercent": {
                    "target": "com.amazonaws.opensearch#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>The floating point value representing the progress percentage of a particular step.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Represents a single step of the upgrade or upgrade eligibility check workflow.</p>"
            }
        },
        "com.amazonaws.opensearch#UpgradeStepsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#UpgradeStepItem"
            }
        },
        "com.amazonaws.opensearch#UserPoolId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 55
                },
                "smithy.api#pattern": "^[\\w-]+_[0-9a-zA-Z]+$"
            }
        },
        "com.amazonaws.opensearch#Username": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 64
                },
                "smithy.api#pattern": ".*",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.opensearch#VPCDerivedInfo": {
            "type": "structure",
            "members": {
                "VPCId": {
                    "target": "com.amazonaws.opensearch#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC ID for the domain. Exists only if the domain was created with <code>VPCOptions</code>.</p>"
                    }
                },
                "SubnetIds": {
                    "target": "com.amazonaws.opensearch#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The subnets for the VPC endpoint.</p>"
                    }
                },
                "AvailabilityZones": {
                    "target": "com.amazonaws.opensearch#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The Availability Zones for the domain. Exists only if the domain was created with <code>VPCOptions</code>.</p>"
                    }
                },
                "SecurityGroupIds": {
                    "target": "com.amazonaws.opensearch#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The security groups for the VPC endpoint.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Options to specify the subnets and security groups for the VPC endpoint. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html\" target=\"_blank\">\n      Launching your Amazon OpenSearch Service domains using a VPC</a>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#VPCDerivedInfoStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#VPCDerivedInfo",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the VPC options for the specified domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Status of the VPC options for the specified domain.</p>"
            }
        },
        "com.amazonaws.opensearch#VPCOptions": {
            "type": "structure",
            "members": {
                "SubnetIds": {
                    "target": "com.amazonaws.opensearch#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The subnets for the VPC endpoint.</p>"
                    }
                },
                "SecurityGroupIds": {
                    "target": "com.amazonaws.opensearch#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The security groups for the VPC endpoint.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Options to specify the subnets and security groups for the VPC endpoint. For more information, see <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html\" target=\"_blank\">\n      Launching your Amazon OpenSearch Service domains using a VPC</a>.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#ValidationException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.opensearch#ErrorMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>A description of the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An exception for missing / invalid input fields. Gives http status code of 400.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.opensearch#ValueStringList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#NonEmptyString"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1
                }
            }
        },
        "com.amazonaws.opensearch#VersionList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.opensearch#VersionString"
            },
            "traits": {
                "smithy.api#documentation": "<p>List of supported OpenSearch versions.\n    </p>"
            }
        },
        "com.amazonaws.opensearch#VersionStatus": {
            "type": "structure",
            "members": {
                "Options": {
                    "target": "com.amazonaws.opensearch#VersionString",
                    "traits": {
                        "smithy.api#documentation": "<p>The OpenSearch version for the specified OpenSearch domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Status": {
                    "target": "com.amazonaws.opensearch#OptionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the OpenSearch version options for the specified OpenSearch domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The status of the OpenSearch version options for the specified OpenSearch domain.</p>"
            }
        },
        "com.amazonaws.opensearch#VersionString": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 14,
                    "max": 18
                },
                "smithy.api#pattern": "^Elasticsearch_[0-9]{1}\\.[0-9]{1,2}$|^OpenSearch_[0-9]{1,2}\\.[0-9]{1,2}$"
            }
        },
        "com.amazonaws.opensearch#VolumeType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The type of EBS volume, standard, gp2, or io1. See <a href=\"http://docs.aws.amazon.com/opensearch-service/latest/developerguide/opensearch-createupdatedomains.html#opensearch-createdomain-configure-ebs\" target=\"_blank\">Configuring EBS-based Storage</a> for more information.\n    </p>",
                "smithy.api#enum": [
                    {
                        "value": "standard",
                        "name": "standard"
                    },
                    {
                        "value": "gp2",
                        "name": "gp2"
                    },
                    {
                        "value": "io1",
                        "name": "io1"
                    }
                ]
            }
        },
        "com.amazonaws.opensearch#ZoneAwarenessConfig": {
            "type": "structure",
            "members": {
                "AvailabilityZoneCount": {
                    "target": "com.amazonaws.opensearch#IntegerClass",
                    "traits": {
                        "smithy.api#documentation": "<p>An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This\n      should be equal to number of subnets if VPC endpoints is enabled.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The zone awareness configuration for the domain cluster, such as the number of availability zones.</p>"
            }
        }
    }
}
