class Aws::ElasticsearchService::Types::UpdateElasticsearchDomainConfigRequest

Container for the parameters to the `UpdateElasticsearchDomain` operation. Specifies the type and number of instances in the domain cluster.

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

data as a hash:

    {
      domain_name: "DomainName", # required
      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,
      },
      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",
      },
      advanced_options: {
        "String" => "String",
      },
      access_policies: "PolicyDocument",
      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,
        },
      },
      node_to_node_encryption_options: {
        enabled: false,
      },
      encryption_at_rest_options: {
        enabled: false,
        kms_key_id: "KmsKeyId",
      },
      auto_tune_options: {
        desired_state: "ENABLED", # accepts ENABLED, DISABLED
        rollback_on_disable: "NO_ROLLBACK", # accepts NO_ROLLBACK, DEFAULT_ROLLBACK
        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 Elasticsearch domain that you are updating.
@return [String]

@!attribute [rw] elasticsearch_cluster_config

The type and number of instances to instantiate for the domain
cluster.
@return [Types::ElasticsearchClusterConfig]

@!attribute [rw] ebs_options

Specify the type and size of the EBS volume that you want to use.
@return [Types::EBSOptions]

@!attribute [rw] snapshot_options

Option to set the time, in UTC format, for 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] advanced_options

Modifies the advanced 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] access_policies

IAM access policy as a JSON-formatted string.
@return [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] node_to_node_encryption_options

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

@!attribute [rw] encryption_at_rest_options

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

@!attribute [rw] auto_tune_options

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

Constants

SENSITIVE