NAME

Paws::ES::UpdateElasticsearchDomainConfig - Arguments for method UpdateElasticsearchDomainConfig on Paws::ES

DESCRIPTION

This class represents the parameters used for calling the method UpdateElasticsearchDomainConfig on the Amazon Elasticsearch Service service. Use the attributes of this class as arguments to method UpdateElasticsearchDomainConfig.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to UpdateElasticsearchDomainConfig.

SYNOPSIS

my $es = Paws->service('ES');
my $UpdateElasticsearchDomainConfigResponse =
  $es->UpdateElasticsearchDomainConfig(
  DomainName              => 'MyDomainName',
  AccessPolicies          => 'MyPolicyDocument',               # OPTIONAL
  AdvancedOptions         => { 'MyString' => 'MyString', },    # OPTIONAL
  AdvancedSecurityOptions => {
    Enabled                     => 1,                          # OPTIONAL
    InternalUserDatabaseEnabled => 1,                          # OPTIONAL
    MasterUserOptions           => {
      MasterUserARN      => 'MyARN',         # OPTIONAL
      MasterUserName     => 'MyUsername',    # min: 1; OPTIONAL
      MasterUserPassword => 'MyPassword',    # min: 8; OPTIONAL
    },    # OPTIONAL
    SAMLOptions => {
      Enabled => 1,    # OPTIONAL
      Idp     => {
        EntityId        => 'MySAMLEntityId',    # min: 8, max: 512
        MetadataContent => 'MySAMLMetadata',    # min: 1, max: 1048576

      },    # OPTIONAL
      MasterBackendRole     => 'MyBackendRole', # min: 1, max: 256; OPTIONAL
      MasterUserName        => 'MyUsername',    # min: 1; OPTIONAL
      RolesKey              => 'MyString',
      SessionTimeoutMinutes => 1,               # OPTIONAL
      SubjectKey            => 'MyString',
    },    # OPTIONAL
  },    # OPTIONAL
  AutoTuneOptions => {
    DesiredState         => 'ENABLED', # values: ENABLED, DISABLED; OPTIONAL
    MaintenanceSchedules => [
      {
        CronExpressionForRecurrence => 'MyString',
        Duration                    => {
          Unit  => 'HOURS',    # values: HOURS; OPTIONAL
          Value => 1,          # min: 1, max: 24; OPTIONAL
        },    # OPTIONAL
        StartAt => '1970-01-01T01:00:00',    # OPTIONAL
      },
      ...
    ],    # max: 100; OPTIONAL
    RollbackOnDisable =>
      'NO_ROLLBACK',    # values: NO_ROLLBACK, DEFAULT_ROLLBACK; OPTIONAL
  },    # OPTIONAL
  CognitoOptions => {
    Enabled        => 1,                     # OPTIONAL
    IdentityPoolId => 'MyIdentityPoolId',    # min: 1, max: 55; OPTIONAL
    RoleArn        => 'MyRoleArn',           # min: 20, max: 2048; OPTIONAL
    UserPoolId     => 'MyUserPoolId',        # min: 1, max: 55; OPTIONAL
  },    # OPTIONAL
  DomainEndpointOptions => {
    CustomEndpoint => 'MyDomainNameFqdn',    # min: 1, max: 255; OPTIONAL
    CustomEndpointCertificateArn => 'MyARN',                      # OPTIONAL
    CustomEndpointEnabled        => 1,                            # OPTIONAL
    EnforceHTTPS                 => 1,                            # OPTIONAL
    TLSSecurityPolicy            => 'Policy-Min-TLS-1-0-2019-07'
    , # values: Policy-Min-TLS-1-0-2019-07, Policy-Min-TLS-1-2-2019-07; OPTIONAL
  },    # OPTIONAL
  EBSOptions => {
    EBSEnabled => 1,             # OPTIONAL
    Iops       => 1,             # OPTIONAL
    VolumeSize => 1,             # OPTIONAL
    VolumeType => 'standard',    # values: standard, gp2, io1; OPTIONAL
  },    # OPTIONAL
  ElasticsearchClusterConfig => {
    ColdStorageOptions => {
      Enabled => 1,    # OPTIONAL

    },    # OPTIONAL
    DedicatedMasterCount   => 1,                          # OPTIONAL
    DedicatedMasterEnabled => 1,                          # OPTIONAL
    DedicatedMasterType    => 'm3.medium.elasticsearch'
    , # values: 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; OPTIONAL
    InstanceCount => 1,                          # OPTIONAL
    InstanceType  => 'm3.medium.elasticsearch'
    , # values: 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; OPTIONAL
    WarmCount   => 1,                                  # OPTIONAL
    WarmEnabled => 1,                                  # OPTIONAL
    WarmType    => 'ultrawarm1.medium.elasticsearch'
    , # values: ultrawarm1.medium.elasticsearch, ultrawarm1.large.elasticsearch; OPTIONAL
    ZoneAwarenessConfig => {
      AvailabilityZoneCount => 1,    # OPTIONAL
    },    # OPTIONAL
    ZoneAwarenessEnabled => 1,    # OPTIONAL
  },    # OPTIONAL
  EncryptionAtRestOptions => {
    Enabled  => 1,               # OPTIONAL
    KmsKeyId => 'MyKmsKeyId',    # min: 1, max: 500; OPTIONAL
  },    # OPTIONAL
  LogPublishingOptions => {
    'INDEX_SLOW_LOGS' => {
      CloudWatchLogsLogGroupArn => 'MyCloudWatchLogsLogGroupArn', # OPTIONAL
      Enabled                   => 1,                             # OPTIONAL
    }, # key: values: INDEX_SLOW_LOGS, SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS, AUDIT_LOGS
  },    # OPTIONAL
  NodeToNodeEncryptionOptions => {
    Enabled => 1,    # OPTIONAL
  },    # OPTIONAL
  SnapshotOptions => {
    AutomatedSnapshotStartHour => 1,    # OPTIONAL
  },    # OPTIONAL
  VPCOptions => {
    SecurityGroupIds => [ 'MyString', ... ],    # OPTIONAL
    SubnetIds        => [ 'MyString', ... ],    # OPTIONAL
  },    # OPTIONAL
  );

