Class: Aws::DatabaseMigrationService::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb

Overview

An API client for DatabaseMigrationService. To construct a client, you need to configure a :region and :credentials.

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

For details on configuring region and credentials see the developer guide.

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::SharedCredentials - Used for loading credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails to enable retries and extended timeouts.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

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

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test endpoints. This should be a valid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    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.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :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, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :secret_access_key (String)
  • :session_token (String)
  • :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.

  • :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.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

  • :http_read_timeout (Integer) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.



315
316
317
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 315

def initialize(*args)
  super
end

Instance Method Details

#add_tags_to_resource(params = {}) ⇒ 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",
    },
  ],
})

Parameters:

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

    ({})

Options Hash (params):

  • :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:



376
377
378
379
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 376

def add_tags_to_resource(params = {}, options = {})
  req = build_request(:add_tags_to_resource, params)
  req.send_request(options)
end

#apply_pending_maintenance_action(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



432
433
434
435
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 432

def apply_pending_maintenance_action(params = {}, options = {})
  req = build_request(:apply_pending_maintenance_action, params)
  req.send_request(options)
end

#create_endpoint(params = {}) ⇒ 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",
    parquet_timestamp_in_millisecond: false,
    cdc_inserts_and_updates: false,
  },
  dms_transfer_settings: {
    service_access_role_arn: "String",
    bucket_name: "String",
  },
  mongo_db_settings: {
    username: "String",
    password: "SecretString",
    server_name: "String",
    port: 1,
    database_name: "String",
    auth_type: "no", # accepts no, password
    auth_mechanism: "default", # accepts default, mongodb_cr, scram_sha_1
    nesting_level: "none", # accepts none, one
    extract_doc_id: "String",
    docs_to_investigate: "String",
    auth_source: "String",
    kms_key_id: "String",
  },
  kinesis_settings: {
    stream_arn: "String",
    message_format: "json", # accepts json, json-unformatted
    service_access_role_arn: "String",
    include_transaction_details: false,
    include_partition_value: false,
    partition_include_schema_table: false,
    include_table_alter_operations: false,
    include_control_details: false,
  },
  kafka_settings: {
    broker: "String",
    topic: "String",
  },
  elasticsearch_settings: {
    service_access_role_arn: "String", # required
    endpoint_uri: "String", # required
    full_load_error_percentage: 1,
    error_retry_duration: 1,
  },
  neptune_settings: {
    service_access_role_arn: "String",
    s3_bucket_name: "String", # required
    s3_bucket_folder: "String", # required
    error_retry_duration: 1,
    max_file_size: 1,
    max_retry_count: 1,
    iam_auth_enabled: false,
  },
  redshift_settings: {
    accept_any_date: false,
    after_connect_script: "String",
    bucket_folder: "String",
    bucket_name: "String",
    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 #=> Boolean
resp.endpoint.s3_settings.include_op_for_full_load #=> Boolean
resp.endpoint.s3_settings.cdc_inserts_only #=> Boolean
resp.endpoint.s3_settings.timestamp_column_name #=> String
resp.endpoint.s3_settings.parquet_timestamp_in_millisecond #=> Boolean
resp.endpoint.s3_settings.cdc_inserts_and_updates #=> Boolean
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", "json-unformatted"
resp.endpoint.kinesis_settings.service_access_role_arn #=> String
resp.endpoint.kinesis_settings.include_transaction_details #=> Boolean
resp.endpoint.kinesis_settings.include_partition_value #=> Boolean
resp.endpoint.kinesis_settings.partition_include_schema_table #=> Boolean
resp.endpoint.kinesis_settings.include_table_alter_operations #=> Boolean
resp.endpoint.kinesis_settings.include_control_details #=> Boolean
resp.endpoint.kafka_settings.broker #=> String
resp.endpoint.kafka_settings.topic #=> 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.neptune_settings.service_access_role_arn #=> String
resp.endpoint.neptune_settings.s3_bucket_name #=> String
resp.endpoint.neptune_settings.s3_bucket_folder #=> String
resp.endpoint.neptune_settings.error_retry_duration #=> Integer
resp.endpoint.neptune_settings.max_file_size #=> Integer
resp.endpoint.neptune_settings.max_retry_count #=> Integer
resp.endpoint.neptune_settings.iam_auth_enabled #=> Boolean
resp.endpoint.redshift_settings.accept_any_date #=> Boolean
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 #=> Boolean
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 #=> Boolean
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 #=> Boolean
resp.endpoint.redshift_settings.truncate_columns #=> Boolean
resp.endpoint.redshift_settings.username #=> String
resp.endpoint.redshift_settings.write_buffer_size #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :endpoint_identifier (required, String)

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

  • :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", "kinesis", "kafka", "elasticsearch", "documentdb", 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 information about other 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 settings 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 settings is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string

    JSON syntax for these settings 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 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 endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see Using Amazon Kinesis Data Streams as a Target for AWS Database Migration Service in the AWS Database Migration User Guide.

  • :kafka_settings (Types::KafkaSettings)

    Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see Using Apache Kafka as a Target for AWS Database Migration Service 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.

  • :neptune_settings (Types::NeptuneSettings)

    Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings in the AWS Database Migration Service User Guide.

  • :redshift_settings (Types::RedshiftSettings)

    Provides information that defines an Amazon Redshift endpoint.

Returns:

See Also:



881
882
883
884
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 881

def create_endpoint(params = {}, options = {})
  req = build_request(:create_endpoint, params)
  req.send_request(options)
end

#create_event_subscription(params = {}) ⇒ 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 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :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 isn't 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:



991
992
993
994
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 991

def create_event_subscription(params = {}, options = {})
  req = build_request(:create_event_subscription, params)
  req.send_request(options)
end

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

Creates the replication instance using the specified parameters.

AWS DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see Creating the IAM Roles to Use With the AWS CLI and AWS DMS API. For information on the required permissions, see IAM Permissions Needed to Use AWS DMS.

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 #=> Boolean
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> Boolean
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> Boolean
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 #=> Boolean
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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.

    • Can't 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 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 can't 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)

    A value that indicates whether minor engine upgrades are 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:



1252
1253
1254
1255
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1252

def create_replication_instance(params = {}, options = {})
  req = build_request(:create_replication_instance, params)
  req.send_request(options)
end

#create_replication_subnet_group(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



1337
1338
1339
1340
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1337

def create_replication_subnet_group(params = {}, options = {})
  req = build_request(:create_replication_subnet_group, params)
  req.send_request(options)
end

#create_replication_task(params = {}) ⇒ 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",
    },
  ],
  task_data: "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
resp.replication_task.replication_task_stats.fresh_start_date #=> Time
resp.replication_task.replication_task_stats.start_date #=> Time
resp.replication_task.replication_task_stats.stop_date #=> Time
resp.replication_task.replication_task_stats.full_load_start_date #=> Time
resp.replication_task.replication_task_stats.full_load_finish_date #=> Time
resp.replication_task.task_data #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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 Using Table Mapping to Specify Task Settings in the AWS Database Migration User Guide.

  • :replication_task_settings (String)

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

  • :cdc_start_time (Time, DateTime, Date, Integer, String)

    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”

    When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.

  • :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.

  • :task_data (String)

    Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration User Guide.

Returns:

See Also:



1545
1546
1547
1548
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1545

def create_replication_task(params = {}, options = {})
  req = build_request(:create_replication_task, params)
  req.send_request(options)
end

#delete_certificate(params = {}) ⇒ 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 #=> String
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

Parameters:

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

    ({})

Options Hash (params):

  • :certificate_arn (required, String)

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

Returns:

See Also:



1597
1598
1599
1600
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1597

def delete_certificate(params = {}, options = {})
  req = build_request(:delete_certificate, params)
  req.send_request(options)
end

#delete_connection(params = {}) ⇒ Types::DeleteConnectionResponse

Deletes the connection between a replication instance and an endpoint.

Examples:

Example: Delete Connection


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

