class Aws::OpenSearchService::Types::CreateDomainRequest

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

data as a hash:

    {
      domain_name: "DomainName", # required
      engine_version: "VersionString",
      cluster_config: {
        instance_type: "m3.medium.search", # accepts m3.medium.search, m3.large.search, m3.xlarge.search, m3.2xlarge.search, m4.large.search, m4.xlarge.search, m4.2xlarge.search, m4.4xlarge.search, m4.10xlarge.search, m5.large.search, m5.xlarge.search, m5.2xlarge.search, m5.4xlarge.search, m5.12xlarge.search, m5.24xlarge.search, r5.large.search, r5.xlarge.search, r5.2xlarge.search, r5.4xlarge.search, r5.12xlarge.search, r5.24xlarge.search, c5.large.search, c5.xlarge.search, c5.2xlarge.search, c5.4xlarge.search, c5.9xlarge.search, c5.18xlarge.search, t3.nano.search, t3.micro.search, t3.small.search, t3.medium.search, t3.large.search, t3.xlarge.search, t3.2xlarge.search, ultrawarm1.medium.search, ultrawarm1.large.search, ultrawarm1.xlarge.search, t2.micro.search, t2.small.search, t2.medium.search, r3.large.search, r3.xlarge.search, r3.2xlarge.search, r3.4xlarge.search, r3.8xlarge.search, i2.xlarge.search, i2.2xlarge.search, d2.xlarge.search, d2.2xlarge.search, d2.4xlarge.search, d2.8xlarge.search, c4.large.search, c4.xlarge.search, c4.2xlarge.search, c4.4xlarge.search, c4.8xlarge.search, r4.large.search, r4.xlarge.search, r4.2xlarge.search, r4.4xlarge.search, r4.8xlarge.search, r4.16xlarge.search, i3.large.search, i3.xlarge.search, i3.2xlarge.search, i3.4xlarge.search, i3.8xlarge.search, i3.16xlarge.search, r6g.large.search, r6g.xlarge.search, r6g.2xlarge.search, r6g.4xlarge.search, r6g.8xlarge.search, r6g.12xlarge.search, m6g.large.search, m6g.xlarge.search, m6g.2xlarge.search, m6g.4xlarge.search, m6g.8xlarge.search, m6g.12xlarge.search, c6g.large.search, c6g.xlarge.search, c6g.2xlarge.search, c6g.4xlarge.search, c6g.8xlarge.search, c6g.12xlarge.search, r6gd.large.search, r6gd.xlarge.search, r6gd.2xlarge.search, r6gd.4xlarge.search, r6gd.8xlarge.search, r6gd.12xlarge.search, r6gd.16xlarge.search, t4g.small.search, t4g.medium.search
        instance_count: 1,
        dedicated_master_enabled: false,
        zone_awareness_enabled: false,
        zone_awareness_config: {
          availability_zone_count: 1,
        },
        dedicated_master_type: "m3.medium.search", # accepts m3.medium.search, m3.large.search, m3.xlarge.search, m3.2xlarge.search, m4.large.search, m4.xlarge.search, m4.2xlarge.search, m4.4xlarge.search, m4.10xlarge.search, m5.large.search, m5.xlarge.search, m5.2xlarge.search, m5.4xlarge.search, m5.12xlarge.search, m5.24xlarge.search, r5.large.search, r5.xlarge.search, r5.2xlarge.search, r5.4xlarge.search, r5.12xlarge.search, r5.24xlarge.search, c5.large.search, c5.xlarge.search, c5.2xlarge.search, c5.4xlarge.search, c5.9xlarge.search, c5.18xlarge.search, t3.nano.search, t3.micro.search, t3.small.search, t3.medium.search, t3.large.search, t3.xlarge.search, t3.2xlarge.search, ultrawarm1.medium.search, ultrawarm1.large.search, ultrawarm1.xlarge.search, t2.micro.search, t2.small.search, t2.medium.search, r3.large.search, r3.xlarge.search, r3.2xlarge.search, r3.4xlarge.search, r3.8xlarge.search, i2.xlarge.search, i2.2xlarge.search, d2.xlarge.search, d2.2xlarge.search, d2.4xlarge.search, d2.8xlarge.search, c4.large.search, c4.xlarge.search, c4.2xlarge.search, c4.4xlarge.search, c4.8xlarge.search, r4.large.search, r4.xlarge.search, r4.2xlarge.search, r4.4xlarge.search, r4.8xlarge.search, r4.16xlarge.search, i3.large.search, i3.xlarge.search, i3.2xlarge.search, i3.4xlarge.search, i3.8xlarge.search, i3.16xlarge.search, r6g.large.search, r6g.xlarge.search, r6g.2xlarge.search, r6g.4xlarge.search, r6g.8xlarge.search, r6g.12xlarge.search, m6g.large.search, m6g.xlarge.search, m6g.2xlarge.search, m6g.4xlarge.search, m6g.8xlarge.search, m6g.12xlarge.search, c6g.large.search, c6g.xlarge.search, c6g.2xlarge.search, c6g.4xlarge.search, c6g.8xlarge.search, c6g.12xlarge.search, r6gd.large.search, r6gd.xlarge.search, r6gd.2xlarge.search, r6gd.4xlarge.search, r6gd.8xlarge.search, r6gd.12xlarge.search, r6gd.16xlarge.search, t4g.small.search, t4g.medium.search
        dedicated_master_count: 1,
        warm_enabled: false,
        warm_type: "ultrawarm1.medium.search", # accepts ultrawarm1.medium.search, ultrawarm1.large.search, ultrawarm1.xlarge.search
        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,
        },
      },
      tag_list: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
      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",
          },
        ],
      },
    }

@!attribute [rw] domain_name

The name of the Amazon OpenSearch Service domain you're 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] engine_version

String of format Elasticsearch\_X.Y or OpenSearch\_X.Y to specify
the engine version for the Amazon OpenSearch Service domain. For
example, "OpenSearch\_1.0" or "Elasticsearch\_7.9". For more
information, see [Creating and managing Amazon OpenSearch Service
domains ][1].

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

@!attribute [rw] cluster_config

Configuration options for a domain. Specifies the instance type and
number of instances in the domain.
@return [Types::ClusterConfig]

@!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 a VPC
endpoint. For more information, see [Launching your Amazon
OpenSearch Service domains using a VPC ][1].

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

@!attribute [rw] cognito_options

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

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

@!attribute [rw] encryption_at_rest_options

Options for encryption of data at rest.
@return [Types::EncryptionAtRestOptions]

@!attribute [rw] node_to_node_encryption_options

Node-to-node encryption options.
@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 [Advanced cluster parameters ][1]
for more information.

[1]: http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#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 OpenSearch log.
@return [Hash<String,Types::LogPublishingOption>]

@!attribute [rw] domain_endpoint_options

Options to specify configurations 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] tag_list

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

@!attribute [rw] auto_tune_options

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

@see docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CreateDomainRequest AWS API Documentation

Constants

SENSITIVE