# Results:
my $DomainConfig = $UpdateElasticsearchDomainConfigResponse->DomainConfig;

# Returns a L<Paws::ES::UpdateElasticsearchDomainConfigResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/es/UpdateElasticsearchDomainConfig

ATTRIBUTES

AccessPolicies => Str

IAM access policy as a JSON-formatted string.

AdvancedOptions => Paws::ES::AdvancedOptions

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 (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options) for more information.

AdvancedSecurityOptions => Paws::ES::AdvancedSecurityOptionsInput

Specifies advanced security options.

AutoTuneOptions => Paws::ES::AutoTuneOptions

Specifies Auto-Tune options.

CognitoOptions => Paws::ES::CognitoOptions

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).

DomainEndpointOptions => Paws::ES::DomainEndpointOptions

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

REQUIRED DomainName => Str

The name of the Elasticsearch domain that you are updating.

EBSOptions => Paws::ES::EBSOptions

Specify the type and size of the EBS volume that you want to use.

ElasticsearchClusterConfig => Paws::ES::ElasticsearchClusterConfig

The type and number of instances to instantiate for the domain cluster.

EncryptionAtRestOptions => Paws::ES::EncryptionAtRestOptions

Specifies the Encryption At Rest Options.

LogPublishingOptions => Paws::ES::LogPublishingOptions

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

NodeToNodeEncryptionOptions => Paws::ES::NodeToNodeEncryptionOptions

Specifies the NodeToNodeEncryptionOptions.

SnapshotOptions => Paws::ES::SnapshotOptions

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

VPCOptions => Paws::ES::VPCOptions

Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc) in VPC Endpoints for Amazon Elasticsearch Service Domains

SEE ALSO

This class forms part of Paws, documenting arguments for method UpdateElasticsearchDomainConfig in Paws::ES

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues