You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::DatabaseMigrationService::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for AWS Database Migration Service. To construct a client, you need to configure a :region and :credentials.

databasemigrationservice = Aws::DatabaseMigrationService::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

See #initialize for a full list of supported configuration options.

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::DatabaseMigrationService::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::DatabaseMigrationService::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean)

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean)

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer)

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer)

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer)

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean)

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects. See Plugins::Protocols::JsonRpc for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#add_tags_to_resource(options = {}) ⇒ Struct

Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS.

Examples:

Example: Add tags to resource


# Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with AWS DMS resources, or used in a Condition statement in an IAM policy for AWS DMS.

resp = client.add_tags_to_resource({
  resource_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", # Required. Use the ARN of the resource you want to tag.
  tags: [
    {
      key: "Acount", 
      value: "1633456", 
    }, 
  ], # Required. Use the Key/Value pair format.
})

# resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.add_tags_to_resource({
  resource_arn: "String", # required
  tags: [ # required
    {
      key: "String",
      value: "String",
    },
  ],
})

Options Hash (options):

  • :resource_arn (required, String)

    Identifies the AWS DMS resource to which tags should be added. The value for this parameter is an Amazon Resource Name (ARN).

    For AWS DMS, you can tag a replication instance, an endpoint, or a replication task.

  • :tags (required, Array<Types::Tag>)

    One or more tags to be assigned to the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#apply_pending_maintenance_action(options = {}) ⇒ Types::ApplyPendingMaintenanceActionResponse

Applies a pending maintenance action to a resource (for example, to a replication instance).

Examples:

Request syntax with placeholder values


resp = client.apply_pending_maintenance_action({
  replication_instance_arn: "String", # required
  apply_action: "String", # required
  opt_in_type: "String", # required
})

Response structure


resp.resource_pending_maintenance_actions.resource_identifier #=> String
resp.resource_pending_maintenance_actions.pending_maintenance_action_details #=> Array
resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].action #=> String
resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].auto_applied_after_date #=> Time
resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].forced_apply_date #=> Time
resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].opt_in_status #=> String
resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].current_apply_date #=> Time
resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].description #=> String

Options Hash (options):

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS DMS resource that the pending maintenance action applies to.

  • :apply_action (required, String)

    The pending maintenance action to apply to this resource.

  • :opt_in_type (required, String)

    A value that specifies the type of opt-in request, or undoes an opt-in request. You can\'t undo an opt-in request of type immediate.

    Valid values:

    • immediate - Apply the maintenance action immediately.

    • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

    • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

Returns:

See Also:

#create_endpoint(options = {}) ⇒ Types::CreateEndpointResponse

Creates an endpoint using the provided settings.

Examples:

Example: Create endpoint


# Creates an endpoint using the provided settings.

resp = client.create_endpoint({
  certificate_arn: "", 
  database_name: "testdb", 
  endpoint_identifier: "test-endpoint-1", 
  endpoint_type: "source", 
  engine_name: "mysql", 
  extra_connection_attributes: "", 
  kms_key_id: "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", 
  password: "pasword", 
  port: 3306, 
  server_name: "mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com", 
  ssl_mode: "require", 
  tags: [
    {
      key: "Acount", 
      value: "143327655", 
    }, 
  ], 
  username: "username", 
})

# resp.to_h outputs the following:
{
  endpoint: {
    endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", 
    endpoint_identifier: "test-endpoint-1", 
    endpoint_type: "source", 
    engine_name: "mysql", 
    kms_key_id: "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", 
    port: 3306, 
    server_name: "mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com", 
    status: "active", 
    username: "username", 
  }, 
}

Request syntax with placeholder values


resp = client.create_endpoint({
  endpoint_identifier: "String", # required
  endpoint_type: "source", # required, accepts source, target
  engine_name: "String", # required
  username: "String",
  password: "SecretString",
  server_name: "String",
  port: 1,
  database_name: "String",
  extra_connection_attributes: "String",
  kms_key_id: "String",
  tags: [
    {
      key: "String",
      value: "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",
  },
  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",
  },
  kinesis_settings: {
    stream_arn: "String",
    message_format: "json", # accepts json
    service_access_role_arn: "String",
  },
  elasticsearch_settings: {
    service_access_role_arn: "String", # required
    endpoint_uri: "String", # required
    full_load_error_percentage: 1,
    error_retry_duration: 1,
  },
  redshift_settings: {
    accept_any_date: false,
    after_connect_script: "String",
    bucket_folder: "String",
    bucket_name: "String",
    connection_timeout: 1,
    database_name: "String",
    date_format: "String",
    empty_as_null: false,
    encryption_mode: "sse-s3", # accepts sse-s3, sse-kms
    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,
  },
})

Response structure


resp.endpoint.endpoint_identifier #=> String
resp.endpoint.endpoint_type #=> String, one of "source", "target"
resp.endpoint.engine_name #=> String
resp.endpoint.engine_display_name #=> String
resp.endpoint.username #=> String
resp.endpoint.server_name #=> String
resp.endpoint.port #=> Integer
resp.endpoint.database_name #=> String
resp.endpoint.extra_connection_attributes #=> String
resp.endpoint.status #=> String
resp.endpoint.kms_key_id #=> String
resp.endpoint.endpoint_arn #=> String
resp.endpoint.certificate_arn #=> String
resp.endpoint.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.endpoint.service_access_role_arn #=> String
resp.endpoint.external_table_definition #=> String
resp.endpoint.external_id #=> String
resp.endpoint.dynamo_db_settings.service_access_role_arn #=> String
resp.endpoint.s3_settings.service_access_role_arn #=> String
resp.endpoint.s3_settings.external_table_definition #=> String
resp.endpoint.s3_settings.csv_row_delimiter #=> String
resp.endpoint.s3_settings.csv_delimiter #=> String
resp.endpoint.s3_settings.bucket_folder #=> String
resp.endpoint.s3_settings.bucket_name #=> String
resp.endpoint.s3_settings.compression_type #=> String, one of "none", "gzip"
resp.endpoint.s3_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoint.s3_settings.server_side_encryption_kms_key_id #=> String
resp.endpoint.s3_settings.data_format #=> String, one of "csv", "parquet"
resp.endpoint.s3_settings.encoding_type #=> String, one of "plain", "plain-dictionary", "rle-dictionary"
resp.endpoint.s3_settings.dict_page_size_limit #=> Integer
resp.endpoint.s3_settings.row_group_length #=> Integer
resp.endpoint.s3_settings.data_page_size #=> Integer
resp.endpoint.s3_settings.parquet_version #=> String, one of "parquet-1-0", "parquet-2-0"
resp.endpoint.s3_settings.enable_statistics #=> true/false
resp.endpoint.s3_settings.include_op_for_full_load #=> true/false
resp.endpoint.s3_settings.cdc_inserts_only #=> true/false
resp.endpoint.s3_settings.timestamp_column_name #=> String
resp.endpoint.dms_transfer_settings.service_access_role_arn #=> String
resp.endpoint.dms_transfer_settings.bucket_name #=> String
resp.endpoint.mongo_db_settings.username #=> String
resp.endpoint.mongo_db_settings.password #=> String
resp.endpoint.mongo_db_settings.server_name #=> String
resp.endpoint.mongo_db_settings.port #=> Integer
resp.endpoint.mongo_db_settings.database_name #=> String
resp.endpoint.mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.endpoint.mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"
resp.endpoint.mongo_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoint.mongo_db_settings.extract_doc_id #=> String
resp.endpoint.mongo_db_settings.docs_to_investigate #=> String
resp.endpoint.mongo_db_settings.auth_source #=> String
resp.endpoint.mongo_db_settings.kms_key_id #=> String
resp.endpoint.kinesis_settings.stream_arn #=> String
resp.endpoint.kinesis_settings.message_format #=> String, one of "json"
resp.endpoint.kinesis_settings.service_access_role_arn #=> String
resp.endpoint.elasticsearch_settings.service_access_role_arn #=> String
resp.endpoint.elasticsearch_settings.endpoint_uri #=> String
resp.endpoint.elasticsearch_settings.full_load_error_percentage #=> Integer
resp.endpoint.elasticsearch_settings.error_retry_duration #=> Integer
resp.endpoint.redshift_settings.accept_any_date #=> true/false
resp.endpoint.redshift_settings.after_connect_script #=> String
resp.endpoint.redshift_settings.bucket_folder #=> String
resp.endpoint.redshift_settings.bucket_name #=> String
resp.endpoint.redshift_settings.connection_timeout #=> Integer
resp.endpoint.redshift_settings.database_name #=> String
resp.endpoint.redshift_settings.date_format #=> String
resp.endpoint.redshift_settings.empty_as_null #=> true/false
resp.endpoint.redshift_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoint.redshift_settings.file_transfer_upload_streams #=> Integer
resp.endpoint.redshift_settings.load_timeout #=> Integer
resp.endpoint.redshift_settings.max_file_size #=> Integer
resp.endpoint.redshift_settings.password #=> String
resp.endpoint.redshift_settings.port #=> Integer
resp.endpoint.redshift_settings.remove_quotes #=> true/false
resp.endpoint.redshift_settings.replace_invalid_chars #=> String
resp.endpoint.redshift_settings.replace_chars #=> String
resp.endpoint.redshift_settings.server_name #=> String
resp.endpoint.redshift_settings.service_access_role_arn #=> String
resp.endpoint.redshift_settings.server_side_encryption_kms_key_id #=> String
resp.endpoint.redshift_settings.time_format #=> String
resp.endpoint.redshift_settings.trim_blanks #=> true/false
resp.endpoint.redshift_settings.truncate_columns #=> true/false
resp.endpoint.redshift_settings.username #=> String
resp.endpoint.redshift_settings.write_buffer_size #=> Integer

Options Hash (options):

  • :endpoint_identifier (required, String)

    The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

  • :endpoint_type (required, String)

    The type of endpoint. Valid values are source and target.

  • :engine_name (required, String)

    The type of engine for the endpoint. Valid values, depending on the EndpointType value, include mysql, oracle, postgres, mariadb, aurora, aurora-postgresql, redshift, s3, db2, azuredb, sybase, dynamodb, mongodb, and sqlserver.

  • :username (String)

    The user name to be used to log in to the endpoint database.

  • :password (String)

    The password to be used to log in to the endpoint database.

  • :server_name (String)

    The name of the server where the endpoint database resides.

  • :port (Integer)

    The port used by the endpoint database.

  • :database_name (String)

    The name of the endpoint database.

  • :extra_connection_attributes (String)

    Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see Working with AWS DMS Endpoints in the AWS Database Migration Service User Guide.

  • :kms_key_id (String)

    An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint.

    If you don\'t specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key.

    AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

  • :tags (Array<Types::Tag>)

    One or more tags to be assigned to the endpoint.

  • :certificate_arn (String)

    The Amazon Resource Name (ARN) for the certificate.

  • :ssl_mode (String)

    The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none

  • :service_access_role_arn (String)

    The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint.

  • :external_table_definition (String)

    The external table definition.

  • :dynamo_db_settings (Types::DynamoDbSettings)

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

  • :s3_settings (Types::S3Settings)

    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 AWS DMS in the AWS Database Migration Service User Guide.

  • :dms_transfer_settings (Types::DmsTransferSettings)

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

    Possible attributes include the following:

    • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

    • bucketName - The name of the S3 bucket to use.

    • compressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don\'t use this value.

    Shorthand syntax for these attributes is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string

    JSON syntax for these attributes is as follows: { "ServiceAccessRoleArn": "string", "BucketName": "string", "CompressionType": "none"|"gzip" }

  • :mongo_db_settings (Types::MongoDbSettings)

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

  • :kinesis_settings (Types::KinesisSettings)

    Settings in JSON format for the target Amazon Kinesis Data Streams endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide.

  • :elasticsearch_settings (Types::ElasticsearchSettings)

    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 AWS DMS in the AWS Database Migration User Guide.

  • :redshift_settings (Types::RedshiftSettings)

Returns:

See Also:

#create_event_subscription(options = {}) ⇒ Types::CreateEventSubscriptionResponse

Creates an AWS DMS event notification subscription.

You can specify the type of source (SourceType) you want to be notified of, provide a list of AWS DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all AWS DMS sources belonging to your customer account.