resp = client.delete_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.delete_connection({
  endpoint_arn: "String", # required
  replication_instance_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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



1651
1652
1653
1654
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1651

def delete_connection(params = {}, options = {})
  req = build_request(:delete_connection, params)
  req.send_request(options)
end

#delete_endpoint(params = {}) ⇒ 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 #=> Boolean
resp.endpoint.s3_settings.include_op_for_full_load #=> Boolean
resp.endpoint.s3_settings.cdc_inserts_only #=> Boolean
resp.endpoint.s3_settings.timestamp_column_name #=> String
resp.endpoint.s3_settings.parquet_timestamp_in_millisecond #=> Boolean
resp.endpoint.s3_settings.cdc_inserts_and_updates #=> Boolean
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", "json-unformatted"
resp.endpoint.kinesis_settings.service_access_role_arn #=> String
resp.endpoint.kinesis_settings.include_transaction_details #=> Boolean
resp.endpoint.kinesis_settings.include_partition_value #=> Boolean
resp.endpoint.kinesis_settings.partition_include_schema_table #=> Boolean
resp.endpoint.kinesis_settings.include_table_alter_operations #=> Boolean
resp.endpoint.kinesis_settings.include_control_details #=> Boolean
resp.endpoint.kafka_settings.broker #=> String
resp.endpoint.kafka_settings.topic #=> 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.neptune_settings.service_access_role_arn #=> String
resp.endpoint.neptune_settings.s3_bucket_name #=> String
resp.endpoint.neptune_settings.s3_bucket_folder #=> String
resp.endpoint.neptune_settings.error_retry_duration #=> Integer
resp.endpoint.neptune_settings.max_file_size #=> Integer
resp.endpoint.neptune_settings.max_retry_count #=> Integer
resp.endpoint.neptune_settings.iam_auth_enabled #=> Boolean
resp.endpoint.redshift_settings.accept_any_date #=> Boolean
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 #=> Boolean
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 #=> Boolean
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 #=> Boolean
resp.endpoint.redshift_settings.truncate_columns #=> Boolean
resp.endpoint.redshift_settings.username #=> String
resp.endpoint.redshift_settings.write_buffer_size #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :endpoint_arn (required, String)

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

Returns:

See Also:



1808
1809
1810
1811
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1808

def delete_endpoint(params = {}, options = {})
  req = build_request(:delete_endpoint, params)
  req.send_request(options)
end

#delete_event_subscription(params = {}) ⇒ 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 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :subscription_name (required, String)

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

Returns:

See Also:



1846
1847
1848
1849
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1846

def delete_event_subscription(params = {}, options = {})
  req = build_request(:delete_event_subscription, params)
  req.send_request(options)
end

#delete_replication_instance(params = {}) ⇒ 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 #=> Boolean
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> Boolean
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> Boolean
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 #=> Boolean
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :replication_instance_arn (required, String)

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

Returns:

See Also:



1980
1981
1982
1983
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1980

def delete_replication_instance(params = {}, options = {})
  req = build_request(:delete_replication_instance, params)
  req.send_request(options)
end

#delete_replication_subnet_group(params = {}) ⇒ 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
})

Parameters:

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

    ({})

Options Hash (params):

  • :replication_subnet_group_identifier (required, String)

    The subnet group name of the replication instance.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2015
2016
2017
2018
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2015

def delete_replication_subnet_group(params = {}, options = {})
  req = build_request(:delete_replication_subnet_group, params)
  req.send_request(options)
end

#delete_replication_task(params = {}) ⇒ 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
resp.replication_task.replication_task_stats.fresh_start_date #=> Time
resp.replication_task.replication_task_stats.start_date #=> Time
resp.replication_task.replication_task_stats.stop_date #=> Time
resp.replication_task.replication_task_stats.full_load_start_date #=> Time
resp.replication_task.replication_task_stats.full_load_finish_date #=> Time
resp.replication_task.task_data #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_arn (required, String)

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

Returns:

See Also:



2095
2096
2097
2098
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2095

def delete_replication_task(params = {}, options = {})
  req = build_request(:delete_replication_task, params)
  req.send_request(options)
end

#describe_account_attributes(params = {}) ⇒ 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, 
    }, 
  ], 
}

Response structure


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

Parameters:

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

    ({})

Returns:

See Also:



2159
2160
2161
2162
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2159

def (params = {}, options = {})
  req = build_request(:describe_account_attributes, params)
  req.send_request(options)
end

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

Provides a description of the certificate.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 #=> String
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

Parameters:

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

    ({})

Options Hash (params):

  • :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 value specified by MaxRecords.

Returns:

See Also:



2248
2249
2250
2251
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2248

def describe_certificates(params = {}, options = {})
  req = build_request(:describe_certificates, params)
  req.send_request(options)
end

#describe_connections(params = {}) ⇒ 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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • test_connection_succeeds

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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



2351
2352
2353
2354
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2351

def describe_connections(params = {}, options = {})
  req = build_request(:describe_connections, params)
  req.send_request(options)
end

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

Returns information about the type of endpoints available.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 #=> Boolean
resp.supported_endpoint_types[0].endpoint_type #=> String, one of "source", "target"
resp.supported_endpoint_types[0].replication_instance_engine_minimum_version #=> String
resp.supported_endpoint_types[0].engine_display_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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:



2438
2439
2440
2441
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2438

def describe_endpoint_types(params = {}, options = {})
  req = build_request(:describe_endpoint_types, params)
  req.send_request(options)
end

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

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • endpoint_deleted

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 #=> Boolean
resp.endpoints[0].s3_settings.include_op_for_full_load #=> Boolean
resp.endpoints[0].s3_settings.cdc_inserts_only #=> Boolean
resp.endpoints[0].s3_settings.timestamp_column_name #=> String
resp.endpoints[0].s3_settings.parquet_timestamp_in_millisecond #=> Boolean
resp.endpoints[0].s3_settings.cdc_inserts_and_updates #=> Boolean
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", "json-unformatted"
resp.endpoints[0].kinesis_settings.service_access_role_arn #=> String
resp.endpoints[0].kinesis_settings.include_transaction_details #=> Boolean
resp.endpoints[0].kinesis_settings.include_partition_value #=> Boolean
resp.endpoints[0].kinesis_settings.partition_include_schema_table #=> Boolean
resp.endpoints[0].kinesis_settings.include_table_alter_operations #=> Boolean
resp.endpoints[0].kinesis_settings.include_control_details #=> Boolean
resp.endpoints[0].kafka_settings.broker #=> String
resp.endpoints[0].kafka_settings.topic #=> 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].neptune_settings.service_access_role_arn #=> String
resp.endpoints[0].neptune_settings.s3_bucket_name #=> String
resp.endpoints[0].neptune_settings.s3_bucket_folder #=> String
resp.endpoints[0].neptune_settings.error_retry_duration #=> Integer
resp.endpoints[0].neptune_settings.max_file_size #=> Integer
resp.endpoints[0].neptune_settings.max_retry_count #=> Integer
resp.endpoints[0].neptune_settings.iam_auth_enabled #=> Boolean
resp.endpoints[0].redshift_settings.accept_any_date #=> Boolean
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 #=> Boolean
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 #=> Boolean
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 #=> Boolean
resp.endpoints[0].redshift_settings.truncate_columns #=> Boolean
resp.endpoints[0].redshift_settings.username #=> String
resp.endpoints[0].redshift_settings.write_buffer_size #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :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:



2626
2627
2628
2629
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2626

def describe_endpoints(params = {}, options = {})
  req = build_request(:describe_endpoints, params)
  req.send_request(options)
end

#describe_event_categories(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



2675
2676
2677
2678
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2675

def describe_event_categories(params = {}, options = {})
  req = build_request(:describe_event_categories, params)
  req.send_request(options)
end

#describe_event_subscriptions(params = {}) ⇒ 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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :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:



2750
2751
2752
2753
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2750

def describe_event_subscriptions(params = {}, options = {})
  req = build_request(:describe_event_subscriptions, params)
  req.send_request(options)
end

