class Aws::ElasticsearchService::Types::CreateElasticsearchDomainRequest

@note When making an API call, you may pass CreateElasticsearchDomainRequest

data as a hash:

    {
      domain_name: "DomainName", # required
      elasticsearch_version: "ElasticsearchVersionString",
      elasticsearch_cluster_config: {
        instance_type: "m3.medium.elasticsearch", # accepts 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
        instance_count: 1,
        dedicated_master_enabled: false,
        zone_awareness_enabled: false,
        zone_awareness_config: {
          availability_zone_count: 1,
        },
        dedicated_master_type: "m3.medium.elasticsearch", # accepts 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
        dedicated_master_count: 1,
        warm_enabled: false,
        warm_type: "ultrawarm1.medium.elasticsearch", # accepts ultrawarm1.medium.elasticsearch, ultrawarm1.large.elasticsearch
        warm_count: 1,
        cold_storage_options: {
          enabled: false, # required
        },
      },
      ebs_options: {
        ebs_enabled: false,
        volume_type: "standard", # accepts standard, gp2, io1
        volume_size: 1,
        iops: 1,
      },
      access_policies: "PolicyDocument",
      snapshot_options: {
        automated_snapshot_start_hour: 1,
      },
      vpc_options: {
        subnet_ids: ["String"],
        security_group_ids: ["String"],
      },
      cognito_options: {
        enabled: false,
        user_pool_id: "UserPoolId",
        identity_pool_id: "IdentityPoolId",
        role_arn: "RoleArn",
      },
      encryption_at_rest_options: {
        enabled: false,
        kms_key_id: "KmsKeyId",
      },
      node_to_node_encryption_options: {
        enabled: false,
      },
      advanced_options: {
        "String" => "String",
      },
      log_publishing_options: {
        "INDEX_SLOW_LOGS" => {
          cloud_watch_logs_log_group_arn: "CloudWatchLogsLogGroupArn",
          enabled: false,
        },
      },
      domain_endpoint_options: {
        enforce_https: false,
        tls_security_policy: "Policy-Min-TLS-1-0-2019-07", # accepts Policy-Min-TLS-1-0-2019-07, Policy-Min-TLS-1-2-2019-07
        custom_endpoint_enabled: false,
        custom_endpoint: "DomainNameFqdn",
        custom_endpoint_certificate_arn: "ARN",
      },
      advanced_security_options: {
        enabled: false,
        internal_user_database_enabled: false,
        master_user_options: {
          master_user_arn: "ARN",
          master_user_name: "Username",
          master_user_password: "Password",
        },
        saml_options: {
          enabled: false,
          idp: {
            metadata_content: "SAMLMetadata", # required
            entity_id: "SAMLEntityId", # required
          },
          master_user_name: "Username",
          master_backend_role: "BackendRole",
          subject_key: "String",
          roles_key: "String",
          session_timeout_minutes: 1,
        },
      },
      auto_tune_options: {
        desired_state: "ENABLED", # accepts ENABLED, DISABLED
        maintenance_schedules: [
          {
            start_at: Time.now,
            duration: {
              value: 1,
              unit: "HOURS", # accepts HOURS
            },
            cron_expression_for_recurrence: "String",
          },
        ],
      },
      tag_list: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
    }

@!attribute [rw] domain_name

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).
@return [String]

@!attribute [rw] elasticsearch_version

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][1] in the *Amazon Elasticsearch Service
Developer Guide*.

[1]: http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains
@return [String]

@!attribute [rw] elasticsearch_cluster_config

Configuration options for an Elasticsearch domain. Specifies the
instance type and number of instances in the domain cluster.
@return [Types::ElasticsearchClusterConfig]

@!attribute [rw] ebs_options

Options to enable, disable and specify the type and size of EBS
storage volumes.
@return [Types::EBSOptions]

@!attribute [rw] access_policies

IAM access policy as a JSON-formatted string.
@return [String]

@!attribute [rw] snapshot_options

Option to set time, in UTC format, of the daily automated snapshot.
Default value is 0 hours.
@return [Types::SnapshotOptions]

@!attribute [rw] vpc_options

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

[1]: http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc
@return [Types::VPCOptions]

@!attribute [rw] cognito_options

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

[1]: http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html
@return [Types::CognitoOptions]

@!attribute [rw] encryption_at_rest_options

Specifies the Encryption At Rest Options.
@return [Types::EncryptionAtRestOptions]

@!attribute [rw] node_to_node_encryption_options

Specifies the NodeToNodeEncryptionOptions.
@return [Types::NodeToNodeEncryptionOptions]

@!attribute [rw] advanced_options

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][1] for more information.

[1]: http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options
@return [Hash<String,String>]

@!attribute [rw] log_publishing_options

Map of `LogType` and `LogPublishingOption`, each containing options
to publish a given type of Elasticsearch log.
@return [Hash<String,Types::LogPublishingOption>]

@!attribute [rw] domain_endpoint_options

Options to specify configuration that will be applied to the domain
endpoint.
@return [Types::DomainEndpointOptions]

@!attribute [rw] advanced_security_options

Specifies advanced security options.
@return [Types::AdvancedSecurityOptionsInput]

@!attribute [rw] auto_tune_options

Specifies Auto-Tune options.
@return [Types::AutoTuneOptionsInput]

@!attribute [rw] tag_list

A list of `Tag` added during domain creation.
@return [Array<Types::Tag>]

Constants

SENSITIVE