For more information about AWS DMS events, see Working with Events and Notifications in the AWS Database Migration Service User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_event_subscription({
  subscription_name: "String", # required
  sns_topic_arn: "String", # required
  source_type: "String",
  event_categories: ["String"],
  source_ids: ["String"],
  enabled: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Response structure


resp.event_subscription.customer_aws_id #=> String
resp.event_subscription.cust_subscription_id #=> String
resp.event_subscription.sns_topic_arn #=> String
resp.event_subscription.status #=> String
resp.event_subscription.subscription_creation_time #=> String
resp.event_subscription.source_type #=> String
resp.event_subscription.source_ids_list #=> Array
resp.event_subscription.source_ids_list[0] #=> String
resp.event_subscription.event_categories_list #=> Array
resp.event_subscription.event_categories_list[0] #=> String
resp.event_subscription.enabled #=> true/false

Options Hash (options):

  • :subscription_name (required, String)

    The name of the AWS DMS event notification subscription. This name must be less than 255 characters.

  • :sns_topic_arn (required, String)

    The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

  • :source_type (String)

    The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to replication-instance. If this value is not specified, all events are returned.

    Valid values: replication-instance | replication-task

  • :event_categories (Array<String>)

    A list of event categories for a source type that you want to subscribe to. For more information, see Working with Events and Notifications in the AWS Database Migration Service User Guide.

  • :source_ids (Array<String>)

    A list of identifiers for which AWS DMS provides notification events.

    If you don\'t specify a value, notifications are provided for all sources.

    If you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.

  • :enabled (Boolean)

    A Boolean value; set to true to activate the subscription, or set to false to create the subscription but not activate it.

  • :tags (Array<Types::Tag>)

    One or more tags to be assigned to the event subscription.

Returns:

See Also:

#create_replication_instance(options = {}) ⇒ Types::CreateReplicationInstanceResponse

Creates the replication instance using the specified parameters.

Examples:

Example: Create replication instance


# Creates the replication instance using the specified parameters.

resp = client.create_replication_instance({
  allocated_storage: 123, 
  auto_minor_version_upgrade: true, 
  availability_zone: "", 
  engine_version: "", 
  kms_key_id: "", 
  multi_az: true, 
  preferred_maintenance_window: "", 
  publicly_accessible: true, 
  replication_instance_class: "", 
  replication_instance_identifier: "", 
  replication_subnet_group_identifier: "", 
  tags: [
    {
      key: "string", 
      value: "string", 
    }, 
  ], 
  vpc_security_group_ids: [
  ], 
})

# resp.to_h outputs the following:
{
  replication_instance: {
    allocated_storage: 5, 
    auto_minor_version_upgrade: true, 
    engine_version: "1.5.0", 
    kms_key_id: "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", 
    pending_modified_values: {
    }, 
    preferred_maintenance_window: "sun:06:00-sun:14:00", 
    publicly_accessible: true, 
    replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
    replication_instance_class: "dms.t2.micro", 
    replication_instance_identifier: "test-rep-1", 
    replication_instance_status: "creating", 
    replication_subnet_group: {
      replication_subnet_group_description: "default", 
      replication_subnet_group_identifier: "default", 
      subnet_group_status: "Complete", 
      subnets: [
        {
          subnet_availability_zone: {
            name: "us-east-1d", 
          }, 
          subnet_identifier: "subnet-f6dd91af", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1b", 
          }, 
          subnet_identifier: "subnet-3605751d", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1c", 
          }, 
          subnet_identifier: "subnet-c2daefb5", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1e", 
          }, 
          subnet_identifier: "subnet-85e90cb8", 
          subnet_status: "Active", 
        }, 
      ], 
      vpc_id: "vpc-6741a603", 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.create_replication_instance({
  replication_instance_identifier: "String", # required
  allocated_storage: 1,
  replication_instance_class: "String", # required
  vpc_security_group_ids: ["String"],
  availability_zone: "String",
  replication_subnet_group_identifier: "String",
  preferred_maintenance_window: "String",
  multi_az: false,
  engine_version: "String",
  auto_minor_version_upgrade: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  kms_key_id: "String",
  publicly_accessible: false,
  dns_name_servers: "String",
})

Response structure


resp.replication_instance.replication_instance_identifier #=> String
resp.replication_instance.replication_instance_class #=> String
resp.replication_instance.replication_instance_status #=> String
resp.replication_instance.allocated_storage #=> Integer
resp.replication_instance.instance_create_time #=> Time
resp.replication_instance.vpc_security_groups #=> Array
resp.replication_instance.vpc_security_groups[0].vpc_security_group_id #=> String
resp.replication_instance.vpc_security_groups[0].status #=> String
resp.replication_instance.availability_zone #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_identifier #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_description #=> String
resp.replication_instance.replication_subnet_group.vpc_id #=> String
resp.replication_instance.replication_subnet_group.subnet_group_status #=> String
resp.replication_instance.replication_subnet_group.subnets #=> Array
resp.replication_instance.replication_subnet_group.subnets[0].subnet_identifier #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_availability_zone.name #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_status #=> String
resp.replication_instance.preferred_maintenance_window #=> String
resp.replication_instance.pending_modified_values.replication_instance_class #=> String
resp.replication_instance.pending_modified_values.allocated_storage #=> Integer
resp.replication_instance.pending_modified_values.multi_az #=> true/false
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> true/false
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> true/false
resp.replication_instance.kms_key_id #=> String
resp.replication_instance.replication_instance_arn #=> String
resp.replication_instance.replication_instance_public_ip_address #=> String
resp.replication_instance.replication_instance_private_ip_address #=> String
resp.replication_instance.replication_instance_public_ip_addresses #=> Array
resp.replication_instance.replication_instance_public_ip_addresses[0] #=> String
resp.replication_instance.replication_instance_private_ip_addresses #=> Array
resp.replication_instance.replication_instance_private_ip_addresses[0] #=> String
resp.replication_instance.publicly_accessible #=> true/false
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Options Hash (options):

  • :replication_instance_identifier (required, String)

    The replication instance identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: myrepinstance

  • :allocated_storage (Integer)

    The amount of storage (in gigabytes) to be initially allocated for the replication instance.

  • :replication_instance_class (required, String)

    The compute and memory capacity of the replication instance as specified by the replication instance class.

    Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge

  • :vpc_security_group_ids (Array<String>)

    Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.

  • :availability_zone (String)

    The AWS Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint\'s AWS Region, for example: us-east-1d

  • :replication_subnet_group_identifier (String)

    A subnet group to associate with the replication instance.

  • :preferred_maintenance_window (String)

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

    Constraints: Minimum 30-minute window.

  • :multi_az (Boolean)

    Specifies whether the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

  • :engine_version (String)

    The engine version number of the replication instance.

  • :auto_minor_version_upgrade (Boolean)

    Indicates whether minor engine upgrades will be applied automatically to the replication instance during the maintenance window. This parameter defaults to true.

    Default: true

  • :tags (Array<Types::Tag>)

    One or more tags to be assigned to the replication instance.

  • :kms_key_id (String)

    An AWS KMS key identifier that is used to encrypt the data on the replication instance.

    If you don\'t specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key.

    AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

  • :publicly_accessible (Boolean)

    Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.

  • :dns_name_servers (String)

    A list of DNS name servers supported for the replication instance.

Returns:

See Also:

#create_replication_subnet_group(options = {}) ⇒ Types::CreateReplicationSubnetGroupResponse

Creates a replication subnet group given a list of the subnet IDs in a VPC.

Examples:

Example: Create replication subnet group


# Creates a replication subnet group given a list of the subnet IDs in a VPC.

resp = client.create_replication_subnet_group({
  replication_subnet_group_description: "US West subnet group", 
  replication_subnet_group_identifier: "us-west-2ab-vpc-215ds366", 
  subnet_ids: [
    "subnet-e145356n", 
    "subnet-58f79200", 
  ], 
  tags: [
    {
      key: "Acount", 
      value: "145235", 
    }, 
  ], 
})

# resp.to_h outputs the following:
{
  replication_subnet_group: {
  }, 
}

Request syntax with placeholder values


resp = client.create_replication_subnet_group({
  replication_subnet_group_identifier: "String", # required
  replication_subnet_group_description: "String", # required
  subnet_ids: ["String"], # required
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Response structure


resp.replication_subnet_group.replication_subnet_group_identifier #=> String
resp.replication_subnet_group.replication_subnet_group_description #=> String
resp.replication_subnet_group.vpc_id #=> String
resp.replication_subnet_group.subnet_group_status #=> String
resp.replication_subnet_group.subnets #=> Array
resp.replication_subnet_group.subnets[0].subnet_identifier #=> String
resp.replication_subnet_group.subnets[0].subnet_availability_zone.name #=> String
resp.replication_subnet_group.subnets[0].subnet_status #=> String

Options Hash (options):

  • :replication_subnet_group_identifier (required, String)

    The name for the replication subnet group. This value is stored as a lowercase string.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. Must not be \"default\".

    Example: mySubnetgroup

  • :replication_subnet_group_description (required, String)

    The description for the subnet group.

  • :subnet_ids (required, Array<String>)

    One or more subnet IDs to be assigned to the subnet group.

  • :tags (Array<Types::Tag>)

    One or more tags to be assigned to the subnet group.

Returns:

See Also:

#create_replication_task(options = {}) ⇒ Types::CreateReplicationTaskResponse

Creates a replication task using the specified parameters.

Examples:

Example: Create replication task


# Creates a replication task using the specified parameters.

resp = client.create_replication_task({
  cdc_start_time: Time.parse("2016-12-14T18:25:43Z"), 
  migration_type: "full-load", 
  replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
  replication_task_identifier: "task1", 
  replication_task_settings: "", 
  source_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", 
  table_mappings: "file://mappingfile.json", 
  tags: [
    {
      key: "Acount", 
      value: "24352226", 
    }, 
  ], 
  target_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", 
})

# resp.to_h outputs the following:
{
  replication_task: {
    migration_type: "full-load", 
    replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
    replication_task_arn: "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", 
    replication_task_creation_date: Time.parse("2016-12-14T18:25:43Z"), 
    replication_task_identifier: "task1", 
    replication_task_settings: "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", 
    source_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", 
    status: "creating", 
    table_mappings: "file://mappingfile.json", 
    target_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", 
  }, 
}

Request syntax with placeholder values


resp = client.create_replication_task({
  replication_task_identifier: "String", # required
  source_endpoint_arn: "String", # required
  target_endpoint_arn: "String", # required
  replication_instance_arn: "String", # required
  migration_type: "full-load", # required, accepts full-load, cdc, full-load-and-cdc
  table_mappings: "String", # required
  replication_task_settings: "String",
  cdc_start_time: Time.now,
  cdc_start_position: "String",
  cdc_stop_position: "String",
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Response structure


resp.replication_task.replication_task_identifier #=> String
resp.replication_task.source_endpoint_arn #=> String
resp.replication_task.target_endpoint_arn #=> String
resp.replication_task.replication_instance_arn #=> String
resp.replication_task.migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_task.table_mappings #=> String
resp.replication_task.replication_task_settings #=> String
resp.replication_task.status #=> String
resp.replication_task.last_failure_message #=> String
resp.replication_task.stop_reason #=> String
resp.replication_task.replication_task_creation_date #=> Time
resp.replication_task.replication_task_start_date #=> Time
resp.replication_task.cdc_start_position #=> String
resp.replication_task.cdc_stop_position #=> String
resp.replication_task.recovery_checkpoint #=> String
resp.replication_task.replication_task_arn #=> String
resp.replication_task.replication_task_stats.full_load_progress_percent #=> Integer
resp.replication_task.replication_task_stats.elapsed_time_millis #=> Integer
resp.replication_task.replication_task_stats.tables_loaded #=> Integer
resp.replication_task.replication_task_stats.tables_loading #=> Integer
resp.replication_task.replication_task_stats.tables_queued #=> Integer
resp.replication_task.replication_task_stats.tables_errored #=> Integer

Options Hash (options):

  • :replication_task_identifier (required, String)

    An identifier for the replication task.

    Constraints:

    • Must contain from 1 to 255 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

  • :source_endpoint_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.

  • :target_endpoint_arn (required, String)

    An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of a replication instance.

  • :migration_type (required, String)

    The migration type. Valid values: full-load | cdc | full-load-and-cdc

  • :table_mappings (required, String)

    The table mappings for the task, in JSON format. For more information, see Table Mapping in the AWS Database Migration User Guide.

  • :replication_task_settings (String)

    Overall settings for the task, in JSON format. For more information, see Task Settings in the AWS Database Migration User Guide.

  • :cdc_start_time (Time)

    Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

    Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

  • :cdc_start_position (String)

    Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

    The value can be in date, checkpoint, or LSN/SCN format.

    Date Example: --cdc-start-position “2018-03-08T12:12:12”

    Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

  • :cdc_stop_position (String)

    Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

    Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

    Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

  • :tags (Array<Types::Tag>)

    One or more tags to be assigned to the replication task.

Returns:

See Also:

#delete_certificate(options = {}) ⇒ Types::DeleteCertificateResponse

Deletes the specified certificate.

Examples:

Example: Delete Certificate


# Deletes the specified certificate.

resp = client.delete_certificate({
  certificate_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUSM457DE6XFJCJQ", 
})

# resp.to_h outputs the following:
{
  certificate: {
  }, 
}

Request syntax with placeholder values


resp = client.delete_certificate({
  certificate_arn: "String", # required
})

Response structure


resp.certificate.certificate_identifier #=> String
resp.certificate.certificate_creation_date #=> Time
resp.certificate.certificate_pem #=> String
resp.certificate.certificate_wallet #=> IO
resp.certificate.certificate_arn #=> String
resp.certificate.certificate_owner #=> String
resp.certificate.valid_from_date #=> Time
resp.certificate.valid_to_date #=> Time
resp.certificate.signing_algorithm #=> String
resp.certificate.key_length #=> Integer

Options Hash (options):

  • :certificate_arn (required, String)

    The Amazon Resource Name (ARN) of the deleted certificate.

Returns:

See Also:

#delete_endpoint(options = {}) ⇒ Types::DeleteEndpointResponse

Deletes the specified endpoint.

All tasks associated with the endpoint must be deleted before you can delete the endpoint.

Examples:

Example: Delete Endpoint


# Deletes the specified endpoint. All tasks associated with the endpoint must be deleted before you can delete the endpoint.

resp = client.delete_endpoint({
  endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", 
})

# resp.to_h outputs the following:
{
  endpoint: {
    endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", 
    endpoint_identifier: "test-endpoint-1", 
    endpoint_type: "source", 
    engine_name: "mysql", 
    kms_key_id: "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", 
    port: 3306, 
    server_name: "mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com", 
    status: "active", 
    username: "username", 
  }, 
}

Request syntax with placeholder values


resp = client.delete_endpoint({
  endpoint_arn: "String", # required
})

Response structure


resp.endpoint.endpoint_identifier #=> String
resp.endpoint.endpoint_type #=> String, one of "source", "target"
resp.endpoint.engine_name #=> String
resp.endpoint.engine_display_name #=> String
resp.endpoint.username #=> String
resp.endpoint.server_name #=> String
resp.endpoint.port #=> Integer
resp.endpoint.database_name #=> String
resp.endpoint.extra_connection_attributes #=> String
resp.endpoint.status #=> String
resp.endpoint.kms_key_id #=> String
resp.endpoint.endpoint_arn #=> String
resp.endpoint.certificate_arn #=> String
resp.endpoint.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.endpoint.service_access_role_arn #=> String
resp.endpoint.external_table_definition #=> String
resp.endpoint.external_id #=> String
resp.endpoint.dynamo_db_settings.service_access_role_arn #=> String
resp.endpoint.s3_settings.service_access_role_arn #=> String
resp.endpoint.s3_settings.external_table_definition #=> String
resp.endpoint.s3_settings.csv_row_delimiter #=> String
resp.endpoint.s3_settings.csv_delimiter #=> String
resp.endpoint.s3_settings.bucket_folder #=> String
resp.endpoint.s3_settings.bucket_name #=> String
resp.endpoint.s3_settings.compression_type #=> String, one of "none", "gzip"
resp.endpoint.s3_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoint.s3_settings.server_side_encryption_kms_key_id #=> String
resp.endpoint.s3_settings.data_format #=> String, one of "csv", "parquet"
resp.endpoint.s3_settings.encoding_type #=> String, one of "plain", "plain-dictionary", "rle-dictionary"
resp.endpoint.s3_settings.dict_page_size_limit #=> Integer
resp.endpoint.s3_settings.row_group_length #=> Integer
resp.endpoint.s3_settings.data_page_size #=> Integer
resp.endpoint.s3_settings.parquet_version #=> String, one of "parquet-1-0", "parquet-2-0"
resp.endpoint.s3_settings.enable_statistics #=> true/false
resp.endpoint.s3_settings.include_op_for_full_load #=> true/false
resp.endpoint.s3_settings.cdc_inserts_only #=> true/false
resp.endpoint.s3_settings.timestamp_column_name #=> String
resp.endpoint.dms_transfer_settings.service_access_role_arn #=> String
resp.endpoint.dms_transfer_settings.bucket_name #=> String
resp.endpoint.mongo_db_settings.username #=> String
resp.endpoint.mongo_db_settings.password #=> String
resp.endpoint.mongo_db_settings.server_name #=> String
resp.endpoint.mongo_db_settings.port #=> Integer
resp.endpoint.mongo_db_settings.database_name #=> String
resp.endpoint.mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.endpoint.mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"
resp.endpoint.mongo_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoint.mongo_db_settings.extract_doc_id #=> String
resp.endpoint.mongo_db_settings.docs_to_investigate #=> String
resp.endpoint.mongo_db_settings.auth_source #=> String
resp.endpoint.mongo_db_settings.kms_key_id #=> String
resp.endpoint.kinesis_settings.stream_arn #=> String
resp.endpoint.kinesis_settings.message_format #=> String, one of "json"
resp.endpoint.kinesis_settings.service_access_role_arn #=> String
resp.endpoint.elasticsearch_settings.service_access_role_arn #=> String
resp.endpoint.elasticsearch_settings.endpoint_uri #=> String
resp.endpoint.elasticsearch_settings.full_load_error_percentage #=> Integer
resp.endpoint.elasticsearch_settings.error_retry_duration #=> Integer
resp.endpoint.redshift_settings.accept_any_date #=> true/false
resp.endpoint.redshift_settings.after_connect_script #=> String
resp.endpoint.redshift_settings.bucket_folder #=> String
resp.endpoint.redshift_settings.bucket_name #=> String
resp.endpoint.redshift_settings.connection_timeout #=> Integer
resp.endpoint.redshift_settings.database_name #=> String
resp.endpoint.redshift_settings.date_format #=> String
resp.endpoint.redshift_settings.empty_as_null #=> true/false
resp.endpoint.redshift_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoint.redshift_settings.file_transfer_upload_streams #=> Integer
resp.endpoint.redshift_settings.load_timeout #=> Integer
resp.endpoint.redshift_settings.max_file_size #=> Integer
resp.endpoint.redshift_settings.password #=> String
resp.endpoint.redshift_settings.port #=> Integer
resp.endpoint.redshift_settings.remove_quotes #=> true/false
resp.endpoint.redshift_settings.replace_invalid_chars #=> String
resp.endpoint.redshift_settings.replace_chars #=> String
resp.endpoint.redshift_settings.server_name #=> String
resp.endpoint.redshift_settings.service_access_role_arn #=> String
resp.endpoint.redshift_settings.server_side_encryption_kms_key_id #=> String
resp.endpoint.redshift_settings.time_format #=> String
resp.endpoint.redshift_settings.trim_blanks #=> true/false
resp.endpoint.redshift_settings.truncate_columns #=> true/false
resp.endpoint.redshift_settings.username #=> String
resp.endpoint.redshift_settings.write_buffer_size #=> Integer

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

Returns:

See Also:

#delete_event_subscription(options = {}) ⇒ Types::DeleteEventSubscriptionResponse

Deletes an AWS DMS event subscription.

Examples:

Request syntax with placeholder values


resp = client.delete_event_subscription({
  subscription_name: "String", # required
})

Response structure


resp.event_subscription.customer_aws_id #=> String
resp.event_subscription.cust_subscription_id #=> String
resp.event_subscription.sns_topic_arn #=> String
resp.event_subscription.status #=> String
resp.event_subscription.subscription_creation_time #=> String
resp.event_subscription.source_type #=> String
resp.event_subscription.source_ids_list #=> Array
resp.event_subscription.source_ids_list[0] #=> String
resp.event_subscription.event_categories_list #=> Array
resp.event_subscription.event_categories_list[0] #=> String
resp.event_subscription.enabled #=> true/false

Options Hash (options):

  • :subscription_name (required, String)

    The name of the DMS event notification subscription to be deleted.

Returns:

See Also:

#delete_replication_instance(options = {}) ⇒ Types::DeleteReplicationInstanceResponse

Deletes the specified replication instance.

You must delete any migration tasks that are associated with the replication instance before you can delete it.

Examples:

Example: Delete Replication Instance


# Deletes the specified replication instance. You must delete any migration tasks that are associated with the replication instance before you can delete it.

resp = client.delete_replication_instance({
  replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
})

# resp.to_h outputs the following:
{
  replication_instance: {
    allocated_storage: 5, 
    auto_minor_version_upgrade: true, 
    engine_version: "1.5.0", 
    kms_key_id: "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", 
    pending_modified_values: {
    }, 
    preferred_maintenance_window: "sun:06:00-sun:14:00", 
    publicly_accessible: true, 
    replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
    replication_instance_class: "dms.t2.micro", 
    replication_instance_identifier: "test-rep-1", 
    replication_instance_status: "creating", 
    replication_subnet_group: {
      replication_subnet_group_description: "default", 
      replication_subnet_group_identifier: "default", 
      subnet_group_status: "Complete", 
      subnets: [
        {
          subnet_availability_zone: {
            name: "us-east-1d", 
          }, 
          subnet_identifier: "subnet-f6dd91af", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1b", 
          }, 
          subnet_identifier: "subnet-3605751d", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1c", 
          }, 
          subnet_identifier: "subnet-c2daefb5", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1e", 
          }, 
          subnet_identifier: "subnet-85e90cb8", 
          subnet_status: "Active", 
        }, 
      ], 
      vpc_id: "vpc-6741a603", 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.delete_replication_instance({
  replication_instance_arn: "String", # required
})

Response structure


resp.replication_instance.replication_instance_identifier #=> String
resp.replication_instance.replication_instance_class #=> String
resp.replication_instance.replication_instance_status #=> String
resp.replication_instance.allocated_storage #=> Integer
resp.replication_instance.instance_create_time #=> Time
resp.replication_instance.vpc_security_groups #=> Array
resp.replication_instance.vpc_security_groups[0].vpc_security_group_id #=> String
resp.replication_instance.vpc_security_groups[0].status #=> String
resp.replication_instance.availability_zone #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_identifier #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_description #=> String
resp.replication_instance.replication_subnet_group.vpc_id #=> String
resp.replication_instance.replication_subnet_group.subnet_group_status #=> String
resp.replication_instance.replication_subnet_group.subnets #=> Array
resp.replication_instance.replication_subnet_group.subnets[0].subnet_identifier #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_availability_zone.name #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_status #=> String
resp.replication_instance.preferred_maintenance_window #=> String
resp.replication_instance.pending_modified_values.replication_instance_class #=> String
resp.replication_instance.pending_modified_values.allocated_storage #=> Integer
resp.replication_instance.pending_modified_values.multi_az #=> true/false
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> true/false
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> true/false
resp.replication_instance.kms_key_id #=> String
resp.replication_instance.replication_instance_arn #=> String
resp.replication_instance.replication_instance_public_ip_address #=> String
resp.replication_instance.replication_instance_private_ip_address #=> String
resp.replication_instance.replication_instance_public_ip_addresses #=> Array
resp.replication_instance.replication_instance_public_ip_addresses[0] #=> String
resp.replication_instance.replication_instance_private_ip_addresses #=> Array
resp.replication_instance.replication_instance_private_ip_addresses[0] #=> String
resp.replication_instance.publicly_accessible #=> true/false
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Options Hash (options):

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of the replication instance to be deleted.

Returns:

See Also:

#delete_replication_subnet_group(options = {}) ⇒ Struct

Deletes a subnet group.

Examples:

Example: Delete Replication Subnet Group


# Deletes a replication subnet group.

resp = client.delete_replication_subnet_group({
  replication_subnet_group_identifier: "us-west-2ab-vpc-215ds366", 
})

# resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_replication_subnet_group({
  replication_subnet_group_identifier: "String", # required
})

Options Hash (options):

  • :replication_subnet_group_identifier (required, String)

    The subnet group name of the replication instance.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_replication_task(options = {}) ⇒ Types::DeleteReplicationTaskResponse

Deletes the specified replication task.

Examples:

Example: Delete Replication Task


# Deletes the specified replication task.

resp = client.delete_replication_task({
  replication_task_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
})

# resp.to_h outputs the following:
{
  replication_task: {
    migration_type: "full-load", 
    replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
    replication_task_arn: "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", 
    replication_task_creation_date: Time.parse("2016-12-14T18:25:43Z"), 
    replication_task_identifier: "task1", 
    replication_task_settings: "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", 
    source_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", 
    status: "creating", 
    table_mappings: "file://mappingfile.json", 
    target_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", 
  }, 
}

Request syntax with placeholder values


resp = client.delete_replication_task({
  replication_task_arn: "String", # required
})

Response structure


resp.replication_task.replication_task_identifier #=> String
resp.replication_task.source_endpoint_arn #=> String
resp.replication_task.target_endpoint_arn #=> String
resp.replication_task.replication_instance_arn #=> String
resp.replication_task.migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_task.table_mappings #=> String
resp.replication_task.replication_task_settings #=> String
resp.replication_task.status #=> String
resp.replication_task.last_failure_message #=> String
resp.replication_task.stop_reason #=> String
resp.replication_task.replication_task_creation_date #=> Time
resp.replication_task.replication_task_start_date #=> Time
resp.replication_task.cdc_start_position #=> String
resp.replication_task.cdc_stop_position #=> String
resp.replication_task.recovery_checkpoint #=> String
resp.replication_task.replication_task_arn #=> String
resp.replication_task.replication_task_stats.full_load_progress_percent #=> Integer
resp.replication_task.replication_task_stats.elapsed_time_millis #=> Integer
resp.replication_task.replication_task_stats.tables_loaded #=> Integer
resp.replication_task.replication_task_stats.tables_loading #=> Integer
resp.replication_task.replication_task_stats.tables_queued #=> Integer
resp.replication_task.replication_task_stats.tables_errored #=> Integer

Options Hash (options):

  • :replication_task_arn (required, String)

    The Amazon Resource Name (ARN) of the replication task to be deleted.

Returns:

See Also:

#describe_account_attributes(options = {}) ⇒ Types::DescribeAccountAttributesResponse

Lists all of the AWS DMS attributes for a customer account. These attributes include AWS DMS quotas for the account and a unique account identifier in a particular DMS region. DMS quotas include a list of resource quotas supported by the account, such as the number of replication instances allowed. The description for each resource quota, includes the quota name, current usage toward that quota, and the quota's maximum value. DMS uses the unique account identifier to name each artifact used by DMS in the given region.

This command does not take any parameters.

Examples:

Example: Describe acount attributes


# Lists all of the AWS DMS attributes for a customer account. The attributes include AWS DMS quotas for the account, such as the number of replication instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value. This operation does not take any parameters.

resp = client.({
})

# resp.to_h outputs the following:
{
  account_quotas: [
    {
      account_quota_name: "ReplicationInstances", 
      max: 20, 
      used: 0, 
    }, 
    {
      account_quota_name: "AllocatedStorage", 
      max: 20, 
      used: 0, 
    }, 
    {
      account_quota_name: "Endpoints", 
      max: 20, 
      used: 0, 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.()

Response structure


resp. #=> Array
resp.[0]. #=> String
resp.[0].used #=> Integer
resp.[0].max #=> Integer
resp. #=> String

Returns:

See Also:

#describe_certificates(options = {}) ⇒ Types::DescribeCertificatesResponse

Provides a description of the certificate.

Examples:

Example: Describe certificates


# Provides a description of the certificate.

resp = client.describe_certificates({
  filters: [
    {
      name: "string", 
      values: [
        "string", 
        "string", 
      ], 
    }, 
  ], 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  certificates: [
  ], 
  marker: "", 
}

Request syntax with placeholder values


resp = client.describe_certificates({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.certificates #=> Array
resp.certificates[0].certificate_identifier #=> String
resp.certificates[0].certificate_creation_date #=> Time
resp.certificates[0].certificate_pem #=> String
resp.certificates[0].certificate_wallet #=> IO
resp.certificates[0].certificate_arn #=> String
resp.certificates[0].certificate_owner #=> String
resp.certificates[0].valid_from_date #=> Time
resp.certificates[0].valid_to_date #=> Time
resp.certificates[0].signing_algorithm #=> String
resp.certificates[0].key_length #=> Integer

Options Hash (options):

  • :filters (Array<Types::Filter>)

    Filters applied to the certificate described in the form of key-value pairs.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 10

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the vlue specified by MaxRecords.

Returns:

See Also:

#describe_connections(options = {}) ⇒ Types::DescribeConnectionsResponse

Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint.

Examples:

Example: Describe connections


# Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint.

resp = client.describe_connections({
  filters: [
    {
      name: "string", 
      values: [
        "string", 
        "string", 
      ], 
    }, 
  ], 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  connections: [
    {
      endpoint_arn: "arn:aws:dms:us-east-arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", 
      endpoint_identifier: "testsrc1", 
      replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
      replication_instance_identifier: "test", 
      status: "successful", 
    }, 
  ], 
  marker: "", 
}

Request syntax with placeholder values


resp = client.describe_connections({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.connections #=> Array
resp.connections[0].replication_instance_arn #=> String
resp.connections[0].endpoint_arn #=> String
resp.connections[0].status #=> String
resp.connections[0].last_failure_message #=> String
resp.connections[0].endpoint_identifier #=> String
resp.connections[0].replication_instance_identifier #=> String

Options Hash (options):

  • :filters (Array<Types::Filter>)

    The filters applied to the connection.

    Valid filter names: endpoint-arn | replication-instance-arn

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_endpoint_types(options = {}) ⇒ Types::DescribeEndpointTypesResponse

Returns information about the type of endpoints available.

Examples:

Example: Describe endpoint types


# Returns information about the type of endpoints available.

resp = client.describe_endpoint_types({
  filters: [
    {
      name: "string", 
      values: [
        "string", 
        "string", 
      ], 
    }, 
  ], 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  marker: "", 
  supported_endpoint_types: [
  ], 
}

Request syntax with placeholder values


resp = client.describe_endpoint_types({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.supported_endpoint_types #=> Array
resp.supported_endpoint_types[0].engine_name #=> String
resp.supported_endpoint_types[0].supports_cdc #=> true/false
resp.supported_endpoint_types[0].endpoint_type #=> String, one of "source", "target"
resp.supported_endpoint_types[0].engine_display_name #=> String

Options Hash (options):

  • :filters (Array<Types::Filter>)

    Filters applied to the describe action.

    Valid filter names: engine-name | endpoint-type

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_endpoints(options = {}) ⇒ Types::DescribeEndpointsResponse

Returns information about the endpoints for your account in the current region.

Examples:

Example: Describe endpoints


# Returns information about the endpoints for your account in the current region.

resp = client.describe_endpoints({
  filters: [
    {
      name: "string", 
      values: [
        "string", 
        "string", 
      ], 
    }, 
  ], 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  endpoints: [
  ], 
  marker: "", 
}

Request syntax with placeholder values


resp = client.describe_endpoints({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.endpoints #=> Array
resp.endpoints[0].endpoint_identifier #=> String
resp.endpoints[0].endpoint_type #=> String, one of "source", "target"
resp.endpoints[0].engine_name #=> String
resp.endpoints[0].engine_display_name #=> String
resp.endpoints[0].username #=> String
resp.endpoints[0].server_name #=> String
resp.endpoints[0].port #=> Integer
resp.endpoints[0].database_name #=> String
resp.endpoints[0].extra_connection_attributes #=> String
resp.endpoints[0].status #=> String
resp.endpoints[0].kms_key_id #=> String
resp.endpoints[0].endpoint_arn #=> String
resp.endpoints[0].certificate_arn #=> String
resp.endpoints[0].ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.endpoints[0].service_access_role_arn #=> String
resp.endpoints[0].external_table_definition #=> String
resp.endpoints[0].external_id #=> String
resp.endpoints[0].dynamo_db_settings.service_access_role_arn #=> String
resp.endpoints[0].s3_settings.service_access_role_arn #=> String
resp.endpoints[0].s3_settings.external_table_definition #=> String
resp.endpoints[0].s3_settings.csv_row_delimiter #=> String
resp.endpoints[0].s3_settings.csv_delimiter #=> String
resp.endpoints[0].s3_settings.bucket_folder #=> String
resp.endpoints[0].s3_settings.bucket_name #=> String
resp.endpoints[0].s3_settings.compression_type #=> String, one of "none", "gzip"
resp.endpoints[0].s3_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoints[0].s3_settings.server_side_encryption_kms_key_id #=> String
resp.endpoints[0].s3_settings.data_format #=> String, one of "csv", "parquet"
resp.endpoints[0].s3_settings.encoding_type #=> String, one of "plain", "plain-dictionary", "rle-dictionary"
resp.endpoints[0].s3_settings.dict_page_size_limit #=> Integer
resp.endpoints[0].s3_settings.row_group_length #=> Integer
resp.endpoints[0].s3_settings.data_page_size #=> Integer
resp.endpoints[0].s3_settings.parquet_version #=> String, one of "parquet-1-0", "parquet-2-0"
resp.endpoints[0].s3_settings.enable_statistics #=> true/false
resp.endpoints[0].s3_settings.include_op_for_full_load #=> true/false
resp.endpoints[0].s3_settings.cdc_inserts_only #=> true/false
resp.endpoints[0].s3_settings.timestamp_column_name #=> String
resp.endpoints[0].dms_transfer_settings.service_access_role_arn #=> String
resp.endpoints[0].dms_transfer_settings.bucket_name #=> String
resp.endpoints[0].mongo_db_settings.username #=> String
resp.endpoints[0].mongo_db_settings.password #=> String
resp.endpoints[0].mongo_db_settings.server_name #=> String
resp.endpoints[0].mongo_db_settings.port #=> Integer
resp.endpoints[0].mongo_db_settings.database_name #=> String
resp.endpoints[0].mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.endpoints[0].mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"
resp.endpoints[0].mongo_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoints[0].mongo_db_settings.extract_doc_id #=> String
resp.endpoints[0].mongo_db_settings.docs_to_investigate #=> String
resp.endpoints[0].mongo_db_settings.auth_source #=> String
resp.endpoints[0].mongo_db_settings.kms_key_id #=> String
resp.endpoints[0].kinesis_settings.stream_arn #=> String
resp.endpoints[0].kinesis_settings.message_format #=> String, one of "json"
resp.endpoints[0].kinesis_settings.service_access_role_arn #=> String
resp.endpoints[0].elasticsearch_settings.service_access_role_arn #=> String
resp.endpoints[0].elasticsearch_settings.endpoint_uri #=> String
resp.endpoints[0].elasticsearch_settings.full_load_error_percentage #=> Integer
resp.endpoints[0].elasticsearch_settings.error_retry_duration #=> Integer
resp.endpoints[0].redshift_settings.accept_any_date #=> true/false
resp.endpoints[0].redshift_settings.after_connect_script #=> String
resp.endpoints[0].redshift_settings.bucket_folder #=> String
resp.endpoints[0].redshift_settings.bucket_name #=> String
resp.endpoints[0].redshift_settings.connection_timeout #=> Integer
resp.endpoints[0].redshift_settings.database_name #=> String
resp.endpoints[0].redshift_settings.date_format #=> String
resp.endpoints[0].redshift_settings.empty_as_null #=> true/false
resp.endpoints[0].redshift_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoints[0].redshift_settings.file_transfer_upload_streams #=> Integer
resp.endpoints[0].redshift_settings.load_timeout #=> Integer
resp.endpoints[0].redshift_settings.max_file_size #=> Integer
resp.endpoints[0].redshift_settings.password #=> String
resp.endpoints[0].redshift_settings.port #=> Integer
resp.endpoints[0].redshift_settings.remove_quotes #=> true/false
resp.endpoints[0].redshift_settings.replace_invalid_chars #=> String
resp.endpoints[0].redshift_settings.replace_chars #=> String
resp.endpoints[0].redshift_settings.server_name #=> String
resp.endpoints[0].redshift_settings.service_access_role_arn #=> String
resp.endpoints[0].redshift_settings.server_side_encryption_kms_key_id #=> String
resp.endpoints[0].redshift_settings.time_format #=> String
resp.endpoints[0].redshift_settings.trim_blanks #=> true/false
resp.endpoints[0].redshift_settings.truncate_columns #=> true/false
resp.endpoints[0].redshift_settings.username #=> String
resp.endpoints[0].redshift_settings.write_buffer_size #=> Integer

Options Hash (options):

  • :filters (Array<Types::Filter>)

    Filters applied to the describe action.

    Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_event_categories(options = {}) ⇒ Types::DescribeEventCategoriesResponse

Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the AWS Database Migration Service User Guide.

Examples:

Request syntax with placeholder values


resp = client.describe_event_categories({
  source_type: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
})

Response structure


resp.event_category_group_list #=> Array
resp.event_category_group_list[0].source_type #=> String
resp.event_category_group_list[0].event_categories #=> Array
resp.event_category_group_list[0].event_categories[0] #=> String

Options Hash (options):

  • :source_type (String)

    The type of AWS DMS resource that generates events.

    Valid values: replication-instance | replication-task

  • :filters (Array<Types::Filter>)

    Filters applied to the action.

Returns:

See Also:

#describe_event_subscriptions(options = {}) ⇒ Types::DescribeEventSubscriptionsResponse

Lists all the event subscriptions for a customer account. The description of a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify SubscriptionName, this action lists the description for that subscription.

Examples:

Request syntax with placeholder values


resp = client.describe_event_subscriptions({
  subscription_name: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.event_subscriptions_list #=> Array
resp.event_subscriptions_list[0].customer_aws_id #=> String
resp.event_subscriptions_list[0].cust_subscription_id #=> String
resp.event_subscriptions_list[0].sns_topic_arn #=> String
resp.event_subscriptions_list[0].status #=> String
resp.event_subscriptions_list[0].subscription_creation_time #=> String
resp.event_subscriptions_list[0].source_type #=> String
resp.event_subscriptions_list[0].source_ids_list #=> Array
resp.event_subscriptions_list[0].source_ids_list[0] #=> String
resp.event_subscriptions_list[0].event_categories_list #=> Array
resp.event_subscriptions_list[0].event_categories_list[0] #=> String
resp.event_subscriptions_list[0].enabled #=> true/false

Options Hash (options):

  • :subscription_name (String)

    The name of the AWS DMS event subscription to be described.

  • :filters (Array<Types::Filter>)

    Filters applied to the action.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_events(options = {}) ⇒ Types::DescribeEventsResponse

Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on AWS DMS events, see Working with Events and Notifications in the AWS Database Migration User Guide.

Examples:

Request syntax with placeholder values


resp = client.describe_events({
  source_identifier: "String",
  source_type: "replication-instance", # accepts replication-instance
  start_time: Time.now,
  end_time: Time.now,
  duration: 1,
  event_categories: ["String"],
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.events #=> Array
resp.events[0].source_identifier #=> String
resp.events[0].source_type #=> String, one of "replication-instance"
resp.events[0].message #=> String
resp.events[0].event_categories #=> Array
resp.events[0].event_categories[0] #=> String
resp.events[0].date #=> Time

Options Hash (options):

  • :source_identifier (String)

    The identifier of an event source.

  • :source_type (String)

    The type of AWS DMS resource that generates events.

    Valid values: replication-instance | replication-task

  • :start_time (Time)

    The start time for the events to be listed.

  • :end_time (Time)

    The end time for the events to be listed.

  • :duration (Integer)

    The duration of the events to be listed.

  • :event_categories (Array<String>)

    A list of event categories for the source type that you\'ve chosen.

  • :filters (Array<Types::Filter>)

    Filters applied to the action.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_orderable_replication_instances(options = {}) ⇒ Types::DescribeOrderableReplicationInstancesResponse

Returns information about the replication instance types that can be created in the specified region.

Examples:

Example: Describe orderable replication instances


# Returns information about the replication instance types that can be created in the specified region.

resp = client.describe_orderable_replication_instances({
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  marker: "", 
  orderable_replication_instances: [
  ], 
}

Request syntax with placeholder values


resp = client.describe_orderable_replication_instances({
  max_records: 1,
  marker: "String",
})

Response structure


resp.orderable_replication_instances #=> Array
resp.orderable_replication_instances[0].engine_version #=> String
resp.orderable_replication_instances[0].replication_instance_class #=> String
resp.orderable_replication_instances[0].storage_type #=> String
resp.orderable_replication_instances[0].min_allocated_storage #=> Integer
resp.orderable_replication_instances[0].max_allocated_storage #=> Integer
resp.orderable_replication_instances[0].default_allocated_storage #=> Integer
resp.orderable_replication_instances[0].included_allocated_storage #=> Integer
resp.orderable_replication_instances[0].availability_zones #=> Array
resp.orderable_replication_instances[0].availability_zones[0] #=> String
resp.orderable_replication_instances[0].release_status #=> String, one of "beta"
resp.marker #=> String

Options Hash (options):

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_pending_maintenance_actions(options = {}) ⇒ Types::DescribePendingMaintenanceActionsResponse

For internal use only

Examples:

Request syntax with placeholder values


resp = client.describe_pending_maintenance_actions({
  replication_instance_arn: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  marker: "String",
  max_records: 1,
})

Response structure


resp.pending_maintenance_actions #=> Array
resp.pending_maintenance_actions[0].resource_identifier #=> String
resp.pending_maintenance_actions[0].pending_maintenance_action_details #=> Array
resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].action #=> String
resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].auto_applied_after_date #=> Time
resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].forced_apply_date #=> Time
resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].opt_in_status #=> String
resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].current_apply_date #=> Time
resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].description #=> String
resp.marker #=> String

Options Hash (options):

  • :replication_instance_arn (String)

    The Amazon Resource Name (ARN) of the replication instance.

  • :filters (Array<Types::Filter>)
  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

Returns:

See Also:

#describe_refresh_schemas_status(options = {}) ⇒ Types::DescribeRefreshSchemasStatusResponse

Returns the status of the RefreshSchemas operation.

Examples:

Example: Describe refresh schema status


# Returns the status of the refresh-schemas operation.

resp = client.describe_refresh_schemas_status({
  endpoint_arn: "", 
})

# resp.to_h outputs the following:
{
  refresh_schemas_status: {
  }, 
}

Request syntax with placeholder values


resp = client.describe_refresh_schemas_status({
  endpoint_arn: "String", # required
})

Response structure


resp.refresh_schemas_status.endpoint_arn #=> String
resp.refresh_schemas_status.replication_instance_arn #=> String
resp.refresh_schemas_status.status #=> String, one of "successful", "failed", "refreshing"
resp.refresh_schemas_status.last_refresh_date #=> Time
resp.refresh_schemas_status.last_failure_message #=> String

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

Returns:

See Also:

#describe_replication_instance_task_logs(options = {}) ⇒ Types::DescribeReplicationInstanceTaskLogsResponse

Returns information about the task logs for the specified task.

Examples:

Request syntax with placeholder values


resp = client.describe_replication_instance_task_logs({
  replication_instance_arn: "String", # required
  max_records: 1,
  marker: "String",
})

Response structure


resp.replication_instance_arn #=> String
resp.replication_instance_task_logs #=> Array
resp.replication_instance_task_logs[0].replication_task_name #=> String
resp.replication_instance_task_logs[0].replication_task_arn #=> String
resp.replication_instance_task_logs[0].replication_instance_task_log_size #=> Integer
resp.marker #=> String

Options Hash (options):

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of the replication instance.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_replication_instances(options = {}) ⇒ Types::DescribeReplicationInstancesResponse

Returns information about replication instances for your account in the current region.

Examples:

Example: Describe replication instances


# Returns the status of the refresh-schemas operation.

resp = client.describe_replication_instances({
  filters: [
    {
      name: "string", 
      values: [
        "string", 
        "string", 
      ], 
    }, 
  ], 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  marker: "", 
  replication_instances: [
  ], 
}

Request syntax with placeholder values


resp = client.describe_replication_instances({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.replication_instances #=> Array
resp.replication_instances[0].replication_instance_identifier #=> String
resp.replication_instances[0].replication_instance_class #=> String
resp.replication_instances[0].replication_instance_status #=> String
resp.replication_instances[0].allocated_storage #=> Integer
resp.replication_instances[0].instance_create_time #=> Time
resp.replication_instances[0].vpc_security_groups #=> Array
resp.replication_instances[0].vpc_security_groups[0].vpc_security_group_id #=> String
resp.replication_instances[0].vpc_security_groups[0].status #=> String
resp.replication_instances[0].availability_zone #=> String
resp.replication_instances[0].replication_subnet_group.replication_subnet_group_identifier #=> String
resp.replication_instances[0].replication_subnet_group.replication_subnet_group_description #=> String
resp.replication_instances[0].replication_subnet_group.vpc_id #=> String
resp.replication_instances[0].replication_subnet_group.subnet_group_status #=> String
resp.replication_instances[0].replication_subnet_group.subnets #=> Array
resp.replication_instances[0].replication_subnet_group.subnets[0].subnet_identifier #=> String
resp.replication_instances[0].replication_subnet_group.subnets[0].subnet_availability_zone.name #=> String
resp.replication_instances[0].replication_subnet_group.subnets[0].subnet_status #=> String
resp.replication_instances[0].preferred_maintenance_window #=> String
resp.replication_instances[0].pending_modified_values.replication_instance_class #=> String
resp.replication_instances[0].pending_modified_values.allocated_storage #=> Integer
resp.replication_instances[0].pending_modified_values.multi_az #=> true/false
resp.replication_instances[0].pending_modified_values.engine_version #=> String
resp.replication_instances[0].multi_az #=> true/false
resp.replication_instances[0].engine_version #=> String
resp.replication_instances[0].auto_minor_version_upgrade #=> true/false
resp.replication_instances[0].kms_key_id #=> String
resp.replication_instances[0].replication_instance_arn #=> String
resp.replication_instances[0].replication_instance_public_ip_address #=> String
resp.replication_instances[0].replication_instance_private_ip_address #=> String
resp.replication_instances[0].replication_instance_public_ip_addresses #=> Array
resp.replication_instances[0].replication_instance_public_ip_addresses[0] #=> String
resp.replication_instances[0].replication_instance_private_ip_addresses #=> Array
resp.replication_instances[0].replication_instance_private_ip_addresses[0] #=> String
resp.replication_instances[0].publicly_accessible #=> true/false
resp.replication_instances[0].secondary_availability_zone #=> String
resp.replication_instances[0].free_until #=> Time
resp.replication_instances[0].dns_name_servers #=> String

Options Hash (options):

  • :filters (Array<Types::Filter>)

    Filters applied to the describe action.

    Valid filter names: replication-instance-arn | replication-instance-id | replication-instance-class | engine-version

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_replication_subnet_groups(options = {}) ⇒ Types::DescribeReplicationSubnetGroupsResponse

Returns information about the replication subnet groups.

Examples:

Example: Describe replication subnet groups


# Returns information about the replication subnet groups.

resp = client.describe_replication_subnet_groups({
  filters: [
    {
      name: "string", 
      values: [
        "string", 
        "string", 
      ], 
    }, 
  ], 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  marker: "", 
  replication_subnet_groups: [
  ], 
}

Request syntax with placeholder values


resp = client.describe_replication_subnet_groups({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.replication_subnet_groups #=> Array
resp.replication_subnet_groups[0].replication_subnet_group_identifier #=> String
resp.replication_subnet_groups[0].replication_subnet_group_description #=> String
resp.replication_subnet_groups[0].vpc_id #=> String
resp.replication_subnet_groups[0].subnet_group_status #=> String
resp.replication_subnet_groups[0].subnets #=> Array
resp.replication_subnet_groups[0].subnets[0].subnet_identifier #=> String
resp.replication_subnet_groups[0].subnets[0].subnet_availability_zone.name #=> String
resp.replication_subnet_groups[0].subnets[0].subnet_status #=> String

Options Hash (options):

  • :filters (Array<Types::Filter>)

    Filters applied to the describe action.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_replication_task_assessment_results(options = {}) ⇒ Types::DescribeReplicationTaskAssessmentResultsResponse

Returns the task assessment results from Amazon S3. This action always returns the latest results.

Examples:

Request syntax with placeholder values


resp = client.describe_replication_task_assessment_results({
  replication_task_arn: "String",
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.bucket_name #=> String
resp.replication_task_assessment_results #=> Array
resp.replication_task_assessment_results[0].replication_task_identifier #=> String
resp.replication_task_assessment_results[0].replication_task_arn #=> String
resp.replication_task_assessment_results[0].replication_task_last_assessment_date #=> Time
resp.replication_task_assessment_results[0].assessment_status #=> String
resp.replication_task_assessment_results[0].assessment_results_file #=> String
resp.replication_task_assessment_results[0].assessment_results #=> String
resp.replication_task_assessment_results[0].s3_object_url #=> String

Options Hash (options):

  • :replication_task_arn (String)

    - The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input parameter is specified the API will return only one result and ignore the values of the max-records and marker parameters.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_replication_tasks(options = {}) ⇒ Types::DescribeReplicationTasksResponse

Returns information about replication tasks for your account in the current region.

Examples:

Example: Describe replication tasks


# Returns information about replication tasks for your account in the current region.

resp = client.describe_replication_tasks({
  filters: [
    {
      name: "string", 
      values: [
        "string", 
        "string", 
      ], 
    }, 
  ], 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  marker: "", 
  replication_tasks: [
  ], 
}

Request syntax with placeholder values


resp = client.describe_replication_tasks({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
  without_settings: false,
})

Response structure


resp.marker #=> String
resp.replication_tasks #=> Array
resp.replication_tasks[0].replication_task_identifier #=> String
resp.replication_tasks[0].source_endpoint_arn #=> String
resp.replication_tasks[0].target_endpoint_arn #=> String
resp.replication_tasks[0].replication_instance_arn #=> String
resp.replication_tasks[0].migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_tasks[0].table_mappings #=> String
resp.replication_tasks[0].replication_task_settings #=> String
resp.replication_tasks[0].status #=> String
resp.replication_tasks[0].last_failure_message #=> String
resp.replication_tasks[0].stop_reason #=> String
resp.replication_tasks[0].replication_task_creation_date #=> Time
resp.replication_tasks[0].replication_task_start_date #=> Time
resp.replication_tasks[0].cdc_start_position #=> String
resp.replication_tasks[0].cdc_stop_position #=> String
resp.replication_tasks[0].recovery_checkpoint #=> String
resp.replication_tasks[0].replication_task_arn #=> String
resp.replication_tasks[0].replication_task_stats.full_load_progress_percent #=> Integer
resp.replication_tasks[0].replication_task_stats.elapsed_time_millis #=> Integer
resp.replication_tasks[0].replication_task_stats.tables_loaded #=> Integer
resp.replication_tasks[0].replication_task_stats.tables_loading #=> Integer
resp.replication_tasks[0].replication_task_stats.tables_queued #=> Integer
resp.replication_tasks[0].replication_task_stats.tables_errored #=> Integer

Options Hash (options):

  • :filters (Array<Types::Filter>)

    Filters applied to the describe action.

    Valid filter names: replication-task-arn | replication-task-id | migration-type | endpoint-arn | replication-instance-arn

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

  • :without_settings (Boolean)

    An option to set to avoid returning information about settings. Use this to reduce overhead when setting information is too large. To use this option, choose true; otherwise, choose false (the default).

Returns:

See Also:

#describe_schemas(options = {}) ⇒ Types::DescribeSchemasResponse

Returns information about the schema for the specified endpoint.

Examples:

Example: Describe schemas


# Returns information about the schema for the specified endpoint.

resp = client.describe_schemas({
  endpoint_arn: "", 
  marker: "", 
  max_records: 123, 
})

# resp.to_h outputs the following:
{
  marker: "", 
  schemas: [
  ], 
}

Request syntax with placeholder values


resp = client.describe_schemas({
  endpoint_arn: "String", # required
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.schemas #=> Array
resp.schemas[0] #=> String

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Returns:

See Also:

#describe_table_statistics(options = {}) ⇒ Types::DescribeTableStatisticsResponse

Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.

Note that the "last updated" column the DMS console only indicates the time that AWS DMS last updated the table statistics record for a table. It does not indicate the time of the last update to the table.

Examples:

Example: Describe table statistics


# Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.

resp = client.describe_table_statistics({
  marker: "", 
  max_records: 123, 
  replication_task_arn: "", 
})

# resp.to_h outputs the following:
{
  marker: "", 
  replication_task_arn: "", 
  table_statistics: [
  ], 
}

Request syntax with placeholder values


resp = client.describe_table_statistics({
  replication_task_arn: "String", # required
  max_records: 1,
  marker: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
})

Response structure


resp.replication_task_arn #=> String
resp.table_statistics #=> Array
resp.table_statistics[0].schema_name #=> String
resp.table_statistics[0].table_name #=> String
resp.table_statistics[0].inserts #=> Integer
resp.table_statistics[0].deletes #=> Integer
resp.table_statistics[0].updates #=> Integer
resp.table_statistics[0].ddls #=> Integer
resp.table_statistics[0].full_load_rows #=> Integer
resp.table_statistics[0].full_load_condtnl_chk_failed_rows #=> Integer
resp.table_statistics[0].full_load_error_rows #=> Integer
resp.table_statistics[0].last_update_time #=> Time
resp.table_statistics[0].table_state #=> String
resp.table_statistics[0].validation_pending_records #=> Integer
resp.table_statistics[0].validation_failed_records #=> Integer
resp.table_statistics[0].validation_suspended_records #=> Integer
resp.table_statistics[0].validation_state #=> String
resp.table_statistics[0].validation_state_details #=> String
resp.marker #=> String

Options Hash (options):

  • :replication_task_arn (required, String)

    The Amazon Resource Name (ARN) of the replication task.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 500.

  • :marker (String)

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

  • :filters (Array<Types::Filter>)

    Filters applied to the describe table statistics action.

    Valid filter names: schema-name | table-name | table-state

    A combination of filters creates an AND condition where each record matches all specified filters.

Returns:

See Also:

#import_certificate(options = {}) ⇒ Types::ImportCertificateResponse

Uploads the specified certificate.

Examples:

Example: Import certificate


# Uploads the specified certificate.

resp = client.import_certificate({
  certificate_identifier: "", 
  certificate_pem: "", 
})

# resp.to_h outputs the following:
{
  certificate: {
  }, 
}

Request syntax with placeholder values


resp = client.import_certificate({
  certificate_identifier: "String", # required
  certificate_pem: "String",
  certificate_wallet: "data",
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Response structure


resp.certificate.certificate_identifier #=> String
resp.certificate.certificate_creation_date #=> Time
resp.certificate.certificate_pem #=> String
resp.certificate.certificate_wallet #=> IO
resp.certificate.certificate_arn #=> String
resp.certificate.certificate_owner #=> String
resp.certificate.valid_from_date #=> Time
resp.certificate.valid_to_date #=> Time
resp.certificate.signing_algorithm #=> String
resp.certificate.key_length #=> Integer

Options Hash (options):

  • :certificate_identifier (required, String)

    A customer-assigned name for the certificate. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

  • :certificate_pem (String)

    The contents of a .pem file, which contains an X.509 certificate.

  • :certificate_wallet (IO, String)

    The location of an imported Oracle Wallet certificate for use with SSL.

  • :tags (Array<Types::Tag>)

    The tags associated with the certificate.

Returns:

See Also:

#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse

Lists all tags for an AWS DMS resource.

Examples:

Example: List tags for resource


# Lists all tags for an AWS DMS resource.

resp = client.list_tags_for_resource({
  resource_arn: "", 
})

# resp.to_h outputs the following:
{
  tag_list: [
  ], 
}

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "String", # required
})

Response structure


resp.tag_list #=> Array
resp.tag_list[0].key #=> String
resp.tag_list[0].value #=> String

Options Hash (options):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) string that uniquely identifies the AWS DMS resource.

Returns:

See Also:

#modify_endpoint(options = {}) ⇒ Types::ModifyEndpointResponse

Modifies the specified endpoint.

Examples:

Example: Modify endpoint


# Modifies the specified endpoint.

resp = client.modify_endpoint({
  certificate_arn: "", 
  database_name: "", 
  endpoint_arn: "", 
  endpoint_identifier: "", 
  endpoint_type: "source", 
  engine_name: "", 
  extra_connection_attributes: "", 
  password: "", 
  port: 123, 
  server_name: "", 
  ssl_mode: "require", 
  username: "", 
})

# resp.to_h outputs the following:
{
  endpoint: {
  }, 
}

Request syntax with placeholder values


resp = client.modify_endpoint({
  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",
  },
  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",
  },
  kinesis_settings: {
    stream_arn: "String",
    message_format: "json", # accepts json
    service_access_role_arn: "String",
  },
  elasticsearch_settings: {
    service_access_role_arn: "String", # required
    endpoint_uri: "String", # required
    full_load_error_percentage: 1,
    error_retry_duration: 1,
  },
  redshift_settings: {
    accept_any_date: false,
    after_connect_script: "String",
    bucket_folder: "String",
    bucket_name: "String",
    connection_timeout: 1,
    database_name: "String",
    date_format: "String",
    empty_as_null: false,
    encryption_mode: "sse-s3", # accepts sse-s3, sse-kms
    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,
  },
})

Response structure


resp.endpoint.endpoint_identifier #=> String
resp.endpoint.endpoint_type #=> String, one of "source", "target"
resp.endpoint.engine_name #=> String
resp.endpoint.engine_display_name #=> String
resp.endpoint.username #=> String
resp.endpoint.server_name #=> String
resp.endpoint.port #=> Integer
resp.endpoint.database_name #=> String
resp.endpoint.extra_connection_attributes #=> String
resp.endpoint.status #=> String
resp.endpoint.kms_key_id #=> String
resp.endpoint.endpoint_arn #=> String
resp.endpoint.certificate_arn #=> String
resp.endpoint.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.endpoint.service_access_role_arn #=> String
resp.endpoint.external_table_definition #=> String
resp.endpoint.external_id #=> String
resp.endpoint.dynamo_db_settings.service_access_role_arn #=> String
resp.endpoint.s3_settings.service_access_role_arn #=> String
resp.endpoint.s3_settings.external_table_definition #=> String
resp.endpoint.s3_settings.csv_row_delimiter #=> String
resp.endpoint.s3_settings.csv_delimiter #=> String
resp.endpoint.s3_settings.bucket_folder #=> String
resp.endpoint.s3_settings.bucket_name #=> String
resp.endpoint.s3_settings.compression_type #=> String, one of "none", "gzip"
resp.endpoint.s3_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoint.s3_settings.server_side_encryption_kms_key_id #=> String
resp.endpoint.s3_settings.data_format #=> String, one of "csv", "parquet"
resp.endpoint.s3_settings.encoding_type #=> String, one of "plain", "plain-dictionary", "rle-dictionary"
resp.endpoint.s3_settings.dict_page_size_limit #=> Integer
resp.endpoint.s3_settings.row_group_length #=> Integer
resp.endpoint.s3_settings.data_page_size #=> Integer
resp.endpoint.s3_settings.parquet_version #=> String, one of "parquet-1-0", "parquet-2-0"
resp.endpoint.s3_settings.enable_statistics #=> true/false
resp.endpoint.s3_settings.include_op_for_full_load #=> true/false
resp.endpoint.s3_settings.cdc_inserts_only #=> true/false
resp.endpoint.s3_settings.timestamp_column_name #=> String
resp.endpoint.dms_transfer_settings.service_access_role_arn #=> String
resp.endpoint.dms_transfer_settings.bucket_name #=> String
resp.endpoint.mongo_db_settings.username #=> String
resp.endpoint.mongo_db_settings.password #=> String
resp.endpoint.mongo_db_settings.server_name #=> String
resp.endpoint.mongo_db_settings.port #=> Integer
resp.endpoint.mongo_db_settings.database_name #=> String
resp.endpoint.mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.endpoint.mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"
resp.endpoint.mongo_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoint.mongo_db_settings.extract_doc_id #=> String
resp.endpoint.mongo_db_settings.docs_to_investigate #=> String
resp.endpoint.mongo_db_settings.auth_source #=> String
resp.endpoint.mongo_db_settings.kms_key_id #=> String
resp.endpoint.kinesis_settings.stream_arn #=> String
resp.endpoint.kinesis_settings.message_format #=> String, one of "json"
resp.endpoint.kinesis_settings.service_access_role_arn #=> String
resp.endpoint.elasticsearch_settings.service_access_role_arn #=> String
resp.endpoint.elasticsearch_settings.endpoint_uri #=> String
resp.endpoint.elasticsearch_settings.full_load_error_percentage #=> Integer
resp.endpoint.elasticsearch_settings.error_retry_duration #=> Integer
resp.endpoint.redshift_settings.accept_any_date #=> true/false
resp.endpoint.redshift_settings.after_connect_script #=> String
resp.endpoint.redshift_settings.bucket_folder #=> String
resp.endpoint.redshift_settings.bucket_name #=> String
resp.endpoint.redshift_settings.connection_timeout #=> Integer
resp.endpoint.redshift_settings.database_name #=> String
resp.endpoint.redshift_settings.date_format #=> String
resp.endpoint.redshift_settings.empty_as_null #=> true/false
resp.endpoint.redshift_settings.encryption_mode #=> String, one of "sse-s3", "sse-kms"
resp.endpoint.redshift_settings.file_transfer_upload_streams #=> Integer
resp.endpoint.redshift_settings.load_timeout #=> Integer
resp.endpoint.redshift_settings.max_file_size #=> Integer
resp.endpoint.redshift_settings.password #=> String
resp.endpoint.redshift_settings.port #=> Integer
resp.endpoint.redshift_settings.remove_quotes #=> true/false
resp.endpoint.redshift_settings.replace_invalid_chars #=> String
resp.endpoint.redshift_settings.replace_chars #=> String
resp.endpoint.redshift_settings.server_name #=> String
resp.endpoint.redshift_settings.service_access_role_arn #=> String
resp.endpoint.redshift_settings.server_side_encryption_kms_key_id #=> String
resp.endpoint.redshift_settings.time_format #=> String
resp.endpoint.redshift_settings.trim_blanks #=> true/false
resp.endpoint.redshift_settings.truncate_columns #=> true/false
resp.endpoint.redshift_settings.username #=> String
resp.endpoint.redshift_settings.write_buffer_size #=> Integer

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

  • :endpoint_identifier (String)

    The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

  • :endpoint_type (String)

    The type of endpoint. Valid values are source and target.

  • :engine_name (String)

    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, and sqlserver.

  • :username (String)

    The user name to be used to login to the endpoint database.

  • :password (String)

    The password to be used to login to the endpoint database.

  • :server_name (String)

    The name of the server where the endpoint database resides.

  • :port (Integer)

    The port used by the endpoint database.

  • :database_name (String)

    The name of the endpoint database.

  • :extra_connection_attributes (String)

    Additional attributes associated with the connection. To reset this parameter, pass the empty string (\"\") as an argument.

  • :certificate_arn (String)

    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

  • :ssl_mode (String)

    The SSL mode used to connect to the endpoint. The default value is none.

  • :service_access_role_arn (String)

    The Amazon Resource Name (ARN) for the service access role you want to use to modify the endpoint.

  • :external_table_definition (String)

    The external table definition.

  • :dynamo_db_settings (Types::DynamoDbSettings)

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

  • :s3_settings (Types::S3Settings)

    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 AWS DMS in the AWS Database Migration Service User Guide.

  • :dms_transfer_settings (Types::DmsTransferSettings)

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

    Attributes include the following:

    • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

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

    • compressionType - An optional parameter to use GZIP to compress the target files. Set to NONE (the default) or do not use to leave the files uncompressed.

    Shorthand syntax: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

    JSON syntax:

    { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

  • :mongo_db_settings (Types::MongoDbSettings)

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

  • :kinesis_settings (Types::KinesisSettings)

    Settings in JSON format for the target Amazon Kinesis Data Streams endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide.

  • :elasticsearch_settings (Types::ElasticsearchSettings)

    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 AWS DMS in the AWS Database Migration User Guide.

  • :redshift_settings (Types::RedshiftSettings)

Returns:

See Also:

#modify_event_subscription(options = {}) ⇒ Types::ModifyEventSubscriptionResponse

Modifies an existing AWS DMS event notification subscription.

Examples:

Request syntax with placeholder values


resp = client.modify_event_subscription({
  subscription_name: "String", # required
  sns_topic_arn: "String",
  source_type: "String",
  event_categories: ["String"],
  enabled: false,
})

Response structure


resp.event_subscription.customer_aws_id #=> String
resp.event_subscription.cust_subscription_id #=> String
resp.event_subscription.sns_topic_arn #=> String
resp.event_subscription.status #=> String
resp.event_subscription.subscription_creation_time #=> String
resp.event_subscription.source_type #=> String
resp.event_subscription.source_ids_list #=> Array
resp.event_subscription.source_ids_list[0] #=> String
resp.event_subscription.event_categories_list #=> Array
resp.event_subscription.event_categories_list[0] #=> String
resp.event_subscription.enabled #=> true/false

Options Hash (options):

  • :subscription_name (required, String)

    The name of the AWS DMS event notification subscription to be modified.

  • :sns_topic_arn (String)

    The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

  • :source_type (String)

    The type of AWS DMS resource that generates the events you want to subscribe to.

    Valid values: replication-instance | replication-task

  • :event_categories (Array<String>)

    A list of event categories for a source type that you want to subscribe to. Use the DescribeEventCategories action to see a list of event categories.

  • :enabled (Boolean)

    A Boolean value; set to true to activate the subscription.

Returns:

See Also:

#modify_replication_instance(options = {}) ⇒ Types::ModifyReplicationInstanceResponse

Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request.

Some settings are applied during the maintenance window.

Examples:

Example: Modify replication instance


# Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request. Some settings are applied during the maintenance window.

resp = client.modify_replication_instance({
  allocated_storage: 123, 
  allow_major_version_upgrade: true, 
  apply_immediately: true, 
  auto_minor_version_upgrade: true, 
  engine_version: "1.5.0", 
  multi_az: true, 
  preferred_maintenance_window: "sun:06:00-sun:14:00", 
  replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
  replication_instance_class: "dms.t2.micro", 
  replication_instance_identifier: "test-rep-1", 
  vpc_security_group_ids: [
  ], 
})

# resp.to_h outputs the following:
{
  replication_instance: {
    allocated_storage: 5, 
    auto_minor_version_upgrade: true, 
    engine_version: "1.5.0", 
    kms_key_id: "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", 
    pending_modified_values: {
    }, 
    preferred_maintenance_window: "sun:06:00-sun:14:00", 
    publicly_accessible: true, 
    replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
    replication_instance_class: "dms.t2.micro", 
    replication_instance_identifier: "test-rep-1", 
    replication_instance_status: "available", 
    replication_subnet_group: {
      replication_subnet_group_description: "default", 
      replication_subnet_group_identifier: "default", 
      subnet_group_status: "Complete", 
      subnets: [
        {
          subnet_availability_zone: {
            name: "us-east-1d", 
          }, 
          subnet_identifier: "subnet-f6dd91af", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1b", 
          }, 
          subnet_identifier: "subnet-3605751d", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1c", 
          }, 
          subnet_identifier: "subnet-c2daefb5", 
          subnet_status: "Active", 
        }, 
        {
          subnet_availability_zone: {
            name: "us-east-1e", 
          }, 
          subnet_identifier: "subnet-85e90cb8", 
          subnet_status: "Active", 
        }, 
      ], 
      vpc_id: "vpc-6741a603", 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.modify_replication_instance({
  replication_instance_arn: "String", # required
  allocated_storage: 1,
  apply_immediately: false,
  replication_instance_class: "String",
  vpc_security_group_ids: ["String"],
  preferred_maintenance_window: "String",
  multi_az: false,
  engine_version: "String",
  allow_major_version_upgrade: false,
  auto_minor_version_upgrade: false,
  replication_instance_identifier: "String",
})

Response structure


resp.replication_instance.replication_instance_identifier #=> String
resp.replication_instance.replication_instance_class #=> String
resp.replication_instance.replication_instance_status #=> String
resp.replication_instance.allocated_storage #=> Integer
resp.replication_instance.instance_create_time #=> Time
resp.replication_instance.vpc_security_groups #=> Array
resp.replication_instance.vpc_security_groups[0].vpc_security_group_id #=> String
resp.replication_instance.vpc_security_groups[0].status #=> String
resp.replication_instance.availability_zone #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_identifier #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_description #=> String
resp.replication_instance.replication_subnet_group.vpc_id #=> String
resp.replication_instance.replication_subnet_group.subnet_group_status #=> String
resp.replication_instance.replication_subnet_group.subnets #=> Array
resp.replication_instance.replication_subnet_group.subnets[0].subnet_identifier #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_availability_zone.name #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_status #=> String
resp.replication_instance.preferred_maintenance_window #=> String
resp.replication_instance.pending_modified_values.replication_instance_class #=> String
resp.replication_instance.pending_modified_values.allocated_storage #=> Integer
resp.replication_instance.pending_modified_values.multi_az #=> true/false
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> true/false
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> true/false
resp.replication_instance.kms_key_id #=> String
resp.replication_instance.replication_instance_arn #=> String
resp.replication_instance.replication_instance_public_ip_address #=> String
resp.replication_instance.replication_instance_private_ip_address #=> String
resp.replication_instance.replication_instance_public_ip_addresses #=> Array
resp.replication_instance.replication_instance_public_ip_addresses[0] #=> String
resp.replication_instance.replication_instance_private_ip_addresses #=> Array
resp.replication_instance.replication_instance_private_ip_addresses[0] #=> String
resp.replication_instance.publicly_accessible #=> true/false
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Options Hash (options):

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of the replication instance.

  • :allocated_storage (Integer)

    The amount of storage (in gigabytes) to be allocated for the replication instance.

  • :apply_immediately (Boolean)

    Indicates whether the changes should be applied immediately or during the next maintenance window.

  • :replication_instance_class (String)

    The compute and memory capacity of the replication instance.

    Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge

  • :vpc_security_group_ids (Array<String>)

    Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.

  • :preferred_maintenance_window (String)

    The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

    Default: Uses existing setting

    Format: ddd:hh24:mi-ddd:hh24:mi

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Must be at least 30 minutes

  • :multi_az (Boolean)

    Specifies whether the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

  • :engine_version (String)

    The engine version number of the replication instance.

  • :allow_major_version_upgrade (Boolean)

    Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.

    This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance\'s current version.

  • :auto_minor_version_upgrade (Boolean)

    Indicates that minor version upgrades will be applied automatically to the replication instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and AWS DMS has enabled auto patching for that engine version.

  • :replication_instance_identifier (String)

    The replication instance identifier. This parameter is stored as a lowercase string.

Returns:

See Also:

#modify_replication_subnet_group(options = {}) ⇒ Types::ModifyReplicationSubnetGroupResponse

Modifies the settings for the specified replication subnet group.

Examples:

Example: Modify replication subnet group


# Modifies the settings for the specified replication subnet group.

resp = client.modify_replication_subnet_group({
  replication_subnet_group_description: "", 
  replication_subnet_group_identifier: "", 
  subnet_ids: [
  ], 
})

# resp.to_h outputs the following:
{
  replication_subnet_group: {
  }, 
}

Request syntax with placeholder values


resp = client.modify_replication_subnet_group({
  replication_subnet_group_identifier: "String", # required
  replication_subnet_group_description: "String",
  subnet_ids: ["String"], # required
})

Response structure


resp.replication_subnet_group.replication_subnet_group_identifier #=> String
resp.replication_subnet_group.replication_subnet_group_description #=> String
resp.replication_subnet_group.vpc_id #=> String
resp.replication_subnet_group.subnet_group_status #=> String
resp.replication_subnet_group.subnets #=> Array
resp.replication_subnet_group.subnets[0].subnet_identifier #=> String
resp.replication_subnet_group.subnets[0].subnet_availability_zone.name #=> String
resp.replication_subnet_group.subnets[0].subnet_status #=> String

Options Hash (options):

  • :replication_subnet_group_identifier (required, String)

    The name of the replication instance subnet group.

  • :replication_subnet_group_description (String)

    A description for the replication instance subnet group.

  • :subnet_ids (required, Array<String>)

    A list of subnet IDs.

Returns:

See Also:

#modify_replication_task(options = {}) ⇒ Types::ModifyReplicationTaskResponse

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

Examples:

Request syntax with placeholder values


resp = client.modify_replication_task({
  replication_task_arn: "String", # required
  replication_task_identifier: "String",
  migration_type: "full-load", # accepts full-load, cdc, full-load-and-cdc
  table_mappings: "String",
  replication_task_settings: "String",
  cdc_start_time: Time.now,
  cdc_start_position: "String",
  cdc_stop_position: "String",
})

Response structure


resp.replication_task.replication_task_identifier #=> String
resp.replication_task.source_endpoint_arn #=> String
resp.replication_task.target_endpoint_arn #=> String
resp.replication_task.replication_instance_arn #=> String
resp.replication_task.migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_task.table_mappings #=> String
resp.replication_task.replication_task_settings #=> String
resp.replication_task.status #=> String
resp.replication_task.last_failure_message #=> String
resp.replication_task.stop_reason #=> String
resp.replication_task.replication_task_creation_date #=> Time
resp.replication_task.replication_task_start_date #=> Time
resp.replication_task.cdc_start_position #=> String
resp.replication_task.cdc_stop_position #=> String
resp.replication_task.recovery_checkpoint #=> String
resp.replication_task.replication_task_arn #=> String
resp.replication_task.replication_task_stats.full_load_progress_percent #=> Integer
resp.replication_task.replication_task_stats.elapsed_time_millis #=> Integer
resp.replication_task.replication_task_stats.tables_loaded #=> Integer
resp.replication_task.replication_task_stats.tables_loading #=> Integer
resp.replication_task.replication_task_stats.tables_queued #=> Integer
resp.replication_task.replication_task_stats.tables_errored #=> Integer

Options Hash (options):

  • :replication_task_arn (required, String)

    The Amazon Resource Name (ARN) of the replication task.

  • :replication_task_identifier (String)

    The replication task identifier.

    Constraints:

    • Must contain from 1 to 255 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

  • :migration_type (String)

    The migration type. Valid values: full-load | cdc | full-load-and-cdc

  • :table_mappings (String)

    When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. When working with the DMS API, provide the JSON as the parameter value, for example: --table-mappings file://mappingfile.json

  • :replication_task_settings (String)

    JSON file that contains settings for the task, such as target metadata settings.

  • :cdc_start_time (Time)

    Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

    Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

  • :cdc_start_position (String)

    Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

    The value can be in date, checkpoint, or LSN/SCN format.

    Date Example: --cdc-start-position “2018-03-08T12:12:12”

    Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

  • :cdc_stop_position (String)

    Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

    Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

    Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

Returns:

See Also:

#reboot_replication_instance(options = {}) ⇒ Types::RebootReplicationInstanceResponse

Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again.

Examples:

Request syntax with placeholder values


resp = client.reboot_replication_instance({
  replication_instance_arn: "String", # required
  force_failover: false,
})

Response structure


resp.replication_instance.replication_instance_identifier #=> String
resp.replication_instance.replication_instance_class #=> String
resp.replication_instance.replication_instance_status #=> String
resp.replication_instance.allocated_storage #=> Integer
resp.replication_instance.instance_create_time #=> Time
resp.replication_instance.vpc_security_groups #=> Array
resp.replication_instance.vpc_security_groups[0].vpc_security_group_id #=> String
resp.replication_instance.vpc_security_groups[0].status #=> String
resp.replication_instance.availability_zone #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_identifier #=> String
resp.replication_instance.replication_subnet_group.replication_subnet_group_description #=> String
resp.replication_instance.replication_subnet_group.vpc_id #=> String
resp.replication_instance.replication_subnet_group.subnet_group_status #=> String
resp.replication_instance.replication_subnet_group.subnets #=> Array
resp.replication_instance.replication_subnet_group.subnets[0].subnet_identifier #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_availability_zone.name #=> String
resp.replication_instance.replication_subnet_group.subnets[0].subnet_status #=> String
resp.replication_instance.preferred_maintenance_window #=> String
resp.replication_instance.pending_modified_values.replication_instance_class #=> String
resp.replication_instance.pending_modified_values.allocated_storage #=> Integer
resp.replication_instance.pending_modified_values.multi_az #=> true/false
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> true/false
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> true/false
resp.replication_instance.kms_key_id #=> String
resp.replication_instance.replication_instance_arn #=> String
resp.replication_instance.replication_instance_public_ip_address #=> String
resp.replication_instance.replication_instance_private_ip_address #=> String
resp.replication_instance.replication_instance_public_ip_addresses #=> Array
resp.replication_instance.replication_instance_public_ip_addresses[0] #=> String
resp.replication_instance.replication_instance_private_ip_addresses #=> Array
resp.replication_instance.replication_instance_private_ip_addresses[0] #=> String
resp.replication_instance.publicly_accessible #=> true/false
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Options Hash (options):

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of the replication instance.

  • :force_failover (Boolean)

    If this parameter is true, the reboot is conducted through a Multi-AZ failover. (If the instance isn\'t configured for Multi-AZ, then you can\'t specify true.)

Returns:

See Also:

#refresh_schemas(options = {}) ⇒ Types::RefreshSchemasResponse

Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the DescribeRefreshSchemasStatus operation.

Examples:

Example: Refresh schema


# Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the describe-refresh-schemas-status operation.

resp = client.refresh_schemas({
  endpoint_arn: "", 
  replication_instance_arn: "", 
})

# resp.to_h outputs the following:
{
  refresh_schemas_status: {
  }, 
}

Request syntax with placeholder values


resp = client.refresh_schemas({
  endpoint_arn: "String", # required
  replication_instance_arn: "String", # required
})

Response structure


resp.refresh_schemas_status.endpoint_arn #=> String
resp.refresh_schemas_status.replication_instance_arn #=> String
resp.refresh_schemas_status.status #=> String, one of "successful", "failed", "refreshing"
resp.refresh_schemas_status.last_refresh_date #=> Time
resp.refresh_schemas_status.last_failure_message #=> String

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of the replication instance.

Returns:

See Also:

#reload_tables(options = {}) ⇒ Types::ReloadTablesResponse

Reloads the target database table with the source data.

Examples:

Request syntax with placeholder values


resp = client.reload_tables({
  replication_task_arn: "String", # required
  tables_to_reload: [ # required
    {
      schema_name: "String",
      table_name: "String",
    },
  ],
  reload_option: "data-reload", # accepts data-reload, validate-only
})

Response structure


resp.replication_task_arn #=> String

Options Hash (options):

  • :replication_task_arn (required, String)

    The Amazon Resource Name (ARN) of the replication task.

  • :tables_to_reload (required, Array<Types::TableToReload>)

    The name and schema of the table to be reloaded.

  • :reload_option (String)

    Options for reload. Specify data-reload to reload the data and re-validate it if validation is enabled. Specify validate-only to re-validate the table. This option applies only when validation is enabled for the task.

    Valid values: data-reload, validate-only

    Default value is data-reload.

Returns:

See Also:

#remove_tags_from_resource(options = {}) ⇒ Struct

Removes metadata tags from a DMS resource.

Examples:

Example: Remove tags from resource


# Removes metadata tags from an AWS DMS resource.

resp = client.remove_tags_from_resource({
  resource_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", 
  tag_keys: [
  ], 
})

# resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.remove_tags_from_resource({
  resource_arn: "String", # required
  tag_keys: ["String"], # required
})

Options Hash (options):

  • :resource_arn (required, String)

    An AWS DMS resource from which you want to remove tag(s). The value for this parameter is an Amazon Resource Name (ARN).

  • :tag_keys (required, Array<String>)

    The tag key (name) of the tag to be removed.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#start_replication_task(options = {}) ⇒ Types::StartReplicationTaskResponse

Starts the replication task.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

Examples:

Example: Start replication task


# Starts the replication task.

resp = client.start_replication_task({
  cdc_start_time: Time.parse("2016-12-14T13:33:20Z"), 
  replication_task_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
  start_replication_task_type: "start-replication", 
})

# resp.to_h outputs the following:
{
  replication_task: {
    migration_type: "full-load", 
    replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
    replication_task_arn: "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", 
    replication_task_creation_date: Time.parse("2016-12-14T18:25:43Z"), 
    replication_task_identifier: "task1", 
    replication_task_settings: "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", 
    source_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", 
    status: "creating", 
    table_mappings: "file://mappingfile.json", 
    target_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", 
  }, 
}

Request syntax with placeholder values


resp = client.start_replication_task({
  replication_task_arn: "String", # required
  start_replication_task_type: "start-replication", # required, accepts start-replication, resume-processing, reload-target
  cdc_start_time: Time.now,
  cdc_start_position: "String",
  cdc_stop_position: "String",
})

Response structure


resp.replication_task.replication_task_identifier #=> String
resp.replication_task.source_endpoint_arn #=> String
resp.replication_task.target_endpoint_arn #=> String
resp.replication_task.replication_instance_arn #=> String
resp.replication_task.migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_task.table_mappings #=> String
resp.replication_task.replication_task_settings #=> String
resp.replication_task.status #=> String
resp.replication_task.last_failure_message #=> String
resp.replication_task.stop_reason #=> String
resp.replication_task.replication_task_creation_date #=> Time
resp.replication_task.replication_task_start_date #=> Time
resp.replication_task.cdc_start_position #=> String
resp.replication_task.cdc_stop_position #=> String
resp.replication_task.recovery_checkpoint #=> String
resp.replication_task.replication_task_arn #=> String
resp.replication_task.replication_task_stats.full_load_progress_percent #=> Integer
resp.replication_task.replication_task_stats.elapsed_time_millis #=> Integer
resp.replication_task.replication_task_stats.tables_loaded #=> Integer
resp.replication_task.replication_task_stats.tables_loading #=> Integer
resp.replication_task.replication_task_stats.tables_queued #=> Integer
resp.replication_task.replication_task_stats.tables_errored #=> Integer

Options Hash (options):

  • :replication_task_arn (required, String)

    The Amazon Resource Name (ARN) of the replication task to be started.

  • :start_replication_task_type (required, String)

    The type of replication task.

  • :cdc_start_time (Time)

    Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

    Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

  • :cdc_start_position (String)

    Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

    The value can be in date, checkpoint, or LSN/SCN format.

    Date Example: --cdc-start-position “2018-03-08T12:12:12”

    Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

  • :cdc_stop_position (String)

    Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

    Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

    Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

Returns:

See Also:

#start_replication_task_assessment(options = {}) ⇒ Types::StartReplicationTaskAssessmentResponse

Starts the replication task assessment for unsupported data types in the source database.

Examples:

Request syntax with placeholder values


resp = client.start_replication_task_assessment({
  replication_task_arn: "String", # required
})

Response structure


resp.replication_task.replication_task_identifier #=> String
resp.replication_task.source_endpoint_arn #=> String
resp.replication_task.target_endpoint_arn #=> String
resp.replication_task.replication_instance_arn #=> String
resp.replication_task.migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_task.table_mappings #=> String
resp.replication_task.replication_task_settings #=> String
resp.replication_task.status #=> String
resp.replication_task.last_failure_message #=> String
resp.replication_task.stop_reason #=> String
resp.replication_task.replication_task_creation_date #=> Time
resp.replication_task.replication_task_start_date #=> Time
resp.replication_task.cdc_start_position #=> String
resp.replication_task.cdc_stop_position #=> String
resp.replication_task.recovery_checkpoint #=> String
resp.replication_task.replication_task_arn #=> String
resp.replication_task.replication_task_stats.full_load_progress_percent #=> Integer
resp.replication_task.replication_task_stats.elapsed_time_millis #=> Integer
resp.replication_task.replication_task_stats.tables_loaded #=> Integer
resp.replication_task.replication_task_stats.tables_loading #=> Integer
resp.replication_task.replication_task_stats.tables_queued #=> Integer
resp.replication_task.replication_task_stats.tables_errored #=> Integer

Options Hash (options):

  • :replication_task_arn (required, String)

    The Amazon Resource Name (ARN) of the replication task.

Returns:

See Also:

#stop_replication_task(options = {}) ⇒ Types::StopReplicationTaskResponse

Stops the replication task.

Examples:

Example: Stop replication task


# Stops the replication task.

resp = client.stop_replication_task({
  replication_task_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", 
})

# resp.to_h outputs the following:
{
  replication_task: {
    migration_type: "full-load", 
    replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
    replication_task_arn: "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", 
    replication_task_creation_date: Time.parse("2016-12-14T18:25:43Z"), 
    replication_task_identifier: "task1", 
    replication_task_settings: "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", 
    source_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", 
    status: "creating", 
    table_mappings: "file://mappingfile.json", 
    target_endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", 
  }, 
}

Request syntax with placeholder values


resp = client.stop_replication_task({
  replication_task_arn: "String", # required
})

Response structure


resp.replication_task.replication_task_identifier #=> String
resp.replication_task.source_endpoint_arn #=> String
resp.replication_task.target_endpoint_arn #=> String
resp.replication_task.replication_instance_arn #=> String
resp.replication_task.migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_task.table_mappings #=> String
resp.replication_task.replication_task_settings #=> String
resp.replication_task.status #=> String
resp.replication_task.last_failure_message #=> String
resp.replication_task.stop_reason #=> String
resp.replication_task.replication_task_creation_date #=> Time
resp.replication_task.replication_task_start_date #=> Time
resp.replication_task.cdc_start_position #=> String
resp.replication_task.cdc_stop_position #=> String
resp.replication_task.recovery_checkpoint #=> String
resp.replication_task.replication_task_arn #=> String
resp.replication_task.replication_task_stats.full_load_progress_percent #=> Integer
resp.replication_task.replication_task_stats.elapsed_time_millis #=> Integer
resp.replication_task.replication_task_stats.tables_loaded #=> Integer
resp.replication_task.replication_task_stats.tables_loading #=> Integer
resp.replication_task.replication_task_stats.tables_queued #=> Integer
resp.replication_task.replication_task_stats.tables_errored #=> Integer

Options Hash (options):

  • :replication_task_arn (required, String)

    The Amazon Resource Name(ARN) of the replication task to be stopped.

Returns:

See Also:

#test_connection(options = {}) ⇒ Types::TestConnectionResponse

Tests the connection between the replication instance and the endpoint.

Examples:

Example: Test conection


# Tests the connection between the replication instance and the endpoint.

resp = client.test_connection({
  endpoint_arn: "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", 
  replication_instance_arn: "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", 
})

# resp.to_h outputs the following:
{
  connection: {
  }, 
}

Request syntax with placeholder values


resp = client.test_connection({
  replication_instance_arn: "String", # required
  endpoint_arn: "String", # required
})

Response structure


resp.connection.replication_instance_arn #=> String
resp.connection.endpoint_arn #=> String
resp.connection.status #=> String
resp.connection.last_failure_message #=> String
resp.connection.endpoint_identifier #=> String
resp.connection.replication_instance_identifier #=> String

Options Hash (options):

  • :replication_instance_arn (required, String)

    The Amazon Resource Name (ARN) of the replication instance.

  • :endpoint_arn (required, String)

    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

Returns:

See Also:

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol)

    The name of the waiter. See #waiter_names for a full list of supported waiters.

  • params (Hash) (defaults to: {})

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.

#waiter_namesArray<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:
:endpoint_deleted#describe_endpoints560
:replication_instance_available#describe_replication_instances6060
:replication_instance_deleted#describe_replication_instances1560
:replication_task_deleted#describe_replication_tasks1560
:replication_task_ready#describe_replication_tasks1560
:replication_task_running#describe_replication_tasks1560
:replication_task_stopped#describe_replication_tasks1560
:test_connection_succeeds#describe_connections560

Returns:

  • (Array<Symbol>)

    the list of supported waiters.