#describe_events(params = {}) ⇒ 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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

  • :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, DateTime, Date, Integer, String)

    The start time for the events to be listed.

  • :end_time (Time, DateTime, Date, Integer, String)

    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:



2843
2844
2845
2846
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2843

def describe_events(params = {}, options = {})
  req = build_request(:describe_events, params)
  req.send_request(options)
end

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

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



2916
2917
2918
2919
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2916

def describe_orderable_replication_instances(params = {}, options = {})
  req = build_request(:describe_orderable_replication_instances, params)
  req.send_request(options)
end

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

For internal use only

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



2981
2982
2983
2984
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2981

def describe_pending_maintenance_actions(params = {}, options = {})
  req = build_request(:describe_pending_maintenance_actions, params)
  req.send_request(options)
end

#describe_refresh_schemas_status(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :endpoint_arn (required, String)

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

Returns:

See Also:



3029
3030
3031
3032
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3029

def describe_refresh_schemas_status(params = {}, options = {})
  req = build_request(:describe_refresh_schemas_status, params)
  req.send_request(options)
end

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

Returns information about the task logs for the specified task.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



3083
3084
3085
3086
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3083

def describe_replication_instance_task_logs(params = {}, options = {})
  req = build_request(:describe_replication_instance_task_logs, params)
  req.send_request(options)
end

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

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • replication_instance_available
  • replication_instance_deleted

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 #=> Boolean
resp.replication_instances[0].pending_modified_values.engine_version #=> String
resp.replication_instances[0].multi_az #=> Boolean
resp.replication_instances[0].engine_version #=> String
resp.replication_instances[0].auto_minor_version_upgrade #=> Boolean
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 #=> Boolean
resp.replication_instances[0].secondary_availability_zone #=> String
resp.replication_instances[0].free_until #=> Time
resp.replication_instances[0].dns_name_servers #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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:



3211
3212
3213
3214
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3211

def describe_replication_instances(params = {}, options = {})
  req = build_request(:describe_replication_instances, params)
  req.send_request(options)
end

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

Returns information about the replication subnet groups.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the describe action.

    Valid filter names: replication-subnet-group-id

  • :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:



3301
3302
3303
3304
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3301

def describe_replication_subnet_groups(params = {}, options = {})
  req = build_request(:describe_replication_subnet_groups, params)
  req.send_request(options)
end

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

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_arn (String)

    The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input parameter is specified, the API returns only one result and ignore the values of the MaxRecords 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:



3363
3364
3365
3366
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3363

def describe_replication_task_assessment_results(params = {}, options = {})
  req = build_request(:describe_replication_task_assessment_results, params)
  req.send_request(options)
end

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

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • replication_task_deleted
  • replication_task_ready
  • replication_task_running
  • replication_task_stopped

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
resp.replication_tasks[0].replication_task_stats.fresh_start_date #=> Time
resp.replication_tasks[0].replication_task_stats.start_date #=> Time
resp.replication_tasks[0].replication_task_stats.stop_date #=> Time
resp.replication_tasks[0].replication_task_stats.full_load_start_date #=> Time
resp.replication_tasks[0].replication_task_stats.full_load_finish_date #=> Time
resp.replication_tasks[0].task_data #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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:



3489
3490
3491
3492
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3489

def describe_replication_tasks(params = {}, options = {})
  req = build_request(:describe_replication_tasks, params)
  req.send_request(options)
end

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

Returns information about the schema for the specified endpoint.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



3558
3559
3560
3561
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3558

def describe_schemas(params = {}, options = {})
  req = build_request(:describe_schemas, params)
  req.send_request(options)
end

#describe_table_statistics(params = {}) ⇒ 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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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].full_load_start_time #=> Time
resp.table_statistics[0].full_load_end_time #=> Time
resp.table_statistics[0].full_load_reloaded #=> Boolean
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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



3667
3668
3669
3670
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3667

def describe_table_statistics(params = {}, options = {})
  req = build_request(:describe_table_statistics, params)
  req.send_request(options)
end

#import_certificate(params = {}) ⇒ 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 #=> String
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

Parameters:

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

    ({})

