class Aws::DatabaseMigrationService::Types::ModifyEndpointMessage

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

data as a hash:

    {
      endpoint_arn: "String", # required
      endpoint_identifier: "String",
      endpoint_type: "source", # accepts source, target
      engine_name: "String",
      username: "String",
      password: "SecretString",
      server_name: "String",
      port: 1,
      database_name: "String",
      extra_connection_attributes: "String",
      certificate_arn: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      service_access_role_arn: "String",
      external_table_definition: "String",
      dynamo_db_settings: {
        service_access_role_arn: "String", # required
      },
      s3_settings: {
        service_access_role_arn: "String",
        external_table_definition: "String",
        csv_row_delimiter: "String",
        csv_delimiter: "String",
        bucket_folder: "String",
        bucket_name: "String",
        compression_type: "none", # accepts none, gzip
        encryption_mode: "sse-s3", # accepts sse-s3, sse-kms
        server_side_encryption_kms_key_id: "String",
        data_format: "csv", # accepts csv, parquet
        encoding_type: "plain", # accepts plain, plain-dictionary, rle-dictionary
        dict_page_size_limit: 1,
        row_group_length: 1,
        data_page_size: 1,
        parquet_version: "parquet-1-0", # accepts parquet-1-0, parquet-2-0
        enable_statistics: false,
        include_op_for_full_load: false,
        cdc_inserts_only: false,
        timestamp_column_name: "String",
        parquet_timestamp_in_millisecond: false,
        cdc_inserts_and_updates: false,
        date_partition_enabled: false,
        date_partition_sequence: "YYYYMMDD", # accepts YYYYMMDD, YYYYMMDDHH, YYYYMM, MMYYYYDD, DDMMYYYY
        date_partition_delimiter: "SLASH", # accepts SLASH, UNDERSCORE, DASH, NONE
        use_csv_no_sup_value: false,
        csv_no_sup_value: "String",
        preserve_transactions: false,
        cdc_path: "String",
        canned_acl_for_objects: "none", # accepts none, private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
        add_column_name: false,
        cdc_max_batch_interval: 1,
        cdc_min_file_size: 1,
        csv_null_value: "String",
        ignore_header_rows: 1,
        max_file_size: 1,
        rfc_4180: false,
      },
      dms_transfer_settings: {
        service_access_role_arn: "String",
        bucket_name: "String",
      },
      mongo_db_settings: {
        username: "String",
        password: "SecretString",
        server_name: "String",
        port: 1,
        database_name: "String",
        auth_type: "no", # accepts no, password
        auth_mechanism: "default", # accepts default, mongodb_cr, scram_sha_1
        nesting_level: "none", # accepts none, one
        extract_doc_id: "String",
        docs_to_investigate: "String",
        auth_source: "String",
        kms_key_id: "String",
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      kinesis_settings: {
        stream_arn: "String",
        message_format: "json", # accepts json, json-unformatted
        service_access_role_arn: "String",
        include_transaction_details: false,
        include_partition_value: false,
        partition_include_schema_table: false,
        include_table_alter_operations: false,
        include_control_details: false,
        include_null_and_empty: false,
        no_hex_prefix: false,
      },
      kafka_settings: {
        broker: "String",
        topic: "String",
        message_format: "json", # accepts json, json-unformatted
        include_transaction_details: false,
        include_partition_value: false,
        partition_include_schema_table: false,
        include_table_alter_operations: false,
        include_control_details: false,
        message_max_bytes: 1,
        include_null_and_empty: false,
        security_protocol: "plaintext", # accepts plaintext, ssl-authentication, ssl-encryption, sasl-ssl
        ssl_client_certificate_arn: "String",
        ssl_client_key_arn: "String",
        ssl_client_key_password: "SecretString",
        ssl_ca_certificate_arn: "String",
        sasl_username: "String",
        sasl_password: "SecretString",
        no_hex_prefix: false,
      },
      elasticsearch_settings: {
        service_access_role_arn: "String", # required
        endpoint_uri: "String", # required
        full_load_error_percentage: 1,
        error_retry_duration: 1,
      },
      neptune_settings: {
        service_access_role_arn: "String",
        s3_bucket_name: "String", # required
        s3_bucket_folder: "String", # required
        error_retry_duration: 1,
        max_file_size: 1,
        max_retry_count: 1,
        iam_auth_enabled: false,
      },
      redshift_settings: {
        accept_any_date: false,
        after_connect_script: "String",
        bucket_folder: "String",
        bucket_name: "String",
        case_sensitive_names: false,
        comp_update: false,
        connection_timeout: 1,
        database_name: "String",
        date_format: "String",
        empty_as_null: false,
        encryption_mode: "sse-s3", # accepts sse-s3, sse-kms
        explicit_ids: false,
        file_transfer_upload_streams: 1,
        load_timeout: 1,
        max_file_size: 1,
        password: "SecretString",
        port: 1,
        remove_quotes: false,
        replace_invalid_chars: "String",
        replace_chars: "String",
        server_name: "String",
        service_access_role_arn: "String",
        server_side_encryption_kms_key_id: "String",
        time_format: "String",
        trim_blanks: false,
        truncate_columns: false,
        username: "String",
        write_buffer_size: 1,
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      postgre_sql_settings: {
        after_connect_script: "String",
        capture_ddls: false,
        max_file_size: 1,
        database_name: "String",
        ddl_artifacts_schema: "String",
        execute_timeout: 1,
        fail_tasks_on_lob_truncation: false,
        heartbeat_enable: false,
        heartbeat_schema: "String",
        heartbeat_frequency: 1,
        password: "SecretString",
        port: 1,
        server_name: "String",
        username: "String",
        slot_name: "String",
        plugin_name: "no-preference", # accepts no-preference, test-decoding, pglogical
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      my_sql_settings: {
        after_connect_script: "String",
        clean_source_metadata_on_mismatch: false,
        database_name: "String",
        events_poll_interval: 1,
        target_db_type: "specific-database", # accepts specific-database, multiple-databases
        max_file_size: 1,
        parallel_load_threads: 1,
        password: "SecretString",
        port: 1,
        server_name: "String",
        server_timezone: "String",
        username: "String",
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      oracle_settings: {
        add_supplemental_logging: false,
        archived_log_dest_id: 1,
        additional_archived_log_dest_id: 1,
        extra_archived_log_dest_ids: [1],
        allow_select_nested_tables: false,
        parallel_asm_read_threads: 1,
        read_ahead_blocks: 1,
        access_alternate_directly: false,
        use_alternate_folder_for_online: false,
        oracle_path_prefix: "String",
        use_path_prefix: "String",
        replace_path_prefix: false,
        enable_homogenous_tablespace: false,
        direct_path_no_log: false,
        archived_logs_only: false,
        asm_password: "SecretString",
        asm_server: "String",
        asm_user: "String",
        char_length_semantics: "default", # accepts default, char, byte
        database_name: "String",
        direct_path_parallel_load: false,
        fail_tasks_on_lob_truncation: false,
        number_datatype_scale: 1,
        password: "SecretString",
        port: 1,
        read_table_space_name: false,
        retry_interval: 1,
        security_db_encryption: "SecretString",
        security_db_encryption_name: "String",
        server_name: "String",
        spatial_data_option_to_geo_json_function_name: "String",
        standby_delay_time: 1,
        username: "String",
        use_b_file: false,
        use_direct_path_full_load: false,
        use_logminer_reader: false,
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
        secrets_manager_oracle_asm_access_role_arn: "String",
        secrets_manager_oracle_asm_secret_id: "String",
      },
      sybase_settings: {
        database_name: "String",
        password: "SecretString",
        port: 1,
        server_name: "String",
        username: "String",
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      microsoft_sql_server_settings: {
        port: 1,
        bcp_packet_size: 1,
        database_name: "String",
        control_tables_file_group: "String",
        password: "SecretString",
        query_single_always_on_node: false,
        read_backup_only: false,
        safeguard_policy: "rely-on-sql-server-replication-agent", # accepts rely-on-sql-server-replication-agent, exclusive-automatic-truncation, shared-automatic-truncation
        server_name: "String",
        username: "String",
        use_bcp_full_load: false,
        use_third_party_backup_device: false,
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      ibm_db_2_settings: {
        database_name: "String",
        password: "SecretString",
        port: 1,
        server_name: "String",
        set_data_capture_changes: false,
        current_lsn: "String",
        max_k_bytes_per_read: 1,
        username: "String",
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      doc_db_settings: {
        username: "String",
        password: "SecretString",
        server_name: "String",
        port: 1,
        database_name: "String",
        nesting_level: "none", # accepts none, one
        extract_doc_id: false,
        docs_to_investigate: 1,
        kms_key_id: "String",
        secrets_manager_access_role_arn: "String",
        secrets_manager_secret_id: "String",
      },
      redis_settings: {
        server_name: "String", # required
        port: 1, # required
        ssl_security_protocol: "plaintext", # accepts plaintext, ssl-encryption
        auth_type: "none", # accepts none, auth-role, auth-token
        auth_user_name: "String",
        auth_password: "SecretString",
        ssl_ca_certificate_arn: "String",
      },
      exact_settings: false,
    }

@!attribute [rw] endpoint_arn

The Amazon Resource Name (ARN) string that uniquely identifies the
endpoint.
@return [String]

@!attribute [rw] endpoint_identifier

The database endpoint identifier. Identifiers must begin with a
letter and must contain only ASCII letters, digits, and hyphens.
They can't end with a hyphen or contain two consecutive hyphens.
@return [String]

@!attribute [rw] endpoint_type

The type of endpoint. Valid values are `source` and `target`.
@return [String]

@!attribute [rw] engine_name

The type of engine for the endpoint. Valid values, depending on the
EndpointType, include `"mysql"`, `"oracle"`, `"postgres"`,
`"mariadb"`, `"aurora"`, `"aurora-postgresql"`, `"redshift"`,
`"s3"`, `"db2"`, `"azuredb"`, `"sybase"`, `"dynamodb"`, `"mongodb"`,
`"kinesis"`, `"kafka"`, `"elasticsearch"`, `"documentdb"`,
`"sqlserver"`, and `"neptune"`.
@return [String]

@!attribute [rw] username

The user name to be used to login to the endpoint database.
@return [String]

@!attribute [rw] password

The password to be used to login to the endpoint database.
@return [String]

@!attribute [rw] server_name

The name of the server where the endpoint database resides.
@return [String]

@!attribute [rw] port

The port used by the endpoint database.
@return [Integer]

@!attribute [rw] database_name

The name of the endpoint database. For a MySQL source or target
endpoint, do not specify DatabaseName.
@return [String]

@!attribute [rw] extra_connection_attributes

Additional attributes associated with the connection. To reset this
parameter, pass the empty string ("") as an argument.
@return [String]

@!attribute [rw] certificate_arn

The Amazon Resource Name (ARN) of the certificate used for SSL
connection.
@return [String]

@!attribute [rw] ssl_mode

The SSL mode used to connect to the endpoint. The default value is
`none`.
@return [String]

@!attribute [rw] service_access_role_arn

The Amazon Resource Name (ARN) for the IAM role you want to use to
modify the endpoint. The role must allow the `iam:PassRole` action.
@return [String]

@!attribute [rw] external_table_definition

The external table definition.
@return [String]

@!attribute [rw] dynamo_db_settings

Settings in JSON format for the target Amazon DynamoDB endpoint. For
information about other available settings, see [Using Object
Mapping to Migrate Data to DynamoDB][1] in the *Database Migration
Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping
@return [Types::DynamoDbSettings]

@!attribute [rw] s3_settings

Settings in JSON format for the target Amazon S3 endpoint. For more
information about the available settings, see [Extra Connection
Attributes When Using Amazon S3 as a Target for DMS][1] in the
*Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring
@return [Types::S3Settings]

@!attribute [rw] dms_transfer_settings

The settings in JSON format for the DMS transfer type of source
endpoint.

Attributes include the following:

* serviceAccessRoleArn - The Identity and Access Management (IAM)
  role that has permission to access the Amazon S3 bucket. The role
  must allow the `iam:PassRole` action.

* BucketName - The name of the S3 bucket to use.

Shorthand syntax for these settings is as follows:
`ServiceAccessRoleArn=string ,BucketName=string`

JSON syntax for these settings is as follows: `\{
"ServiceAccessRoleArn": "string", "BucketName": "string"\} `
@return [Types::DmsTransferSettings]

@!attribute [rw] mongo_db_settings

Settings in JSON format for the source MongoDB endpoint. For more
information about the available settings, see the configuration
properties section in [Endpoint configuration settings when using
MongoDB as a source for Database Migration Service][1] in the
*Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration
@return [Types::MongoDbSettings]

@!attribute [rw] kinesis_settings

Settings in JSON format for the target endpoint for Amazon Kinesis
Data Streams. For more information about the available settings, see
[Using object mapping to migrate data to a Kinesis data stream][1]
in the *Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping
@return [Types::KinesisSettings]

@!attribute [rw] kafka_settings

Settings in JSON format for the target Apache Kafka endpoint. For
more information about the available settings, see [Using object
mapping to migrate data to a Kafka topic][1] in the *Database
Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping
@return [Types::KafkaSettings]

@!attribute [rw] elasticsearch_settings

Settings in JSON format for the target Elasticsearch endpoint. For
more information about the available settings, see [Extra Connection
Attributes When Using Elasticsearch as a Target for DMS][1] in the
*Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration
@return [Types::ElasticsearchSettings]

@!attribute [rw] neptune_settings

Settings in JSON format for the target Amazon Neptune endpoint. For
more information about the available settings, see [Specifying
graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a
target][1] in the *Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings
@return [Types::NeptuneSettings]

@!attribute [rw] redshift_settings

Provides information that defines an Amazon Redshift endpoint.
@return [Types::RedshiftSettings]

@!attribute [rw] postgre_sql_settings

Settings in JSON format for the source and target PostgreSQL
endpoint. For information about other available settings, see [Extra
connection attributes when using PostgreSQL as a source for DMS][1]
and [ Extra connection attributes when using PostgreSQL as a target
for DMS][2] in the *Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib
[2]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib
@return [Types::PostgreSQLSettings]

@!attribute [rw] my_sql_settings

Settings in JSON format for the source and target MySQL endpoint.
For information about other available settings, see [Extra
connection attributes when using MySQL as a source for DMS][1] and
[Extra connection attributes when using a MySQL-compatible database
as a target for DMS][2] in the *Database Migration Service User
Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib
[2]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib
@return [Types::MySQLSettings]

@!attribute [rw] oracle_settings

Settings in JSON format for the source and target Oracle endpoint.
For information about other available settings, see [Extra
connection attributes when using Oracle as a source for DMS][1] and
[ Extra connection attributes when using Oracle as a target for
DMS][2] in the *Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib
[2]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib
@return [Types::OracleSettings]

@!attribute [rw] sybase_settings

Settings in JSON format for the source and target SAP ASE endpoint.
For information about other available settings, see [Extra
connection attributes when using SAP ASE as a source for DMS][1] and
[Extra connection attributes when using SAP ASE as a target for
DMS][2] in the *Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib
[2]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib
@return [Types::SybaseSettings]

@!attribute [rw] microsoft_sql_server_settings

Settings in JSON format for the source and target Microsoft SQL
Server endpoint. For information about other available settings, see
[Extra connection attributes when using SQL Server as a source for
DMS][1] and [ Extra connection attributes when using SQL Server as a
target for DMS][2] in the *Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib
[2]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib
@return [Types::MicrosoftSQLServerSettings]

@!attribute [rw] ibm_db_2_settings

Settings in JSON format for the source IBM Db2 LUW endpoint. For
information about other available settings, see [Extra connection
attributes when using Db2 LUW as a source for DMS][1] in the
*Database Migration Service User Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib
@return [Types::IBMDb2Settings]

@!attribute [rw] doc_db_settings

Settings in JSON format for the source DocumentDB endpoint. For more
information about the available settings, see the configuration
properties section in [ Using DocumentDB as a Target for Database
Migration Service ][1] in the *Database Migration Service User
Guide.*

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html
@return [Types::DocDbSettings]

@!attribute [rw] redis_settings

Settings in JSON format for the Redis target endpoint.
@return [Types::RedisSettings]

@!attribute [rw] exact_settings

If this attribute is Y, the current call to `ModifyEndpoint`
replaces all existing endpoint settings with the exact settings that
you specify in this call. If this attribute is N, the current call
to `ModifyEndpoint` does two things:

* It replaces any endpoint settings that already exist with new
  values, for settings with the same names.

* It creates new endpoint settings that you specify in the call, for
  settings with different names.

For example, if you call `create-endpoint ... --endpoint-settings
'\{"a":1\}' ...`, the endpoint has the following endpoint settings:
`'\{"a":1\}'`. If you then call `modify-endpoint ...
--endpoint-settings '\{"b":2\}' ...` for the same endpoint, the
endpoint has the following settings: `'\{"a":1,"b":2\}'`.

However, suppose that you follow this with a call to
`modify-endpoint ... --endpoint-settings '\{"b":2\}'
--exact-settings ...` for that same endpoint again. Then the
endpoint has the following settings: `'\{"b":2\}'`. All existing
settings are replaced with the exact settings that you specify.
@return [Boolean]

@see docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEndpointMessage AWS API Documentation

Constants

SENSITIVE