create_elasticsearch_domain

ElasticsearchService.Client.create_elasticsearch_domain(**kwargs)

Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide .

See also: AWS API Documentation

Request Syntax

response = client.create_elasticsearch_domain(
    DomainName='string',
    ElasticsearchVersion='string',
    ElasticsearchClusterConfig={
        'InstanceType': 'm3.medium.elasticsearch'|'m3.large.elasticsearch'|'m3.xlarge.elasticsearch'|'m3.2xlarge.elasticsearch'|'m4.large.elasticsearch'|'m4.xlarge.elasticsearch'|'m4.2xlarge.elasticsearch'|'m4.4xlarge.elasticsearch'|'m4.10xlarge.elasticsearch'|'m5.large.elasticsearch'|'m5.xlarge.elasticsearch'|'m5.2xlarge.elasticsearch'|'m5.4xlarge.elasticsearch'|'m5.12xlarge.elasticsearch'|'r5.large.elasticsearch'|'r5.xlarge.elasticsearch'|'r5.2xlarge.elasticsearch'|'r5.4xlarge.elasticsearch'|'r5.12xlarge.elasticsearch'|'c5.large.elasticsearch'|'c5.xlarge.elasticsearch'|'c5.2xlarge.elasticsearch'|'c5.4xlarge.elasticsearch'|'c5.9xlarge.elasticsearch'|'c5.18xlarge.elasticsearch'|'ultrawarm1.medium.elasticsearch'|'ultrawarm1.large.elasticsearch'|'t2.micro.elasticsearch'|'t2.small.elasticsearch'|'t2.medium.elasticsearch'|'r3.large.elasticsearch'|'r3.xlarge.elasticsearch'|'r3.2xlarge.elasticsearch'|'r3.4xlarge.elasticsearch'|'r3.8xlarge.elasticsearch'|'i2.xlarge.elasticsearch'|'i2.2xlarge.elasticsearch'|'d2.xlarge.elasticsearch'|'d2.2xlarge.elasticsearch'|'d2.4xlarge.elasticsearch'|'d2.8xlarge.elasticsearch'|'c4.large.elasticsearch'|'c4.xlarge.elasticsearch'|'c4.2xlarge.elasticsearch'|'c4.4xlarge.elasticsearch'|'c4.8xlarge.elasticsearch'|'r4.large.elasticsearch'|'r4.xlarge.elasticsearch'|'r4.2xlarge.elasticsearch'|'r4.4xlarge.elasticsearch'|'r4.8xlarge.elasticsearch'|'r4.16xlarge.elasticsearch'|'i3.large.elasticsearch'|'i3.xlarge.elasticsearch'|'i3.2xlarge.elasticsearch'|'i3.4xlarge.elasticsearch'|'i3.8xlarge.elasticsearch'|'i3.16xlarge.elasticsearch',
        'InstanceCount': 123,
        'DedicatedMasterEnabled': True|False,
        'ZoneAwarenessEnabled': True|False,
        'ZoneAwarenessConfig': {
            'AvailabilityZoneCount': 123
        },
        'DedicatedMasterType': 'm3.medium.elasticsearch'|'m3.large.elasticsearch'|'m3.xlarge.elasticsearch'|'m3.2xlarge.elasticsearch'|'m4.large.elasticsearch'|'m4.xlarge.elasticsearch'|'m4.2xlarge.elasticsearch'|'m4.4xlarge.elasticsearch'|'m4.10xlarge.elasticsearch'|'m5.large.elasticsearch'|'m5.xlarge.elasticsearch'|'m5.2xlarge.elasticsearch'|'m5.4xlarge.elasticsearch'|'m5.12xlarge.elasticsearch'|'r5.large.elasticsearch'|'r5.xlarge.elasticsearch'|'r5.2xlarge.elasticsearch'|'r5.4xlarge.elasticsearch'|'r5.12xlarge.elasticsearch'|'c5.large.elasticsearch'|'c5.xlarge.elasticsearch'|'c5.2xlarge.elasticsearch'|'c5.4xlarge.elasticsearch'|'c5.9xlarge.elasticsearch'|'c5.18xlarge.elasticsearch'|'ultrawarm1.medium.elasticsearch'|'ultrawarm1.large.elasticsearch'|'t2.micro.elasticsearch'|'t2.small.elasticsearch'|'t2.medium.elasticsearch'|'r3.large.elasticsearch'|'r3.xlarge.elasticsearch'|'r3.2xlarge.elasticsearch'|'r3.4xlarge.elasticsearch'|'r3.8xlarge.elasticsearch'|'i2.xlarge.elasticsearch'|'i2.2xlarge.elasticsearch'|'d2.xlarge.elasticsearch'|'d2.2xlarge.elasticsearch'|'d2.4xlarge.elasticsearch'|'d2.8xlarge.elasticsearch'|'c4.large.elasticsearch'|'c4.xlarge.elasticsearch'|'c4.2xlarge.elasticsearch'|'c4.4xlarge.elasticsearch'|'c4.8xlarge.elasticsearch'|'r4.large.elasticsearch'|'r4.xlarge.elasticsearch'|'r4.2xlarge.elasticsearch'|'r4.4xlarge.elasticsearch'|'r4.8xlarge.elasticsearch'|'r4.16xlarge.elasticsearch'|'i3.large.elasticsearch'|'i3.xlarge.elasticsearch'|'i3.2xlarge.elasticsearch'|'i3.4xlarge.elasticsearch'|'i3.8xlarge.elasticsearch'|'i3.16xlarge.elasticsearch',
        'DedicatedMasterCount': 123,
        'WarmEnabled': True|False,
        'WarmType': 'ultrawarm1.medium.elasticsearch'|'ultrawarm1.large.elasticsearch',
        'WarmCount': 123,
        'ColdStorageOptions': {
            'Enabled': True|False
        }
    },
    EBSOptions={
        'EBSEnabled': True|False,
        'VolumeType': 'standard'|'gp2'|'io1'|'gp3',
        'VolumeSize': 123,
        'Iops': 123,
        'Throughput': 123
    },
    AccessPolicies='string',
    SnapshotOptions={
        'AutomatedSnapshotStartHour': 123
    },
    VPCOptions={
        'SubnetIds': [
            'string',
        ],
        'SecurityGroupIds': [
            'string',
        ]
    },
    CognitoOptions={
        'Enabled': True|False,
        'UserPoolId': 'string',
        'IdentityPoolId': 'string',
        'RoleArn': 'string'
    },
    EncryptionAtRestOptions={
        'Enabled': True|False,
        'KmsKeyId': 'string'
    },
    NodeToNodeEncryptionOptions={
        'Enabled': True|False
    },
    AdvancedOptions={
        'string': 'string'
    },
    LogPublishingOptions={
        'string': {
            'CloudWatchLogsLogGroupArn': 'string',
            'Enabled': True|False
        }
    },
    DomainEndpointOptions={
        'EnforceHTTPS': True|False,
        'TLSSecurityPolicy': 'Policy-Min-TLS-1-0-2019-07'|'Policy-Min-TLS-1-2-2019-07',
        'CustomEndpointEnabled': True|False,
        'CustomEndpoint': 'string',
        'CustomEndpointCertificateArn': 'string'
    },
    AdvancedSecurityOptions={
        'Enabled': True|False,
        'InternalUserDatabaseEnabled': True|False,
        'MasterUserOptions': {
            'MasterUserARN': 'string',
            'MasterUserName': 'string',
            'MasterUserPassword': 'string'
        },
        'SAMLOptions': {
            'Enabled': True|False,
            'Idp': {
                'MetadataContent': 'string',
                'EntityId': 'string'
            },
            'MasterUserName': 'string',
            'MasterBackendRole': 'string',
            'SubjectKey': 'string',
            'RolesKey': 'string',
            'SessionTimeoutMinutes': 123
        },
        'AnonymousAuthEnabled': True|False
    },
    AutoTuneOptions={
        'DesiredState': 'ENABLED'|'DISABLED',
        'MaintenanceSchedules': [
            {
                'StartAt': datetime(2015, 1, 1),
                'Duration': {
                    'Value': 123,
                    'Unit': 'HOURS'
                },
                'CronExpressionForRecurrence': 'string'
            },
        ]
    },
    TagList=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
Parameters
  • DomainName (string) --

    [REQUIRED]

    The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

  • ElasticsearchVersion (string) -- String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide .
  • ElasticsearchClusterConfig (dict) --

    Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster.

    • InstanceType (string) --

      The instance type for an Elasticsearch cluster. UltraWarm instance types are not supported for data instances.

    • InstanceCount (integer) --

      The number of instances in the specified domain cluster.

    • DedicatedMasterEnabled (boolean) --

      A boolean value to indicate whether a dedicated master node is enabled. See About Dedicated Master Nodes for more information.

    • ZoneAwarenessEnabled (boolean) --

      A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

    • ZoneAwarenessConfig (dict) --

      Specifies the zone awareness configuration for a domain when zone awareness is enabled.

      • AvailabilityZoneCount (integer) --

        An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled

    • DedicatedMasterType (string) --

      The instance type for a dedicated master node.

    • DedicatedMasterCount (integer) --

      Total number of dedicated master nodes, active and on standby, for the cluster.

    • WarmEnabled (boolean) --

      True to enable warm storage.

    • WarmType (string) --

      The instance type for the Elasticsearch cluster's warm nodes.

    • WarmCount (integer) --

      The number of warm nodes in the cluster.

    • ColdStorageOptions (dict) --

      Specifies the ColdStorageOptions config for Elasticsearch Domain

      • Enabled (boolean) -- [REQUIRED]

        Enable cold storage option. Accepted values true or false

  • EBSOptions (dict) --

    Options to enable, disable and specify the type and size of EBS storage volumes.

    • EBSEnabled (boolean) --

      Specifies whether EBS-based storage is enabled.

    • VolumeType (string) --

      Specifies the volume type for EBS-based storage.

    • VolumeSize (integer) --

      Integer to specify the size of an EBS volume.

    • Iops (integer) --

      Specifies the IOPS for Provisioned IOPS And GP3 EBS volume (SSD).

    • Throughput (integer) --

      Specifies the Throughput for GP3 EBS volume (SSD).

  • AccessPolicies (string) -- IAM access policy as a JSON-formatted string.
  • SnapshotOptions (dict) --

    Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

    • AutomatedSnapshotStartHour (integer) --

      Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours.

  • VPCOptions (dict) --

    Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

    • SubnetIds (list) --

      Specifies the subnets for VPC endpoint.

      • (string) --
    • SecurityGroupIds (list) --

      Specifies the security groups for VPC endpoint.

      • (string) --
  • CognitoOptions (dict) --

    Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

    • Enabled (boolean) --

      Specifies the option to enable Cognito for Kibana authentication.

    • UserPoolId (string) --

      Specifies the Cognito user pool ID for Kibana authentication.

    • IdentityPoolId (string) --

      Specifies the Cognito identity pool ID for Kibana authentication.

    • RoleArn (string) --

      Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.

  • EncryptionAtRestOptions (dict) --

    Specifies the Encryption At Rest Options.

    • Enabled (boolean) --

      Specifies the option to enable Encryption At Rest.

    • KmsKeyId (string) --

      Specifies the KMS Key ID for Encryption At Rest options.

  • NodeToNodeEncryptionOptions (dict) --

    Specifies the NodeToNodeEncryptionOptions.

    • Enabled (boolean) --

      Specify true to enable node-to-node encryption.

  • AdvancedOptions (dict) --

    Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true . See Configuration Advanced Options for more information.

    • (string) --
      • (string) --
  • LogPublishingOptions (dict) --

    Map of LogType and LogPublishingOption , each containing options to publish a given type of Elasticsearch log.

    • (string) --

      Type of Log File, it can be one of the following:

      • INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more time than configured index query log threshold to execute.
      • SEARCH_SLOW_LOGS: Search slow logs contain search queries that took more time than configured search query log threshold to execute.
      • ES_APPLICATION_LOGS: Elasticsearch application logs contain information about errors and warnings raised during the operation of the service and can be useful for troubleshooting.
      • AUDIT_LOGS: Audit logs contain records of user requests for access from the domain.
      • (dict) --

        Log Publishing option that is set for given domain. Attributes and their details:

        • CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which log needs to be published.
        • Enabled: Whether the log publishing for given log type is enabled or not
        • CloudWatchLogsLogGroupArn (string) --

          ARN of the Cloudwatch log group to which log needs to be published.

        • Enabled (boolean) --

          Specifies whether given log publishing option is enabled or not.

  • DomainEndpointOptions (dict) --

    Options to specify configuration that will be applied to the domain endpoint.

    • EnforceHTTPS (boolean) --

      Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.

    • TLSSecurityPolicy (string) --

      Specify the TLS security policy that needs to be applied to the HTTPS endpoint of Elasticsearch domain. It can be one of the following values:

      • Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0 and higher.
      • Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only TLSv1.2
    • CustomEndpointEnabled (boolean) --

      Specify if custom endpoint should be enabled for the Elasticsearch domain.

    • CustomEndpoint (string) --

      Specify the fully qualified domain for your custom endpoint.

    • CustomEndpointCertificateArn (string) --

      Specify ACM certificate ARN for your custom endpoint.

  • AdvancedSecurityOptions (dict) --

    Specifies advanced security options.

    • Enabled (boolean) --

      True if advanced security is enabled.

    • InternalUserDatabaseEnabled (boolean) --

      True if the internal user database is enabled.

    • MasterUserOptions (dict) --

      Credentials for the master user: username and password, ARN, or both.

      • MasterUserARN (string) --

        ARN for the master user (if IAM is enabled).

      • MasterUserName (string) --

        The master user's username, which is stored in the Amazon Elasticsearch Service domain's internal database.

      • MasterUserPassword (string) --

        The master user's password, which is stored in the Amazon Elasticsearch Service domain's internal database.

    • SAMLOptions (dict) --

      Specifies the SAML application configuration for the domain.

      • Enabled (boolean) --

        True if SAML is enabled.

      • Idp (dict) --

        Specifies the SAML Identity Provider's information.

        • MetadataContent (string) -- [REQUIRED]

          The Metadata of the SAML application in xml format.

        • EntityId (string) -- [REQUIRED]

          The unique Entity ID of the application in SAML Identity Provider.

      • MasterUserName (string) --

        The SAML master username, which is stored in the Amazon Elasticsearch Service domain's internal database.

      • MasterBackendRole (string) --

        The backend role to which the SAML master user is mapped to.

      • SubjectKey (string) --

        The key to use for matching the SAML Subject attribute.

      • RolesKey (string) --

        The key to use for matching the SAML Roles attribute.

      • SessionTimeoutMinutes (integer) --

        The duration, in minutes, after which a user session becomes inactive. Acceptable values are between 1 and 1440, and the default value is 60.

    • AnonymousAuthEnabled (boolean) --

      True if Anonymous auth is enabled. Anonymous auth can be enabled only when AdvancedSecurity is enabled on existing domains.

  • AutoTuneOptions (dict) --

    Specifies Auto-Tune options.

    • DesiredState (string) --

      Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.

    • MaintenanceSchedules (list) --

      Specifies list of maitenance schedules. See the Developer Guide for more information.

      • (dict) --

        Specifies Auto-Tune maitenance schedule. See the Developer Guide for more information.

        • StartAt (datetime) --

          Specifies timestamp at which Auto-Tune maintenance schedule start.

        • Duration (dict) --

          Specifies maintenance schedule duration: duration value and duration unit. See the Developer Guide for more information.

          • Value (integer) --

            Integer to specify the value of a maintenance schedule duration. See the Developer Guide for more information.

          • Unit (string) --

            Specifies the unit of a maintenance schedule duration. Valid value is HOURS. See the Developer Guide for more information.

        • CronExpressionForRecurrence (string) --

          Specifies cron expression for a recurring maintenance schedule. See the Developer Guide for more information.

  • TagList (list) --

    A list of Tag added during domain creation.

    • (dict) --

      Specifies a key value pair for a resource tag.

      • Key (string) -- [REQUIRED]

        Specifies the TagKey , the name of the tag. Tag keys must be unique for the Elasticsearch domain to which they are attached.

      • Value (string) -- [REQUIRED]

        Specifies the TagValue , the value assigned to the corresponding tag key. Tag values can be null and do not have to be unique in a tag set. For example, you can have a key value pair in a tag set of project : Trinity and cost-center : Trinity

Return type

dict

Returns

Response Syntax

{
    'DomainStatus': {
        'DomainId': 'string',
        'DomainName': 'string',
        'ARN': 'string',
        'Created': True|False,
        'Deleted': True|False,
        'Endpoint': 'string',
        'Endpoints': {
            'string': 'string'
        },
        'Processing': True|False,
        'UpgradeProcessing': True|False,
        'ElasticsearchVersion': 'string',
        'ElasticsearchClusterConfig': {
            'InstanceType': 'm3.medium.elasticsearch'|'m3.large.elasticsearch'|'m3.xlarge.elasticsearch'|'m3.2xlarge.elasticsearch'|'m4.large.elasticsearch'|'m4.xlarge.elasticsearch'|'m4.2xlarge.elasticsearch'|'m4.4xlarge.elasticsearch'|'m4.10xlarge.elasticsearch'|'m5.large.elasticsearch'|'m5.xlarge.elasticsearch'|'m5.2xlarge.elasticsearch'|'m5.4xlarge.elasticsearch'|'m5.12xlarge.elasticsearch'|'r5.large.elasticsearch'|'r5.xlarge.elasticsearch'|'r5.2xlarge.elasticsearch'|'r5.4xlarge.elasticsearch'|'r5.12xlarge.elasticsearch'|'c5.large.elasticsearch'|'c5.xlarge.elasticsearch'|'c5.2xlarge.elasticsearch'|'c5.4xlarge.elasticsearch'|'c5.9xlarge.elasticsearch'|'c5.18xlarge.elasticsearch'|'ultrawarm1.medium.elasticsearch'|'ultrawarm1.large.elasticsearch'|'t2.micro.elasticsearch'|'t2.small.elasticsearch'|'t2.medium.elasticsearch'|'r3.large.elasticsearch'|'r3.xlarge.elasticsearch'|'r3.2xlarge.elasticsearch'|'r3.4xlarge.elasticsearch'|'r3.8xlarge.elasticsearch'|'i2.xlarge.elasticsearch'|'i2.2xlarge.elasticsearch'|'d2.xlarge.elasticsearch'|'d2.2xlarge.elasticsearch'|'d2.4xlarge.elasticsearch'|'d2.8xlarge.elasticsearch'|'c4.large.elasticsearch'|'c4.xlarge.elasticsearch'|'c4.2xlarge.elasticsearch'|'c4.4xlarge.elasticsearch'|'c4.8xlarge.elasticsearch'|'r4.large.elasticsearch'|'r4.xlarge.elasticsearch'|'r4.2xlarge.elasticsearch'|'r4.4xlarge.elasticsearch'|'r4.8xlarge.elasticsearch'|'r4.16xlarge.elasticsearch'|'i3.large.elasticsearch'|'i3.xlarge.elasticsearch'|'i3.2xlarge.elasticsearch'|'i3.4xlarge.elasticsearch'|'i3.8xlarge.elasticsearch'|'i3.16xlarge.elasticsearch',
            'InstanceCount': 123,
            'DedicatedMasterEnabled': True|False,
            'ZoneAwarenessEnabled': True|False,
            'ZoneAwarenessConfig': {
                'AvailabilityZoneCount': 123
            },
            'DedicatedMasterType': 'm3.medium.elasticsearch'|'m3.large.elasticsearch'|'m3.xlarge.elasticsearch'|'m3.2xlarge.elasticsearch'|'m4.large.elasticsearch'|'m4.xlarge.elasticsearch'|'m4.2xlarge.elasticsearch'|'m4.4xlarge.elasticsearch'|'m4.10xlarge.elasticsearch'|'m5.large.elasticsearch'|'m5.xlarge.elasticsearch'|'m5.2xlarge.elasticsearch'|'m5.4xlarge.elasticsearch'|'m5.12xlarge.elasticsearch'|'r5.large.elasticsearch'|'r5.xlarge.elasticsearch'|'r5.2xlarge.elasticsearch'|'r5.4xlarge.elasticsearch'|'r5.12xlarge.elasticsearch'|'c5.large.elasticsearch'|'c5.xlarge.elasticsearch'|'c5.2xlarge.elasticsearch'|'c5.4xlarge.elasticsearch'|'c5.9xlarge.elasticsearch'|'c5.18xlarge.elasticsearch'|'ultrawarm1.medium.elasticsearch'|'ultrawarm1.large.elasticsearch'|'t2.micro.elasticsearch'|'t2.small.elasticsearch'|'t2.medium.elasticsearch'|'r3.large.elasticsearch'|'r3.xlarge.elasticsearch'|'r3.2xlarge.elasticsearch'|'r3.4xlarge.elasticsearch'|'r3.8xlarge.elasticsearch'|'i2.xlarge.elasticsearch'|'i2.2xlarge.elasticsearch'|'d2.xlarge.elasticsearch'|'d2.2xlarge.elasticsearch'|'d2.4xlarge.elasticsearch'|'d2.8xlarge.elasticsearch'|'c4.large.elasticsearch'|'c4.xlarge.elasticsearch'|'c4.2xlarge.elasticsearch'|'c4.4xlarge.elasticsearch'|'c4.8xlarge.elasticsearch'|'r4.large.elasticsearch'|'r4.xlarge.elasticsearch'|'r4.2xlarge.elasticsearch'|'r4.4xlarge.elasticsearch'|'r4.8xlarge.elasticsearch'|'r4.16xlarge.elasticsearch'|'i3.large.elasticsearch'|'i3.xlarge.elasticsearch'|'i3.2xlarge.elasticsearch'|'i3.4xlarge.elasticsearch'|'i3.8xlarge.elasticsearch'|'i3.16xlarge.elasticsearch',
            'DedicatedMasterCount': 123,
            'WarmEnabled': True|False,
            'WarmType': 'ultrawarm1.medium.elasticsearch'|'ultrawarm1.large.elasticsearch',
            'WarmCount': 123,
            'ColdStorageOptions': {
                'Enabled': True|False
            }
        },
        'EBSOptions': {
            'EBSEnabled': True|False,
            'VolumeType': 'standard'|'gp2'|'io1'|'gp3',
            'VolumeSize': 123,
            'Iops': 123,
            'Throughput': 123
        },
        'AccessPolicies': 'string',
        'SnapshotOptions': {
            'AutomatedSnapshotStartHour': 123
        },
        'VPCOptions': {
            'VPCId': 'string',
            'SubnetIds': [
                'string',
            ],
            'AvailabilityZones': [
                'string',
            ],
            'SecurityGroupIds': [
                'string',
            ]
        },
        'CognitoOptions': {
            'Enabled': True|False,
            'UserPoolId': 'string',
            'IdentityPoolId': 'string',
            'RoleArn': 'string'
        },
        'EncryptionAtRestOptions': {
            'Enabled': True|False,
            'KmsKeyId': 'string'
        },
        'NodeToNodeEncryptionOptions': {
            'Enabled': True|False
        },
        'AdvancedOptions': {
            'string': 'string'
        },
        'LogPublishingOptions': {
            'string': {
                'CloudWatchLogsLogGroupArn': 'string',
                'Enabled': True|False
            }
        },
        'ServiceSoftwareOptions': {
            'CurrentVersion': 'string',
            'NewVersion': 'string',
            'UpdateAvailable': True|False,
            'Cancellable': True|False,
            'UpdateStatus': 'PENDING_UPDATE'|'IN_PROGRESS'|'COMPLETED'|'NOT_ELIGIBLE'|'ELIGIBLE',
            'Description': 'string',
            'AutomatedUpdateDate': datetime(2015, 1, 1),
            'OptionalDeployment': True|False
        },
        'DomainEndpointOptions': {
            'EnforceHTTPS': True|False,
            'TLSSecurityPolicy': 'Policy-Min-TLS-1-0-2019-07'|'Policy-Min-TLS-1-2-2019-07',
            'CustomEndpointEnabled': True|False,
            'CustomEndpoint': 'string',
            'CustomEndpointCertificateArn': 'string'
        },
        'AdvancedSecurityOptions': {
            'Enabled': True|False,
            'InternalUserDatabaseEnabled': True|False,
            'SAMLOptions': {
                'Enabled': True|False,
                'Idp': {
                    'MetadataContent': 'string',
                    'EntityId': 'string'
                },
                'SubjectKey': 'string',
                'RolesKey': 'string',
                'SessionTimeoutMinutes': 123
            },
            'AnonymousAuthDisableDate': datetime(2015, 1, 1),
            'AnonymousAuthEnabled': True|False
        },
        'AutoTuneOptions': {
            'State': 'ENABLED'|'DISABLED'|'ENABLE_IN_PROGRESS'|'DISABLE_IN_PROGRESS'|'DISABLED_AND_ROLLBACK_SCHEDULED'|'DISABLED_AND_ROLLBACK_IN_PROGRESS'|'DISABLED_AND_ROLLBACK_COMPLETE'|'DISABLED_AND_ROLLBACK_ERROR'|'ERROR',
            'ErrorMessage': 'string'
        },
        'ChangeProgressDetails': {
            'ChangeId': 'string',
            'Message': 'string'
        }
    }
}

Response Structure

  • (dict) --

    The result of a CreateElasticsearchDomain operation. Contains the status of the newly created Elasticsearch domain.

    • DomainStatus (dict) --

      The status of the newly created Elasticsearch domain.

      • DomainId (string) --

        The unique identifier for the specified Elasticsearch domain.

      • DomainName (string) --

        The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

      • ARN (string) --

        The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

      • Created (boolean) --

        The domain creation status. True if the creation of an Elasticsearch domain is complete. False if domain creation is still in progress.

      • Deleted (boolean) --

        The domain deletion status. True if a delete request has been received for the domain but resource cleanup is still in progress. False if the domain has not been deleted. Once domain deletion is complete, the status of the domain is no longer returned.

      • Endpoint (string) --

        The Elasticsearch domain endpoint that you use to submit index and search requests.

      • Endpoints (dict) --

        Map containing the Elasticsearch domain endpoints used to submit index and search requests. Example key, value : 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com' .

        • (string) --

          • (string) --

            The endpoint to which service requests are submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com .

      • Processing (boolean) --

        The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active.

      • UpgradeProcessing (boolean) --

        The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch Service is undergoing a version upgrade. False if the configuration is active.

      • ElasticsearchVersion (string) --

      • ElasticsearchClusterConfig (dict) --

        The type and number of instances in the domain cluster.

        • InstanceType (string) --

          The instance type for an Elasticsearch cluster. UltraWarm instance types are not supported for data instances.

        • InstanceCount (integer) --

          The number of instances in the specified domain cluster.

        • DedicatedMasterEnabled (boolean) --

          A boolean value to indicate whether a dedicated master node is enabled. See About Dedicated Master Nodes for more information.

        • ZoneAwarenessEnabled (boolean) --

          A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

        • ZoneAwarenessConfig (dict) --

          Specifies the zone awareness configuration for a domain when zone awareness is enabled.

          • AvailabilityZoneCount (integer) --

            An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled

        • DedicatedMasterType (string) --

          The instance type for a dedicated master node.

        • DedicatedMasterCount (integer) --

          Total number of dedicated master nodes, active and on standby, for the cluster.

        • WarmEnabled (boolean) --

          True to enable warm storage.

        • WarmType (string) --

          The instance type for the Elasticsearch cluster's warm nodes.

        • WarmCount (integer) --

          The number of warm nodes in the cluster.

        • ColdStorageOptions (dict) --

          Specifies the ColdStorageOptions config for Elasticsearch Domain

          • Enabled (boolean) --

            Enable cold storage option. Accepted values true or false

      • EBSOptions (dict) --

        The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

        • EBSEnabled (boolean) --

          Specifies whether EBS-based storage is enabled.

        • VolumeType (string) --

          Specifies the volume type for EBS-based storage.

        • VolumeSize (integer) --

          Integer to specify the size of an EBS volume.

        • Iops (integer) --

          Specifies the IOPS for Provisioned IOPS And GP3 EBS volume (SSD).

        • Throughput (integer) --

          Specifies the Throughput for GP3 EBS volume (SSD).

      • AccessPolicies (string) --

        IAM access policy as a JSON-formatted string.

      • SnapshotOptions (dict) --

        Specifies the status of the SnapshotOptions

        • AutomatedSnapshotStartHour (integer) --

          Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours.

      • VPCOptions (dict) --

        The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

        • VPCId (string) --

          The VPC Id for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

        • SubnetIds (list) --

          Specifies the subnets for VPC endpoint.

          • (string) --
        • AvailabilityZones (list) --

          The availability zones for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

          • (string) --
        • SecurityGroupIds (list) --

          Specifies the security groups for VPC endpoint.

          • (string) --
      • CognitoOptions (dict) --

        The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

        • Enabled (boolean) --

          Specifies the option to enable Cognito for Kibana authentication.

        • UserPoolId (string) --

          Specifies the Cognito user pool ID for Kibana authentication.

        • IdentityPoolId (string) --

          Specifies the Cognito identity pool ID for Kibana authentication.

        • RoleArn (string) --

          Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.

      • EncryptionAtRestOptions (dict) --

        Specifies the status of the EncryptionAtRestOptions .

        • Enabled (boolean) --

          Specifies the option to enable Encryption At Rest.

        • KmsKeyId (string) --

          Specifies the KMS Key ID for Encryption At Rest options.

      • NodeToNodeEncryptionOptions (dict) --

        Specifies the status of the NodeToNodeEncryptionOptions .

        • Enabled (boolean) --

          Specify true to enable node-to-node encryption.

      • AdvancedOptions (dict) --

        Specifies the status of the AdvancedOptions

        • (string) --
          • (string) --
      • LogPublishingOptions (dict) --

        Log publishing options for the given domain.

        • (string) --

          Type of Log File, it can be one of the following:

          • INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more time than configured index query log threshold to execute.
          • SEARCH_SLOW_LOGS: Search slow logs contain search queries that took more time than configured search query log threshold to execute.
          • ES_APPLICATION_LOGS: Elasticsearch application logs contain information about errors and warnings raised during the operation of the service and can be useful for troubleshooting.
          • AUDIT_LOGS: Audit logs contain records of user requests for access from the domain.
          • (dict) --

            Log Publishing option that is set for given domain. Attributes and their details:

            • CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which log needs to be published.
            • Enabled: Whether the log publishing for given log type is enabled or not
            • CloudWatchLogsLogGroupArn (string) --

              ARN of the Cloudwatch log group to which log needs to be published.

            • Enabled (boolean) --

              Specifies whether given log publishing option is enabled or not.

      • ServiceSoftwareOptions (dict) --

        The current status of the Elasticsearch domain's service software.

        • CurrentVersion (string) --

          The current service software version that is present on the domain.

        • NewVersion (string) --

          The new service software version if one is available.

        • UpdateAvailable (boolean) --

          True if you are able to update you service software version. False if you are not able to update your service software version.

        • Cancellable (boolean) --

          True if you are able to cancel your service software version update. False if you are not able to cancel your service software version.

        • UpdateStatus (string) --

          The status of your service software update. This field can take the following values: ELIGIBLE , PENDING_UPDATE , IN_PROGRESS , COMPLETED , and NOT_ELIGIBLE .

        • Description (string) --

          The description of the UpdateStatus .

        • AutomatedUpdateDate (datetime) --

          Timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software.

        • OptionalDeployment (boolean) --

          True if a service software is never automatically updated. False if a service software is automatically updated after AutomatedUpdateDate .

      • DomainEndpointOptions (dict) --

        The current status of the Elasticsearch domain's endpoint options.

        • EnforceHTTPS (boolean) --

          Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.

        • TLSSecurityPolicy (string) --

          Specify the TLS security policy that needs to be applied to the HTTPS endpoint of Elasticsearch domain. It can be one of the following values:

          • Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0 and higher.
          • Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only TLSv1.2
        • CustomEndpointEnabled (boolean) --

          Specify if custom endpoint should be enabled for the Elasticsearch domain.

        • CustomEndpoint (string) --

          Specify the fully qualified domain for your custom endpoint.

        • CustomEndpointCertificateArn (string) --

          Specify ACM certificate ARN for your custom endpoint.

      • AdvancedSecurityOptions (dict) --

        The current status of the Elasticsearch domain's advanced security options.

        • Enabled (boolean) --

          True if advanced security is enabled.

        • InternalUserDatabaseEnabled (boolean) --

          True if the internal user database is enabled.

        • SAMLOptions (dict) --

          Describes the SAML application configured for a domain.

          • Enabled (boolean) --

            True if SAML is enabled.

          • Idp (dict) --

            Describes the SAML Identity Provider's information.

            • MetadataContent (string) --

              The Metadata of the SAML application in xml format.

            • EntityId (string) --

              The unique Entity ID of the application in SAML Identity Provider.

          • SubjectKey (string) --

            The key used for matching the SAML Subject attribute.

          • RolesKey (string) --

            The key used for matching the SAML Roles attribute.

          • SessionTimeoutMinutes (integer) --

            The duration, in minutes, after which a user session becomes inactive.

        • AnonymousAuthDisableDate (datetime) --

          Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled.

        • AnonymousAuthEnabled (boolean) --

          True if Anonymous auth is enabled. Anonymous auth can be enabled only when AdvancedSecurity is enabled on existing domains.

      • AutoTuneOptions (dict) --

        The current status of the Elasticsearch domain's Auto-Tune options.

        • State (string) --

          Specifies the AutoTuneState for the Elasticsearch domain.

        • ErrorMessage (string) --

          Specifies the error message while enabling or disabling the Auto-Tune.

      • ChangeProgressDetails (dict) --

        Specifies change details of the domain configuration change.

        • ChangeId (string) --

          The unique change identifier associated with a specific domain configuration change.

        • Message (string) --

          Contains an optional message associated with the domain configuration change.

Exceptions

  • ElasticsearchService.Client.exceptions.BaseException
  • ElasticsearchService.Client.exceptions.DisabledOperationException
  • ElasticsearchService.Client.exceptions.InternalException
  • ElasticsearchService.Client.exceptions.InvalidTypeException
  • ElasticsearchService.Client.exceptions.LimitExceededException
  • ElasticsearchService.Client.exceptions.ResourceAlreadyExistsException
  • ElasticsearchService.Client.exceptions.ValidationException