Options Hash (params):

  • :certificate_identifier (required, String)

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

  • :certificate_pem (String)

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

  • :certificate_wallet (String, IO)

    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:



3741
3742
3743
3744
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3741

def import_certificate(params = {}, options = {})
  req = build_request(:import_certificate, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

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

Returns:

See Also:



3787
3788
3789
3790
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3787

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#modify_endpoint(params = {}) ⇒ 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",
    parquet_timestamp_in_millisecond: false,
    cdc_inserts_and_updates: false,
  },
  dms_transfer_settings: {
    service_access_role_arn: "String",
    bucket_name: "String",
  },
  mongo_db_settings: {
    username: "String",
    password: "SecretString",
    server_name: "String",
    port: 1,
    database_name: "String",
    auth_type: "no", # accepts no, password
    auth_mechanism: "default", # accepts default, mongodb_cr, scram_sha_1
    nesting_level: "none", # accepts none, one
    extract_doc_id: "String",
    docs_to_investigate: "String",
    auth_source: "String",
    kms_key_id: "String",
  },
  kinesis_settings: {
    stream_arn: "String",
    message_format: "json", # accepts json, json-unformatted
    service_access_role_arn: "String",
    include_transaction_details: false,
    include_partition_value: false,
    partition_include_schema_table: false,
    include_table_alter_operations: false,
    include_control_details: false,
  },
  kafka_settings: {
    broker: "String",
    topic: "String",
  },
  elasticsearch_settings: {
    service_access_role_arn: "String", # required
    endpoint_uri: "String", # required
    full_load_error_percentage: 1,
    error_retry_duration: 1,
  },
  neptune_settings: {
    service_access_role_arn: "String",
    s3_bucket_name: "String", # required
    s3_bucket_folder: "String", # required
    error_retry_duration: 1,
    max_file_size: 1,
    max_retry_count: 1,
    iam_auth_enabled: false,
  },
  redshift_settings: {
    accept_any_date: false,
    after_connect_script: "String",
    bucket_folder: "String",
    bucket_name: "String",
    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 #=> Boolean
resp.endpoint.s3_settings.include_op_for_full_load #=> Boolean
resp.endpoint.s3_settings.cdc_inserts_only #=> Boolean
resp.endpoint.s3_settings.timestamp_column_name #=> String
resp.endpoint.s3_settings.parquet_timestamp_in_millisecond #=> Boolean
resp.endpoint.s3_settings.cdc_inserts_and_updates #=> Boolean
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", "json-unformatted"
resp.endpoint.kinesis_settings.service_access_role_arn #=> String
resp.endpoint.kinesis_settings.include_transaction_details #=> Boolean
resp.endpoint.kinesis_settings.include_partition_value #=> Boolean
resp.endpoint.kinesis_settings.partition_include_schema_table #=> Boolean
resp.endpoint.kinesis_settings.include_table_alter_operations #=> Boolean
resp.endpoint.kinesis_settings.include_control_details #=> Boolean
resp.endpoint.kafka_settings.broker #=> String
resp.endpoint.kafka_settings.topic #=> 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.neptune_settings.service_access_role_arn #=> String
resp.endpoint.neptune_settings.s3_bucket_name #=> String
resp.endpoint.neptune_settings.s3_bucket_folder #=> String
resp.endpoint.neptune_settings.error_retry_duration #=> Integer
resp.endpoint.neptune_settings.max_file_size #=> Integer
resp.endpoint.neptune_settings.max_retry_count #=> Integer
resp.endpoint.neptune_settings.iam_auth_enabled #=> Boolean
resp.endpoint.redshift_settings.accept_any_date #=> Boolean
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 #=> Boolean
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 #=> Boolean
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 #=> Boolean
resp.endpoint.redshift_settings.truncate_columns #=> Boolean
resp.endpoint.redshift_settings.username #=> String
resp.endpoint.redshift_settings.write_buffer_size #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :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 and must contain only ASCII letters, digits, and hyphens. They can't 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", "kinesis", "kafka", "elasticsearch", "documentdb", 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 information about other 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 AWS Identity and Access Management (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. Either set this parameter to NONE (the default) or don't use it to leave the files uncompressed.

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

    JSON syntax for these settings 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 endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see Using Amazon Kinesis Data Streams as a Target for AWS Database Migration Service in the AWS Database Migration User Guide.

  • :kafka_settings (Types::KafkaSettings)

    Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see Using Apache Kafka as a Target for AWS Database Migration Service 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.

  • :neptune_settings (Types::NeptuneSettings)

    Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings in the AWS Database Migration Service User Guide.

  • :redshift_settings (Types::RedshiftSettings)

    Provides information that defines an Amazon Redshift endpoint.

Returns:

See Also:



4200
4201
4202
4203
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4200

def modify_endpoint(params = {}, options = {})
  req = build_request(:modify_endpoint, params)
  req.send_request(options)
end

#modify_event_subscription(params = {}) ⇒ 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 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :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:



4262
4263
4264
4265
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4262

def modify_event_subscription(params = {}, options = {})
  req = build_request(:modify_event_subscription, params)
  req.send_request(options)
end

#modify_replication_instance(params = {}) ⇒ 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 #=> Boolean
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> Boolean
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> Boolean
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 #=> Boolean
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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 can't 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)

    A value that indicates that minor version upgrades are applied automatically to the replication instance during the maintenance window. Changing this parameter doesn't result in an outage, except in the case dsecribed following. The change is asynchronously applied as soon as possible.

    An outage does result if these factors apply:

    • This parameter is set to true during the maintenance window.

    • A newer minor version is available.

    • AWS DMS has enabled automatic patching for the given engine version.

  • :replication_instance_identifier (String)

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

Returns:

See Also:



4488
4489
4490
4491
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4488

def modify_replication_instance(params = {}, options = {})
  req = build_request(:modify_replication_instance, params)
  req.send_request(options)
end

#modify_replication_subnet_group(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



4549
4550
4551
4552
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4549

def modify_replication_subnet_group(params = {}, options = {})
  req = build_request(:modify_replication_subnet_group, params)
  req.send_request(options)
end

#modify_replication_task(params = {}) ⇒ 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",
  task_data: "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
resp.replication_task.replication_task_stats.fresh_start_date #=> Time
resp.replication_task.replication_task_stats.start_date #=> Time
resp.replication_task.replication_task_stats.stop_date #=> Time
resp.replication_task.replication_task_stats.full_load_start_date #=> Time
resp.replication_task.replication_task_stats.full_load_finish_date #=> Time
resp.replication_task.task_data #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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 task metadata settings.

  • :cdc_start_time (Time, DateTime, Date, Integer, String)

    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”

    When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.

  • :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 “

  • :task_data (String)

    Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration User Guide.

Returns:

See Also:



4702
4703
4704
4705
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4702

def modify_replication_task(params = {}, options = {})
  req = build_request(:modify_replication_task, params)
  req.send_request(options)
end

#reboot_replication_instance(params = {}) ⇒ 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 #=> Boolean
resp.replication_instance.pending_modified_values.engine_version #=> String
resp.replication_instance.multi_az #=> Boolean
resp.replication_instance.engine_version #=> String
resp.replication_instance.auto_minor_version_upgrade #=> Boolean
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 #=> Boolean
resp.replication_instance.secondary_availability_zone #=> String
resp.replication_instance.free_until #=> Time
resp.replication_instance.dns_name_servers #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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:



4773
4774
4775
4776
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4773

def reboot_replication_instance(params = {}, options = {})
  req = build_request(:reboot_replication_instance, params)
  req.send_request(options)
end

#refresh_schemas(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



4830
4831
4832
4833
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4830

def refresh_schemas(params = {}, options = {})
  req = build_request(:refresh_schemas, params)
  req.send_request(options)
end

#reload_tables(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



4878
4879
4880
4881
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4878

def reload_tables(params = {}, options = {})
  req = build_request(:reload_tables, params)
  req.send_request(options)
end

#remove_tags_from_resource(params = {}) ⇒ 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
})

Parameters:

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

    ({})

Options Hash (params):

  • :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:



4920
4921
4922
4923
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4920

def remove_tags_from_resource(params = {}, options = {})
  req = build_request(:remove_tags_from_resource, params)
  req.send_request(options)
end

#start_replication_task(params = {}) ⇒ 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
resp.replication_task.replication_task_stats.fresh_start_date #=> Time
resp.replication_task.replication_task_stats.start_date #=> Time
resp.replication_task.replication_task_stats.stop_date #=> Time
resp.replication_task.replication_task_stats.full_load_start_date #=> Time
resp.replication_task.replication_task_stats.full_load_finish_date #=> Time
resp.replication_task.task_data #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :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, DateTime, Date, Integer, String)

    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”

    When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.

  • :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:



5061
5062
5063
5064
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5061

def start_replication_task(params = {}, options = {})
  req = build_request(:start_replication_task, params)
  req.send_request(options)
end

#start_replication_task_assessment(params = {}) ⇒ 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
resp.replication_task.replication_task_stats.fresh_start_date #=> Time
resp.replication_task.replication_task_stats.start_date #=> Time
resp.replication_task.replication_task_stats.stop_date #=> Time
resp.replication_task.replication_task_stats.full_load_start_date #=> Time
resp.replication_task.replication_task_stats.full_load_finish_date #=> Time
resp.replication_task.task_data #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_arn (required, String)

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

Returns:

See Also:



5117
5118
5119
5120
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5117

def start_replication_task_assessment(params = {}, options = {})
  req = build_request(:start_replication_task_assessment, params)
  req.send_request(options)
end

#stop_replication_task(params = {}) ⇒ 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
resp.replication_task.replication_task_stats.fresh_start_date #=> Time
resp.replication_task.replication_task_stats.start_date #=> Time
resp.replication_task.replication_task_stats.stop_date #=> Time
resp.replication_task.replication_task_stats.full_load_start_date #=> Time
resp.replication_task.replication_task_stats.full_load_finish_date #=> Time
resp.replication_task.task_data #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_arn (required, String)

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

Returns:

See Also:



5197
5198
5199
5200
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5197

def stop_replication_task(params = {}, options = {})
  req = build_request(:stop_replication_task, params)
  req.send_request(options)
end

#test_connection(params = {}) ⇒ 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

Parameters:

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

    ({})

Options Hash (params):

  • :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:



5252
5253
5254
5255
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5252

def test_connection(params = {}, options = {})
  req = build_request(:test_connection, params)
  req.send_request(options)
end

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

Polls an API operation until a resource enters a desired state.

Basic Usage

A waiter will call an API operation until:

  • It is successful
  • It enters a terminal state
  • It makes the maximum number of attempts

In between attempts, the waiter will sleep.

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

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.

# poll for ~25 seconds
client.wait_until(waiter_name, params, {
  max_attempts: 5,
  delay: 5,
})

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(waiter_name, params, {

  # disable max attempts
  max_attempts: nil,

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

Handling Errors

When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.

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

Valid Waiters

The following table lists the valid waiter names, the operations they call, and the default :delay and :max_attempts values.

waiter_name params :delay :max_attempts
endpoint_deleted #describe_endpoints 5 60
replication_instance_available #describe_replication_instances 60 60
replication_instance_deleted #describe_replication_instances 15 60
replication_task_deleted #describe_replication_tasks 15 60
replication_task_ready #describe_replication_tasks 15 60
replication_task_running #describe_replication_tasks 15 60
replication_task_stopped #describe_replication_tasks 15 60
test_connection_succeeds #describe_connections 5 60

Parameters:

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

    ({})

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

    ({})

Options Hash (options):

  • :max_attempts (Integer)
  • :delay (Integer)
  • :before_attempt (Proc)
  • :before_wait (Proc)

Yields:

  • (w.waiter)

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.



5369
5370
5371
5372
5373
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5369

def wait_until(waiter_name, params = {}, options = {})
  w = waiter(waiter_name, options)
  yield(w.waiter) if block_given? # deprecated
  w.wait(params)
end