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

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials used for authentication. This can be any class that includes and implements Aws::CredentialProvider, or instance of any one of the following classes:

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

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

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

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

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

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

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

    • Aws.config[:credentials]

    • The :access_key_id, :secret_access_key, :session_token, and :account_id options.

    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID'].

    • ~/.aws/credentials

    • ~/.aws/config

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.

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

  • :auth_scheme_preference (Array<String>)

    A list of preferred authentication schemes to use when making a request. Supported values are: sigv4, sigv4a, httpBearerAuth, and noAuth. When set using ENV['AWS_AUTH_SCHEME_PREFERENCE'] or in shared config as auth_scheme_preference, the value should be a comma-separated list.

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

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

    See Aws::DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    When true, the SDK will not prepend the modeled host prefix to the endpoint.

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :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.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

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

  • :request_checksum_calculation (String) — default: "when_supported"

    Determines when a checksum will be calculated for request payloads. Values are:

    • when_supported - (default) When set, a checksum will be calculated for all request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true and/or a requestAlgorithmMember is modeled.
    • when_required - When set, a checksum will only be calculated for request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true or where a requestAlgorithmMember is modeled and supplied.
  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :response_checksum_validation (String) — default: "when_supported"

    Determines when checksum validation will be performed on response payloads. Values are:

    • when_supported - (default) When set, checksum validation is performed on all response payloads of operations modeled with the httpChecksum trait where responseAlgorithms is modeled, except when no modeled checksum algorithms are supported.
    • when_required - When set, checksum validation is not performed on response payloads of operations unless the checksum algorithm is supported and the requestValidationModeMember member is set to ENABLED.
  • :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 the 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 - A retry mode that includes all the functionality of standard mode along with automatic client side throttling.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disables response data type conversions. The request parameters hash must be formatted exactly as the API expects.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.

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

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider)

    Your Bearer token used for authentication. This can be any class that includes and implements Aws::TokenProvider, or instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

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

  • :endpoint_provider (Aws::DatabaseMigrationService::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::DatabaseMigrationService::EndpointParameters.

  • :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_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_open_timeout (Float) — default: 15

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

  • :http_proxy (URI::HTTP, String)

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

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. 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.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

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

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

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



478
479
480
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 478

def initialize(*args)
  super
end

Instance Method Details

#add_tags_to_resource(params = {}) ⇒ Struct

Adds metadata tags to an DMS resource, including replication instance, endpoint, subnet 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. For more information, see Tag data type description.

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",
      resource_arn: "String",
    },
  ],
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

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

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



544
545
546
547
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 544

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 DMS resource that the pending maintenance action applies to.

  • :apply_action (required, String)

    The pending maintenance action to apply to this resource.

    Valid values: os-upgrade, system-update, db-upgrade, os-patch

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



602
603
604
605
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 602

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

#batch_start_recommendations(params = {}) ⇒ Types::BatchStartRecommendationsResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Starts the analysis of up to 20 source databases to recommend target engines for each source database. This is a batch version of StartRecommendations.

The result of analysis of each source database is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

Examples:

Request syntax with placeholder values


resp = client.batch_start_recommendations({
  data: [
    {
      database_id: "String", # required
      settings: { # required
        instance_sizing_type: "String", # required
        workload_type: "String", # required
      },
    },
  ],
})

Response structure


resp.error_entries #=> Array
resp.error_entries[0].database_id #=> String
resp.error_entries[0].message #=> String
resp.error_entries[0].code #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data (Array<Types::StartRecommendationsRequestEntry>)

    Provides information about source databases to analyze. After this analysis, Fleet Advisor recommends target engines for each source database.

Returns:

See Also:



663
664
665
666
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 663

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

#cancel_metadata_model_conversion(params = {}) ⇒ Types::CancelMetadataModelConversionResponse

Cancels a single metadata model conversion operation that was started with StartMetadataModelConversion.

Required permissions: dms:CancelMetadataModelConversion. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Cancel a metadata model conversion


# The following example cancels a metadata model conversion operation.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
})

resp.to_h outputs the following:
{
  request: {
    migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
    status: "CANCELING", 
  }, 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  request_identifier: "String", # required
})

Response structure


resp.request.status #=> String
resp.request.request_identifier #=> String
resp.request.migration_project_arn #=> String
resp.request.error.default_error_details.message #=> String
resp.request.export_sql_details.s3_object_key #=> String
resp.request.export_sql_details.object_url #=> String
resp.request.progress.progress_percent #=> Float
resp.request.progress.total_objects #=> Integer
resp.request.progress.progress_step #=> String
resp.request.progress.processed_object.name #=> String
resp.request.progress.processed_object.type #=> String
resp.request.progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :request_identifier (required, String)

    The identifier for the metadata model conversion operation to cancel. This operation was initiated by StartMetadataModelConversion.

Returns:

See Also:



735
736
737
738
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 735

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

#cancel_metadata_model_creation(params = {}) ⇒ Types::CancelMetadataModelCreationResponse

Cancels a single metadata model creation operation that was started with StartMetadataModelCreation.

Required permissions: dms:CancelMetadataModelCreation. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Cancel a metadata model creation


# The following example cancels a metadata model creation operation.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
})

resp.to_h outputs the following:
{
  request: {
    migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
    status: "CANCELING", 
  }, 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  request_identifier: "String", # required
})

Response structure


resp.request.status #=> String
resp.request.request_identifier #=> String
resp.request.migration_project_arn #=> String
resp.request.error.default_error_details.message #=> String
resp.request.export_sql_details.s3_object_key #=> String
resp.request.export_sql_details.object_url #=> String
resp.request.progress.progress_percent #=> Float
resp.request.progress.total_objects #=> Integer
resp.request.progress.progress_step #=> String
resp.request.progress.processed_object.name #=> String
resp.request.progress.processed_object.type #=> String
resp.request.progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :request_identifier (required, String)

    The identifier for the metadata model creation operation to cancel. This operation was initiated by StartMetadataModelCreation.

Returns:

See Also:



807
808
809
810
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 807

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

#cancel_replication_task_assessment_run(params = {}) ⇒ Types::CancelReplicationTaskAssessmentRunResponse

Cancels a single premigration assessment run.

This operation prevents any individual assessments from running if they haven't started running. It also attempts to cancel any individual assessments that are currently running.

Examples:

Request syntax with placeholder values


resp = client.cancel_replication_task_assessment_run({
  replication_task_assessment_run_arn: "String", # required
})

Response structure


resp.replication_task_assessment_run.replication_task_assessment_run_arn #=> String
resp.replication_task_assessment_run.replication_task_arn #=> String
resp.replication_task_assessment_run.status #=> String
resp.replication_task_assessment_run.replication_task_assessment_run_creation_date #=> Time
resp.replication_task_assessment_run.assessment_progress.individual_assessment_count #=> Integer
resp.replication_task_assessment_run.assessment_progress.individual_assessment_completed_count #=> Integer
resp.replication_task_assessment_run.last_failure_message #=> String
resp.replication_task_assessment_run.service_access_role_arn #=> String
resp.replication_task_assessment_run.result_location_bucket #=> String
resp.replication_task_assessment_run.result_location_folder #=> String
resp.replication_task_assessment_run.result_encryption_mode #=> String
resp.replication_task_assessment_run.result_kms_key_arn #=> String
resp.replication_task_assessment_run.assessment_run_name #=> String
resp.replication_task_assessment_run.is_latest_task_assessment_run #=> Boolean
resp.replication_task_assessment_run.result_statistic.passed #=> Integer
resp.replication_task_assessment_run.result_statistic.failed #=> Integer
resp.replication_task_assessment_run.result_statistic.error #=> Integer
resp.replication_task_assessment_run.result_statistic.warning #=> Integer
resp.replication_task_assessment_run.result_statistic.cancelled #=> Integer
resp.replication_task_assessment_run.result_statistic.skipped #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_assessment_run_arn (required, String)

    Amazon Resource Name (ARN) of the premigration assessment run to be canceled.

Returns:

See Also:



859
860
861
862
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 859

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

#create_data_migration(params = {}) ⇒ Types::CreateDataMigrationResponse

Creates a data migration using the provided settings.

Examples:

Request syntax with placeholder values


resp = client.create_data_migration({
  data_migration_name: "String",
  migration_project_identifier: "String", # required
  data_migration_type: "full-load", # required, accepts full-load, cdc, full-load-and-cdc
  service_access_role_arn: "String", # required
  enable_cloudwatch_logs: false,
  source_data_settings: [
    {
      cdc_start_position: "String",
      cdc_start_time: Time.now,
      cdc_stop_time: Time.now,
      slot_name: "String",
    },
  ],
  target_data_settings: [
    {
      table_preparation_mode: "drop-tables-on-target", # accepts drop-tables-on-target, truncate, do-nothing
    },
  ],
  number_of_jobs: 1,
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
  selection_rules: "SecretString",
})

Response structure


resp.data_migration.data_migration_name #=> String
resp.data_migration.data_migration_arn #=> String
resp.data_migration.data_migration_create_time #=> Time
resp.data_migration.data_migration_start_time #=> Time
resp.data_migration.data_migration_end_time #=> Time
resp.data_migration.service_access_role_arn #=> String
resp.data_migration.migration_project_arn #=> String
resp.data_migration.data_migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.data_migration.data_migration_settings.number_of_jobs #=> Integer
resp.data_migration.data_migration_settings.cloudwatch_logs_enabled #=> Boolean
resp.data_migration.data_migration_settings.selection_rules #=> String
resp.data_migration.source_data_settings #=> Array
resp.data_migration.source_data_settings[0].cdc_start_position #=> String
resp.data_migration.source_data_settings[0].cdc_start_time #=> Time
resp.data_migration.source_data_settings[0].cdc_stop_time #=> Time
resp.data_migration.source_data_settings[0].slot_name #=> String
resp.data_migration.target_data_settings #=> Array
resp.data_migration.target_data_settings[0].table_preparation_mode #=> String, one of "drop-tables-on-target", "truncate", "do-nothing"
resp.data_migration.data_migration_statistics.tables_loaded #=> Integer
resp.data_migration.data_migration_statistics.elapsed_time_millis #=> Integer
resp.data_migration.data_migration_statistics.tables_loading #=> Integer
resp.data_migration.data_migration_statistics.full_load_percentage #=> Integer
resp.data_migration.data_migration_statistics.cdc_latency #=> Integer
resp.data_migration.data_migration_statistics.tables_queued #=> Integer
resp.data_migration.data_migration_statistics.tables_errored #=> Integer
resp.data_migration.data_migration_statistics.start_time #=> Time
resp.data_migration.data_migration_statistics.stop_time #=> Time
resp.data_migration.data_migration_status #=> String
resp.data_migration.public_ip_addresses #=> Array
resp.data_migration.public_ip_addresses[0] #=> String
resp.data_migration.data_migration_cidr_blocks #=> Array
resp.data_migration.data_migration_cidr_blocks[0] #=> String
resp.data_migration.last_failure_message #=> String
resp.data_migration.stop_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data_migration_name (String)

    A user-friendly name for the data migration. Data migration names have the following constraints:

    • Must begin with a letter, and can only contain ASCII letters, digits, and hyphens.

    • Can't end with a hyphen or contain two consecutive hyphens.

    • Length must be from 1 to 255 characters.

  • :migration_project_identifier (required, String)

    An identifier for the migration project.

  • :data_migration_type (required, String)

    Specifies if the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.

  • :service_access_role_arn (required, String)

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

  • :enable_cloudwatch_logs (Boolean)

    Specifies whether to enable CloudWatch logs for the data migration.

  • :source_data_settings (Array<Types::SourceDataSetting>)

    Specifies information about the source data provider.

  • :target_data_settings (Array<Types::TargetDataSetting>)

    Specifies information about the target data provider.

  • :number_of_jobs (Integer)

    The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.

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

    One or more tags to be assigned to the data migration.

  • :selection_rules (String)

    An optional JSON string specifying what tables, views, and schemas to include or exclude from the migration.

Returns:

See Also:



985
986
987
988
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 985

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

#create_data_provider(params = {}) ⇒ Types::CreateDataProviderResponse

Creates a data provider using the provided settings. A data provider stores a data store type and location information about your database.

Required permissions: dms:CreateDataProvider. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Create a Microsoft SQL Server data provider


# The following example creates a Microsoft SQL Server data provider.

resp = client.create_data_provider({
  data_provider_name: "example-data-provider", 
  description: "Example data provider for documentation", 
  engine: "sqlserver", 
  settings: {
    microsoft_sql_server_settings: {
      certificate_arn: "arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      database_name: "ExampleDatabase", 
      port: 1433, 
      server_name: "example-source-server.us-east-1.rds.amazonaws.com", 
      ssl_mode: "verify-full", 
    }, 
  }, 
})

resp.to_h outputs the following:
{
  data_provider: {
    data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    data_provider_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    data_provider_name: "example-data-provider", 
    description: "Example data provider for documentation", 
    engine: "sqlserver", 
    settings: {
      microsoft_sql_server_settings: {
        certificate_arn: "arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        database_name: "ExampleDatabase", 
        port: 1433, 
        server_name: "example-source-server.us-east-1.rds.amazonaws.com", 
        ssl_mode: "verify-full", 
      }, 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.create_data_provider({
  data_provider_name: "String",
  description: "String",
  engine: "String", # required
  virtual: false,
  settings: { # required
    redshift_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    postgre_sql_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    my_sql_settings: {
      server_name: "String",
      port: 1,
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    oracle_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      asm_server: "String",
      secrets_manager_oracle_asm_secret_id: "String",
      secrets_manager_oracle_asm_access_role_arn: "String",
      secrets_manager_security_db_encryption_secret_id: "String",
      secrets_manager_security_db_encryption_access_role_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    sybase_ase_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      encrypt_password: false,
      certificate_arn: "String",
    },
    microsoft_sql_server_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    doc_db_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
    },
    maria_db_settings: {
      server_name: "String",
      port: 1,
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    ibm_db_2_luw_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      encryption_algorithm: 1,
      security_mechanism: 1,
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    ibm_db_2z_os_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    mongo_db_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      auth_type: "no", # accepts no, password
      auth_source: "String",
      auth_mechanism: "default", # accepts default, mongodb_cr, scram_sha_1
    },
  },
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
})

Response structure


resp.data_provider.data_provider_name #=> String
resp.data_provider.data_provider_arn #=> String
resp.data_provider.data_provider_creation_time #=> Time
resp.data_provider.description #=> String
resp.data_provider.engine #=> String
resp.data_provider.virtual #=> Boolean
resp.data_provider.settings.redshift_settings.server_name #=> String
resp.data_provider.settings.redshift_settings.port #=> Integer
resp.data_provider.settings.redshift_settings.database_name #=> String
resp.data_provider.settings.redshift_settings.s3_path #=> String
resp.data_provider.settings.redshift_settings.s3_access_role_arn #=> String
resp.data_provider.settings.postgre_sql_settings.server_name #=> String
resp.data_provider.settings.postgre_sql_settings.port #=> Integer
resp.data_provider.settings.postgre_sql_settings.database_name #=> String
resp.data_provider.settings.postgre_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.postgre_sql_settings.certificate_arn #=> String
resp.data_provider.settings.postgre_sql_settings.s3_path #=> String
resp.data_provider.settings.postgre_sql_settings.s3_access_role_arn #=> String
resp.data_provider.settings.my_sql_settings.server_name #=> String
resp.data_provider.settings.my_sql_settings.port #=> Integer
resp.data_provider.settings.my_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.my_sql_settings.certificate_arn #=> String
resp.data_provider.settings.my_sql_settings.s3_path #=> String
resp.data_provider.settings.my_sql_settings.s3_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.server_name #=> String
resp.data_provider.settings.oracle_settings.port #=> Integer
resp.data_provider.settings.oracle_settings.database_name #=> String
resp.data_provider.settings.oracle_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.oracle_settings.certificate_arn #=> String
resp.data_provider.settings.oracle_settings.asm_server #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_security_db_encryption_secret_id #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_security_db_encryption_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.s3_path #=> String
resp.data_provider.settings.oracle_settings.s3_access_role_arn #=> String
resp.data_provider.settings.sybase_ase_settings.server_name #=> String
resp.data_provider.settings.sybase_ase_settings.port #=> Integer
resp.data_provider.settings.sybase_ase_settings.database_name #=> String
resp.data_provider.settings.sybase_ase_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.sybase_ase_settings.encrypt_password #=> Boolean
resp.data_provider.settings.sybase_ase_settings.certificate_arn #=> String
resp.data_provider.settings.microsoft_sql_server_settings.server_name #=> String
resp.data_provider.settings.microsoft_sql_server_settings.port #=> Integer
resp.data_provider.settings.microsoft_sql_server_settings.database_name #=> String
resp.data_provider.settings.microsoft_sql_server_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.microsoft_sql_server_settings.certificate_arn #=> String
resp.data_provider.settings.microsoft_sql_server_settings.s3_path #=> String
resp.data_provider.settings.microsoft_sql_server_settings.s3_access_role_arn #=> String
resp.data_provider.settings.doc_db_settings.server_name #=> String
resp.data_provider.settings.doc_db_settings.port #=> Integer
resp.data_provider.settings.doc_db_settings.database_name #=> String
resp.data_provider.settings.doc_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.doc_db_settings.certificate_arn #=> String
resp.data_provider.settings.maria_db_settings.server_name #=> String
resp.data_provider.settings.maria_db_settings.port #=> Integer
resp.data_provider.settings.maria_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.maria_db_settings.certificate_arn #=> String
resp.data_provider.settings.maria_db_settings.s3_path #=> String
resp.data_provider.settings.maria_db_settings.s3_access_role_arn #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.server_name #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.port #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.database_name #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.ibm_db_2_luw_settings.certificate_arn #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.encryption_algorithm #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.security_mechanism #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.s3_path #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.s3_access_role_arn #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.server_name #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.port #=> Integer
resp.data_provider.settings.ibm_db_2z_os_settings.database_name #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.ibm_db_2z_os_settings.certificate_arn #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.s3_path #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.s3_access_role_arn #=> String
resp.data_provider.settings.mongo_db_settings.server_name #=> String
resp.data_provider.settings.mongo_db_settings.port #=> Integer
resp.data_provider.settings.mongo_db_settings.database_name #=> String
resp.data_provider.settings.mongo_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.mongo_db_settings.certificate_arn #=> String
resp.data_provider.settings.mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.data_provider.settings.mongo_db_settings.auth_source #=> String
resp.data_provider.settings.mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"

Parameters:

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

    ({})

Options Hash (params):

  • :data_provider_name (String)

    A user-friendly name for the data provider.

  • :description (String)

    A user-friendly description of the data provider.

  • :engine (required, String)

    The type of database engine for the data provider.

    Valid values: aurora, aurora-postgresql, db2, db2-zos, docdb, mariadb, mongodb, mysql, oracle, postgres, redshift, sqlserver, and sybase. A value of aurora represents Amazon Aurora MySQL-Compatible Edition.

  • :virtual (Boolean)

    Indicates whether the data provider is virtual.

  • :settings (required, Types::DataProviderSettings)

    The settings in JSON format for a data provider.

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

    One or more tags to be assigned to the data provider.

Returns:

See Also:



1277
1278
1279
1280
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1277

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

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

Creates an endpoint using the provided settings.

For a MySQL source or target endpoint, don't explicitly specify the database using the DatabaseName request parameter on the CreateEndpoint API call. Specifying DatabaseName when you create a MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify the database only when you specify the schema in the table-mapping rules of the DMS task.

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

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.is_read_only #=> Boolean
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.s3_settings.date_partition_enabled #=> Boolean
resp.endpoint.s3_settings.date_partition_sequence #=> String, one of "YYYYMMDD", "YYYYMMDDHH", "YYYYMM", "MMYYYYDD", "DDMMYYYY"
resp.endpoint.s3_settings.date_partition_delimiter #=> String, one of "SLASH", "UNDERSCORE", "DASH", "NONE"
resp.endpoint.s3_settings.use_csv_no_sup_value #=> Boolean
resp.endpoint.s3_settings.csv_no_sup_value #=> String
resp.endpoint.s3_settings.preserve_transactions #=> Boolean
resp.endpoint.s3_settings.cdc_path #=> String
resp.endpoint.s3_settings.use_task_start_time_for_full_load_timestamp #=> Boolean
resp.endpoint.s3_settings.canned_acl_for_objects #=> String, one of "none", "private", "public-read", "public-read-write", "authenticated-read", "aws-exec-read", "bucket-owner-read", "bucket-owner-full-control"
resp.endpoint.s3_settings.add_column_name #=> Boolean
resp.endpoint.s3_settings.cdc_max_batch_interval #=> Integer
resp.endpoint.s3_settings.cdc_min_file_size #=> Integer
resp.endpoint.s3_settings.csv_null_value #=> String
resp.endpoint.s3_settings.ignore_header_rows #=> Integer
resp.endpoint.s3_settings.max_file_size #=> Integer
resp.endpoint.s3_settings.rfc_4180 #=> Boolean
resp.endpoint.s3_settings.date_partition_timezone #=> String
resp.endpoint.s3_settings.add_trailing_padding_character #=> Boolean
resp.endpoint.s3_settings.expected_bucket_owner #=> String
resp.endpoint.s3_settings.glue_catalog_generation #=> 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.mongo_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.mongo_db_settings.secrets_manager_secret_id #=> String
resp.endpoint.mongo_db_settings.use_update_look_up #=> Boolean
resp.endpoint.mongo_db_settings.replicate_shard_collections #=> Boolean
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.kinesis_settings.include_null_and_empty #=> Boolean
resp.endpoint.kinesis_settings.no_hex_prefix #=> Boolean
resp.endpoint.kinesis_settings.use_large_integer_value #=> Boolean
resp.endpoint.kafka_settings.broker #=> String
resp.endpoint.kafka_settings.topic #=> String
resp.endpoint.kafka_settings.message_format #=> String, one of "json", "json-unformatted"
resp.endpoint.kafka_settings.include_transaction_details #=> Boolean
resp.endpoint.kafka_settings.include_partition_value #=> Boolean
resp.endpoint.kafka_settings.partition_include_schema_table #=> Boolean
resp.endpoint.kafka_settings.include_table_alter_operations #=> Boolean
resp.endpoint.kafka_settings.include_control_details #=> Boolean
resp.endpoint.kafka_settings.message_max_bytes #=> Integer
resp.endpoint.kafka_settings.include_null_and_empty #=> Boolean
resp.endpoint.kafka_settings.security_protocol #=> String, one of "plaintext", "ssl-authentication", "ssl-encryption", "sasl-ssl"
resp.endpoint.kafka_settings.ssl_client_certificate_arn #=> String
resp.endpoint.kafka_settings.ssl_client_key_arn #=> String
resp.endpoint.kafka_settings.ssl_client_key_password #=> String
resp.endpoint.kafka_settings.ssl_ca_certificate_arn #=> String
resp.endpoint.kafka_settings.sasl_username #=> String
resp.endpoint.kafka_settings.sasl_password #=> String
resp.endpoint.kafka_settings.no_hex_prefix #=> Boolean
resp.endpoint.kafka_settings.sasl_mechanism #=> String, one of "scram-sha-512", "plain"
resp.endpoint.kafka_settings.ssl_endpoint_identification_algorithm #=> String, one of "none", "https"
resp.endpoint.kafka_settings.use_large_integer_value #=> Boolean
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.elasticsearch_settings.use_new_mapping_type #=> Boolean
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.case_sensitive_names #=> Boolean
resp.endpoint.redshift_settings.comp_update #=> Boolean
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.explicit_ids #=> Boolean
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
resp.endpoint.redshift_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.redshift_settings.secrets_manager_secret_id #=> String
resp.endpoint.redshift_settings.map_boolean_as_boolean #=> Boolean
resp.endpoint.postgre_sql_settings.after_connect_script #=> String
resp.endpoint.postgre_sql_settings.capture_ddls #=> Boolean
resp.endpoint.postgre_sql_settings.max_file_size #=> Integer
resp.endpoint.postgre_sql_settings.database_name #=> String
resp.endpoint.postgre_sql_settings.ddl_artifacts_schema #=> String
resp.endpoint.postgre_sql_settings.execute_timeout #=> Integer
resp.endpoint.postgre_sql_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoint.postgre_sql_settings.heartbeat_enable #=> Boolean
resp.endpoint.postgre_sql_settings.heartbeat_schema #=> String
resp.endpoint.postgre_sql_settings.heartbeat_frequency #=> Integer
resp.endpoint.postgre_sql_settings.password #=> String
resp.endpoint.postgre_sql_settings.port #=> Integer
resp.endpoint.postgre_sql_settings.server_name #=> String
resp.endpoint.postgre_sql_settings.username #=> String
resp.endpoint.postgre_sql_settings.slot_name #=> String
resp.endpoint.postgre_sql_settings.plugin_name #=> String, one of "no-preference", "test-decoding", "pglogical"
resp.endpoint.postgre_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.postgre_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.postgre_sql_settings.trim_space_in_char #=> Boolean
resp.endpoint.postgre_sql_settings.map_boolean_as_boolean #=> Boolean
resp.endpoint.postgre_sql_settings.map_jsonb_as_clob #=> Boolean
resp.endpoint.postgre_sql_settings.map_long_varchar_as #=> String, one of "wstring", "clob", "nclob"
resp.endpoint.postgre_sql_settings.database_mode #=> String, one of "default", "babelfish"
resp.endpoint.postgre_sql_settings.babelfish_database_name #=> String
resp.endpoint.postgre_sql_settings.disable_unicode_source_filter #=> Boolean
resp.endpoint.postgre_sql_settings.service_access_role_arn #=> String
resp.endpoint.postgre_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoint.my_sql_settings.after_connect_script #=> String
resp.endpoint.my_sql_settings. #=> Boolean
resp.endpoint.my_sql_settings.database_name #=> String
resp.endpoint.my_sql_settings.events_poll_interval #=> Integer
resp.endpoint.my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoint.my_sql_settings.max_file_size #=> Integer
resp.endpoint.my_sql_settings.parallel_load_threads #=> Integer
resp.endpoint.my_sql_settings.password #=> String
resp.endpoint.my_sql_settings.port #=> Integer
resp.endpoint.my_sql_settings.server_name #=> String
resp.endpoint.my_sql_settings.server_timezone #=> String
resp.endpoint.my_sql_settings.username #=> String
resp.endpoint.my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.my_sql_settings.execute_timeout #=> Integer
resp.endpoint.my_sql_settings.service_access_role_arn #=> String
resp.endpoint.my_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoint.oracle_settings.add_supplemental_logging #=> Boolean
resp.endpoint.oracle_settings.archived_log_dest_id #=> Integer
resp.endpoint.oracle_settings.additional_archived_log_dest_id #=> Integer
resp.endpoint.oracle_settings.extra_archived_log_dest_ids #=> Array
resp.endpoint.oracle_settings.extra_archived_log_dest_ids[0] #=> Integer
resp.endpoint.oracle_settings.allow_select_nested_tables #=> Boolean
resp.endpoint.oracle_settings.parallel_asm_read_threads #=> Integer
resp.endpoint.oracle_settings.read_ahead_blocks #=> Integer
resp.endpoint.oracle_settings.access_alternate_directly #=> Boolean
resp.endpoint.oracle_settings.use_alternate_folder_for_online #=> Boolean
resp.endpoint.oracle_settings.oracle_path_prefix #=> String
resp.endpoint.oracle_settings.use_path_prefix #=> String
resp.endpoint.oracle_settings.replace_path_prefix #=> Boolean
resp.endpoint.oracle_settings.enable_homogenous_tablespace #=> Boolean
resp.endpoint.oracle_settings.direct_path_no_log #=> Boolean
resp.endpoint.oracle_settings.archived_logs_only #=> Boolean
resp.endpoint.oracle_settings.asm_password #=> String
resp.endpoint.oracle_settings.asm_server #=> String
resp.endpoint.oracle_settings.asm_user #=> String
resp.endpoint.oracle_settings.char_length_semantics #=> String, one of "default", "char", "byte"
resp.endpoint.oracle_settings.database_name #=> String
resp.endpoint.oracle_settings.direct_path_parallel_load #=> Boolean
resp.endpoint.oracle_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoint.oracle_settings.number_datatype_scale #=> Integer
resp.endpoint.oracle_settings.password #=> String
resp.endpoint.oracle_settings.port #=> Integer
resp.endpoint.oracle_settings.read_table_space_name #=> Boolean
resp.endpoint.oracle_settings.retry_interval #=> Integer
resp.endpoint.oracle_settings.security_db_encryption #=> String
resp.endpoint.oracle_settings.security_db_encryption_name #=> String
resp.endpoint.oracle_settings.server_name #=> String
resp.endpoint.oracle_settings.spatial_data_option_to_geo_json_function_name #=> String
resp.endpoint.oracle_settings.standby_delay_time #=> Integer
resp.endpoint.oracle_settings.username #=> String
resp.endpoint.oracle_settings.use_b_file #=> Boolean
resp.endpoint.oracle_settings.use_direct_path_full_load #=> Boolean
resp.endpoint.oracle_settings.use_logminer_reader #=> Boolean
resp.endpoint.oracle_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.oracle_settings.secrets_manager_secret_id #=> String
resp.endpoint.oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.endpoint.oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.endpoint.oracle_settings.trim_space_in_char #=> Boolean
resp.endpoint.oracle_settings.convert_timestamp_with_zone_to_utc #=> Boolean
resp.endpoint.oracle_settings.open_transaction_window #=> Integer
resp.endpoint.oracle_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoint.sybase_settings.database_name #=> String
resp.endpoint.sybase_settings.password #=> String
resp.endpoint.sybase_settings.port #=> Integer
resp.endpoint.sybase_settings.server_name #=> String
resp.endpoint.sybase_settings.username #=> String
resp.endpoint.sybase_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.sybase_settings.secrets_manager_secret_id #=> String
resp.endpoint.microsoft_sql_server_settings.port #=> Integer
resp.endpoint.microsoft_sql_server_settings.bcp_packet_size #=> Integer
resp.endpoint.microsoft_sql_server_settings.database_name #=> String
resp.endpoint.microsoft_sql_server_settings.control_tables_file_group #=> String
resp.endpoint.microsoft_sql_server_settings.password #=> String
resp.endpoint.microsoft_sql_server_settings.query_single_always_on_node #=> Boolean
resp.endpoint.microsoft_sql_server_settings.read_backup_only #=> Boolean
resp.endpoint.microsoft_sql_server_settings.safeguard_policy #=> String, one of "rely-on-sql-server-replication-agent", "exclusive-automatic-truncation", "shared-automatic-truncation"
resp.endpoint.microsoft_sql_server_settings.server_name #=> String
resp.endpoint.microsoft_sql_server_settings.username #=> String
resp.endpoint.microsoft_sql_server_settings.use_bcp_full_load #=> Boolean
resp.endpoint.microsoft_sql_server_settings.use_third_party_backup_device #=> Boolean
resp.endpoint.microsoft_sql_server_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.microsoft_sql_server_settings.secrets_manager_secret_id #=> String
resp.endpoint.microsoft_sql_server_settings.trim_space_in_char #=> Boolean
resp.endpoint.microsoft_sql_server_settings.tlog_access_mode #=> String, one of "BackupOnly", "PreferBackup", "PreferTlog", "TlogOnly"
resp.endpoint.microsoft_sql_server_settings.force_lob_lookup #=> Boolean
resp.endpoint.microsoft_sql_server_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoint.ibm_db_2_settings.database_name #=> String
resp.endpoint.ibm_db_2_settings.password #=> String
resp.endpoint.ibm_db_2_settings.port #=> Integer
resp.endpoint.ibm_db_2_settings.server_name #=> String
resp.endpoint.ibm_db_2_settings.set_data_capture_changes #=> Boolean
resp.endpoint.ibm_db_2_settings.current_lsn #=> String
resp.endpoint.ibm_db_2_settings.max_k_bytes_per_read #=> Integer
resp.endpoint.ibm_db_2_settings.username #=> String
resp.endpoint.ibm_db_2_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.ibm_db_2_settings.secrets_manager_secret_id #=> String
resp.endpoint.ibm_db_2_settings.load_timeout #=> Integer
resp.endpoint.ibm_db_2_settings.write_buffer_size #=> Integer
resp.endpoint.ibm_db_2_settings.max_file_size #=> Integer
resp.endpoint.ibm_db_2_settings.keep_csv_files #=> Boolean
resp.endpoint.doc_db_settings.username #=> String
resp.endpoint.doc_db_settings.password #=> String
resp.endpoint.doc_db_settings.server_name #=> String
resp.endpoint.doc_db_settings.port #=> Integer
resp.endpoint.doc_db_settings.database_name #=> String
resp.endpoint.doc_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoint.doc_db_settings.extract_doc_id #=> Boolean
resp.endpoint.doc_db_settings.docs_to_investigate #=> Integer
resp.endpoint.doc_db_settings.kms_key_id #=> String
resp.endpoint.doc_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.doc_db_settings.secrets_manager_secret_id #=> String
resp.endpoint.doc_db_settings.use_update_look_up #=> Boolean
resp.endpoint.doc_db_settings.replicate_shard_collections #=> Boolean
resp.endpoint.redis_settings.server_name #=> String
resp.endpoint.redis_settings.port #=> Integer
resp.endpoint.redis_settings.ssl_security_protocol #=> String, one of "plaintext", "ssl-encryption"
resp.endpoint.redis_settings.auth_type #=> String, one of "none", "auth-role", "auth-token"
resp.endpoint.redis_settings.auth_user_name #=> String
resp.endpoint.redis_settings.auth_password #=> String
resp.endpoint.redis_settings.ssl_ca_certificate_arn #=> String
resp.endpoint.gcp_my_sql_settings.after_connect_script #=> String
resp.endpoint.gcp_my_sql_settings. #=> Boolean
resp.endpoint.gcp_my_sql_settings.database_name #=> String
resp.endpoint.gcp_my_sql_settings.events_poll_interval #=> Integer
resp.endpoint.gcp_my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoint.gcp_my_sql_settings.max_file_size #=> Integer
resp.endpoint.gcp_my_sql_settings.parallel_load_threads #=> Integer
resp.endpoint.gcp_my_sql_settings.password #=> String
resp.endpoint.gcp_my_sql_settings.port #=> Integer
resp.endpoint.gcp_my_sql_settings.server_name #=> String
resp.endpoint.gcp_my_sql_settings.server_timezone #=> String
resp.endpoint.gcp_my_sql_settings.username #=> String
resp.endpoint.gcp_my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.gcp_my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.timestream_settings.database_name #=> String
resp.endpoint.timestream_settings.memory_duration #=> Integer
resp.endpoint.timestream_settings.magnetic_duration #=> Integer
resp.endpoint.timestream_settings.cdc_inserts_and_updates #=> Boolean
resp.endpoint.timestream_settings.enable_magnetic_store_writes #=> Boolean
resp.endpoint.lakehouse_settings.arn #=> String

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", "opensearch", "redshift", "s3", "db2", "db2-zos", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", "kafka", "elasticsearch", "docdb", "sqlserver", "neptune", "babelfish", redshift-serverless, aurora-serverless, aurora-postgresql-serverless, gcp-mysql, azure-sql-managed-instance, redis, dms-transfer.

  • :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. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and targetDbType.

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

  • :kms_key_id (String)

    An 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 DMS uses your default encryption key.

    KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services 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. The role must allow the iam:PassRole action.

  • :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 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 DMS in the 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 Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the iam:PassRole action.

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

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

    JSON syntax for these settings is as follows: { "ServiceAccessRoleArn": "string", "BucketName": "string", }

  • :mongo_db_settings (Types::MongoDbSettings)

    Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see Endpoint configuration settings when using MongoDB as a source for Database Migration Service in the 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 object mapping to migrate data to a Kinesis data stream in the Database Migration Service 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 object mapping to migrate data to a Kafka topic in the Database Migration Service User Guide.

  • :elasticsearch_settings (Types::ElasticsearchSettings)

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

  • :neptune_settings (Types::NeptuneSettings)

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

  • :redshift_settings (Types::RedshiftSettings)

    Provides information that defines an Amazon Redshift endpoint.

  • :postgre_sql_settings (Types::PostgreSQLSettings)

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

  • :my_sql_settings (Types::MySQLSettings)

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

  • :oracle_settings (Types::OracleSettings)

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

  • :sybase_settings (Types::SybaseSettings)

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

  • :microsoft_sql_server_settings (Types::MicrosoftSQLServerSettings)

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

  • :ibm_db_2_settings (Types::IBMDb2Settings)

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

  • :resource_identifier (String)

    A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

  • :doc_db_settings (Types::DocDbSettings)

    Provides information that defines a DocumentDB endpoint.

  • :redis_settings (Types::RedisSettings)

    Settings in JSON format for the target Redis endpoint.

  • :gcp_my_sql_settings (Types::GcpMySQLSettings)

    Settings in JSON format for the source GCP MySQL endpoint.

  • :timestream_settings (Types::TimestreamSettings)

    Settings in JSON format for the target Amazon Timestream endpoint.

Returns:

See Also:



2294
2295
2296
2297
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2294

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

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

Creates an DMS event notification subscription.

You can specify the type of source (SourceType) you want to be notified of, provide a list of 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 DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all DMS sources belonging to your customer account.

For more information about DMS events, see Working with Events and Notifications in the 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",
      resource_arn: "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 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 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 Database Migration Service User Guide.

  • :source_ids (Array<String>)

    A list of identifiers for which 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:



2404
2405
2406
2407
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2404

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

#create_fleet_advisor_collector(params = {}) ⇒ Types::CreateFleetAdvisorCollectorResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Creates a Fleet Advisor collector using the specified parameters.

Examples:

Request syntax with placeholder values


resp = client.create_fleet_advisor_collector({
  collector_name: "String", # required
  description: "String",
  service_access_role_arn: "String", # required
  s3_bucket_name: "String", # required
})

Response structure


resp.collector_referenced_id #=> String
resp.collector_name #=> String
resp.description #=> String
resp.service_access_role_arn #=> String
resp.s3_bucket_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :collector_name (required, String)

    The name of your Fleet Advisor collector (for example, sample-collector).

  • :description (String)

    A summary description of your Fleet Advisor collector.

  • :service_access_role_arn (required, String)

    The IAM role that grants permissions to access the specified Amazon S3 bucket.

  • :s3_bucket_name (required, String)

    The Amazon S3 bucket that the Fleet Advisor collector uses to store inventory metadata.

Returns:

See Also:



2466
2467
2468
2469
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2466

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

#create_instance_profile(params = {}) ⇒ Types::CreateInstanceProfileResponse

Creates the instance profile using the specified parameters.

Required permissions: dms:CreateInstanceProfile. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Create an instance profile


# The following example creates an instance profile.

resp = client.create_instance_profile({
  description: "Example instance profile for documentation", 
  instance_profile_name: "example-instance-profile", 
  kms_key_arn: "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
  network_type: "IPV4", 
  publicly_accessible: false, 
  subnet_group_identifier: "example-replication-subnet-group", 
  vpc_security_groups: [
    "sg-0123456789abcdef0", 
  ], 
})

resp.to_h outputs the following:
{
  instance_profile: {
    description: "Example instance profile for documentation", 
    instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    instance_profile_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    instance_profile_name: "example-instance-profile", 
    kms_key_arn: "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
    network_type: "IPV4", 
    publicly_accessible: false, 
    subnet_group_identifier: "example-replication-subnet-group", 
    vpc_security_groups: [
      "sg-0123456789abcdef0", 
    ], 
  }, 
}

Request syntax with placeholder values


resp = client.create_instance_profile({
  availability_zone: "String",
  kms_key_arn: "String",
  publicly_accessible: false,
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
  network_type: "String",
  instance_profile_name: "String",
  description: "String",
  subnet_group_identifier: "String",
  vpc_security_groups: ["String"],
})

Response structure


resp.instance_profile.instance_profile_arn #=> String
resp.instance_profile.availability_zone #=> String
resp.instance_profile.kms_key_arn #=> String
resp.instance_profile.publicly_accessible #=> Boolean
resp.instance_profile.network_type #=> String
resp.instance_profile.instance_profile_name #=> String
resp.instance_profile.description #=> String
resp.instance_profile.instance_profile_creation_time #=> Time
resp.instance_profile.subnet_group_identifier #=> String
resp.instance_profile.vpc_security_groups #=> Array
resp.instance_profile.vpc_security_groups[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :availability_zone (String)

    The Availability Zone where the instance profile will be created. The default value is a random, system-chosen Availability Zone in the Amazon Web Services Region where your data provider is created, for examplem us-east-1d.

  • :kms_key_arn (String)

    The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the connection parameters for the instance profile.

    If you don't specify a value for the KmsKeyArn parameter, then DMS uses an Amazon Web Services owned encryption key to encrypt your resources.

  • :publicly_accessible (Boolean)

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

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

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

  • :network_type (String)

    Specifies the network type for the instance profile. A value of IPV4 represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of IPV6 represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of DUAL represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.

  • :instance_profile_name (String)

    A user-friendly name for the instance profile.

  • :description (String)

    A user-friendly description of the instance profile.

  • :subnet_group_identifier (String)

    A subnet group to associate with the instance profile.

  • :vpc_security_groups (Array<String>)

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

Returns:

See Also:



2602
2603
2604
2605
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2602

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

#create_migration_project(params = {}) ⇒ Types::CreateMigrationProjectResponse

Creates the migration project using the specified parameters.

You can run this action only after you create an instance profile and data providers using CreateInstanceProfile and CreateDataProvider.

Required permissions: dms:CreateMigrationProject. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Create a migration project


# The following example creates a migration project.

resp = client.create_migration_project({
  description: "Example migration project for documentation", 
  instance_profile_identifier: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  migration_project_name: "example-migration-project", 
  schema_conversion_application_attributes: {
    s3_bucket_path: "s3://amzn-s3-demo-bucket", 
    s3_bucket_role_arn: "arn:aws:iam::111122223333:role/example-s3-access-role", 
  }, 
  source_data_provider_descriptors: [
    {
      data_provider_identifier: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
      secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3", 
    }, 
  ], 
  target_data_provider_descriptors: [
    {
      data_provider_identifier: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
      secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3", 
    }, 
  ], 
  transformation_rules: "{\"rules\":[{\"rule-type\":\"transformation\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-target\":\"schema\",\"rule-action\":\"rename\",\"object-locator\":{\"schema-name\":\"ExampleSchema\"},\"value\":\"TargetSchema\"}]}", 
})

resp.to_h outputs the following:
{
  migration_project: {
    description: "Example migration project for documentation", 
    instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    instance_profile_name: "example-instance-profile", 
    migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    migration_project_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    migration_project_name: "example-migration-project", 
    schema_conversion_application_attributes: {
      s3_bucket_path: "s3://amzn-s3-demo-bucket", 
      s3_bucket_role_arn: "arn:aws:iam::111122223333:role/example-s3-access-role", 
    }, 
    source_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        data_provider_name: "example-data-provider", 
        secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3", 
      }, 
    ], 
    target_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        data_provider_name: "example-data-provider", 
        secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3", 
      }, 
    ], 
    transformation_rules: "{\"rules\":[{\"rule-type\":\"transformation\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-target\":\"schema\",\"rule-action\":\"rename\",\"object-locator\":{\"schema-name\":\"ExampleSchema\"},\"value\":\"TargetSchema\"}]}", 
  }, 
}

Request syntax with placeholder values


resp = client.create_migration_project({
  migration_project_name: "String",
  source_data_provider_descriptors: [ # required
    {
      data_provider_identifier: "String", # required
      secrets_manager_secret_id: "String",
      secrets_manager_access_role_arn: "String",
    },
  ],
  target_data_provider_descriptors: [ # required
    {
      data_provider_identifier: "String", # required
      secrets_manager_secret_id: "String",
      secrets_manager_access_role_arn: "String",
    },
  ],
  instance_profile_identifier: "String", # required
  transformation_rules: "String",
  description: "String",
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
  schema_conversion_application_attributes: {
    s3_bucket_path: "String",
    s3_bucket_role_arn: "String",
  },
})

Response structure


resp.migration_project.migration_project_name #=> String
resp.migration_project.migration_project_arn #=> String
resp.migration_project.migration_project_creation_time #=> Time
resp.migration_project.source_data_provider_descriptors #=> Array
resp.migration_project.source_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_project.source_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_project.source_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_project.source_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_project.target_data_provider_descriptors #=> Array
resp.migration_project.target_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_project.target_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_project.target_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_project.target_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_project.instance_profile_arn #=> String
resp.migration_project.instance_profile_name #=> String
resp.migration_project.transformation_rules #=> String
resp.migration_project.description #=> String
resp.migration_project.schema_conversion_application_attributes.s3_bucket_path #=> String
resp.migration_project.schema_conversion_application_attributes.s3_bucket_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_name (String)

    A user-friendly name for the migration project.

  • :source_data_provider_descriptors (required, Array<Types::DataProviderDescriptorDefinition>)

    Information about the source data provider, including the name, ARN, and Secrets Manager parameters.

  • :target_data_provider_descriptors (required, Array<Types::DataProviderDescriptorDefinition>)

    Information about the target data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.

  • :instance_profile_identifier (required, String)

    The identifier of the associated instance profile. 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.

  • :transformation_rules (String)

    A JSON string that specifies the transformation rules for the migration project. Transformation rules let you customize how DMS Schema Conversion converts your source database objects, including renaming, adding prefixes or suffixes, and changing data types. For the transformation rule format and examples, see Transformation rules in DMS Schema Conversion.

    Homogeneous data migrations do not support transformation rules.

  • :description (String)

    A user-friendly description of the migration project.

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

    One or more tags to be assigned to the migration project.

  • :schema_conversion_application_attributes (Types::SCApplicationAttributes)

    The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.

Returns:

See Also:



2793
2794
2795
2796
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2793

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

#create_replication_config(params = {}) ⇒ Types::CreateReplicationConfigResponse

Creates a configuration that you can later provide to configure and start an DMS Serverless replication. You can also provide options to validate the configuration inputs before you start the replication.

Examples:

Request syntax with placeholder values


resp = client.create_replication_config({
  replication_config_identifier: "String", # required
  source_endpoint_arn: "String", # required
  target_endpoint_arn: "String", # required
  compute_config: { # required
    availability_zone: "String",
    dns_name_servers: "String",
    kms_key_id: "String",
    max_capacity_units: 1,
    min_capacity_units: 1,
    multi_az: false,
    preferred_maintenance_window: "String",
    replication_subnet_group_id: "String",
    vpc_security_group_ids: ["String"],
  },
  replication_type: "full-load", # required, accepts full-load, cdc, full-load-and-cdc
  table_mappings: "String", # required
  replication_settings: "String",
  supplemental_settings: "String",
  resource_identifier: "String",
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
})

Response structure


resp.replication_config.replication_config_identifier #=> String
resp.replication_config.replication_config_arn #=> String
resp.replication_config.source_endpoint_arn #=> String
resp.replication_config.target_endpoint_arn #=> String
resp.replication_config.replication_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_config.compute_config.availability_zone #=> String
resp.replication_config.compute_config.dns_name_servers #=> String
resp.replication_config.compute_config.kms_key_id #=> String
resp.replication_config.compute_config.max_capacity_units #=> Integer
resp.replication_config.compute_config.min_capacity_units #=> Integer
resp.replication_config.compute_config.multi_az #=> Boolean
resp.replication_config.compute_config.preferred_maintenance_window #=> String
resp.replication_config.compute_config.replication_subnet_group_id #=> String
resp.replication_config.compute_config.vpc_security_group_ids #=> Array
resp.replication_config.compute_config.vpc_security_group_ids[0] #=> String
resp.replication_config.replication_settings #=> String
resp.replication_config.supplemental_settings #=> String
resp.replication_config.table_mappings #=> String
resp.replication_config.replication_config_create_time #=> Time
resp.replication_config.replication_config_update_time #=> Time
resp.replication_config.is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_identifier (required, String)

    A unique identifier that you want to use to create a ReplicationConfigArn that is returned as part of the output from this action. You can then pass this output ReplicationConfigArn as the value of the ReplicationConfigArn option for other actions to identify both DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.

  • :source_endpoint_arn (required, String)

    The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.

  • :target_endpoint_arn (required, String)

    The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.

  • :compute_config (required, Types::ComputeConfig)

    Configuration parameters for provisioning an DMS Serverless replication.

  • :replication_type (required, String)

    The type of DMS Serverless replication to provision using this replication configuration.

    Possible values:

    • "full-load"

    • "cdc"

    • "full-load-and-cdc"

  • :table_mappings (required, String)

    JSON table mappings for DMS Serverless replications that are provisioned using this replication configuration. For more information, see Specifying table selection and transformations rules using JSON.

  • :replication_settings (String)

    Optional JSON settings for DMS Serverless replications that are provisioned using this replication configuration. For example, see Change processing tuning settings.

  • :supplemental_settings (String)

    Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental data for task settings.

  • :resource_identifier (String)

    Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see Fine-grained access control using resource names and tags.

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

    One or more optional tags associated with resources used by the DMS Serverless replication. For more information, see Tagging resources in Database Migration Service.

Returns:

See Also:



2946
2947
2948
2949
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2946

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

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

Creates the replication instance using the specified parameters.

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 CLI and DMS API. For information on the required permissions, see IAM Permissions Needed to Use DMS.

If you don't specify a version when creating a replication instance, DMS will create the instance using the default engine version. For information about the default engine version, see Release Notes.

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: "ReplicationInstanceClass", # 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",
      resource_arn: "String",
    },
  ],
  kms_key_id: "String",
  publicly_accessible: false,
  dns_name_servers: "String",
  resource_identifier: "String",
  network_type: "String",
  kerberos_authentication_settings: {
    key_cache_secret_id: "String",
    key_cache_secret_iam_arn: "String",
    krb_5_file_contents: "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.replication_subnet_group.supported_network_types #=> Array
resp.replication_instance.replication_subnet_group.supported_network_types[0] #=> String
resp.replication_instance.replication_subnet_group.is_read_only #=> Boolean
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.pending_modified_values.network_type #=> 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.replication_instance_ipv_6_addresses #=> Array
resp.replication_instance.replication_instance_ipv_6_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
resp.replication_instance.network_type #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_id #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_iam_arn #=> String
resp.replication_instance.kerberos_authentication_settings.krb_5_file_contents #=> 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 1-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 defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

    For more information on the settings and capacities for the available replication instance classes, see Choosing the right DMS replication instance; and, Selecting the best size for a replication instance.

  • :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 Amazon Web Services 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 Amazon Web Services 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.

    If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.

  • :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 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 DMS uses your default encryption key.

    KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services 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 custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

  • :resource_identifier (String)

    A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

  • :network_type (String)

    The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

  • :kerberos_authentication_settings (Types::KerberosAuthenticationSettings)

    Specifies the settings required for kerberos authentication when creating the replication instance.

Returns:

See Also:



3271
3272
3273
3274
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3271

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.

The VPC needs to have at least one subnet in at least two availability zones in the Amazon Web Services Region, otherwise the service will throw a ReplicationSubnetGroupDoesNotCoverEnoughAZs exception.

If a replication subnet group exists in your Amazon Web Services account, the CreateReplicationSubnetGroup action returns the following error message: The Replication Subnet Group already exists. In this case, delete the existing replication subnet group. To do so, use the DeleteReplicationSubnetGroup action. Optionally, choose Subnet groups in the DMS console, then choose your subnet group. Next, choose Delete from Actions.

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",
      resource_arn: "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
resp.replication_subnet_group.supported_network_types #=> Array
resp.replication_subnet_group.supported_network_types[0] #=> String
resp.replication_subnet_group.is_read_only #=> Boolean

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, underscores, or hyphens. Must not be "default".

    Example: mySubnetgroup

  • :replication_subnet_group_description (required, String)

    The description for the subnet group.

    Constraints: This parameter Must not contain non-printable control characters.

  • :subnet_ids (required, Array<String>)

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



3379
3380
3381
3382
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3379

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",
      resource_arn: "String",
    },
  ],
  task_data: "String",
  resource_identifier: "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
resp.replication_task.target_replication_instance_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_identifier (required, String)

    An identifier for the replication task.

    Constraints:

    • Must contain 1-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 Database Migration Service User Guide.

  • :replication_task_settings (String)

    Overall settings for the task, in JSON format. For more information, see Specifying Task Settings for Database Migration Service Tasks in the Database Migration Service 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 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:2018-02-09T12:12:12”

    Commit time example: --cdc-stop-position “commit_time:2018-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 Database Migration Service User Guide.

  • :resource_identifier (String)

    A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

Returns:

See Also:



3602
3603
3604
3605
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3602

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
resp.certificate.kms_key_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :certificate_arn (required, String)

    The Amazon Resource Name (ARN) of the certificate.

Returns:

See Also:



3655
3656
3657
3658
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3655

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:



3709
3710
3711
3712
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3709

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

#delete_data_migration(params = {}) ⇒ Types::DeleteDataMigrationResponse

Deletes the specified data migration.

Examples:

Request syntax with placeholder values


resp = client.delete_data_migration({
  data_migration_identifier: "String", # required
})

Response structure


resp.data_migration.data_migration_name #=> String
resp.data_migration.data_migration_arn #=> String
resp.data_migration.data_migration_create_time #=> Time
resp.data_migration.data_migration_start_time #=> Time
resp.data_migration.data_migration_end_time #=> Time
resp.data_migration.service_access_role_arn #=> String
resp.data_migration.migration_project_arn #=> String
resp.data_migration.data_migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.data_migration.data_migration_settings.number_of_jobs #=> Integer
resp.data_migration.data_migration_settings.cloudwatch_logs_enabled #=> Boolean
resp.data_migration.data_migration_settings.selection_rules #=> String
resp.data_migration.source_data_settings #=> Array
resp.data_migration.source_data_settings[0].cdc_start_position #=> String
resp.data_migration.source_data_settings[0].cdc_start_time #=> Time
resp.data_migration.source_data_settings[0].cdc_stop_time #=> Time
resp.data_migration.source_data_settings[0].slot_name #=> String
resp.data_migration.target_data_settings #=> Array
resp.data_migration.target_data_settings[0].table_preparation_mode #=> String, one of "drop-tables-on-target", "truncate", "do-nothing"
resp.data_migration.data_migration_statistics.tables_loaded #=> Integer
resp.data_migration.data_migration_statistics.elapsed_time_millis #=> Integer
resp.data_migration.data_migration_statistics.tables_loading #=> Integer
resp.data_migration.data_migration_statistics.full_load_percentage #=> Integer
resp.data_migration.data_migration_statistics.cdc_latency #=> Integer
resp.data_migration.data_migration_statistics.tables_queued #=> Integer
resp.data_migration.data_migration_statistics.tables_errored #=> Integer
resp.data_migration.data_migration_statistics.start_time #=> Time
resp.data_migration.data_migration_statistics.stop_time #=> Time
resp.data_migration.data_migration_status #=> String
resp.data_migration.public_ip_addresses #=> Array
resp.data_migration.public_ip_addresses[0] #=> String
resp.data_migration.data_migration_cidr_blocks #=> Array
resp.data_migration.data_migration_cidr_blocks[0] #=> String
resp.data_migration.last_failure_message #=> String
resp.data_migration.stop_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data_migration_identifier (required, String)

    The identifier (name or ARN) of the data migration to delete.

Returns:

See Also:



3770
3771
3772
3773
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3770

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

#delete_data_provider(params = {}) ⇒ Types::DeleteDataProviderResponse

Deletes the specified data provider.

Required permissions: dms:DeleteDataProvider. For more information, see Actions, resources, and condition keys for Database Migration Service.

All migration projects associated with the data provider must be deleted or modified before you can delete the data provider.

Examples:

Example: Delete a data provider


# The following example deletes a data provider identified by its ARN.

resp = client.delete_data_provider({
  data_provider_identifier: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  data_provider: {
    data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    data_provider_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    data_provider_name: "example-data-provider", 
    description: "Example data provider for documentation", 
    engine: "sqlserver", 
    settings: {
      microsoft_sql_server_settings: {
        certificate_arn: "arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        database_name: "ExampleDatabase", 
        port: 1433, 
        server_name: "example-source-server.us-east-1.rds.amazonaws.com", 
        ssl_mode: "verify-full", 
      }, 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.delete_data_provider({
  data_provider_identifier: "String", # required
})

Response structure


resp.data_provider.data_provider_name #=> String
resp.data_provider.data_provider_arn #=> String
resp.data_provider.data_provider_creation_time #=> Time
resp.data_provider.description #=> String
resp.data_provider.engine #=> String
resp.data_provider.virtual #=> Boolean
resp.data_provider.settings.redshift_settings.server_name #=> String
resp.data_provider.settings.redshift_settings.port #=> Integer
resp.data_provider.settings.redshift_settings.database_name #=> String
resp.data_provider.settings.redshift_settings.s3_path #=> String
resp.data_provider.settings.redshift_settings.s3_access_role_arn #=> String
resp.data_provider.settings.postgre_sql_settings.server_name #=> String
resp.data_provider.settings.postgre_sql_settings.port #=> Integer
resp.data_provider.settings.postgre_sql_settings.database_name #=> String
resp.data_provider.settings.postgre_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.postgre_sql_settings.certificate_arn #=> String
resp.data_provider.settings.postgre_sql_settings.s3_path #=> String
resp.data_provider.settings.postgre_sql_settings.s3_access_role_arn #=> String
resp.data_provider.settings.my_sql_settings.server_name #=> String
resp.data_provider.settings.my_sql_settings.port #=> Integer
resp.data_provider.settings.my_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.my_sql_settings.certificate_arn #=> String
resp.data_provider.settings.my_sql_settings.s3_path #=> String
resp.data_provider.settings.my_sql_settings.s3_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.server_name #=> String
resp.data_provider.settings.oracle_settings.port #=> Integer
resp.data_provider.settings.oracle_settings.database_name #=> String
resp.data_provider.settings.oracle_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.oracle_settings.certificate_arn #=> String
resp.data_provider.settings.oracle_settings.asm_server #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_security_db_encryption_secret_id #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_security_db_encryption_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.s3_path #=> String
resp.data_provider.settings.oracle_settings.s3_access_role_arn #=> String
resp.data_provider.settings.sybase_ase_settings.server_name #=> String
resp.data_provider.settings.sybase_ase_settings.port #=> Integer
resp.data_provider.settings.sybase_ase_settings.database_name #=> String
resp.data_provider.settings.sybase_ase_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.sybase_ase_settings.encrypt_password #=> Boolean
resp.data_provider.settings.sybase_ase_settings.certificate_arn #=> String
resp.data_provider.settings.microsoft_sql_server_settings.server_name #=> String
resp.data_provider.settings.microsoft_sql_server_settings.port #=> Integer
resp.data_provider.settings.microsoft_sql_server_settings.database_name #=> String
resp.data_provider.settings.microsoft_sql_server_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.microsoft_sql_server_settings.certificate_arn #=> String
resp.data_provider.settings.microsoft_sql_server_settings.s3_path #=> String
resp.data_provider.settings.microsoft_sql_server_settings.s3_access_role_arn #=> String
resp.data_provider.settings.doc_db_settings.server_name #=> String
resp.data_provider.settings.doc_db_settings.port #=> Integer
resp.data_provider.settings.doc_db_settings.database_name #=> String
resp.data_provider.settings.doc_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.doc_db_settings.certificate_arn #=> String
resp.data_provider.settings.maria_db_settings.server_name #=> String
resp.data_provider.settings.maria_db_settings.port #=> Integer
resp.data_provider.settings.maria_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.maria_db_settings.certificate_arn #=> String
resp.data_provider.settings.maria_db_settings.s3_path #=> String
resp.data_provider.settings.maria_db_settings.s3_access_role_arn #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.server_name #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.port #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.database_name #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.ibm_db_2_luw_settings.certificate_arn #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.encryption_algorithm #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.security_mechanism #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.s3_path #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.s3_access_role_arn #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.server_name #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.port #=> Integer
resp.data_provider.settings.ibm_db_2z_os_settings.database_name #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.ibm_db_2z_os_settings.certificate_arn #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.s3_path #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.s3_access_role_arn #=> String
resp.data_provider.settings.mongo_db_settings.server_name #=> String
resp.data_provider.settings.mongo_db_settings.port #=> Integer
resp.data_provider.settings.mongo_db_settings.database_name #=> String
resp.data_provider.settings.mongo_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.mongo_db_settings.certificate_arn #=> String
resp.data_provider.settings.mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.data_provider.settings.mongo_db_settings.auth_source #=> String
resp.data_provider.settings.mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"

Parameters:

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

    ({})

Options Hash (params):

  • :data_provider_identifier (required, String)

    The identifier of the data provider to delete.

Returns:

See Also:



3923
3924
3925
3926
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3923

def delete_data_provider(params = {}, options = {})
  req = build_request(:delete_data_provider, 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.is_read_only #=> Boolean
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.s3_settings.date_partition_enabled #=> Boolean
resp.endpoint.s3_settings.date_partition_sequence #=> String, one of "YYYYMMDD", "YYYYMMDDHH", "YYYYMM", "MMYYYYDD", "DDMMYYYY"
resp.endpoint.s3_settings.date_partition_delimiter #=> String, one of "SLASH", "UNDERSCORE", "DASH", "NONE"
resp.endpoint.s3_settings.use_csv_no_sup_value #=> Boolean
resp.endpoint.s3_settings.csv_no_sup_value #=> String
resp.endpoint.s3_settings.preserve_transactions #=> Boolean
resp.endpoint.s3_settings.cdc_path #=> String
resp.endpoint.s3_settings.use_task_start_time_for_full_load_timestamp #=> Boolean
resp.endpoint.s3_settings.canned_acl_for_objects #=> String, one of "none", "private", "public-read", "public-read-write", "authenticated-read", "aws-exec-read", "bucket-owner-read", "bucket-owner-full-control"
resp.endpoint.s3_settings.add_column_name #=> Boolean
resp.endpoint.s3_settings.cdc_max_batch_interval #=> Integer
resp.endpoint.s3_settings.cdc_min_file_size #=> Integer
resp.endpoint.s3_settings.csv_null_value #=> String
resp.endpoint.s3_settings.ignore_header_rows #=> Integer
resp.endpoint.s3_settings.max_file_size #=> Integer
resp.endpoint.s3_settings.rfc_4180 #=> Boolean
resp.endpoint.s3_settings.date_partition_timezone #=> String
resp.endpoint.s3_settings.add_trailing_padding_character #=> Boolean
resp.endpoint.s3_settings.expected_bucket_owner #=> String
resp.endpoint.s3_settings.glue_catalog_generation #=> 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.mongo_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.mongo_db_settings.secrets_manager_secret_id #=> String
resp.endpoint.mongo_db_settings.use_update_look_up #=> Boolean
resp.endpoint.mongo_db_settings.replicate_shard_collections #=> Boolean
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.kinesis_settings.include_null_and_empty #=> Boolean
resp.endpoint.kinesis_settings.no_hex_prefix #=> Boolean
resp.endpoint.kinesis_settings.use_large_integer_value #=> Boolean
resp.endpoint.kafka_settings.broker #=> String
resp.endpoint.kafka_settings.topic #=> String
resp.endpoint.kafka_settings.message_format #=> String, one of "json", "json-unformatted"
resp.endpoint.kafka_settings.include_transaction_details #=> Boolean
resp.endpoint.kafka_settings.include_partition_value #=> Boolean
resp.endpoint.kafka_settings.partition_include_schema_table #=> Boolean
resp.endpoint.kafka_settings.include_table_alter_operations #=> Boolean
resp.endpoint.kafka_settings.include_control_details #=> Boolean
resp.endpoint.kafka_settings.message_max_bytes #=> Integer
resp.endpoint.kafka_settings.include_null_and_empty #=> Boolean
resp.endpoint.kafka_settings.security_protocol #=> String, one of "plaintext", "ssl-authentication", "ssl-encryption", "sasl-ssl"
resp.endpoint.kafka_settings.ssl_client_certificate_arn #=> String
resp.endpoint.kafka_settings.ssl_client_key_arn #=> String
resp.endpoint.kafka_settings.ssl_client_key_password #=> String
resp.endpoint.kafka_settings.ssl_ca_certificate_arn #=> String
resp.endpoint.kafka_settings.sasl_username #=> String
resp.endpoint.kafka_settings.sasl_password #=> String
resp.endpoint.kafka_settings.no_hex_prefix #=> Boolean
resp.endpoint.kafka_settings.sasl_mechanism #=> String, one of "scram-sha-512", "plain"
resp.endpoint.kafka_settings.ssl_endpoint_identification_algorithm #=> String, one of "none", "https"
resp.endpoint.kafka_settings.use_large_integer_value #=> Boolean
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.elasticsearch_settings.use_new_mapping_type #=> Boolean
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.case_sensitive_names #=> Boolean
resp.endpoint.redshift_settings.comp_update #=> Boolean
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.explicit_ids #=> Boolean
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
resp.endpoint.redshift_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.redshift_settings.secrets_manager_secret_id #=> String
resp.endpoint.redshift_settings.map_boolean_as_boolean #=> Boolean
resp.endpoint.postgre_sql_settings.after_connect_script #=> String
resp.endpoint.postgre_sql_settings.capture_ddls #=> Boolean
resp.endpoint.postgre_sql_settings.max_file_size #=> Integer
resp.endpoint.postgre_sql_settings.database_name #=> String
resp.endpoint.postgre_sql_settings.ddl_artifacts_schema #=> String
resp.endpoint.postgre_sql_settings.execute_timeout #=> Integer
resp.endpoint.postgre_sql_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoint.postgre_sql_settings.heartbeat_enable #=> Boolean
resp.endpoint.postgre_sql_settings.heartbeat_schema #=> String
resp.endpoint.postgre_sql_settings.heartbeat_frequency #=> Integer
resp.endpoint.postgre_sql_settings.password #=> String
resp.endpoint.postgre_sql_settings.port #=> Integer
resp.endpoint.postgre_sql_settings.server_name #=> String
resp.endpoint.postgre_sql_settings.username #=> String
resp.endpoint.postgre_sql_settings.slot_name #=> String
resp.endpoint.postgre_sql_settings.plugin_name #=> String, one of "no-preference", "test-decoding", "pglogical"
resp.endpoint.postgre_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.postgre_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.postgre_sql_settings.trim_space_in_char #=> Boolean
resp.endpoint.postgre_sql_settings.map_boolean_as_boolean #=> Boolean
resp.endpoint.postgre_sql_settings.map_jsonb_as_clob #=> Boolean
resp.endpoint.postgre_sql_settings.map_long_varchar_as #=> String, one of "wstring", "clob", "nclob"
resp.endpoint.postgre_sql_settings.database_mode #=> String, one of "default", "babelfish"
resp.endpoint.postgre_sql_settings.babelfish_database_name #=> String
resp.endpoint.postgre_sql_settings.disable_unicode_source_filter #=> Boolean
resp.endpoint.postgre_sql_settings.service_access_role_arn #=> String
resp.endpoint.postgre_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoint.my_sql_settings.after_connect_script #=> String
resp.endpoint.my_sql_settings. #=> Boolean
resp.endpoint.my_sql_settings.database_name #=> String
resp.endpoint.my_sql_settings.events_poll_interval #=> Integer
resp.endpoint.my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoint.my_sql_settings.max_file_size #=> Integer
resp.endpoint.my_sql_settings.parallel_load_threads #=> Integer
resp.endpoint.my_sql_settings.password #=> String
resp.endpoint.my_sql_settings.port #=> Integer
resp.endpoint.my_sql_settings.server_name #=> String
resp.endpoint.my_sql_settings.server_timezone #=> String
resp.endpoint.my_sql_settings.username #=> String
resp.endpoint.my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.my_sql_settings.execute_timeout #=> Integer
resp.endpoint.my_sql_settings.service_access_role_arn #=> String
resp.endpoint.my_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoint.oracle_settings.add_supplemental_logging #=> Boolean
resp.endpoint.oracle_settings.archived_log_dest_id #=> Integer
resp.endpoint.oracle_settings.additional_archived_log_dest_id #=> Integer
resp.endpoint.oracle_settings.extra_archived_log_dest_ids #=> Array
resp.endpoint.oracle_settings.extra_archived_log_dest_ids[0] #=> Integer
resp.endpoint.oracle_settings.allow_select_nested_tables #=> Boolean
resp.endpoint.oracle_settings.parallel_asm_read_threads #=> Integer
resp.endpoint.oracle_settings.read_ahead_blocks #=> Integer
resp.endpoint.oracle_settings.access_alternate_directly #=> Boolean
resp.endpoint.oracle_settings.use_alternate_folder_for_online #=> Boolean
resp.endpoint.oracle_settings.oracle_path_prefix #=> String
resp.endpoint.oracle_settings.use_path_prefix #=> String
resp.endpoint.oracle_settings.replace_path_prefix #=> Boolean
resp.endpoint.oracle_settings.enable_homogenous_tablespace #=> Boolean
resp.endpoint.oracle_settings.direct_path_no_log #=> Boolean
resp.endpoint.oracle_settings.archived_logs_only #=> Boolean
resp.endpoint.oracle_settings.asm_password #=> String
resp.endpoint.oracle_settings.asm_server #=> String
resp.endpoint.oracle_settings.asm_user #=> String
resp.endpoint.oracle_settings.char_length_semantics #=> String, one of "default", "char", "byte"
resp.endpoint.oracle_settings.database_name #=> String
resp.endpoint.oracle_settings.direct_path_parallel_load #=> Boolean
resp.endpoint.oracle_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoint.oracle_settings.number_datatype_scale #=> Integer
resp.endpoint.oracle_settings.password #=> String
resp.endpoint.oracle_settings.port #=> Integer
resp.endpoint.oracle_settings.read_table_space_name #=> Boolean
resp.endpoint.oracle_settings.retry_interval #=> Integer
resp.endpoint.oracle_settings.security_db_encryption #=> String
resp.endpoint.oracle_settings.security_db_encryption_name #=> String
resp.endpoint.oracle_settings.server_name #=> String
resp.endpoint.oracle_settings.spatial_data_option_to_geo_json_function_name #=> String
resp.endpoint.oracle_settings.standby_delay_time #=> Integer
resp.endpoint.oracle_settings.username #=> String
resp.endpoint.oracle_settings.use_b_file #=> Boolean
resp.endpoint.oracle_settings.use_direct_path_full_load #=> Boolean
resp.endpoint.oracle_settings.use_logminer_reader #=> Boolean
resp.endpoint.oracle_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.oracle_settings.secrets_manager_secret_id #=> String
resp.endpoint.oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.endpoint.oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.endpoint.oracle_settings.trim_space_in_char #=> Boolean
resp.endpoint.oracle_settings.convert_timestamp_with_zone_to_utc #=> Boolean
resp.endpoint.oracle_settings.open_transaction_window #=> Integer
resp.endpoint.oracle_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoint.sybase_settings.database_name #=> String
resp.endpoint.sybase_settings.password #=> String
resp.endpoint.sybase_settings.port #=> Integer
resp.endpoint.sybase_settings.server_name #=> String
resp.endpoint.sybase_settings.username #=> String
resp.endpoint.sybase_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.sybase_settings.secrets_manager_secret_id #=> String
resp.endpoint.microsoft_sql_server_settings.port #=> Integer
resp.endpoint.microsoft_sql_server_settings.bcp_packet_size #=> Integer
resp.endpoint.microsoft_sql_server_settings.database_name #=> String
resp.endpoint.microsoft_sql_server_settings.control_tables_file_group #=> String
resp.endpoint.microsoft_sql_server_settings.password #=> String
resp.endpoint.microsoft_sql_server_settings.query_single_always_on_node #=> Boolean
resp.endpoint.microsoft_sql_server_settings.read_backup_only #=> Boolean
resp.endpoint.microsoft_sql_server_settings.safeguard_policy #=> String, one of "rely-on-sql-server-replication-agent", "exclusive-automatic-truncation", "shared-automatic-truncation"
resp.endpoint.microsoft_sql_server_settings.server_name #=> String
resp.endpoint.microsoft_sql_server_settings.username #=> String
resp.endpoint.microsoft_sql_server_settings.use_bcp_full_load #=> Boolean
resp.endpoint.microsoft_sql_server_settings.use_third_party_backup_device #=> Boolean
resp.endpoint.microsoft_sql_server_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.microsoft_sql_server_settings.secrets_manager_secret_id #=> String
resp.endpoint.microsoft_sql_server_settings.trim_space_in_char #=> Boolean
resp.endpoint.microsoft_sql_server_settings.tlog_access_mode #=> String, one of "BackupOnly", "PreferBackup", "PreferTlog", "TlogOnly"
resp.endpoint.microsoft_sql_server_settings.force_lob_lookup #=> Boolean
resp.endpoint.microsoft_sql_server_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoint.ibm_db_2_settings.database_name #=> String
resp.endpoint.ibm_db_2_settings.password #=> String
resp.endpoint.ibm_db_2_settings.port #=> Integer
resp.endpoint.ibm_db_2_settings.server_name #=> String
resp.endpoint.ibm_db_2_settings.set_data_capture_changes #=> Boolean
resp.endpoint.ibm_db_2_settings.current_lsn #=> String
resp.endpoint.ibm_db_2_settings.max_k_bytes_per_read #=> Integer
resp.endpoint.ibm_db_2_settings.username #=> String
resp.endpoint.ibm_db_2_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.ibm_db_2_settings.secrets_manager_secret_id #=> String
resp.endpoint.ibm_db_2_settings.load_timeout #=> Integer
resp.endpoint.ibm_db_2_settings.write_buffer_size #=> Integer
resp.endpoint.ibm_db_2_settings.max_file_size #=> Integer
resp.endpoint.ibm_db_2_settings.keep_csv_files #=> Boolean
resp.endpoint.doc_db_settings.username #=> String
resp.endpoint.doc_db_settings.password #=> String
resp.endpoint.doc_db_settings.server_name #=> String
resp.endpoint.doc_db_settings.port #=> Integer
resp.endpoint.doc_db_settings.database_name #=> String
resp.endpoint.doc_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoint.doc_db_settings.extract_doc_id #=> Boolean
resp.endpoint.doc_db_settings.docs_to_investigate #=> Integer
resp.endpoint.doc_db_settings.kms_key_id #=> String
resp.endpoint.doc_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.doc_db_settings.secrets_manager_secret_id #=> String
resp.endpoint.doc_db_settings.use_update_look_up #=> Boolean
resp.endpoint.doc_db_settings.replicate_shard_collections #=> Boolean
resp.endpoint.redis_settings.server_name #=> String
resp.endpoint.redis_settings.port #=> Integer
resp.endpoint.redis_settings.ssl_security_protocol #=> String, one of "plaintext", "ssl-encryption"
resp.endpoint.redis_settings.auth_type #=> String, one of "none", "auth-role", "auth-token"
resp.endpoint.redis_settings.auth_user_name #=> String
resp.endpoint.redis_settings.auth_password #=> String
resp.endpoint.redis_settings.ssl_ca_certificate_arn #=> String
resp.endpoint.gcp_my_sql_settings.after_connect_script #=> String
resp.endpoint.gcp_my_sql_settings. #=> Boolean
resp.endpoint.gcp_my_sql_settings.database_name #=> String
resp.endpoint.gcp_my_sql_settings.events_poll_interval #=> Integer
resp.endpoint.gcp_my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoint.gcp_my_sql_settings.max_file_size #=> Integer
resp.endpoint.gcp_my_sql_settings.parallel_load_threads #=> Integer
resp.endpoint.gcp_my_sql_settings.password #=> String
resp.endpoint.gcp_my_sql_settings.port #=> Integer
resp.endpoint.gcp_my_sql_settings.server_name #=> String
resp.endpoint.gcp_my_sql_settings.server_timezone #=> String
resp.endpoint.gcp_my_sql_settings.username #=> String
resp.endpoint.gcp_my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.gcp_my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.timestream_settings.database_name #=> String
resp.endpoint.timestream_settings.memory_duration #=> Integer
resp.endpoint.timestream_settings.magnetic_duration #=> Integer
resp.endpoint.timestream_settings.cdc_inserts_and_updates #=> Boolean
resp.endpoint.timestream_settings.enable_magnetic_store_writes #=> Boolean
resp.endpoint.lakehouse_settings.arn #=> 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:



4302
4303
4304
4305
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4302

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

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

Deletes an 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:



4340
4341
4342
4343
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4340

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

#delete_fleet_advisor_collector(params = {}) ⇒ Struct

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Deletes the specified Fleet Advisor collector.

Examples:

Request syntax with placeholder values


resp = client.delete_fleet_advisor_collector({
  collector_referenced_id: "String", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :collector_referenced_id (required, String)

    The reference ID of the Fleet Advisor collector to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4373
4374
4375
4376
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4373

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

#delete_fleet_advisor_databases(params = {}) ⇒ Types::DeleteFleetAdvisorDatabasesResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Deletes the specified Fleet Advisor collector databases.

Examples:

Request syntax with placeholder values


resp = client.delete_fleet_advisor_databases({
  database_ids: ["String"], # required
})

Response structure


resp.database_ids #=> Array
resp.database_ids[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :database_ids (required, Array<String>)

    The IDs of the Fleet Advisor collector databases to delete.

Returns:

See Also:



4413
4414
4415
4416
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4413

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

#delete_instance_profile(params = {}) ⇒ Types::DeleteInstanceProfileResponse

Deletes the specified instance profile.

Required permissions: dms:DeleteInstanceProfile. For more information, see Actions, resources, and condition keys for Database Migration Service.

All migration projects associated with the instance profile must be deleted or modified before you can delete the instance profile.

Examples:

Example: Delete an instance profile


# The following example deletes an instance profile identified by its ARN.

resp = client.delete_instance_profile({
  instance_profile_identifier: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  instance_profile: {
    description: "Example instance profile for documentation", 
    instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    instance_profile_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    instance_profile_name: "example-instance-profile", 
    kms_key_arn: "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
    network_type: "IPV4", 
    publicly_accessible: false, 
    subnet_group_identifier: "example-replication-subnet-group", 
    vpc_security_groups: [
      "sg-0123456789abcdef0", 
    ], 
  }, 
}

Request syntax with placeholder values


resp = client.delete_instance_profile({
  instance_profile_identifier: "String", # required
})

Response structure


resp.instance_profile.instance_profile_arn #=> String
resp.instance_profile.availability_zone #=> String
resp.instance_profile.kms_key_arn #=> String
resp.instance_profile.publicly_accessible #=> Boolean
resp.instance_profile.network_type #=> String
resp.instance_profile.instance_profile_name #=> String
resp.instance_profile.description #=> String
resp.instance_profile.instance_profile_creation_time #=> Time
resp.instance_profile.subnet_group_identifier #=> String
resp.instance_profile.vpc_security_groups #=> Array
resp.instance_profile.vpc_security_groups[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_profile_identifier (required, String)

    The identifier of the instance profile to delete.

Returns:

See Also:



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

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

#delete_migration_project(params = {}) ⇒ Types::DeleteMigrationProjectResponse

Deletes the specified migration project.

Required permissions: dms:DeleteMigrationProject. For more information, see Actions, resources, and condition keys for Database Migration Service.

The migration project must be closed before you can delete it.

Examples:

Example: Delete a migration project


# The following example deletes a migration project identified by its ARN.

resp = client.delete_migration_project({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  migration_project: {
    description: "Example migration project for documentation", 
    instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    instance_profile_name: "example-instance-profile", 
    migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    migration_project_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    migration_project_name: "example-migration-project", 
    schema_conversion_application_attributes: {
      s3_bucket_path: "s3://amzn-s3-demo-bucket", 
      s3_bucket_role_arn: "arn:aws:iam::111122223333:role/example-s3-access-role", 
    }, 
    source_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        data_provider_name: "example-data-provider", 
        secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3", 
      }, 
    ], 
    target_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        data_provider_name: "example-data-provider", 
        secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3", 
      }, 
    ], 
    transformation_rules: "{\"rules\":[{\"rule-type\":\"transformation\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-target\":\"schema\",\"rule-action\":\"rename\",\"object-locator\":{\"schema-name\":\"ExampleSchema\"},\"value\":\"TargetSchema\"}]}", 
  }, 
}

Request syntax with placeholder values


resp = client.delete_migration_project({
  migration_project_identifier: "String", # required
})

Response structure


resp.migration_project.migration_project_name #=> String
resp.migration_project.migration_project_arn #=> String
resp.migration_project.migration_project_creation_time #=> Time
resp.migration_project.source_data_provider_descriptors #=> Array
resp.migration_project.source_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_project.source_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_project.source_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_project.source_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_project.target_data_provider_descriptors #=> Array
resp.migration_project.target_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_project.target_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_project.target_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_project.target_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_project.instance_profile_arn #=> String
resp.migration_project.instance_profile_name #=> String
resp.migration_project.transformation_rules #=> String
resp.migration_project.description #=> String
resp.migration_project.schema_conversion_application_attributes.s3_bucket_path #=> String
resp.migration_project.schema_conversion_application_attributes.s3_bucket_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The name or Amazon Resource Name (ARN) of the migration project to delete.

Returns:

See Also:



4591
4592
4593
4594
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4591

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

#delete_replication_config(params = {}) ⇒ Types::DeleteReplicationConfigResponse

Deletes an DMS Serverless replication configuration. This effectively deprovisions any and all replications that use this configuration. You can't delete the configuration for an DMS Serverless replication that is ongoing. You can delete the configuration when the replication is in a non-RUNNING and non-STARTING state.

Examples:

Request syntax with placeholder values


resp = client.delete_replication_config({
  replication_config_arn: "String", # required
})

Response structure


resp.replication_config.replication_config_identifier #=> String
resp.replication_config.replication_config_arn #=> String
resp.replication_config.source_endpoint_arn #=> String
resp.replication_config.target_endpoint_arn #=> String
resp.replication_config.replication_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_config.compute_config.availability_zone #=> String
resp.replication_config.compute_config.dns_name_servers #=> String
resp.replication_config.compute_config.kms_key_id #=> String
resp.replication_config.compute_config.max_capacity_units #=> Integer
resp.replication_config.compute_config.min_capacity_units #=> Integer
resp.replication_config.compute_config.multi_az #=> Boolean
resp.replication_config.compute_config.preferred_maintenance_window #=> String
resp.replication_config.compute_config.replication_subnet_group_id #=> String
resp.replication_config.compute_config.vpc_security_group_ids #=> Array
resp.replication_config.compute_config.vpc_security_group_ids[0] #=> String
resp.replication_config.replication_settings #=> String
resp.replication_config.supplemental_settings #=> String
resp.replication_config.table_mappings #=> String
resp.replication_config.replication_config_create_time #=> Time
resp.replication_config.replication_config_update_time #=> Time
resp.replication_config.is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_arn (required, String)

    The replication config to delete.

Returns:

See Also:



4643
4644
4645
4646
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4643

def delete_replication_config(params = {}, options = {})
  req = build_request(:delete_replication_config, 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.replication_subnet_group.supported_network_types #=> Array
resp.replication_instance.replication_subnet_group.supported_network_types[0] #=> String
resp.replication_instance.replication_subnet_group.is_read_only #=> Boolean
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.pending_modified_values.network_type #=> 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.replication_instance_ipv_6_addresses #=> Array
resp.replication_instance.replication_instance_ipv_6_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
resp.replication_instance.network_type #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_id #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_iam_arn #=> String
resp.replication_instance.kerberos_authentication_settings.krb_5_file_contents #=> 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:



4787
4788
4789
4790
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4787

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:



4822
4823
4824
4825
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4822

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
resp.replication_task.target_replication_instance_arn #=> 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:



4903
4904
4905
4906
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4903

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

#delete_replication_task_assessment_run(params = {}) ⇒ Types::DeleteReplicationTaskAssessmentRunResponse

Deletes the record of a single premigration assessment run.

This operation removes all metadata that DMS maintains about this assessment run. However, the operation leaves untouched all information about this assessment run that is stored in your Amazon S3 bucket.

Examples:

Request syntax with placeholder values


resp = client.delete_replication_task_assessment_run({
  replication_task_assessment_run_arn: "String", # required
})

Response structure


resp.replication_task_assessment_run.replication_task_assessment_run_arn #=> String
resp.replication_task_assessment_run.replication_task_arn #=> String
resp.replication_task_assessment_run.status #=> String
resp.replication_task_assessment_run.replication_task_assessment_run_creation_date #=> Time
resp.replication_task_assessment_run.assessment_progress.individual_assessment_count #=> Integer
resp.replication_task_assessment_run.assessment_progress.individual_assessment_completed_count #=> Integer
resp.replication_task_assessment_run.last_failure_message #=> String
resp.replication_task_assessment_run.service_access_role_arn #=> String
resp.replication_task_assessment_run.result_location_bucket #=> String
resp.replication_task_assessment_run.result_location_folder #=> String
resp.replication_task_assessment_run.result_encryption_mode #=> String
resp.replication_task_assessment_run.result_kms_key_arn #=> String
resp.replication_task_assessment_run.assessment_run_name #=> String
resp.replication_task_assessment_run.is_latest_task_assessment_run #=> Boolean
resp.replication_task_assessment_run.result_statistic.passed #=> Integer
resp.replication_task_assessment_run.result_statistic.failed #=> Integer
resp.replication_task_assessment_run.result_statistic.error #=> Integer
resp.replication_task_assessment_run.result_statistic.warning #=> Integer
resp.replication_task_assessment_run.result_statistic.cancelled #=> Integer
resp.replication_task_assessment_run.result_statistic.skipped #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_assessment_run_arn (required, String)

    Amazon Resource Name (ARN) of the premigration assessment run to be deleted.

Returns:

See Also:



4956
4957
4958
4959
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4956

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

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

Lists all of the DMS attributes for a customer account. These attributes include 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:



5020
5021
5022
5023
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5020

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

#describe_applicable_individual_assessments(params = {}) ⇒ Types::DescribeApplicableIndividualAssessmentsResponse

Provides a list of individual assessments that you can specify for a new premigration assessment run, given one or more parameters.

If you specify an existing migration task, this operation provides the default individual assessments you can specify for that task. Otherwise, the specified parameters model elements of a possible migration task on which to base a premigration assessment run.

To use these migration task modeling parameters, you must specify an existing replication instance, a source database engine, a target database engine, and a migration type. This combination of parameters potentially limits the default individual assessments available for an assessment run created for a corresponding migration task.

If you specify no parameters, this operation provides a list of all possible individual assessments that you can specify for an assessment run. If you specify any one of the task modeling parameters, you must specify all of them or the operation cannot provide a list of individual assessments. The only parameter that you can specify alone is for an existing migration task. The specified task definition then determines the default list of individual assessments that you can specify in an assessment run for the 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_applicable_individual_assessments({
  replication_task_arn: "String",
  replication_instance_arn: "String",
  replication_config_arn: "String",
  source_engine_name: "String",
  target_engine_name: "String",
  migration_type: "full-load", # accepts full-load, cdc, full-load-and-cdc
  max_records: 1,
  marker: "String",
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_arn (String)

    Amazon Resource Name (ARN) of a migration task on which you want to base the default list of individual assessments.

  • :replication_instance_arn (String)

    ARN of a replication instance on which you want to base the default list of individual assessments.

  • :replication_config_arn (String)

    Amazon Resource Name (ARN) of a serverless replication on which you want to base the default list of individual assessments.

  • :source_engine_name (String)

    Name of a database engine that the specified replication instance supports as a source.

  • :target_engine_name (String)

    Name of a database engine that the specified replication instance supports as a target.

  • :migration_type (String)

    Name of the migration type that each provided individual assessment must support.

  • :max_records (Integer)

    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.

  • :marker (String)

    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:



5113
5114
5115
5116
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5113

def describe_applicable_individual_assessments(params = {}, options = {})
  req = build_request(:describe_applicable_individual_assessments, 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
resp.certificates[0].kms_key_id #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the certificates described in the form of key-value pairs. Valid values are certificate-arn and certificate-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: 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:



5203
5204
5205
5206
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5203

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:



5306
5307
5308
5309
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5306

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

#describe_conversion_configuration(params = {}) ⇒ Types::DescribeConversionConfigurationResponse

Returns configuration parameters for a schema conversion project.

Required permissions: dms:DescribeConversionConfiguration. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Retrieving conversion configuration for a migration project


# The following example retrieves the conversion configuration for a migration project.

resp = client.describe_conversion_configuration({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  conversion_configuration: "{\"Common project settings\":{\"ShowSeverityLevelInSql\":\"CRITICAL\",\"EnableGenAiConversion\":false},\"MSSQL_TO_AURORA_POSTGRESQL\":{\"ConvertProceduresToFunction\":true,\"UniqueIndexGeneration\":true,\"CaseSensitivityNames\":false},\"Conversion version\":{\"MSSQL_TO_AURORA_POSTGRESQL_target_engine_version\":\"15\"}}", 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
}

Request syntax with placeholder values


resp = client.describe_conversion_configuration({
  migration_project_identifier: "MigrationProjectIdentifier", # required
})

Response structure


resp.migration_project_identifier #=> String
resp.conversion_configuration #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The name or Amazon Resource Name (ARN) for the schema conversion project to describe.

Returns:

See Also:



5360
5361
5362
5363
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5360

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

#describe_data_migrations(params = {}) ⇒ Types::DescribeDataMigrationsResponse

Returns information about data migrations.

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_data_migrations({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "Marker",
  without_settings: false,
  without_statistics: false,
})

Response structure


resp.data_migrations #=> Array
resp.data_migrations[0].data_migration_name #=> String
resp.data_migrations[0].data_migration_arn #=> String
resp.data_migrations[0].data_migration_create_time #=> Time
resp.data_migrations[0].data_migration_start_time #=> Time
resp.data_migrations[0].data_migration_end_time #=> Time
resp.data_migrations[0].service_access_role_arn #=> String
resp.data_migrations[0].migration_project_arn #=> String
resp.data_migrations[0].data_migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.data_migrations[0].data_migration_settings.number_of_jobs #=> Integer
resp.data_migrations[0].data_migration_settings.cloudwatch_logs_enabled #=> Boolean
resp.data_migrations[0].data_migration_settings.selection_rules #=> String
resp.data_migrations[0].source_data_settings #=> Array
resp.data_migrations[0].source_data_settings[0].cdc_start_position #=> String
resp.data_migrations[0].source_data_settings[0].cdc_start_time #=> Time
resp.data_migrations[0].source_data_settings[0].cdc_stop_time #=> Time
resp.data_migrations[0].source_data_settings[0].slot_name #=> String
resp.data_migrations[0].target_data_settings #=> Array
resp.data_migrations[0].target_data_settings[0].table_preparation_mode #=> String, one of "drop-tables-on-target", "truncate", "do-nothing"
resp.data_migrations[0].data_migration_statistics.tables_loaded #=> Integer
resp.data_migrations[0].data_migration_statistics.elapsed_time_millis #=> Integer
resp.data_migrations[0].data_migration_statistics.tables_loading #=> Integer
resp.data_migrations[0].data_migration_statistics.full_load_percentage #=> Integer
resp.data_migrations[0].data_migration_statistics.cdc_latency #=> Integer
resp.data_migrations[0].data_migration_statistics.tables_queued #=> Integer
resp.data_migrations[0].data_migration_statistics.tables_errored #=> Integer
resp.data_migrations[0].data_migration_statistics.start_time #=> Time
resp.data_migrations[0].data_migration_statistics.stop_time #=> Time
resp.data_migrations[0].data_migration_status #=> String
resp.data_migrations[0].public_ip_addresses #=> Array
resp.data_migrations[0].public_ip_addresses[0] #=> String
resp.data_migrations[0].data_migration_cidr_blocks #=> Array
resp.data_migrations[0].data_migration_cidr_blocks[0] #=> String
resp.data_migrations[0].last_failure_message #=> String
resp.data_migrations[0].stop_reason #=> String
resp.marker #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the data migrations.

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

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

  • :without_statistics (Boolean)

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

Returns:

See Also:



5457
5458
5459
5460
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5457

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

#describe_data_providers(params = {}) ⇒ Types::DescribeDataProvidersResponse

Returns a paginated list of data providers for your account in the current region.

Required permissions: dms:ListDataProviders. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

Examples:

Example: Describe data providers with a filter


# The following example retrieves the details of a data provider identified by its ARN.

resp = client.describe_data_providers({
  filters: [
    {
      name: "data-provider-identifier", 
      values: [
        "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      ], 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  data_providers: [
    {
      data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      data_provider_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
      data_provider_name: "example-data-provider", 
      description: "Example data provider for documentation", 
      engine: "sqlserver", 
      settings: {
        microsoft_sql_server_settings: {
          certificate_arn: "arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS", 
          database_name: "ExampleDatabase", 
          port: 1433, 
          server_name: "example-source-server.us-east-1.rds.amazonaws.com", 
          ssl_mode: "verify-full", 
        }, 
      }, 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.data_providers #=> Array
resp.data_providers[0].data_provider_name #=> String
resp.data_providers[0].data_provider_arn #=> String
resp.data_providers[0].data_provider_creation_time #=> Time
resp.data_providers[0].description #=> String
resp.data_providers[0].engine #=> String
resp.data_providers[0].virtual #=> Boolean
resp.data_providers[0].settings.redshift_settings.server_name #=> String
resp.data_providers[0].settings.redshift_settings.port #=> Integer
resp.data_providers[0].settings.redshift_settings.database_name #=> String
resp.data_providers[0].settings.redshift_settings.s3_path #=> String
resp.data_providers[0].settings.redshift_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.postgre_sql_settings.server_name #=> String
resp.data_providers[0].settings.postgre_sql_settings.port #=> Integer
resp.data_providers[0].settings.postgre_sql_settings.database_name #=> String
resp.data_providers[0].settings.postgre_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.postgre_sql_settings.certificate_arn #=> String
resp.data_providers[0].settings.postgre_sql_settings.s3_path #=> String
resp.data_providers[0].settings.postgre_sql_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.my_sql_settings.server_name #=> String
resp.data_providers[0].settings.my_sql_settings.port #=> Integer
resp.data_providers[0].settings.my_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.my_sql_settings.certificate_arn #=> String
resp.data_providers[0].settings.my_sql_settings.s3_path #=> String
resp.data_providers[0].settings.my_sql_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.oracle_settings.server_name #=> String
resp.data_providers[0].settings.oracle_settings.port #=> Integer
resp.data_providers[0].settings.oracle_settings.database_name #=> String
resp.data_providers[0].settings.oracle_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.oracle_settings.certificate_arn #=> String
resp.data_providers[0].settings.oracle_settings.asm_server #=> String
resp.data_providers[0].settings.oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.data_providers[0].settings.oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.data_providers[0].settings.oracle_settings.secrets_manager_security_db_encryption_secret_id #=> String
resp.data_providers[0].settings.oracle_settings.secrets_manager_security_db_encryption_access_role_arn #=> String
resp.data_providers[0].settings.oracle_settings.s3_path #=> String
resp.data_providers[0].settings.oracle_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.sybase_ase_settings.server_name #=> String
resp.data_providers[0].settings.sybase_ase_settings.port #=> Integer
resp.data_providers[0].settings.sybase_ase_settings.database_name #=> String
resp.data_providers[0].settings.sybase_ase_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.sybase_ase_settings.encrypt_password #=> Boolean
resp.data_providers[0].settings.sybase_ase_settings.certificate_arn #=> String
resp.data_providers[0].settings.microsoft_sql_server_settings.server_name #=> String
resp.data_providers[0].settings.microsoft_sql_server_settings.port #=> Integer
resp.data_providers[0].settings.microsoft_sql_server_settings.database_name #=> String
resp.data_providers[0].settings.microsoft_sql_server_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.microsoft_sql_server_settings.certificate_arn #=> String
resp.data_providers[0].settings.microsoft_sql_server_settings.s3_path #=> String
resp.data_providers[0].settings.microsoft_sql_server_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.doc_db_settings.server_name #=> String
resp.data_providers[0].settings.doc_db_settings.port #=> Integer
resp.data_providers[0].settings.doc_db_settings.database_name #=> String
resp.data_providers[0].settings.doc_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.doc_db_settings.certificate_arn #=> String
resp.data_providers[0].settings.maria_db_settings.server_name #=> String
resp.data_providers[0].settings.maria_db_settings.port #=> Integer
resp.data_providers[0].settings.maria_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.maria_db_settings.certificate_arn #=> String
resp.data_providers[0].settings.maria_db_settings.s3_path #=> String
resp.data_providers[0].settings.maria_db_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.ibm_db_2_luw_settings.server_name #=> String
resp.data_providers[0].settings.ibm_db_2_luw_settings.port #=> Integer
resp.data_providers[0].settings.ibm_db_2_luw_settings.database_name #=> String
resp.data_providers[0].settings.ibm_db_2_luw_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.ibm_db_2_luw_settings.certificate_arn #=> String
resp.data_providers[0].settings.ibm_db_2_luw_settings.encryption_algorithm #=> Integer
resp.data_providers[0].settings.ibm_db_2_luw_settings.security_mechanism #=> Integer
resp.data_providers[0].settings.ibm_db_2_luw_settings.s3_path #=> String
resp.data_providers[0].settings.ibm_db_2_luw_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.ibm_db_2z_os_settings.server_name #=> String
resp.data_providers[0].settings.ibm_db_2z_os_settings.port #=> Integer
resp.data_providers[0].settings.ibm_db_2z_os_settings.database_name #=> String
resp.data_providers[0].settings.ibm_db_2z_os_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.ibm_db_2z_os_settings.certificate_arn #=> String
resp.data_providers[0].settings.ibm_db_2z_os_settings.s3_path #=> String
resp.data_providers[0].settings.ibm_db_2z_os_settings.s3_access_role_arn #=> String
resp.data_providers[0].settings.mongo_db_settings.server_name #=> String
resp.data_providers[0].settings.mongo_db_settings.port #=> Integer
resp.data_providers[0].settings.mongo_db_settings.database_name #=> String
resp.data_providers[0].settings.mongo_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_providers[0].settings.mongo_db_settings.certificate_arn #=> String
resp.data_providers[0].settings.mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.data_providers[0].settings.mongo_db_settings.auth_source #=> String
resp.data_providers[0].settings.mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"

Parameters:

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

    ({})

Options Hash (params):

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

    The filters to apply to the data providers.

    The following filter names are supported:

    • data-provider-identifier – The data provider name or ARN.

    ^

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

Returns:

See Also:



5650
5651
5652
5653
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5650

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

#describe_endpoint_settings(params = {}) ⇒ Types::DescribeEndpointSettingsResponse

Returns information about the possible endpoint settings available when you create an endpoint for a specific database engine.

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_endpoint_settings({
  engine_name: "String", # required
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.endpoint_settings #=> Array
resp.endpoint_settings[0].name #=> String
resp.endpoint_settings[0].type #=> String, one of "string", "boolean", "integer", "enum"
resp.endpoint_settings[0].enum_values #=> Array
resp.endpoint_settings[0].enum_values[0] #=> String
resp.endpoint_settings[0].sensitive #=> Boolean
resp.endpoint_settings[0].units #=> String
resp.endpoint_settings[0].applicability #=> String
resp.endpoint_settings[0].int_value_min #=> Integer
resp.endpoint_settings[0].int_value_max #=> Integer
resp.endpoint_settings[0].default_value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :engine_name (required, String)

    The database engine used for your source or target 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.

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



5706
5707
5708
5709
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5706

def describe_endpoint_settings(params = {}, options = {})
  req = build_request(:describe_endpoint_settings, 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 endpoint types.

    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:



5793
5794
5795
5796
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 5793

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].is_read_only #=> Boolean
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].s3_settings.date_partition_enabled #=> Boolean
resp.endpoints[0].s3_settings.date_partition_sequence #=> String, one of "YYYYMMDD", "YYYYMMDDHH", "YYYYMM", "MMYYYYDD", "DDMMYYYY"
resp.endpoints[0].s3_settings.date_partition_delimiter #=> String, one of "SLASH", "UNDERSCORE", "DASH", "NONE"
resp.endpoints[0].s3_settings.use_csv_no_sup_value #=> Boolean
resp.endpoints[0].s3_settings.csv_no_sup_value #=> String
resp.endpoints[0].s3_settings.preserve_transactions #=> Boolean
resp.endpoints[0].s3_settings.cdc_path #=> String
resp.endpoints[0].s3_settings.use_task_start_time_for_full_load_timestamp #=> Boolean
resp.endpoints[0].s3_settings.canned_acl_for_objects #=> String, one of "none", "private", "public-read", "public-read-write", "authenticated-read", "aws-exec-read", "bucket-owner-read", "bucket-owner-full-control"
resp.endpoints[0].s3_settings.add_column_name #=> Boolean
resp.endpoints[0].s3_settings.cdc_max_batch_interval #=> Integer
resp.endpoints[0].s3_settings.cdc_min_file_size #=> Integer
resp.endpoints[0].s3_settings.csv_null_value #=> String
resp.endpoints[0].s3_settings.ignore_header_rows #=> Integer
resp.endpoints[0].s3_settings.max_file_size #=> Integer
resp.endpoints[0].s3_settings.rfc_4180 #=> Boolean
resp.endpoints[0].s3_settings.date_partition_timezone #=> String
resp.endpoints[0].s3_settings.add_trailing_padding_character #=> Boolean
resp.endpoints[0].s3_settings.expected_bucket_owner #=> String
resp.endpoints[0].s3_settings.glue_catalog_generation #=> 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].mongo_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].mongo_db_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].mongo_db_settings.use_update_look_up #=> Boolean
resp.endpoints[0].mongo_db_settings.replicate_shard_collections #=> Boolean
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].kinesis_settings.include_null_and_empty #=> Boolean
resp.endpoints[0].kinesis_settings.no_hex_prefix #=> Boolean
resp.endpoints[0].kinesis_settings.use_large_integer_value #=> Boolean
resp.endpoints[0].kafka_settings.broker #=> String
resp.endpoints[0].kafka_settings.topic #=> String
resp.endpoints[0].kafka_settings.message_format #=> String, one of "json", "json-unformatted"
resp.endpoints[0].kafka_settings.include_transaction_details #=> Boolean
resp.endpoints[0].kafka_settings.include_partition_value #=> Boolean
resp.endpoints[0].kafka_settings.partition_include_schema_table #=> Boolean
resp.endpoints[0].kafka_settings.include_table_alter_operations #=> Boolean
resp.endpoints[0].kafka_settings.include_control_details #=> Boolean
resp.endpoints[0].kafka_settings.message_max_bytes #=> Integer
resp.endpoints[0].kafka_settings.include_null_and_empty #=> Boolean
resp.endpoints[0].kafka_settings.security_protocol #=> String, one of "plaintext", "ssl-authentication", "ssl-encryption", "sasl-ssl"
resp.endpoints[0].kafka_settings.ssl_client_certificate_arn #=> String
resp.endpoints[0].kafka_settings.ssl_client_key_arn #=> String
resp.endpoints[0].kafka_settings.ssl_client_key_password #=> String
resp.endpoints[0].kafka_settings.ssl_ca_certificate_arn #=> String
resp.endpoints[0].kafka_settings.sasl_username #=> String
resp.endpoints[0].kafka_settings.sasl_password #=> String
resp.endpoints[0].kafka_settings.no_hex_prefix #=> Boolean
resp.endpoints[0].kafka_settings.sasl_mechanism #=> String, one of "scram-sha-512", "plain"
resp.endpoints[0].kafka_settings.ssl_endpoint_identification_algorithm #=> String, one of "none", "https"
resp.endpoints[0].kafka_settings.use_large_integer_value #=> Boolean
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].elasticsearch_settings.use_new_mapping_type #=> Boolean
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.case_sensitive_names #=> Boolean
resp.endpoints[0].redshift_settings.comp_update #=> Boolean
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.explicit_ids #=> Boolean
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
resp.endpoints[0].redshift_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].redshift_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].redshift_settings.map_boolean_as_boolean #=> Boolean
resp.endpoints[0].postgre_sql_settings.after_connect_script #=> String
resp.endpoints[0].postgre_sql_settings.capture_ddls #=> Boolean
resp.endpoints[0].postgre_sql_settings.max_file_size #=> Integer
resp.endpoints[0].postgre_sql_settings.database_name #=> String
resp.endpoints[0].postgre_sql_settings.ddl_artifacts_schema #=> String
resp.endpoints[0].postgre_sql_settings.execute_timeout #=> Integer
resp.endpoints[0].postgre_sql_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoints[0].postgre_sql_settings.heartbeat_enable #=> Boolean
resp.endpoints[0].postgre_sql_settings.heartbeat_schema #=> String
resp.endpoints[0].postgre_sql_settings.heartbeat_frequency #=> Integer
resp.endpoints[0].postgre_sql_settings.password #=> String
resp.endpoints[0].postgre_sql_settings.port #=> Integer
resp.endpoints[0].postgre_sql_settings.server_name #=> String
resp.endpoints[0].postgre_sql_settings.username #=> String
resp.endpoints[0].postgre_sql_settings.slot_name #=> String
resp.endpoints[0].postgre_sql_settings.plugin_name #=> String, one of "no-preference", "test-decoding", "pglogical"
resp.endpoints[0].postgre_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].postgre_sql_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].postgre_sql_settings.trim_space_in_char #=> Boolean
resp.endpoints[0].postgre_sql_settings.map_boolean_as_boolean #=> Boolean
resp.endpoints[0].postgre_sql_settings.map_jsonb_as_clob #=> Boolean
resp.endpoints[0].postgre_sql_settings.map_long_varchar_as #=> String, one of "wstring", "clob", "nclob"
resp.endpoints[0].postgre_sql_settings.database_mode #=> String, one of "default", "babelfish"
resp.endpoints[0].postgre_sql_settings.babelfish_database_name #=> String
resp.endpoints[0].postgre_sql_settings.disable_unicode_source_filter #=> Boolean
resp.endpoints[0].postgre_sql_settings.service_access_role_arn #=> String
resp.endpoints[0].postgre_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoints[0].my_sql_settings.after_connect_script #=> String
resp.endpoints[0].my_sql_settings. #=> Boolean
resp.endpoints[0].my_sql_settings.database_name #=> String
resp.endpoints[0].my_sql_settings.events_poll_interval #=> Integer
resp.endpoints[0].my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoints[0].my_sql_settings.max_file_size #=> Integer
resp.endpoints[0].my_sql_settings.parallel_load_threads #=> Integer
resp.endpoints[0].my_sql_settings.password #=> String
resp.endpoints[0].my_sql_settings.port #=> Integer
resp.endpoints[0].my_sql_settings.server_name #=> String
resp.endpoints[0].my_sql_settings.server_timezone #=> String
resp.endpoints[0].my_sql_settings.username #=> String
resp.endpoints[0].my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].my_sql_settings.execute_timeout #=> Integer
resp.endpoints[0].my_sql_settings.service_access_role_arn #=> String
resp.endpoints[0].my_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoints[0].oracle_settings.add_supplemental_logging #=> Boolean
resp.endpoints[0].oracle_settings.archived_log_dest_id #=> Integer
resp.endpoints[0].oracle_settings.additional_archived_log_dest_id #=> Integer
resp.endpoints[0].oracle_settings.extra_archived_log_dest_ids #=> Array
resp.endpoints[0].oracle_settings.extra_archived_log_dest_ids[0] #=> Integer
resp.endpoints[0].oracle_settings.allow_select_nested_tables #=> Boolean
resp.endpoints[0].oracle_settings.parallel_asm_read_threads #=> Integer
resp.endpoints[0].oracle_settings.read_ahead_blocks #=> Integer
resp.endpoints[0].oracle_settings.access_alternate_directly #=> Boolean
resp.endpoints[0].oracle_settings.use_alternate_folder_for_online #=> Boolean
resp.endpoints[0].oracle_settings.oracle_path_prefix #=> String
resp.endpoints[0].oracle_settings.use_path_prefix #=> String
resp.endpoints[0].oracle_settings.replace_path_prefix #=> Boolean
resp.endpoints[0].oracle_settings.enable_homogenous_tablespace #=> Boolean
resp.endpoints[0].oracle_settings.direct_path_no_log #=> Boolean
resp.endpoints[0].oracle_settings.archived_logs_only #=> Boolean
resp.endpoints[0].oracle_settings.asm_password #=> String
resp.endpoints[0].oracle_settings.asm_server #=> String
resp.endpoints[0].oracle_settings.asm_user #=> String
resp.endpoints[0].oracle_settings.char_length_semantics #=> String, one of "default", "char", "byte"
resp.endpoints[0].oracle_settings.database_name #=> String
resp.endpoints[0].oracle_settings.direct_path_parallel_load #=> Boolean
resp.endpoints[0].oracle_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoints[0].oracle_settings.number_datatype_scale #=> Integer
resp.endpoints[0].oracle_settings.password #=> String
resp.endpoints[0].oracle_settings.port #=> Integer
resp.endpoints[0].oracle_settings.read_table_space_name #=> Boolean
resp.endpoints[0].oracle_settings.retry_interval #=> Integer
resp.endpoints[0].oracle_settings.security_db_encryption #=> String
resp.endpoints[0].oracle_settings.security_db_encryption_name #=> String
resp.endpoints[0].oracle_settings.server_name #=> String
resp.endpoints[0].oracle_settings.spatial_data_option_to_geo_json_function_name #=> String
resp.endpoints[0].oracle_settings.standby_delay_time #=> Integer
resp.endpoints[0].oracle_settings.username #=> String
resp.endpoints[0].oracle_settings.use_b_file #=> Boolean
resp.endpoints[0].oracle_settings.use_direct_path_full_load #=> Boolean
resp.endpoints[0].oracle_settings.use_logminer_reader #=> Boolean
resp.endpoints[0].oracle_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].oracle_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.endpoints[0].oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.endpoints[0].oracle_settings.trim_space_in_char #=> Boolean
resp.endpoints[0].oracle_settings.convert_timestamp_with_zone_to_utc #=> Boolean
resp.endpoints[0].oracle_settings.open_transaction_window #=> Integer
resp.endpoints[0].oracle_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoints[0].sybase_settings.database_name #=> String
resp.endpoints[0].sybase_settings.password #=> String
resp.endpoints[0].sybase_settings.port #=> Integer
resp.endpoints[0].sybase_settings.server_name #=> String
resp.endpoints[0].sybase_settings.username #=> String
resp.endpoints[0].sybase_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].sybase_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].microsoft_sql_server_settings.port #=> Integer
resp.endpoints[0].microsoft_sql_server_settings.bcp_packet_size #=> Integer
resp.endpoints[0].microsoft_sql_server_settings.database_name #=> String
resp.endpoints[0].microsoft_sql_server_settings.control_tables_file_group #=> String
resp.endpoints[0].microsoft_sql_server_settings.password #=> String
resp.endpoints[0].microsoft_sql_server_settings.query_single_always_on_node #=> Boolean
resp.endpoints[0].microsoft_sql_server_settings.read_backup_only #=> Boolean
resp.endpoints[0].microsoft_sql_server_settings.safeguard_policy #=> String, one of "rely-on-sql-server-replication-agent", "exclusive-automatic-truncation", "shared-automatic-truncation"
resp.endpoints[0].microsoft_sql_server_settings.server_name #=> String
resp.endpoints[0].microsoft_sql_server_settings.username #=> String
resp.endpoints[0].microsoft_sql_server_settings.use_bcp_full_load #=> Boolean
resp.endpoints[0].microsoft_sql_server_settings.use_third_party_backup_device #=> Boolean
resp.endpoints[0].microsoft_sql_server_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].microsoft_sql_server_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].microsoft_sql_server_settings.trim_space_in_char #=> Boolean
resp.endpoints[0].microsoft_sql_server_settings.tlog_access_mode #=> String, one of "BackupOnly", "PreferBackup", "PreferTlog", "TlogOnly"
resp.endpoints[0].microsoft_sql_server_settings.force_lob_lookup #=> Boolean
resp.endpoints[0].microsoft_sql_server_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoints[0].ibm_db_2_settings.database_name #=> String
resp.endpoints[0].ibm_db_2_settings.password #=> String
resp.endpoints[0].ibm_db_2_settings.port #=> Integer
resp.endpoints[0].ibm_db_2_settings.server_name #=> String
resp.endpoints[0].ibm_db_2_settings.set_data_capture_changes #=> Boolean
resp.endpoints[0].ibm_db_2_settings.current_lsn #=> String
resp.endpoints[0].ibm_db_2_settings.max_k_bytes_per_read #=> Integer
resp.endpoints[0].ibm_db_2_settings.username #=> String
resp.endpoints[0].ibm_db_2_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].ibm_db_2_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].ibm_db_2_settings.load_timeout #=> Integer
resp.endpoints[0].ibm_db_2_settings.write_buffer_size #=> Integer
resp.endpoints[0].ibm_db_2_settings.max_file_size #=> Integer
resp.endpoints[0].ibm_db_2_settings.keep_csv_files #=> Boolean
resp.endpoints[0].doc_db_settings.username #=> String
resp.endpoints[0].doc_db_settings.password #=> String
resp.endpoints[0].doc_db_settings.server_name #=> String
resp.endpoints[0].doc_db_settings.port #=> Integer
resp.endpoints[0].doc_db_settings.database_name #=> String
resp.endpoints[0].doc_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoints[0].doc_db_settings.extract_doc_id #=> Boolean
resp.endpoints[0].doc_db_settings.docs_to_investigate #=> Integer
resp.endpoints[0].doc_db_settings.kms_key_id #=> String
resp.endpoints[0].doc_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].doc_db_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].doc_db_settings.use_update_look_up #=> Boolean
resp.endpoints[0].doc_db_settings.replicate_shard_collections #=> Boolean
resp.endpoints[0].redis_settings.server_name #=> String
resp.endpoints[0].redis_settings.port #=> Integer
resp.endpoints[0].redis_settings.ssl_security_protocol #=> String, one of "plaintext", "ssl-encryption"
resp.endpoints[0].redis_settings.auth_type #=> String, one of "none", "auth-role", "auth-token"
resp.endpoints[0].redis_settings.auth_user_name #=> String
resp.endpoints[0].redis_settings.auth_password #=> String
resp.endpoints[0].redis_settings.ssl_ca_certificate_arn #=> String
resp.endpoints[0].gcp_my_sql_settings.after_connect_script #=> String
resp.endpoints[0].gcp_my_sql_settings. #=> Boolean
resp.endpoints[0].gcp_my_sql_settings.database_name #=> String
resp.endpoints[0].gcp_my_sql_settings.events_poll_interval #=> Integer
resp.endpoints[0].gcp_my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoints[0].gcp_my_sql_settings.max_file_size #=> Integer
resp.endpoints[0].gcp_my_sql_settings.parallel_load_threads #=> Integer
resp.endpoints[0].gcp_my_sql_settings.password #=> String
resp.endpoints[0].gcp_my_sql_settings.port #=> Integer
resp.endpoints[0].gcp_my_sql_settings.server_name #=> String
resp.endpoints[0].gcp_my_sql_settings.server_timezone #=> String
resp.endpoints[0].gcp_my_sql_settings.username #=> String
resp.endpoints[0].gcp_my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoints[0].gcp_my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoints[0].timestream_settings.database_name #=> String
resp.endpoints[0].timestream_settings.memory_duration #=> Integer
resp.endpoints[0].timestream_settings.magnetic_duration #=> Integer
resp.endpoints[0].timestream_settings.cdc_inserts_and_updates #=> Boolean
resp.endpoints[0].timestream_settings.enable_magnetic_store_writes #=> Boolean
resp.endpoints[0].lakehouse_settings.arn #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the endpoints.

    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:



6203
6204
6205
6206
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6203

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

#describe_engine_versions(params = {}) ⇒ Types::DescribeEngineVersionsResponse

Returns information about the replication instance versions used in the project.

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_engine_versions({
  max_records: 1,
  marker: "String",
})

Response structure


resp.engine_versions #=> Array
resp.engine_versions[0].version #=> String
resp.engine_versions[0].lifecycle #=> String
resp.engine_versions[0].release_status #=> String, one of "beta", "prod"
resp.engine_versions[0].launch_date #=> Time
resp.engine_versions[0].auto_upgrade_date #=> Time
resp.engine_versions[0].deprecation_date #=> Time
resp.engine_versions[0].force_upgrade_date #=> Time
resp.engine_versions[0].available_upgrades #=> Array
resp.engine_versions[0].available_upgrades[0] #=> String
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.

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



6254
6255
6256
6257
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6254

def describe_engine_versions(params = {}, options = {})
  req = build_request(:describe_engine_versions, 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 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 DMS resource that generates events.

    Valid values: replication-instance | replication-task

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

    Filters applied to the event categories.

Returns:

See Also:



6303
6304
6305
6306
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6303

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 DMS event subscription to be described.

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

    Filters applied to event subscriptions.

    Valid filter names: event-subscription-arn | event-subscription-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:



6381
6382
6383
6384
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6381

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 DMS events, see Working with Events and Notifications in the Database Migration Service 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 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 events. The only valid filter is replication-instance-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:



6475
6476
6477
6478
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6475

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

#describe_extension_pack_associations(params = {}) ⇒ Types::DescribeExtensionPackAssociationsResponse

Returns a paginated list of extension pack installation requests for a migration project, initiated by StartExtensionPackAssociation.

Required permissions: dms:ListExtensionPacks. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

  • extension_pack_associated

Examples:

Example: Retrieve the status of extension pack associations


# The following example retrieves the status of operations that apply an extension pack to the target database, identified
# by their request IDs.

resp = client.describe_extension_pack_associations({
  filters: [
    {
      name: "request-id", 
      values: [
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      ], 
    }, 
  ], 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  requests: [
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      status: "SUCCESS", 
    }, 
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      progress: {
        progress_percent: 50.0, 
        progress_step: "IN_PROGRESS", 
      }, 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
      status: "IN_PROGRESS", 
    }, 
    {
      error: {
        default_error_details: {
          message: "The database user in your target secret does not have sufficient privileges. Grant the required privileges and try again.", 
        }, 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      status: "FAILED", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.requests #=> Array
resp.requests[0].status #=> String
resp.requests[0].request_identifier #=> String
resp.requests[0].migration_project_arn #=> String
resp.requests[0].error.default_error_details.message #=> String
resp.requests[0].export_sql_details.s3_object_key #=> String
resp.requests[0].export_sql_details.object_url #=> String
resp.requests[0].progress.progress_percent #=> Float
resp.requests[0].progress.total_objects #=> Integer
resp.requests[0].progress.progress_step #=> String
resp.requests[0].progress.processed_object.name #=> String
resp.requests[0].progress.processed_object.type #=> String
resp.requests[0].progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

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

    The filters to apply to the extension pack installation requests.

    The following filter names are supported:

    • request-id – The request identifier.

    • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Returns:

See Also:



6619
6620
6621
6622
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6619

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

#describe_fleet_advisor_collectors(params = {}) ⇒ Types::DescribeFleetAdvisorCollectorsResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Returns a list of the Fleet Advisor collectors in your account.

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_fleet_advisor_collectors({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  next_token: "String",
})

Response structure


resp.collectors #=> Array
resp.collectors[0].collector_referenced_id #=> String
resp.collectors[0].collector_name #=> String
resp.collectors[0].collector_version #=> String
resp.collectors[0].version_status #=> String, one of "UP_TO_DATE", "OUTDATED", "UNSUPPORTED"
resp.collectors[0].description #=> String
resp.collectors[0].s3_bucket_name #=> String
resp.collectors[0].service_access_role_arn #=> String
resp.collectors[0].collector_health_check.collector_status #=> String, one of "UNREGISTERED", "ACTIVE"
resp.collectors[0].collector_health_check.local_collector_s3_access #=> Boolean
resp.collectors[0].collector_health_check.web_collector_s3_access #=> Boolean
resp.collectors[0].collector_health_check.web_collector_granted_role_based_access #=> Boolean
resp.collectors[0].last_data_received #=> String
resp.collectors[0].registered_date #=> String
resp.collectors[0].created_date #=> String
resp.collectors[0].modified_date #=> String
resp.collectors[0].inventory_data.number_of_databases #=> Integer
resp.collectors[0].inventory_data.number_of_schemas #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    If you specify any of the following filters, the output includes information for only those collectors that meet the filter criteria:

    • collector-referenced-id – The ID of the collector agent, for example d4610ac5-e323-4ad9-bc50-eaf7249dfe9d.

    • collector-name – The name of the collector agent.

    An example is: describe-fleet-advisor-collectors --filter Name="collector-referenced-id",Values="d4610ac5-e323-4ad9-bc50-eaf7249dfe9d"

  • :max_records (Integer)

    Sets the maximum number of records returned in the response.

  • :next_token (String)

    If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Returns:

See Also:



6704
6705
6706
6707
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6704

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

#describe_fleet_advisor_databases(params = {}) ⇒ Types::DescribeFleetAdvisorDatabasesResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Returns a list of Fleet Advisor databases in your account.

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_fleet_advisor_databases({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  next_token: "String",
})

Response structure


resp.databases #=> Array
resp.databases[0].database_id #=> String
resp.databases[0].database_name #=> String
resp.databases[0].ip_address #=> String
resp.databases[0].number_of_schemas #=> Integer
resp.databases[0].server.server_id #=> String
resp.databases[0].server.ip_address #=> String
resp.databases[0].server.server_name #=> String
resp.databases[0].software_details.engine #=> String
resp.databases[0].software_details.engine_version #=> String
resp.databases[0].software_details.engine_edition #=> String
resp.databases[0].software_details.service_pack #=> String
resp.databases[0].software_details.support_level #=> String
resp.databases[0].software_details.os_architecture #=> Integer
resp.databases[0].software_details.tooltip #=> String
resp.databases[0].collectors #=> Array
resp.databases[0].collectors[0].collector_referenced_id #=> String
resp.databases[0].collectors[0].collector_name #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    If you specify any of the following filters, the output includes information for only those databases that meet the filter criteria:

    • database-id – The ID of the database.

    • database-name – The name of the database.

    • database-engine – The name of the database engine.

    • server-ip-address – The IP address of the database server.

    • database-ip-address – The IP address of the database.

    • collector-name – The name of the associated Fleet Advisor collector.

    An example is: describe-fleet-advisor-databases --filter Name="database-id",Values="45"

  • :max_records (Integer)

    Sets the maximum number of records returned in the response.

  • :next_token (String)

    If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Returns:

See Also:



6797
6798
6799
6800
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6797

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

#describe_fleet_advisor_lsa_analysis(params = {}) ⇒ Types::DescribeFleetAdvisorLsaAnalysisResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet Advisor collectors.

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_fleet_advisor_lsa_analysis({
  max_records: 1,
  next_token: "String",
})

Response structure


resp.analysis #=> Array
resp.analysis[0].lsa_analysis_id #=> String
resp.analysis[0].status #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_records (Integer)

    Sets the maximum number of records returned in the response.

  • :next_token (String)

    If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Returns:

See Also:



6850
6851
6852
6853
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6850

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

#describe_fleet_advisor_schema_object_summary(params = {}) ⇒ Types::DescribeFleetAdvisorSchemaObjectSummaryResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Provides descriptions of the schemas discovered by your Fleet Advisor collectors.

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_fleet_advisor_schema_object_summary({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  next_token: "String",
})

Response structure


resp.fleet_advisor_schema_objects #=> Array
resp.fleet_advisor_schema_objects[0].schema_id #=> String
resp.fleet_advisor_schema_objects[0].object_type #=> String
resp.fleet_advisor_schema_objects[0].number_of_objects #=> Integer
resp.fleet_advisor_schema_objects[0].code_line_count #=> Integer
resp.fleet_advisor_schema_objects[0].code_size #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    If you specify any of the following filters, the output includes information for only those schema objects that meet the filter criteria:

    • schema-id – The ID of the schema, for example d4610ac5-e323-4ad9-bc50-eaf7249dfe9d.

    ^

    Example: describe-fleet-advisor-schema-object-summary --filter Name="schema-id",Values="50"

  • :max_records (Integer)

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Sets the maximum number of records returned in the response.

  • :next_token (String)

    If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Returns:

See Also:



6936
6937
6938
6939
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 6936

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

#describe_fleet_advisor_schemas(params = {}) ⇒ Types::DescribeFleetAdvisorSchemasResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Returns a list of schemas detected by Fleet Advisor Collectors in your account.

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_fleet_advisor_schemas({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  next_token: "String",
})

Response structure


resp.fleet_advisor_schemas #=> Array
resp.fleet_advisor_schemas[0].code_line_count #=> Integer
resp.fleet_advisor_schemas[0].code_size #=> Integer
resp.fleet_advisor_schemas[0].complexity #=> String
resp.fleet_advisor_schemas[0].server.server_id #=> String
resp.fleet_advisor_schemas[0].server.ip_address #=> String
resp.fleet_advisor_schemas[0].server.server_name #=> String
resp.fleet_advisor_schemas[0].database_instance.database_id #=> String
resp.fleet_advisor_schemas[0].database_instance.database_name #=> String
resp.fleet_advisor_schemas[0].database_instance.database_ip_address #=> String
resp.fleet_advisor_schemas[0].database_instance.database_engine #=> String
resp.fleet_advisor_schemas[0].schema_id #=> String
resp.fleet_advisor_schemas[0].schema_name #=> String
resp.fleet_advisor_schemas[0].original_schema.schema_id #=> String
resp.fleet_advisor_schemas[0].original_schema.schema_name #=> String
resp.fleet_advisor_schemas[0].original_schema.database_id #=> String
resp.fleet_advisor_schemas[0].original_schema.database_name #=> String
resp.fleet_advisor_schemas[0].original_schema.database_ip_address #=> String
resp.fleet_advisor_schemas[0].similarity #=> Float
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    If you specify any of the following filters, the output includes information for only those schemas that meet the filter criteria:

    • complexity – The schema's complexity, for example Simple.

    • database-id – The ID of the schema's database.

    • database-ip-address – The IP address of the schema's database.

    • database-name – The name of the schema's database.

    • database-engine – The name of the schema database's engine.

    • original-schema-name – The name of the schema's database's main schema.

    • schema-id – The ID of the schema, for example 15.

    • schema-name – The name of the schema.

    • server-ip-address – The IP address of the schema database's server.

    An example is: describe-fleet-advisor-schemas --filter Name="schema-id",Values="50"

  • :max_records (Integer)

    Sets the maximum number of records returned in the response.

  • :next_token (String)

    If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Returns:

See Also:



7038
7039
7040
7041
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7038

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

#describe_instance_profiles(params = {}) ⇒ Types::DescribeInstanceProfilesResponse

Returns a paginated list of instance profiles for your account in the current region.

Required permissions: dms:ListInstanceProfiles. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

Examples:

Example: Describe instance profiles with a filter


# The following example retrieves the details of an instance profile identified by its ARN.

resp = client.describe_instance_profiles({
  filters: [
    {
      name: "instance-profile-identifier", 
      values: [
        "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      ], 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  instance_profiles: [
    {
      description: "Example instance profile for documentation", 
      instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      instance_profile_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
      instance_profile_name: "example-instance-profile", 
      kms_key_arn: "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      network_type: "IPV4", 
      publicly_accessible: false, 
      subnet_group_identifier: "example-replication-subnet-group", 
      vpc_security_groups: [
        "sg-0123456789abcdef0", 
      ], 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.instance_profiles #=> Array
resp.instance_profiles[0].instance_profile_arn #=> String
resp.instance_profiles[0].availability_zone #=> String
resp.instance_profiles[0].kms_key_arn #=> String
resp.instance_profiles[0].publicly_accessible #=> Boolean
resp.instance_profiles[0].network_type #=> String
resp.instance_profiles[0].instance_profile_name #=> String
resp.instance_profiles[0].description #=> String
resp.instance_profiles[0].instance_profile_creation_time #=> Time
resp.instance_profiles[0].subnet_group_identifier #=> String
resp.instance_profiles[0].vpc_security_groups #=> Array
resp.instance_profiles[0].vpc_security_groups[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    The filters to apply to the instance profiles.

    The following filter names are supported:

    • instance-profile-identifier – The instance profile name or ARN.

    ^

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

Returns:

See Also:



7155
7156
7157
7158
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7155

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

#describe_metadata_model(params = {}) ⇒ Types::DescribeMetadataModelResponse

Gets detailed information about the specified metadata model, including its definition and corresponding converted objects in the target database if applicable.

Required permissions: dms:DescribeMetadataModel. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Retrieve a source table metadata model


# The following example retrieves detailed information about the ExampleTable table in the ExampleSchema schema from the
# source metadata tree, including its SQL definition and references to the corresponding converted metadata models in the
# target database.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  origin: "SOURCE", 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\", \"table-name\": \"ExampleTable\"}, \"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  definition: "CREATE TABLE ExampleTable (ExampleColumn INTEGER NOT NULL);", 
  metadata_model_name: "ExampleTable", 
  metadata_model_type: "table", 
  target_metadata_models: [
    {
      metadata_model_name: "exampletable", 
      selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-target-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"exampleschema\", \"table-name\": \"exampletable\"}, \"rule-action\": \"explicit\"}]}", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.({
  selection_rules: "String", # required
  migration_project_identifier: "MigrationProjectIdentifier", # required
  origin: "SOURCE", # required, accepts SOURCE, TARGET
})

Response structure


resp. #=> String
resp. #=> String
resp. #=> Array
resp.[0]. #=> String
resp.[0].selection_rules #=> String
resp.definition #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :selection_rules (required, String)

    A JSON string that identifies the metadata model to retrieve. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts source or target selection rules depending on the Origin parameter. The server-name in the object locator must match the corresponding data provider.

    • Supports only explicit rule actions.

    • Exactly one rule is allowed.

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :origin (required, String)

    Specifies whether to retrieve metadata from the source or target tree. Valid values: SOURCE | TARGET

Returns:

See Also:



7252
7253
7254
7255
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7252

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

#describe_metadata_model_assessments(params = {}) ⇒ Types::DescribeMetadataModelAssessmentsResponse

Returns a paginated list of metadata model assessment requests for a migration project, initiated by StartMetadataModelAssessment.

Required permissions: dms:ListMetadataModelAssessments. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

  • metadata_model_assessed

Examples:

Example: Retrieve the status of metadata model assessments


# The following example retrieves the status of metadata model assessment operations identified by their request IDs.

resp = client.({
  filters: [
    {
      name: "request-id", 
      values: [
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      ], 
    }, 
  ], 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  requests: [
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      status: "SUCCESS", 
    }, 
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      progress: {
        processed_object: {
          endpoint_type: "SOURCE", 
          name: "ExampleTable", 
          type: "table", 
        }, 
        progress_percent: 50.0, 
        progress_step: "ANALYZING", 
        total_objects: 100, 
      }, 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
      status: "IN_PROGRESS", 
    }, 
    {
      error: {
        default_error_details: {
          message: "No objects were found according to the specified selection rules. Please review your selection rules and try again.", 
        }, 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      status: "FAILED", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.requests #=> Array
resp.requests[0].status #=> String
resp.requests[0].request_identifier #=> String
resp.requests[0].migration_project_arn #=> String
resp.requests[0].error.default_error_details.message #=> String
resp.requests[0].export_sql_details.s3_object_key #=> String
resp.requests[0].export_sql_details.object_url #=> String
resp.requests[0].progress.progress_percent #=> Float
resp.requests[0].progress.total_objects #=> Integer
resp.requests[0].progress.progress_step #=> String
resp.requests[0].progress.processed_object.name #=> String
resp.requests[0].progress.processed_object.type #=> String
resp.requests[0].progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

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

    The filters to apply to the metadata model assessment requests.

    The following filter names are supported:

    • request-id – The request identifier.

    • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Returns:

See Also:



7401
7402
7403
7404
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7401

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

#describe_metadata_model_children(params = {}) ⇒ Types::DescribeMetadataModelChildrenResponse

Gets a list of child metadata models for the specified metadata model in the database hierarchy.

Required permissions: dms:DescribeMetadataModelChildren. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

Examples:

Example: Retrieve children of a schema


# The following example retrieves the child metadata models of the ExampleSchema schema from the source metadata tree.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  origin: "SOURCE", 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\"}, \"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  metadata_model_children: [
    {
      metadata_model_name: "Tables", 
      selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\", \"category-name\": \"Tables\"}, \"rule-action\": \"explicit\"}]}", 
    }, 
    {
      metadata_model_name: "Views", 
      selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"2\", \"rule-name\": \"2\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\", \"category-name\": \"Views\"}, \"rule-action\": \"explicit\"}]}", 
    }, 
    {
      metadata_model_name: "Functions", 
      selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"3\", \"rule-name\": \"3\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\", \"category-name\": \"Functions\"}, \"rule-action\": \"explicit\"}]}", 
    }, 
    {
      metadata_model_name: "Sequences", 
      selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"4\", \"rule-name\": \"4\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\", \"category-name\": \"Sequences\"}, \"rule-action\": \"explicit\"}]}", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.({
  selection_rules: "String", # required
  migration_project_identifier: "MigrationProjectIdentifier", # required
  origin: "SOURCE", # required, accepts SOURCE, TARGET
  marker: "String",
  max_records: 1,
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :selection_rules (required, String)

    A JSON string that identifies the metadata model whose children to retrieve. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts source or target selection rules depending on the Origin parameter. The server-name in the object locator must match the corresponding data provider.

    • Supports only explicit rule actions.

    • Exactly one rule is allowed.

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :origin (required, String)

    Specifies whether to retrieve metadata from the source or target tree. Valid values: SOURCE | TARGET

  • :marker (String)

    Specifies the unique pagination token that indicates where the next page should start. 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 metadata model children to include in the response. If more items exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Returns:

See Also:



7516
7517
7518
7519
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7516

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

#describe_metadata_model_conversions(params = {}) ⇒ Types::DescribeMetadataModelConversionsResponse

Returns a paginated list of metadata model conversion requests for a migration project, initiated by StartMetadataModelConversion.

To cancel a queued or in-progress request, call CancelMetadataModelConversion.

Required permissions: dms:ListMetadataModelConversions. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

  • metadata_model_conversion_cancelled
  • metadata_model_converted

Examples:

Example: Retrieve the status of metadata model conversions


# The following example retrieves the status of metadata model conversion operations identified by their request IDs.

resp = client.({
  filters: [
    {
      name: "request-id", 
      values: [
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      ], 
    }, 
  ], 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  requests: [
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      status: "SUCCESS", 
    }, 
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      progress: {
        processed_object: {
          endpoint_type: "SOURCE", 
          name: "ExampleTable", 
          type: "table", 
        }, 
        progress_percent: 50.0, 
        progress_step: "CONVERTING", 
        total_objects: 100, 
      }, 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
      status: "IN_PROGRESS", 
    }, 
    {
      error: {
        default_error_details: {
          message: "No objects were found according to the specified selection rules. Please review your selection rules and try again.", 
        }, 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      status: "FAILED", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.requests #=> Array
resp.requests[0].status #=> String
resp.requests[0].request_identifier #=> String
resp.requests[0].migration_project_arn #=> String
resp.requests[0].error.default_error_details.message #=> String
resp.requests[0].export_sql_details.s3_object_key #=> String
resp.requests[0].export_sql_details.object_url #=> String
resp.requests[0].progress.progress_percent #=> Float
resp.requests[0].progress.total_objects #=> Integer
resp.requests[0].progress.progress_step #=> String
resp.requests[0].progress.processed_object.name #=> String
resp.requests[0].progress.processed_object.type #=> String
resp.requests[0].progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

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

    The filters to apply to the metadata model conversion requests.

    The following filter names are supported:

    • request-id – The request identifier.

    • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED, CANCELING, CANCELED.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Returns:

See Also:



7670
7671
7672
7673
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7670

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

#describe_metadata_model_creations(params = {}) ⇒ Types::DescribeMetadataModelCreationsResponse

Returns a paginated list of metadata model creation requests for a migration project, initiated by StartMetadataModelCreation.

To cancel a queued or in-progress request, call CancelMetadataModelCreation.

Required permissions: dms:DescribeMetadataModelCreations. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

  • metadata_model_created
  • metadata_model_creation_cancelled

Examples:

Example: Retrieve the status of metadata model creations


# The following example retrieves the status of metadata model creation operations identified by their request IDs.

resp = client.({
  filters: [
    {
      name: "request-id", 
      values: [
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      ], 
    }, 
  ], 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  requests: [
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      status: "SUCCESS", 
    }, 
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
      status: "IN_PROGRESS", 
    }, 
    {
      error: {
        default_error_details: {
          message: "No objects were found according to the specified selection rules. Please review your selection rules and try again.", 
        }, 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      status: "FAILED", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.requests #=> Array
resp.requests[0].status #=> String
resp.requests[0].request_identifier #=> String
resp.requests[0].migration_project_arn #=> String
resp.requests[0].error.default_error_details.message #=> String
resp.requests[0].export_sql_details.s3_object_key #=> String
resp.requests[0].export_sql_details.object_url #=> String
resp.requests[0].progress.progress_percent #=> Float
resp.requests[0].progress.total_objects #=> Integer
resp.requests[0].progress.progress_step #=> String
resp.requests[0].progress.processed_object.name #=> String
resp.requests[0].progress.processed_object.type #=> String
resp.requests[0].progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    The filters to apply to the metadata model creation requests.

    The following filter names are supported:

    • request-id – The request identifier.

    • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED, CANCELING, CANCELED.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

Returns:

See Also:



7814
7815
7816
7817
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7814

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

#describe_metadata_model_exports_as_script(params = {}) ⇒ Types::DescribeMetadataModelExportsAsScriptResponse

Returns a paginated list of metadata model export requests for a migration project, initiated by StartMetadataModelExportAsScript.

Required permissions: dms:ListMetadataModelExports. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

  • metadata_model_exported_as_script

Examples:

Example: Retrieve the status of metadata model exports as script


# The following example retrieves the status of operations that export metadata models as data definition language (DDL)
# scripts, identified by their request IDs.

resp = client.({
  filters: [
    {
      name: "request-id", 
      values: [
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      ], 
    }, 
  ], 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  requests: [
    {
      export_sql_details: {
        object_url: "https://amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com/example-migration-project/ExampleScript.zip", 
        s3_object_key: "s3://amzn-s3-demo-bucket/example-migration-project/ExampleScript.zip", 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      status: "SUCCESS", 
    }, 
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      progress: {
        processed_object: {
          endpoint_type: "TARGET", 
        }, 
        progress_percent: 50.0, 
        progress_step: "IN_PROGRESS", 
        total_objects: 100, 
      }, 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
      status: "IN_PROGRESS", 
    }, 
    {
      error: {
        default_error_details: {
          message: "No objects were found according to the specified selection rules. Please review your selection rules and try again.", 
        }, 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      status: "FAILED", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.requests #=> Array
resp.requests[0].status #=> String
resp.requests[0].request_identifier #=> String
resp.requests[0].migration_project_arn #=> String
resp.requests[0].error.default_error_details.message #=> String
resp.requests[0].export_sql_details.s3_object_key #=> String
resp.requests[0].export_sql_details.object_url #=> String
resp.requests[0].progress.progress_percent #=> Float
resp.requests[0].progress.total_objects #=> Integer
resp.requests[0].progress.progress_step #=> String
resp.requests[0].progress.processed_object.name #=> String
resp.requests[0].progress.processed_object.type #=> String
resp.requests[0].progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

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

    The filters to apply to the metadata model export requests.

    The following filter names are supported:

    • request-id – The request identifier.

    • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Returns:

See Also:



7966
7967
7968
7969
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 7966

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

#describe_metadata_model_exports_to_target(params = {}) ⇒ Types::DescribeMetadataModelExportsToTargetResponse

Returns a paginated list of metadata model export requests for a migration project, initiated by StartMetadataModelExportToTarget.

Required permissions: dms:ListMetadataModelExports. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

  • metadata_model_exported_to_target

Examples:

Example: Retrieve the status of metadata model exports to target


# The following example retrieves the status of operations that export converted metadata models to the target database,
# identified by their request IDs.

resp = client.({
  filters: [
    {
      name: "request-id", 
      values: [
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      ], 
    }, 
  ], 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  requests: [
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      status: "SUCCESS", 
    }, 
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      progress: {
        processed_object: {
          endpoint_type: "TARGET", 
        }, 
        progress_percent: 50.0, 
        progress_step: "APPLYING", 
        total_objects: 100, 
      }, 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
      status: "IN_PROGRESS", 
    }, 
    {
      error: {
        default_error_details: {
          message: "No objects were found according to the specified selection rules. Please review your selection rules and try again.", 
        }, 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      status: "FAILED", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.requests #=> Array
resp.requests[0].status #=> String
resp.requests[0].request_identifier #=> String
resp.requests[0].migration_project_arn #=> String
resp.requests[0].error.default_error_details.message #=> String
resp.requests[0].export_sql_details.s3_object_key #=> String
resp.requests[0].export_sql_details.object_url #=> String
resp.requests[0].progress.progress_percent #=> Float
resp.requests[0].progress.total_objects #=> Integer
resp.requests[0].progress.progress_step #=> String
resp.requests[0].progress.processed_object.name #=> String
resp.requests[0].progress.processed_object.type #=> String
resp.requests[0].progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

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

    The filters to apply to the metadata model export requests.

    The following filter names are supported:

    • request-id – The request identifier.

    • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Returns:

See Also:



8114
8115
8116
8117
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8114

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

#describe_metadata_model_imports(params = {}) ⇒ Types::DescribeMetadataModelImportsResponse

Returns a paginated list of metadata model import requests for a migration project, initiated by StartMetadataModelImport.

Required permissions: dms:DescribeMetadataModelImports. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

  • metadata_model_imported

Examples:

Example: Retrieve the status of metadata model imports


# The following example retrieves the status of metadata import operations identified by their request IDs.

resp = client.({
  filters: [
    {
      name: "request-id", 
      values: [
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
        "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      ], 
    }, 
  ], 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  requests: [
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
      status: "SUCCESS", 
    }, 
    {
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      progress: {
        processed_object: {
          endpoint_type: "SOURCE", 
        }, 
        progress_percent: 50.0, 
        progress_step: "IN_PROGRESS", 
        total_objects: 100, 
      }, 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", 
      status: "IN_PROGRESS", 
    }, 
    {
      error: {
        default_error_details: {
          message: "No objects were found according to the specified selection rules. Please review your selection rules and try again.", 
        }, 
      }, 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", 
      status: "FAILED", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.requests #=> Array
resp.requests[0].status #=> String
resp.requests[0].request_identifier #=> String
resp.requests[0].migration_project_arn #=> String
resp.requests[0].error.default_error_details.message #=> String
resp.requests[0].export_sql_details.s3_object_key #=> String
resp.requests[0].export_sql_details.object_url #=> String
resp.requests[0].progress.progress_percent #=> Float
resp.requests[0].progress.total_objects #=> Integer
resp.requests[0].progress.progress_step #=> String
resp.requests[0].progress.processed_object.name #=> String
resp.requests[0].progress.processed_object.type #=> String
resp.requests[0].progress.processed_object.endpoint_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

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

    The filters to apply to the metadata model import requests.

    The following filter names are supported:

    • request-id – The request identifier.

    • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Returns:

See Also:



8261
8262
8263
8264
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8261

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

#describe_migration_projects(params = {}) ⇒ Types::DescribeMigrationProjectsResponse

Returns a paginated list of migration projects for your account in the current region.

Required permissions: dms:ListMigrationProjects. For more information, see Actions, resources, and condition keys for Database Migration Service.

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

Examples:

Example: Describe migration projects with a filter


# The following example retrieves the details of a migration project identified by its ARN.

resp = client.describe_migration_projects({
  filters: [
    {
      name: "migration-project-identifier", 
      values: [
        "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      ], 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  migration_projects: [
    {
      description: "Example migration project for documentation", 
      instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      instance_profile_name: "example-instance-profile", 
      migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
      migration_project_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
      migration_project_name: "example-migration-project", 
      schema_conversion_application_attributes: {
        s3_bucket_path: "s3://amzn-s3-demo-bucket", 
        s3_bucket_role_arn: "arn:aws:iam::111122223333:role/example-s3-access-role", 
      }, 
      source_data_provider_descriptors: [
        {
          data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
          data_provider_name: "example-data-provider", 
          secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
          secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3", 
        }, 
      ], 
      target_data_provider_descriptors: [
        {
          data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
          data_provider_name: "example-data-provider", 
          secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
          secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3", 
        }, 
      ], 
      transformation_rules: "{\"rules\":[{\"rule-type\":\"transformation\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-target\":\"schema\",\"rule-action\":\"rename\",\"object-locator\":{\"schema-name\":\"ExampleSchema\"},\"value\":\"TargetSchema\"}]}", 
    }, 
  ], 
}

Request syntax with placeholder values


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

Response structure


resp.marker #=> String
resp.migration_projects #=> Array
resp.migration_projects[0].migration_project_name #=> String
resp.migration_projects[0].migration_project_arn #=> String
resp.migration_projects[0].migration_project_creation_time #=> Time
resp.migration_projects[0].source_data_provider_descriptors #=> Array
resp.migration_projects[0].source_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_projects[0].source_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_projects[0].source_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_projects[0].source_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_projects[0].target_data_provider_descriptors #=> Array
resp.migration_projects[0].target_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_projects[0].target_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_projects[0].target_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_projects[0].target_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_projects[0].instance_profile_arn #=> String
resp.migration_projects[0].instance_profile_name #=> String
resp.migration_projects[0].transformation_rules #=> String
resp.migration_projects[0].description #=> String
resp.migration_projects[0].schema_conversion_application_attributes.s3_bucket_path #=> String
resp.migration_projects[0].schema_conversion_application_attributes.s3_bucket_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    The filters to apply to the migration projects.

    The following filter names are supported:

    • migration-project-identifier – The migration project name or ARN.

    • instance-profile-identifier – The instance profile name or ARN.

    • data-provider-identifier – The source or target data provider name or ARN.

    • source-data-provider-identifier – The source data provider name or ARN.

    • target-data-provider-identifier – The target data provider name or ARN.

  • :max_records (Integer)

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

  • :marker (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

Returns:

See Also:



8411
8412
8413
8414
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8411

def describe_migration_projects(params = {}, options = {})
  req = build_request(:describe_migration_projects, 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", "prod"
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:



8484
8485
8486
8487
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8484

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

Returns a list of upcoming maintenance events for replication instances in your account in the current Region.

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:



8550
8551
8552
8553
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8550

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

#describe_recommendation_limitations(params = {}) ⇒ Types::DescribeRecommendationLimitationsResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Returns a paginated list of limitations for recommendations of target Amazon Web Services engines.

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_recommendation_limitations({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  next_token: "String",
})

Response structure


resp.next_token #=> String
resp.limitations #=> Array
resp.limitations[0].database_id #=> String
resp.limitations[0].engine_name #=> String
resp.limitations[0].name #=> String
resp.limitations[0].description #=> String
resp.limitations[0].impact #=> String
resp.limitations[0].type #=> String

Parameters:

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

    ({})

Options Hash (params):

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

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

    Valid filter names: database-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, Fleet Advisor includes a pagination token in the response so that you can retrieve the remaining results.

  • :next_token (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Returns:

See Also:



8627
8628
8629
8630
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8627

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

#describe_recommendations(params = {}) ⇒ Types::DescribeRecommendationsResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Returns a paginated list of target engine recommendations for your source databases.

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_recommendations({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  next_token: "String",
})

Response structure


resp.next_token #=> String
resp.recommendations #=> Array
resp.recommendations[0].database_id #=> String
resp.recommendations[0].engine_name #=> String
resp.recommendations[0].created_date #=> String
resp.recommendations[0].status #=> String
resp.recommendations[0].preferred #=> Boolean
resp.recommendations[0].settings.instance_sizing_type #=> String
resp.recommendations[0].settings.workload_type #=> String
resp.recommendations[0].data.rds_engine.requirements_to_target.engine_edition #=> String
resp.recommendations[0].data.rds_engine.requirements_to_target.instance_vcpu #=> Float
resp.recommendations[0].data.rds_engine.requirements_to_target.instance_memory #=> Float
resp.recommendations[0].data.rds_engine.requirements_to_target.storage_size #=> Integer
resp.recommendations[0].data.rds_engine.requirements_to_target.storage_iops #=> Integer
resp.recommendations[0].data.rds_engine.requirements_to_target.deployment_option #=> String
resp.recommendations[0].data.rds_engine.requirements_to_target.engine_version #=> String
resp.recommendations[0].data.rds_engine.target_configuration.engine_edition #=> String
resp.recommendations[0].data.rds_engine.target_configuration.instance_type #=> String
resp.recommendations[0].data.rds_engine.target_configuration.instance_vcpu #=> Float
resp.recommendations[0].data.rds_engine.target_configuration.instance_memory #=> Float
resp.recommendations[0].data.rds_engine.target_configuration.storage_type #=> String
resp.recommendations[0].data.rds_engine.target_configuration.storage_size #=> Integer
resp.recommendations[0].data.rds_engine.target_configuration.storage_iops #=> Integer
resp.recommendations[0].data.rds_engine.target_configuration.deployment_option #=> String
resp.recommendations[0].data.rds_engine.target_configuration.engine_version #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the target engine recommendations described in the form of key-value pairs.

    Valid filter names: database-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, Fleet Advisor includes a pagination token in the response so that you can retrieve the remaining results.

  • :next_token (String)

    Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Returns:

See Also:



8721
8722
8723
8724
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8721

def describe_recommendations(params = {}, options = {})
  req = build_request(:describe_recommendations, 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:



8769
8770
8771
8772
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8769

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

#describe_replication_configs(params = {}) ⇒ Types::DescribeReplicationConfigsResponse

Returns one or more existing DMS Serverless replication configurations as a list of structures.

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_configs({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.replication_configs #=> Array
resp.replication_configs[0].replication_config_identifier #=> String
resp.replication_configs[0].replication_config_arn #=> String
resp.replication_configs[0].source_endpoint_arn #=> String
resp.replication_configs[0].target_endpoint_arn #=> String
resp.replication_configs[0].replication_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_configs[0].compute_config.availability_zone #=> String
resp.replication_configs[0].compute_config.dns_name_servers #=> String
resp.replication_configs[0].compute_config.kms_key_id #=> String
resp.replication_configs[0].compute_config.max_capacity_units #=> Integer
resp.replication_configs[0].compute_config.min_capacity_units #=> Integer
resp.replication_configs[0].compute_config.multi_az #=> Boolean
resp.replication_configs[0].compute_config.preferred_maintenance_window #=> String
resp.replication_configs[0].compute_config.replication_subnet_group_id #=> String
resp.replication_configs[0].compute_config.vpc_security_group_ids #=> Array
resp.replication_configs[0].compute_config.vpc_security_group_ids[0] #=> String
resp.replication_configs[0].replication_settings #=> String
resp.replication_configs[0].supplemental_settings #=> String
resp.replication_configs[0].table_mappings #=> String
resp.replication_configs[0].replication_config_create_time #=> Time
resp.replication_configs[0].replication_config_update_time #=> Time
resp.replication_configs[0].is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the replication configs.

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

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



8841
8842
8843
8844
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8841

def describe_replication_configs(params = {}, options = {})
  req = build_request(:describe_replication_configs, 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:



8895
8896
8897
8898
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 8895

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].replication_subnet_group.supported_network_types #=> Array
resp.replication_instances[0].replication_subnet_group.supported_network_types[0] #=> String
resp.replication_instances[0].replication_subnet_group.is_read_only #=> Boolean
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].pending_modified_values.network_type #=> 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].replication_instance_ipv_6_addresses #=> Array
resp.replication_instances[0].replication_instance_ipv_6_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
resp.replication_instances[0].network_type #=> String
resp.replication_instances[0].kerberos_authentication_settings.key_cache_secret_id #=> String
resp.replication_instances[0].kerberos_authentication_settings.key_cache_secret_iam_arn #=> String
resp.replication_instances[0].kerberos_authentication_settings.krb_5_file_contents #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to replication instances.

    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:



9033
9034
9035
9036
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9033

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
resp.replication_subnet_groups[0].supported_network_types #=> Array
resp.replication_subnet_groups[0].supported_network_types[0] #=> String
resp.replication_subnet_groups[0].is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to replication subnet groups.

    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:



9126
9127
9128
9129
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9126

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

#describe_replication_table_statistics(params = {}) ⇒ Types::DescribeReplicationTableStatisticsResponse

Returns table and schema statistics for one or more provisioned replications that use a given DMS Serverless replication configuration.

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_table_statistics({
  replication_config_arn: "String", # required
  max_records: 1,
  marker: "String",
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
})

Response structure


resp.replication_config_arn #=> String
resp.marker #=> String
resp.replication_table_statistics #=> Array
resp.replication_table_statistics[0].schema_name #=> String
resp.replication_table_statistics[0].table_name #=> String
resp.replication_table_statistics[0].inserts #=> Integer
resp.replication_table_statistics[0].deletes #=> Integer
resp.replication_table_statistics[0].updates #=> Integer
resp.replication_table_statistics[0].ddls #=> Integer
resp.replication_table_statistics[0].applied_inserts #=> Integer
resp.replication_table_statistics[0].applied_deletes #=> Integer
resp.replication_table_statistics[0].applied_updates #=> Integer
resp.replication_table_statistics[0].applied_ddls #=> Integer
resp.replication_table_statistics[0].full_load_rows #=> Integer
resp.replication_table_statistics[0].full_load_condtnl_chk_failed_rows #=> Integer
resp.replication_table_statistics[0].full_load_error_rows #=> Integer
resp.replication_table_statistics[0].full_load_start_time #=> Time
resp.replication_table_statistics[0].full_load_end_time #=> Time
resp.replication_table_statistics[0].full_load_reloaded #=> Boolean
resp.replication_table_statistics[0].last_update_time #=> Time
resp.replication_table_statistics[0].table_state #=> String
resp.replication_table_statistics[0].validation_pending_records #=> Integer
resp.replication_table_statistics[0].validation_failed_records #=> Integer
resp.replication_table_statistics[0].validation_suspended_records #=> Integer
resp.replication_table_statistics[0].validation_state #=> String
resp.replication_table_statistics[0].validation_state_details #=> String
resp.replication_table_statistics[0].resync_state #=> String
resp.replication_table_statistics[0].resync_rows_attempted #=> Integer
resp.replication_table_statistics[0].resync_rows_succeeded #=> Integer
resp.replication_table_statistics[0].resync_rows_failed #=> Integer
resp.replication_table_statistics[0].resync_progress #=> Float

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_arn (required, String)

    The replication config to describe.

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

  • :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 replication table statistics.

Returns:

See Also:



9212
9213
9214
9215
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9212

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

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

Returns the task assessment results from the Amazon S3 bucket that DMS creates in your Amazon Web Services account. This action always returns the latest results.

For more information about DMS task assessments, see Creating a task assessment report in the Database Migration Service 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_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:



9282
9283
9284
9285
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9282

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

#describe_replication_task_assessment_runs(params = {}) ⇒ Types::DescribeReplicationTaskAssessmentRunsResponse

Returns a paginated list of premigration assessment runs based on filter settings.

These filter settings can specify a combination of premigration assessment runs, migration tasks, replication instances, and assessment run status values.

This operation doesn't return information about individual assessments. For this information, see the DescribeReplicationTaskIndividualAssessments operation.

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_runs({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.replication_task_assessment_runs #=> Array
resp.replication_task_assessment_runs[0].replication_task_assessment_run_arn #=> String
resp.replication_task_assessment_runs[0].replication_task_arn #=> String
resp.replication_task_assessment_runs[0].status #=> String
resp.replication_task_assessment_runs[0].replication_task_assessment_run_creation_date #=> Time
resp.replication_task_assessment_runs[0].assessment_progress.individual_assessment_count #=> Integer
resp.replication_task_assessment_runs[0].assessment_progress.individual_assessment_completed_count #=> Integer
resp.replication_task_assessment_runs[0].last_failure_message #=> String
resp.replication_task_assessment_runs[0].service_access_role_arn #=> String
resp.replication_task_assessment_runs[0].result_location_bucket #=> String
resp.replication_task_assessment_runs[0].result_location_folder #=> String
resp.replication_task_assessment_runs[0].result_encryption_mode #=> String
resp.replication_task_assessment_runs[0].result_kms_key_arn #=> String
resp.replication_task_assessment_runs[0].assessment_run_name #=> String
resp.replication_task_assessment_runs[0].is_latest_task_assessment_run #=> Boolean
resp.replication_task_assessment_runs[0].result_statistic.passed #=> Integer
resp.replication_task_assessment_runs[0].result_statistic.failed #=> Integer
resp.replication_task_assessment_runs[0].result_statistic.error #=> Integer
resp.replication_task_assessment_runs[0].result_statistic.warning #=> Integer
resp.replication_task_assessment_runs[0].result_statistic.cancelled #=> Integer
resp.replication_task_assessment_runs[0].result_statistic.skipped #=> Integer

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the premigration assessment runs described in the form of key-value pairs.

    Valid filter names: replication-task-assessment-run-arn, replication-task-arn, replication-instance-arn, status

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

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



9367
9368
9369
9370
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9367

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

#describe_replication_task_individual_assessments(params = {}) ⇒ Types::DescribeReplicationTaskIndividualAssessmentsResponse

Returns a paginated list of individual assessments based on filter settings.

These filter settings can specify a combination of premigration assessment runs, migration tasks, and assessment status values.

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_individual_assessments({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.replication_task_individual_assessments #=> Array
resp.replication_task_individual_assessments[0].replication_task_individual_assessment_arn #=> String
resp.replication_task_individual_assessments[0].replication_task_assessment_run_arn #=> String
resp.replication_task_individual_assessments[0].individual_assessment_name #=> String
resp.replication_task_individual_assessments[0].status #=> String
resp.replication_task_individual_assessments[0].replication_task_individual_assessment_start_date #=> Time

Parameters:

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

    ({})

Options Hash (params):

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

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

    Valid filter names: replication-task-assessment-run-arn, replication-task-arn, status

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

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



9430
9431
9432
9433
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9430

def describe_replication_task_individual_assessments(params = {}, options = {})
  req = build_request(:describe_replication_task_individual_assessments, 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
resp.replication_tasks[0].target_replication_instance_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to replication tasks.

    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:



9557
9558
9559
9560
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9557

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

#describe_replications(params = {}) ⇒ Types::DescribeReplicationsResponse

Provides details on replication progress by returning status information for one or more provisioned DMS Serverless replications.

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_replications({
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
  max_records: 1,
  marker: "String",
})

Response structure


resp.marker #=> String
resp.replications #=> Array
resp.replications[0].replication_config_identifier #=> String
resp.replications[0].replication_config_arn #=> String
resp.replications[0].source_endpoint_arn #=> String
resp.replications[0].target_endpoint_arn #=> String
resp.replications[0].replication_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replications[0].status #=> String
resp.replications[0].provision_data.provision_state #=> String
resp.replications[0].provision_data.provisioned_capacity_units #=> Integer
resp.replications[0].provision_data.date_provisioned #=> Time
resp.replications[0].provision_data.is_new_provisioning_available #=> Boolean
resp.replications[0].provision_data.date_new_provisioning_data_available #=> Time
resp.replications[0].provision_data.reason_for_new_provisioning_data #=> String
resp.replications[0].premigration_assessment_statuses #=> Array
resp.replications[0].premigration_assessment_statuses[0].premigration_assessment_run_arn #=> String
resp.replications[0].premigration_assessment_statuses[0].fail_on_assessment_failure #=> Boolean
resp.replications[0].premigration_assessment_statuses[0].status #=> String
resp.replications[0].premigration_assessment_statuses[0].premigration_assessment_run_creation_date #=> Time
resp.replications[0].premigration_assessment_statuses[0].assessment_progress.individual_assessment_count #=> Integer
resp.replications[0].premigration_assessment_statuses[0].assessment_progress.individual_assessment_completed_count #=> Integer
resp.replications[0].premigration_assessment_statuses[0].last_failure_message #=> String
resp.replications[0].premigration_assessment_statuses[0].result_location_bucket #=> String
resp.replications[0].premigration_assessment_statuses[0].result_location_folder #=> String
resp.replications[0].premigration_assessment_statuses[0].result_encryption_mode #=> String
resp.replications[0].premigration_assessment_statuses[0].result_kms_key_arn #=> String
resp.replications[0].premigration_assessment_statuses[0].result_statistic.passed #=> Integer
resp.replications[0].premigration_assessment_statuses[0].result_statistic.failed #=> Integer
resp.replications[0].premigration_assessment_statuses[0].result_statistic.error #=> Integer
resp.replications[0].premigration_assessment_statuses[0].result_statistic.warning #=> Integer
resp.replications[0].premigration_assessment_statuses[0].result_statistic.cancelled #=> Integer
resp.replications[0].premigration_assessment_statuses[0].result_statistic.skipped #=> Integer
resp.replications[0].stop_reason #=> String
resp.replications[0].failure_messages #=> Array
resp.replications[0].failure_messages[0] #=> String
resp.replications[0].replication_stats.full_load_progress_percent #=> Integer
resp.replications[0].replication_stats.elapsed_time_millis #=> Integer
resp.replications[0].replication_stats.tables_loaded #=> Integer
resp.replications[0].replication_stats.tables_loading #=> Integer
resp.replications[0].replication_stats.tables_queued #=> Integer
resp.replications[0].replication_stats.tables_errored #=> Integer
resp.replications[0].replication_stats.fresh_start_date #=> Time
resp.replications[0].replication_stats.start_date #=> Time
resp.replications[0].replication_stats.stop_date #=> Time
resp.replications[0].replication_stats.full_load_start_date #=> Time
resp.replications[0].replication_stats.full_load_finish_date #=> Time
resp.replications[0].start_replication_type #=> String
resp.replications[0].cdc_start_time #=> Time
resp.replications[0].cdc_start_position #=> String
resp.replications[0].cdc_stop_position #=> String
resp.replications[0].recovery_checkpoint #=> String
resp.replications[0].replication_create_time #=> Time
resp.replications[0].replication_update_time #=> Time
resp.replications[0].replication_last_stop_time #=> Time
resp.replications[0].replication_deprovision_time #=> Time
resp.replications[0].is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

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

    Filters applied to the replications.

    Valid filter names: replication-config-arn | replication-config-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.

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



9665
9666
9667
9668
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9665

def describe_replications(params = {}, options = {})
  req = build_request(:describe_replications, 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:



9734
9735
9736
9737
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9734

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 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].applied_inserts #=> Integer
resp.table_statistics[0].applied_deletes #=> Integer
resp.table_statistics[0].applied_updates #=> Integer
resp.table_statistics[0].applied_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.table_statistics[0].resync_state #=> String
resp.table_statistics[0].resync_rows_attempted #=> Integer
resp.table_statistics[0].resync_rows_succeeded #=> Integer
resp.table_statistics[0].resync_rows_failed #=> Integer
resp.table_statistics[0].resync_progress #=> Float
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 table statistics.

    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:



9852
9853
9854
9855
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9852

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

#export_metadata_model_assessment(params = {}) ⇒ Types::ExportMetadataModelAssessmentResponse

Saves a copy of a database migration assessment report to your Amazon S3 bucket. DMS can save your assessment report as a comma-separated value (CSV) or a PDF file.

Required permissions: dms:ExportMetadataModelAssessment. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Export a conversion assessment report


# The following example exports a conversion assessment report for all objects in the ExampleSchema schema.

resp = client.({
  assessment_report_types: [
    "pdf", 
    "csv", 
  ], 
  file_name: "example-assessment-report", 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\"}, \"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  csv_report: {
    object_url: "https://amzn-s3-demo-bucket.s3.amazonaws.com/example-migration-project/example-assessment-report.zip", 
    s3_object_key: "example-migration-project/example-assessment-report.zip", 
  }, 
  pdf_report: {
    object_url: "https://amzn-s3-demo-bucket.s3.amazonaws.com/example-migration-project/example-assessment-report.pdf", 
    s3_object_key: "example-migration-project/example-assessment-report.pdf", 
  }, 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
  file_name: "String",
  assessment_report_types: ["pdf"], # accepts pdf, csv
})

Response structure


resp.pdf_report.s3_object_key #=> String
resp.pdf_report.object_url #=> String
resp.csv_report.s3_object_key #=> String
resp.csv_report.object_url #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that identifies the metadata models to export a conversion assessment report for. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts only source selection rules, where server-name in the object locator matches the source data provider.

    • Supports only explicit rule actions.

  • :file_name (String)

    The name of the assessment file to create in your Amazon S3 bucket.

  • :assessment_report_types (Array<String>)

    The file format of the assessment file.

Returns:

See Also:



9946
9947
9948
9949
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 9946

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

#get_target_selection_rules(params = {}) ⇒ Types::GetTargetSelectionRulesResponse

Converts source selection rules into their target counterparts for schema conversion operations.

Required permissions: dms:GetTargetSelectionRules. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Convert source selection rules to target selection rules


# The following example converts source selection rules that select the ExampleTable table in the ExampleSchema schema
# into target selection rules that reference its converted counterpart.

resp = client.get_target_selection_rules({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"database-name\": \"ExampleDatabase\", \"schema-name\": \"ExampleSchema\", \"table-name\": \"ExampleTable\"}, \"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  target_selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-target-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"exampledatabase_exampleschema\", \"table-name\": \"exampletable\"}, \"rule-action\": \"explicit\"}]}", 
}

Request syntax with placeholder values


resp = client.get_target_selection_rules({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
})

Response structure


resp.target_selection_rules #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that contains the source selection rules to convert into their target counterparts. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts only source selection rules, where server-name in the object locator matches the source data provider.

    • Supports only explicit rule actions.

    • Does not support category-name in the object locator.

    • Up to 10 rules are allowed.

Returns:

See Also:



10020
10021
10022
10023
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 10020

def get_target_selection_rules(params = {}, options = {})
  req = build_request(:get_target_selection_rules, 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: "SecretString",
  certificate_wallet: "data",
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
  kms_key_id: "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
resp.certificate.kms_key_id #=> String

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, StringIO, File)

    The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a .sso file using the fileb:// prefix. You can't provide the certificate inline.

    Example: filebase64("${path.root}/rds-ca-2019-root.sso")

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

    The tags associated with the certificate.

  • :kms_key_id (String)

    An KMS key identifier that is used to encrypt the certificate.

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

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

Returns:

See Also:



10110
10111
10112
10113
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 10110

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 metadata tags attached to an DMS resource, including replication instance, endpoint, subnet group, and migration task. For more information, see Tag data type description.

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",
  resource_arn_list: ["String"],
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (String)

    The Amazon Resource Name (ARN) string that uniquely identifies the DMS resource to list tags for. This returns a list of keys (names of tags) created for the resource and their associated tag values.

  • :resource_arn_list (Array<String>)

    List of ARNs that identify multiple DMS resources that you want to list tags for. This returns a list of keys (tag names) and their associated tag values. It also returns each tag's associated ResourceArn value, which is the ARN of the resource for which each listed tag is created.

Returns:

See Also:



10172
10173
10174
10175
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 10172

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

#modify_conversion_configuration(params = {}) ⇒ Types::ModifyConversionConfigurationResponse

Modifies the specified schema conversion configuration using the provided parameters.

Required permissions: dms:UpdateConversionConfiguration. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Modifying conversion configuration for a migration project


# The following example enables generative AI assisted conversion and updates a conversion pair setting for a migration
# project.

resp = client.modify_conversion_configuration({
  conversion_configuration: "{\"Common project settings\":{\"EnableGenAiConversion\":true},\"MSSQL_TO_AURORA_POSTGRESQL\":{\"ConvertProceduresToFunction\":false}}", 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
}

Request syntax with placeholder values


resp = client.modify_conversion_configuration({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  conversion_configuration: "String", # required
})

Response structure


resp.migration_project_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :conversion_configuration (required, String)

    A JSON string that contains the schema conversion settings to update. For the format and available settings, see Specifying schema conversion settings for migration projects.

    Usage:

    • Include only the sections and keys to change. The operation merges supplied values with the existing configuration.

    ^

Returns:

See Also:



10242
10243
10244
10245
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 10242

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

#modify_data_migration(params = {}) ⇒ Types::ModifyDataMigrationResponse

Modifies an existing DMS data migration.

Examples:

Request syntax with placeholder values


resp = client.modify_data_migration({
  data_migration_identifier: "String", # required
  data_migration_name: "String",
  enable_cloudwatch_logs: false,
  service_access_role_arn: "String",
  data_migration_type: "full-load", # accepts full-load, cdc, full-load-and-cdc
  source_data_settings: [
    {
      cdc_start_position: "String",
      cdc_start_time: Time.now,
      cdc_stop_time: Time.now,
      slot_name: "String",
    },
  ],
  target_data_settings: [
    {
      table_preparation_mode: "drop-tables-on-target", # accepts drop-tables-on-target, truncate, do-nothing
    },
  ],
  number_of_jobs: 1,
  selection_rules: "SecretString",
})

Response structure


resp.data_migration.data_migration_name #=> String
resp.data_migration.data_migration_arn #=> String
resp.data_migration.data_migration_create_time #=> Time
resp.data_migration.data_migration_start_time #=> Time
resp.data_migration.data_migration_end_time #=> Time
resp.data_migration.service_access_role_arn #=> String
resp.data_migration.migration_project_arn #=> String
resp.data_migration.data_migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.data_migration.data_migration_settings.number_of_jobs #=> Integer
resp.data_migration.data_migration_settings.cloudwatch_logs_enabled #=> Boolean
resp.data_migration.data_migration_settings.selection_rules #=> String
resp.data_migration.source_data_settings #=> Array
resp.data_migration.source_data_settings[0].cdc_start_position #=> String
resp.data_migration.source_data_settings[0].cdc_start_time #=> Time
resp.data_migration.source_data_settings[0].cdc_stop_time #=> Time
resp.data_migration.source_data_settings[0].slot_name #=> String
resp.data_migration.target_data_settings #=> Array
resp.data_migration.target_data_settings[0].table_preparation_mode #=> String, one of "drop-tables-on-target", "truncate", "do-nothing"
resp.data_migration.data_migration_statistics.tables_loaded #=> Integer
resp.data_migration.data_migration_statistics.elapsed_time_millis #=> Integer
resp.data_migration.data_migration_statistics.tables_loading #=> Integer
resp.data_migration.data_migration_statistics.full_load_percentage #=> Integer
resp.data_migration.data_migration_statistics.cdc_latency #=> Integer
resp.data_migration.data_migration_statistics.tables_queued #=> Integer
resp.data_migration.data_migration_statistics.tables_errored #=> Integer
resp.data_migration.data_migration_statistics.start_time #=> Time
resp.data_migration.data_migration_statistics.stop_time #=> Time
resp.data_migration.data_migration_status #=> String
resp.data_migration.public_ip_addresses #=> Array
resp.data_migration.public_ip_addresses[0] #=> String
resp.data_migration.data_migration_cidr_blocks #=> Array
resp.data_migration.data_migration_cidr_blocks[0] #=> String
resp.data_migration.last_failure_message #=> String
resp.data_migration.stop_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data_migration_identifier (required, String)

    The identifier (name or ARN) of the data migration to modify.

  • :data_migration_name (String)

    The new name for the data migration.

  • :enable_cloudwatch_logs (Boolean)

    Whether to enable Cloudwatch logs for the data migration.

  • :service_access_role_arn (String)

    The new service access role ARN for the data migration.

  • :data_migration_type (String)

    The new migration type for the data migration.

  • :source_data_settings (Array<Types::SourceDataSetting>)

    The new information about the source data provider for the data migration.

  • :target_data_settings (Array<Types::TargetDataSetting>)

    The new information about the target data provider for the data migration.

  • :number_of_jobs (Integer)

    The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.

  • :selection_rules (String)

    A JSON-formatted string that defines what objects to include and exclude from the migration.

Returns:

See Also:



10350
10351
10352
10353
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 10350

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

#modify_data_provider(params = {}) ⇒ Types::ModifyDataProviderResponse

Modifies the specified data provider using the provided settings.

Required permissions: dms:UpdateDataProvider. For more information, see Actions, resources, and condition keys for Database Migration Service.

You must remove the data provider from all migration projects before you can modify it.

Examples:

Example: Modify a data provider


# The following example updates the description and server name of a data provider.

resp = client.modify_data_provider({
  data_provider_identifier: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  description: "Updated data provider description", 
  engine: "sqlserver", 
  settings: {
    microsoft_sql_server_settings: {
      server_name: "new-source-server.us-east-1.rds.amazonaws.com", 
    }, 
  }, 
})

resp.to_h outputs the following:
{
  data_provider: {
    data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    data_provider_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    data_provider_name: "example-data-provider", 
    description: "Updated data provider description", 
    engine: "sqlserver", 
    settings: {
      microsoft_sql_server_settings: {
        certificate_arn: "arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        database_name: "ExampleDatabase", 
        port: 1433, 
        server_name: "new-source-server.us-east-1.rds.amazonaws.com", 
        ssl_mode: "verify-full", 
      }, 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.modify_data_provider({
  data_provider_identifier: "String", # required
  data_provider_name: "String",
  description: "String",
  engine: "String",
  virtual: false,
  exact_settings: false,
  settings: {
    redshift_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    postgre_sql_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    my_sql_settings: {
      server_name: "String",
      port: 1,
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    oracle_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      asm_server: "String",
      secrets_manager_oracle_asm_secret_id: "String",
      secrets_manager_oracle_asm_access_role_arn: "String",
      secrets_manager_security_db_encryption_secret_id: "String",
      secrets_manager_security_db_encryption_access_role_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    sybase_ase_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      encrypt_password: false,
      certificate_arn: "String",
    },
    microsoft_sql_server_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    doc_db_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
    },
    maria_db_settings: {
      server_name: "String",
      port: 1,
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    ibm_db_2_luw_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      encryption_algorithm: 1,
      security_mechanism: 1,
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    ibm_db_2z_os_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      s3_path: "String",
      s3_access_role_arn: "String",
    },
    mongo_db_settings: {
      server_name: "String",
      port: 1,
      database_name: "String",
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_arn: "String",
      auth_type: "no", # accepts no, password
      auth_source: "String",
      auth_mechanism: "default", # accepts default, mongodb_cr, scram_sha_1
    },
  },
})

Response structure


resp.data_provider.data_provider_name #=> String
resp.data_provider.data_provider_arn #=> String
resp.data_provider.data_provider_creation_time #=> Time
resp.data_provider.description #=> String
resp.data_provider.engine #=> String
resp.data_provider.virtual #=> Boolean
resp.data_provider.settings.redshift_settings.server_name #=> String
resp.data_provider.settings.redshift_settings.port #=> Integer
resp.data_provider.settings.redshift_settings.database_name #=> String
resp.data_provider.settings.redshift_settings.s3_path #=> String
resp.data_provider.settings.redshift_settings.s3_access_role_arn #=> String
resp.data_provider.settings.postgre_sql_settings.server_name #=> String
resp.data_provider.settings.postgre_sql_settings.port #=> Integer
resp.data_provider.settings.postgre_sql_settings.database_name #=> String
resp.data_provider.settings.postgre_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.postgre_sql_settings.certificate_arn #=> String
resp.data_provider.settings.postgre_sql_settings.s3_path #=> String
resp.data_provider.settings.postgre_sql_settings.s3_access_role_arn #=> String
resp.data_provider.settings.my_sql_settings.server_name #=> String
resp.data_provider.settings.my_sql_settings.port #=> Integer
resp.data_provider.settings.my_sql_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.my_sql_settings.certificate_arn #=> String
resp.data_provider.settings.my_sql_settings.s3_path #=> String
resp.data_provider.settings.my_sql_settings.s3_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.server_name #=> String
resp.data_provider.settings.oracle_settings.port #=> Integer
resp.data_provider.settings.oracle_settings.database_name #=> String
resp.data_provider.settings.oracle_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.oracle_settings.certificate_arn #=> String
resp.data_provider.settings.oracle_settings.asm_server #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_security_db_encryption_secret_id #=> String
resp.data_provider.settings.oracle_settings.secrets_manager_security_db_encryption_access_role_arn #=> String
resp.data_provider.settings.oracle_settings.s3_path #=> String
resp.data_provider.settings.oracle_settings.s3_access_role_arn #=> String
resp.data_provider.settings.sybase_ase_settings.server_name #=> String
resp.data_provider.settings.sybase_ase_settings.port #=> Integer
resp.data_provider.settings.sybase_ase_settings.database_name #=> String
resp.data_provider.settings.sybase_ase_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.sybase_ase_settings.encrypt_password #=> Boolean
resp.data_provider.settings.sybase_ase_settings.certificate_arn #=> String
resp.data_provider.settings.microsoft_sql_server_settings.server_name #=> String
resp.data_provider.settings.microsoft_sql_server_settings.port #=> Integer
resp.data_provider.settings.microsoft_sql_server_settings.database_name #=> String
resp.data_provider.settings.microsoft_sql_server_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.microsoft_sql_server_settings.certificate_arn #=> String
resp.data_provider.settings.microsoft_sql_server_settings.s3_path #=> String
resp.data_provider.settings.microsoft_sql_server_settings.s3_access_role_arn #=> String
resp.data_provider.settings.doc_db_settings.server_name #=> String
resp.data_provider.settings.doc_db_settings.port #=> Integer
resp.data_provider.settings.doc_db_settings.database_name #=> String
resp.data_provider.settings.doc_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.doc_db_settings.certificate_arn #=> String
resp.data_provider.settings.maria_db_settings.server_name #=> String
resp.data_provider.settings.maria_db_settings.port #=> Integer
resp.data_provider.settings.maria_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.maria_db_settings.certificate_arn #=> String
resp.data_provider.settings.maria_db_settings.s3_path #=> String
resp.data_provider.settings.maria_db_settings.s3_access_role_arn #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.server_name #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.port #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.database_name #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.ibm_db_2_luw_settings.certificate_arn #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.encryption_algorithm #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.security_mechanism #=> Integer
resp.data_provider.settings.ibm_db_2_luw_settings.s3_path #=> String
resp.data_provider.settings.ibm_db_2_luw_settings.s3_access_role_arn #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.server_name #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.port #=> Integer
resp.data_provider.settings.ibm_db_2z_os_settings.database_name #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.ibm_db_2z_os_settings.certificate_arn #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.s3_path #=> String
resp.data_provider.settings.ibm_db_2z_os_settings.s3_access_role_arn #=> String
resp.data_provider.settings.mongo_db_settings.server_name #=> String
resp.data_provider.settings.mongo_db_settings.port #=> Integer
resp.data_provider.settings.mongo_db_settings.database_name #=> String
resp.data_provider.settings.mongo_db_settings.ssl_mode #=> String, one of "none", "require", "verify-ca", "verify-full"
resp.data_provider.settings.mongo_db_settings.certificate_arn #=> String
resp.data_provider.settings.mongo_db_settings.auth_type #=> String, one of "no", "password"
resp.data_provider.settings.mongo_db_settings.auth_source #=> String
resp.data_provider.settings.mongo_db_settings.auth_mechanism #=> String, one of "default", "mongodb_cr", "scram_sha_1"

Parameters:

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

    ({})

Options Hash (params):

  • :data_provider_identifier (required, String)

    The identifier of the data provider. 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.

  • :data_provider_name (String)

    The name of the data provider.

  • :description (String)

    A user-friendly description of the data provider.

  • :engine (String)

    The type of database engine for the data provider.

    Valid values: aurora, aurora-postgresql, db2, db2-zos, docdb, mariadb, mongodb, mysql, oracle, postgres, redshift, sqlserver, and sybase. A value of aurora represents Amazon Aurora MySQL-Compatible Edition.

  • :virtual (Boolean)

    Indicates whether the data provider is virtual.

  • :exact_settings (Boolean)

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

    • It replaces any data provider settings that already exist with new values, for settings with the same names.

    • It creates new data provider settings that you specify in the call, for settings with different names.

  • :settings (Types::DataProviderSettings)

    The settings in JSON format for a data provider.

Returns:

See Also:



10651
10652
10653
10654
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 10651

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

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

Modifies the specified endpoint.

For a MySQL source or target endpoint, don't explicitly specify the database using the DatabaseName request parameter on the ModifyEndpoint API call. Specifying DatabaseName when you modify a MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify the database only when you specify the schema in the table-mapping rules of the DMS task.

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,
    date_partition_enabled: false,
    date_partition_sequence: "YYYYMMDD", # accepts YYYYMMDD, YYYYMMDDHH, YYYYMM, MMYYYYDD, DDMMYYYY
    date_partition_delimiter: "SLASH", # accepts SLASH, UNDERSCORE, DASH, NONE
    use_csv_no_sup_value: false,
    csv_no_sup_value: "String",
    preserve_transactions: false,
    cdc_path: "String",
    use_task_start_time_for_full_load_timestamp: false,
    canned_acl_for_objects: "none", # accepts none, private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
    add_column_name: false,
    cdc_max_batch_interval: 1,
    cdc_min_file_size: 1,
    csv_null_value: "String",
    ignore_header_rows: 1,
    max_file_size: 1,
    rfc_4180: false,
    date_partition_timezone: "String",
    add_trailing_padding_character: false,
    expected_bucket_owner: "String",
    glue_catalog_generation: false,
  },
  dms_transfer_settings: {
    service_access_role_arn: "String",
    bucket_name: "String",
  },
  mongo_db_settings: {
    username: "String",
    password: "SecretString",
    server_name: "String",
    port: 1,
    database_name: "String",
    auth_type: "no", # accepts no, password
    auth_mechanism: "default", # accepts default, mongodb_cr, scram_sha_1
    nesting_level: "none", # accepts none, one
    extract_doc_id: "String",
    docs_to_investigate: "String",
    auth_source: "String",
    kms_key_id: "String",
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    use_update_look_up: false,
    replicate_shard_collections: false,
  },
  kinesis_settings: {
    stream_arn: "String",
    message_format: "json", # accepts json, json-unformatted
    service_access_role_arn: "String",
    include_transaction_details: false,
    include_partition_value: false,
    partition_include_schema_table: false,
    include_table_alter_operations: false,
    include_control_details: false,
    include_null_and_empty: false,
    no_hex_prefix: false,
    use_large_integer_value: false,
  },
  kafka_settings: {
    broker: "String",
    topic: "String",
    message_format: "json", # accepts json, json-unformatted
    include_transaction_details: false,
    include_partition_value: false,
    partition_include_schema_table: false,
    include_table_alter_operations: false,
    include_control_details: false,
    message_max_bytes: 1,
    include_null_and_empty: false,
    security_protocol: "plaintext", # accepts plaintext, ssl-authentication, ssl-encryption, sasl-ssl
    ssl_client_certificate_arn: "String",
    ssl_client_key_arn: "String",
    ssl_client_key_password: "SecretString",
    ssl_ca_certificate_arn: "String",
    sasl_username: "String",
    sasl_password: "SecretString",
    no_hex_prefix: false,
    sasl_mechanism: "scram-sha-512", # accepts scram-sha-512, plain
    ssl_endpoint_identification_algorithm: "none", # accepts none, https
    use_large_integer_value: false,
  },
  elasticsearch_settings: {
    service_access_role_arn: "String", # required
    endpoint_uri: "String", # required
    full_load_error_percentage: 1,
    error_retry_duration: 1,
    use_new_mapping_type: false,
  },
  neptune_settings: {
    service_access_role_arn: "String",
    s3_bucket_name: "String", # required
    s3_bucket_folder: "String", # required
    error_retry_duration: 1,
    max_file_size: 1,
    max_retry_count: 1,
    iam_auth_enabled: false,
  },
  redshift_settings: {
    accept_any_date: false,
    after_connect_script: "String",
    bucket_folder: "String",
    bucket_name: "String",
    case_sensitive_names: false,
    comp_update: false,
    connection_timeout: 1,
    database_name: "String",
    date_format: "String",
    empty_as_null: false,
    encryption_mode: "sse-s3", # accepts sse-s3, sse-kms
    explicit_ids: false,
    file_transfer_upload_streams: 1,
    load_timeout: 1,
    max_file_size: 1,
    password: "SecretString",
    port: 1,
    remove_quotes: false,
    replace_invalid_chars: "String",
    replace_chars: "String",
    server_name: "String",
    service_access_role_arn: "String",
    server_side_encryption_kms_key_id: "String",
    time_format: "String",
    trim_blanks: false,
    truncate_columns: false,
    username: "String",
    write_buffer_size: 1,
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    map_boolean_as_boolean: false,
  },
  postgre_sql_settings: {
    after_connect_script: "String",
    capture_ddls: false,
    max_file_size: 1,
    database_name: "String",
    ddl_artifacts_schema: "String",
    execute_timeout: 1,
    fail_tasks_on_lob_truncation: false,
    heartbeat_enable: false,
    heartbeat_schema: "String",
    heartbeat_frequency: 1,
    password: "SecretString",
    port: 1,
    server_name: "String",
    username: "String",
    slot_name: "String",
    plugin_name: "no-preference", # accepts no-preference, test-decoding, pglogical
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    trim_space_in_char: false,
    map_boolean_as_boolean: false,
    map_jsonb_as_clob: false,
    map_long_varchar_as: "wstring", # accepts wstring, clob, nclob
    database_mode: "default", # accepts default, babelfish
    babelfish_database_name: "String",
    disable_unicode_source_filter: false,
    service_access_role_arn: "String",
    authentication_method: "password", # accepts password, iam
  },
  my_sql_settings: {
    after_connect_script: "String",
    clean_source_metadata_on_mismatch: false,
    database_name: "String",
    events_poll_interval: 1,
    target_db_type: "specific-database", # accepts specific-database, multiple-databases
    max_file_size: 1,
    parallel_load_threads: 1,
    password: "SecretString",
    port: 1,
    server_name: "String",
    server_timezone: "String",
    username: "String",
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    execute_timeout: 1,
    service_access_role_arn: "String",
    authentication_method: "password", # accepts password, iam
  },
  oracle_settings: {
    add_supplemental_logging: false,
    archived_log_dest_id: 1,
    additional_archived_log_dest_id: 1,
    extra_archived_log_dest_ids: [1],
    allow_select_nested_tables: false,
    parallel_asm_read_threads: 1,
    read_ahead_blocks: 1,
    access_alternate_directly: false,
    use_alternate_folder_for_online: false,
    oracle_path_prefix: "String",
    use_path_prefix: "String",
    replace_path_prefix: false,
    enable_homogenous_tablespace: false,
    direct_path_no_log: false,
    archived_logs_only: false,
    asm_password: "SecretString",
    asm_server: "String",
    asm_user: "String",
    char_length_semantics: "default", # accepts default, char, byte
    database_name: "String",
    direct_path_parallel_load: false,
    fail_tasks_on_lob_truncation: false,
    number_datatype_scale: 1,
    password: "SecretString",
    port: 1,
    read_table_space_name: false,
    retry_interval: 1,
    security_db_encryption: "SecretString",
    security_db_encryption_name: "String",
    server_name: "String",
    spatial_data_option_to_geo_json_function_name: "String",
    standby_delay_time: 1,
    username: "String",
    use_b_file: false,
    use_direct_path_full_load: false,
    use_logminer_reader: false,
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    secrets_manager_oracle_asm_access_role_arn: "String",
    secrets_manager_oracle_asm_secret_id: "String",
    trim_space_in_char: false,
    convert_timestamp_with_zone_to_utc: false,
    open_transaction_window: 1,
    authentication_method: "password", # accepts password, kerberos
  },
  sybase_settings: {
    database_name: "String",
    password: "SecretString",
    port: 1,
    server_name: "String",
    username: "String",
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
  },
  microsoft_sql_server_settings: {
    port: 1,
    bcp_packet_size: 1,
    database_name: "String",
    control_tables_file_group: "String",
    password: "SecretString",
    query_single_always_on_node: false,
    read_backup_only: false,
    safeguard_policy: "rely-on-sql-server-replication-agent", # accepts rely-on-sql-server-replication-agent, exclusive-automatic-truncation, shared-automatic-truncation
    server_name: "String",
    username: "String",
    use_bcp_full_load: false,
    use_third_party_backup_device: false,
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    trim_space_in_char: false,
    tlog_access_mode: "BackupOnly", # accepts BackupOnly, PreferBackup, PreferTlog, TlogOnly
    force_lob_lookup: false,
    authentication_method: "password", # accepts password, kerberos
  },
  ibm_db_2_settings: {
    database_name: "String",
    password: "SecretString",
    port: 1,
    server_name: "String",
    set_data_capture_changes: false,
    current_lsn: "String",
    max_k_bytes_per_read: 1,
    username: "String",
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    load_timeout: 1,
    write_buffer_size: 1,
    max_file_size: 1,
    keep_csv_files: false,
  },
  doc_db_settings: {
    username: "String",
    password: "SecretString",
    server_name: "String",
    port: 1,
    database_name: "String",
    nesting_level: "none", # accepts none, one
    extract_doc_id: false,
    docs_to_investigate: 1,
    kms_key_id: "String",
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
    use_update_look_up: false,
    replicate_shard_collections: false,
  },
  redis_settings: {
    server_name: "String", # required
    port: 1, # required
    ssl_security_protocol: "plaintext", # accepts plaintext, ssl-encryption
    auth_type: "none", # accepts none, auth-role, auth-token
    auth_user_name: "String",
    auth_password: "SecretString",
    ssl_ca_certificate_arn: "String",
  },
  exact_settings: false,
  gcp_my_sql_settings: {
    after_connect_script: "String",
    clean_source_metadata_on_mismatch: false,
    database_name: "String",
    events_poll_interval: 1,
    target_db_type: "specific-database", # accepts specific-database, multiple-databases
    max_file_size: 1,
    parallel_load_threads: 1,
    password: "SecretString",
    port: 1,
    server_name: "String",
    server_timezone: "String",
    username: "String",
    secrets_manager_access_role_arn: "String",
    secrets_manager_secret_id: "String",
  },
  timestream_settings: {
    database_name: "String", # required
    memory_duration: 1, # required
    magnetic_duration: 1, # required
    cdc_inserts_and_updates: false,
    enable_magnetic_store_writes: false,
  },
})

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.is_read_only #=> Boolean
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.s3_settings.date_partition_enabled #=> Boolean
resp.endpoint.s3_settings.date_partition_sequence #=> String, one of "YYYYMMDD", "YYYYMMDDHH", "YYYYMM", "MMYYYYDD", "DDMMYYYY"
resp.endpoint.s3_settings.date_partition_delimiter #=> String, one of "SLASH", "UNDERSCORE", "DASH", "NONE"
resp.endpoint.s3_settings.use_csv_no_sup_value #=> Boolean
resp.endpoint.s3_settings.csv_no_sup_value #=> String
resp.endpoint.s3_settings.preserve_transactions #=> Boolean
resp.endpoint.s3_settings.cdc_path #=> String
resp.endpoint.s3_settings.use_task_start_time_for_full_load_timestamp #=> Boolean
resp.endpoint.s3_settings.canned_acl_for_objects #=> String, one of "none", "private", "public-read", "public-read-write", "authenticated-read", "aws-exec-read", "bucket-owner-read", "bucket-owner-full-control"
resp.endpoint.s3_settings.add_column_name #=> Boolean
resp.endpoint.s3_settings.cdc_max_batch_interval #=> Integer
resp.endpoint.s3_settings.cdc_min_file_size #=> Integer
resp.endpoint.s3_settings.csv_null_value #=> String
resp.endpoint.s3_settings.ignore_header_rows #=> Integer
resp.endpoint.s3_settings.max_file_size #=> Integer
resp.endpoint.s3_settings.rfc_4180 #=> Boolean
resp.endpoint.s3_settings.date_partition_timezone #=> String
resp.endpoint.s3_settings.add_trailing_padding_character #=> Boolean
resp.endpoint.s3_settings.expected_bucket_owner #=> String
resp.endpoint.s3_settings.glue_catalog_generation #=> 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.mongo_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.mongo_db_settings.secrets_manager_secret_id #=> String
resp.endpoint.mongo_db_settings.use_update_look_up #=> Boolean
resp.endpoint.mongo_db_settings.replicate_shard_collections #=> Boolean
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.kinesis_settings.include_null_and_empty #=> Boolean
resp.endpoint.kinesis_settings.no_hex_prefix #=> Boolean
resp.endpoint.kinesis_settings.use_large_integer_value #=> Boolean
resp.endpoint.kafka_settings.broker #=> String
resp.endpoint.kafka_settings.topic #=> String
resp.endpoint.kafka_settings.message_format #=> String, one of "json", "json-unformatted"
resp.endpoint.kafka_settings.include_transaction_details #=> Boolean
resp.endpoint.kafka_settings.include_partition_value #=> Boolean
resp.endpoint.kafka_settings.partition_include_schema_table #=> Boolean
resp.endpoint.kafka_settings.include_table_alter_operations #=> Boolean
resp.endpoint.kafka_settings.include_control_details #=> Boolean
resp.endpoint.kafka_settings.message_max_bytes #=> Integer
resp.endpoint.kafka_settings.include_null_and_empty #=> Boolean
resp.endpoint.kafka_settings.security_protocol #=> String, one of "plaintext", "ssl-authentication", "ssl-encryption", "sasl-ssl"
resp.endpoint.kafka_settings.ssl_client_certificate_arn #=> String
resp.endpoint.kafka_settings.ssl_client_key_arn #=> String
resp.endpoint.kafka_settings.ssl_client_key_password #=> String
resp.endpoint.kafka_settings.ssl_ca_certificate_arn #=> String
resp.endpoint.kafka_settings.sasl_username #=> String
resp.endpoint.kafka_settings.sasl_password #=> String
resp.endpoint.kafka_settings.no_hex_prefix #=> Boolean
resp.endpoint.kafka_settings.sasl_mechanism #=> String, one of "scram-sha-512", "plain"
resp.endpoint.kafka_settings.ssl_endpoint_identification_algorithm #=> String, one of "none", "https"
resp.endpoint.kafka_settings.use_large_integer_value #=> Boolean
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.elasticsearch_settings.use_new_mapping_type #=> Boolean
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.case_sensitive_names #=> Boolean
resp.endpoint.redshift_settings.comp_update #=> Boolean
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.explicit_ids #=> Boolean
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
resp.endpoint.redshift_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.redshift_settings.secrets_manager_secret_id #=> String
resp.endpoint.redshift_settings.map_boolean_as_boolean #=> Boolean
resp.endpoint.postgre_sql_settings.after_connect_script #=> String
resp.endpoint.postgre_sql_settings.capture_ddls #=> Boolean
resp.endpoint.postgre_sql_settings.max_file_size #=> Integer
resp.endpoint.postgre_sql_settings.database_name #=> String
resp.endpoint.postgre_sql_settings.ddl_artifacts_schema #=> String
resp.endpoint.postgre_sql_settings.execute_timeout #=> Integer
resp.endpoint.postgre_sql_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoint.postgre_sql_settings.heartbeat_enable #=> Boolean
resp.endpoint.postgre_sql_settings.heartbeat_schema #=> String
resp.endpoint.postgre_sql_settings.heartbeat_frequency #=> Integer
resp.endpoint.postgre_sql_settings.password #=> String
resp.endpoint.postgre_sql_settings.port #=> Integer
resp.endpoint.postgre_sql_settings.server_name #=> String
resp.endpoint.postgre_sql_settings.username #=> String
resp.endpoint.postgre_sql_settings.slot_name #=> String
resp.endpoint.postgre_sql_settings.plugin_name #=> String, one of "no-preference", "test-decoding", "pglogical"
resp.endpoint.postgre_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.postgre_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.postgre_sql_settings.trim_space_in_char #=> Boolean
resp.endpoint.postgre_sql_settings.map_boolean_as_boolean #=> Boolean
resp.endpoint.postgre_sql_settings.map_jsonb_as_clob #=> Boolean
resp.endpoint.postgre_sql_settings.map_long_varchar_as #=> String, one of "wstring", "clob", "nclob"
resp.endpoint.postgre_sql_settings.database_mode #=> String, one of "default", "babelfish"
resp.endpoint.postgre_sql_settings.babelfish_database_name #=> String
resp.endpoint.postgre_sql_settings.disable_unicode_source_filter #=> Boolean
resp.endpoint.postgre_sql_settings.service_access_role_arn #=> String
resp.endpoint.postgre_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoint.my_sql_settings.after_connect_script #=> String
resp.endpoint.my_sql_settings. #=> Boolean
resp.endpoint.my_sql_settings.database_name #=> String
resp.endpoint.my_sql_settings.events_poll_interval #=> Integer
resp.endpoint.my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoint.my_sql_settings.max_file_size #=> Integer
resp.endpoint.my_sql_settings.parallel_load_threads #=> Integer
resp.endpoint.my_sql_settings.password #=> String
resp.endpoint.my_sql_settings.port #=> Integer
resp.endpoint.my_sql_settings.server_name #=> String
resp.endpoint.my_sql_settings.server_timezone #=> String
resp.endpoint.my_sql_settings.username #=> String
resp.endpoint.my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.my_sql_settings.execute_timeout #=> Integer
resp.endpoint.my_sql_settings.service_access_role_arn #=> String
resp.endpoint.my_sql_settings.authentication_method #=> String, one of "password", "iam"
resp.endpoint.oracle_settings.add_supplemental_logging #=> Boolean
resp.endpoint.oracle_settings.archived_log_dest_id #=> Integer
resp.endpoint.oracle_settings.additional_archived_log_dest_id #=> Integer
resp.endpoint.oracle_settings.extra_archived_log_dest_ids #=> Array
resp.endpoint.oracle_settings.extra_archived_log_dest_ids[0] #=> Integer
resp.endpoint.oracle_settings.allow_select_nested_tables #=> Boolean
resp.endpoint.oracle_settings.parallel_asm_read_threads #=> Integer
resp.endpoint.oracle_settings.read_ahead_blocks #=> Integer
resp.endpoint.oracle_settings.access_alternate_directly #=> Boolean
resp.endpoint.oracle_settings.use_alternate_folder_for_online #=> Boolean
resp.endpoint.oracle_settings.oracle_path_prefix #=> String
resp.endpoint.oracle_settings.use_path_prefix #=> String
resp.endpoint.oracle_settings.replace_path_prefix #=> Boolean
resp.endpoint.oracle_settings.enable_homogenous_tablespace #=> Boolean
resp.endpoint.oracle_settings.direct_path_no_log #=> Boolean
resp.endpoint.oracle_settings.archived_logs_only #=> Boolean
resp.endpoint.oracle_settings.asm_password #=> String
resp.endpoint.oracle_settings.asm_server #=> String
resp.endpoint.oracle_settings.asm_user #=> String
resp.endpoint.oracle_settings.char_length_semantics #=> String, one of "default", "char", "byte"
resp.endpoint.oracle_settings.database_name #=> String
resp.endpoint.oracle_settings.direct_path_parallel_load #=> Boolean
resp.endpoint.oracle_settings.fail_tasks_on_lob_truncation #=> Boolean
resp.endpoint.oracle_settings.number_datatype_scale #=> Integer
resp.endpoint.oracle_settings.password #=> String
resp.endpoint.oracle_settings.port #=> Integer
resp.endpoint.oracle_settings.read_table_space_name #=> Boolean
resp.endpoint.oracle_settings.retry_interval #=> Integer
resp.endpoint.oracle_settings.security_db_encryption #=> String
resp.endpoint.oracle_settings.security_db_encryption_name #=> String
resp.endpoint.oracle_settings.server_name #=> String
resp.endpoint.oracle_settings.spatial_data_option_to_geo_json_function_name #=> String
resp.endpoint.oracle_settings.standby_delay_time #=> Integer
resp.endpoint.oracle_settings.username #=> String
resp.endpoint.oracle_settings.use_b_file #=> Boolean
resp.endpoint.oracle_settings.use_direct_path_full_load #=> Boolean
resp.endpoint.oracle_settings.use_logminer_reader #=> Boolean
resp.endpoint.oracle_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.oracle_settings.secrets_manager_secret_id #=> String
resp.endpoint.oracle_settings.secrets_manager_oracle_asm_access_role_arn #=> String
resp.endpoint.oracle_settings.secrets_manager_oracle_asm_secret_id #=> String
resp.endpoint.oracle_settings.trim_space_in_char #=> Boolean
resp.endpoint.oracle_settings.convert_timestamp_with_zone_to_utc #=> Boolean
resp.endpoint.oracle_settings.open_transaction_window #=> Integer
resp.endpoint.oracle_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoint.sybase_settings.database_name #=> String
resp.endpoint.sybase_settings.password #=> String
resp.endpoint.sybase_settings.port #=> Integer
resp.endpoint.sybase_settings.server_name #=> String
resp.endpoint.sybase_settings.username #=> String
resp.endpoint.sybase_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.sybase_settings.secrets_manager_secret_id #=> String
resp.endpoint.microsoft_sql_server_settings.port #=> Integer
resp.endpoint.microsoft_sql_server_settings.bcp_packet_size #=> Integer
resp.endpoint.microsoft_sql_server_settings.database_name #=> String
resp.endpoint.microsoft_sql_server_settings.control_tables_file_group #=> String
resp.endpoint.microsoft_sql_server_settings.password #=> String
resp.endpoint.microsoft_sql_server_settings.query_single_always_on_node #=> Boolean
resp.endpoint.microsoft_sql_server_settings.read_backup_only #=> Boolean
resp.endpoint.microsoft_sql_server_settings.safeguard_policy #=> String, one of "rely-on-sql-server-replication-agent", "exclusive-automatic-truncation", "shared-automatic-truncation"
resp.endpoint.microsoft_sql_server_settings.server_name #=> String
resp.endpoint.microsoft_sql_server_settings.username #=> String
resp.endpoint.microsoft_sql_server_settings.use_bcp_full_load #=> Boolean
resp.endpoint.microsoft_sql_server_settings.use_third_party_backup_device #=> Boolean
resp.endpoint.microsoft_sql_server_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.microsoft_sql_server_settings.secrets_manager_secret_id #=> String
resp.endpoint.microsoft_sql_server_settings.trim_space_in_char #=> Boolean
resp.endpoint.microsoft_sql_server_settings.tlog_access_mode #=> String, one of "BackupOnly", "PreferBackup", "PreferTlog", "TlogOnly"
resp.endpoint.microsoft_sql_server_settings.force_lob_lookup #=> Boolean
resp.endpoint.microsoft_sql_server_settings.authentication_method #=> String, one of "password", "kerberos"
resp.endpoint.ibm_db_2_settings.database_name #=> String
resp.endpoint.ibm_db_2_settings.password #=> String
resp.endpoint.ibm_db_2_settings.port #=> Integer
resp.endpoint.ibm_db_2_settings.server_name #=> String
resp.endpoint.ibm_db_2_settings.set_data_capture_changes #=> Boolean
resp.endpoint.ibm_db_2_settings.current_lsn #=> String
resp.endpoint.ibm_db_2_settings.max_k_bytes_per_read #=> Integer
resp.endpoint.ibm_db_2_settings.username #=> String
resp.endpoint.ibm_db_2_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.ibm_db_2_settings.secrets_manager_secret_id #=> String
resp.endpoint.ibm_db_2_settings.load_timeout #=> Integer
resp.endpoint.ibm_db_2_settings.write_buffer_size #=> Integer
resp.endpoint.ibm_db_2_settings.max_file_size #=> Integer
resp.endpoint.ibm_db_2_settings.keep_csv_files #=> Boolean
resp.endpoint.doc_db_settings.username #=> String
resp.endpoint.doc_db_settings.password #=> String
resp.endpoint.doc_db_settings.server_name #=> String
resp.endpoint.doc_db_settings.port #=> Integer
resp.endpoint.doc_db_settings.database_name #=> String
resp.endpoint.doc_db_settings.nesting_level #=> String, one of "none", "one"
resp.endpoint.doc_db_settings.extract_doc_id #=> Boolean
resp.endpoint.doc_db_settings.docs_to_investigate #=> Integer
resp.endpoint.doc_db_settings.kms_key_id #=> String
resp.endpoint.doc_db_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.doc_db_settings.secrets_manager_secret_id #=> String
resp.endpoint.doc_db_settings.use_update_look_up #=> Boolean
resp.endpoint.doc_db_settings.replicate_shard_collections #=> Boolean
resp.endpoint.redis_settings.server_name #=> String
resp.endpoint.redis_settings.port #=> Integer
resp.endpoint.redis_settings.ssl_security_protocol #=> String, one of "plaintext", "ssl-encryption"
resp.endpoint.redis_settings.auth_type #=> String, one of "none", "auth-role", "auth-token"
resp.endpoint.redis_settings.auth_user_name #=> String
resp.endpoint.redis_settings.auth_password #=> String
resp.endpoint.redis_settings.ssl_ca_certificate_arn #=> String
resp.endpoint.gcp_my_sql_settings.after_connect_script #=> String
resp.endpoint.gcp_my_sql_settings. #=> Boolean
resp.endpoint.gcp_my_sql_settings.database_name #=> String
resp.endpoint.gcp_my_sql_settings.events_poll_interval #=> Integer
resp.endpoint.gcp_my_sql_settings.target_db_type #=> String, one of "specific-database", "multiple-databases"
resp.endpoint.gcp_my_sql_settings.max_file_size #=> Integer
resp.endpoint.gcp_my_sql_settings.parallel_load_threads #=> Integer
resp.endpoint.gcp_my_sql_settings.password #=> String
resp.endpoint.gcp_my_sql_settings.port #=> Integer
resp.endpoint.gcp_my_sql_settings.server_name #=> String
resp.endpoint.gcp_my_sql_settings.server_timezone #=> String
resp.endpoint.gcp_my_sql_settings.username #=> String
resp.endpoint.gcp_my_sql_settings.secrets_manager_access_role_arn #=> String
resp.endpoint.gcp_my_sql_settings.secrets_manager_secret_id #=> String
resp.endpoint.timestream_settings.database_name #=> String
resp.endpoint.timestream_settings.memory_duration #=> Integer
resp.endpoint.timestream_settings.magnetic_duration #=> Integer
resp.endpoint.timestream_settings.cdc_inserts_and_updates #=> Boolean
resp.endpoint.timestream_settings.enable_magnetic_store_writes #=> Boolean
resp.endpoint.lakehouse_settings.arn #=> String

Parameters:

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

    ({})

Options Hash (params):

Returns:

See Also:



11644
11645
11646
11647
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 11644

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



11705
11706
11707
11708
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 11705

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

#modify_instance_profile(params = {}) ⇒ Types::ModifyInstanceProfileResponse

Modifies the specified instance profile using the provided parameters.

Required permissions: dms:UpdateInstanceProfile. For more information, see Actions, resources, and condition keys for Database Migration Service.

All migration projects associated with the instance profile must be deleted or modified before you can modify the instance profile.

Examples:

Example: Modify an instance profile


# The following example updates the description and network type of an instance profile.

resp = client.modify_instance_profile({
  description: "Updated instance profile description", 
  instance_profile_identifier: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  network_type: "DUAL", 
})

resp.to_h outputs the following:
{
  instance_profile: {
    description: "Updated instance profile description", 
    instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    instance_profile_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    instance_profile_name: "example-instance-profile", 
    kms_key_arn: "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
    network_type: "DUAL", 
    publicly_accessible: false, 
    subnet_group_identifier: "example-replication-subnet-group", 
    vpc_security_groups: [
      "sg-0123456789abcdef0", 
    ], 
  }, 
}

Request syntax with placeholder values


resp = client.modify_instance_profile({
  instance_profile_identifier: "String", # required
  availability_zone: "String",
  kms_key_arn: "String",
  publicly_accessible: false,
  network_type: "String",
  instance_profile_name: "String",
  description: "String",
  subnet_group_identifier: "String",
  vpc_security_groups: ["String"],
})

Response structure


resp.instance_profile.instance_profile_arn #=> String
resp.instance_profile.availability_zone #=> String
resp.instance_profile.kms_key_arn #=> String
resp.instance_profile.publicly_accessible #=> Boolean
resp.instance_profile.network_type #=> String
resp.instance_profile.instance_profile_name #=> String
resp.instance_profile.description #=> String
resp.instance_profile.instance_profile_creation_time #=> Time
resp.instance_profile.subnet_group_identifier #=> String
resp.instance_profile.vpc_security_groups #=> Array
resp.instance_profile.vpc_security_groups[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_profile_identifier (required, String)

    The identifier of the instance profile. 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.

  • :availability_zone (String)

    The Availability Zone where the instance profile runs.

  • :kms_key_arn (String)

    The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the connection parameters for the instance profile.

    If you don't specify a value for the KmsKeyArn parameter, then DMS uses an Amazon Web Services owned encryption key to encrypt your resources.

  • :publicly_accessible (Boolean)

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

  • :network_type (String)

    Specifies the network type for the instance profile. A value of IPV4 represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of IPV6 represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of DUAL represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.

  • :instance_profile_name (String)

    A user-friendly name for the instance profile.

  • :description (String)

    A user-friendly description for the instance profile.

  • :subnet_group_identifier (String)

    A subnet group to associate with the instance profile.

  • :vpc_security_groups (Array<String>)

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

Returns:

See Also:



11833
11834
11835
11836
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 11833

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

#modify_migration_project(params = {}) ⇒ Types::ModifyMigrationProjectResponse

Modifies the specified migration project using the provided parameters.

Required permissions: dms:UpdateMigrationProject. For more information, see Actions, resources, and condition keys for Database Migration Service.

The migration project must be closed before you can modify it.

Examples:

Example: Modify a migration project


# The following example updates the source data provider and description of a migration project.

resp = client.modify_migration_project({
  description: "Updated migration project description", 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  source_data_provider_descriptors: [
    {
      data_provider_identifier: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  migration_project: {
    description: "Updated migration project description", 
    instance_profile_arn: "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    instance_profile_name: "example-instance-profile", 
    migration_project_arn: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
    migration_project_creation_time: Time.parse("2026-01-09T12:30:00.000000Z"), 
    migration_project_name: "example-migration-project", 
    schema_conversion_application_attributes: {
      s3_bucket_path: "s3://amzn-s3-demo-bucket", 
      s3_bucket_role_arn: "arn:aws:iam::111122223333:role/example-s3-access-role", 
    }, 
    source_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        data_provider_name: "example-data-provider", 
        secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3", 
      }, 
    ], 
    target_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS", 
        data_provider_name: "example-data-provider", 
        secrets_manager_access_role_arn: "arn:aws:iam::111122223333:role/example-secrets-manager-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3", 
      }, 
    ], 
    transformation_rules: "{\"rules\":[{\"rule-type\":\"transformation\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-target\":\"schema\",\"rule-action\":\"rename\",\"object-locator\":{\"schema-name\":\"ExampleSchema\"},\"value\":\"TargetSchema\"}]}", 
  }, 
}

Request syntax with placeholder values


resp = client.modify_migration_project({
  migration_project_identifier: "String", # required
  migration_project_name: "String",
  source_data_provider_descriptors: [
    {
      data_provider_identifier: "String", # required
      secrets_manager_secret_id: "String",
      secrets_manager_access_role_arn: "String",
    },
  ],
  target_data_provider_descriptors: [
    {
      data_provider_identifier: "String", # required
      secrets_manager_secret_id: "String",
      secrets_manager_access_role_arn: "String",
    },
  ],
  instance_profile_identifier: "String",
  transformation_rules: "String",
  description: "String",
  schema_conversion_application_attributes: {
    s3_bucket_path: "String",
    s3_bucket_role_arn: "String",
  },
})

Response structure


resp.migration_project.migration_project_name #=> String
resp.migration_project.migration_project_arn #=> String
resp.migration_project.migration_project_creation_time #=> Time
resp.migration_project.source_data_provider_descriptors #=> Array
resp.migration_project.source_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_project.source_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_project.source_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_project.source_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_project.target_data_provider_descriptors #=> Array
resp.migration_project.target_data_provider_descriptors[0].secrets_manager_secret_id #=> String
resp.migration_project.target_data_provider_descriptors[0].secrets_manager_access_role_arn #=> String
resp.migration_project.target_data_provider_descriptors[0].data_provider_name #=> String
resp.migration_project.target_data_provider_descriptors[0].data_provider_arn #=> String
resp.migration_project.instance_profile_arn #=> String
resp.migration_project.instance_profile_name #=> String
resp.migration_project.transformation_rules #=> String
resp.migration_project.description #=> String
resp.migration_project.schema_conversion_application_attributes.s3_bucket_path #=> String
resp.migration_project.schema_conversion_application_attributes.s3_bucket_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The identifier of the migration project. 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.

  • :migration_project_name (String)

    A user-friendly name for the migration project.

  • :source_data_provider_descriptors (Array<Types::DataProviderDescriptorDefinition>)

    Information about the source data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.

  • :target_data_provider_descriptors (Array<Types::DataProviderDescriptorDefinition>)

    Information about the target data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.

  • :instance_profile_identifier (String)

    The name or Amazon Resource Name (ARN) for the instance profile.

  • :transformation_rules (String)

    A JSON string that specifies the transformation rules for the migration project. Transformation rules let you customize how DMS Schema Conversion converts your source database objects, including renaming, adding prefixes or suffixes, and changing data types. For the transformation rule format and examples, see Transformation rules in DMS Schema Conversion.

    Homogeneous data migrations do not support transformation rules.

  • :description (String)

    A user-friendly description of the migration project.

  • :schema_conversion_application_attributes (Types::SCApplicationAttributes)

    The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.

Returns:

See Also:



12001
12002
12003
12004
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12001

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

#modify_replication_config(params = {}) ⇒ Types::ModifyReplicationConfigResponse

Modifies an existing DMS Serverless replication configuration that you can use to start a replication. This command includes input validation and logic to check the state of any replication that uses this configuration. You can only modify a replication configuration before any replication that uses it has started. As soon as you have initially started a replication with a given configuiration, you can't modify that configuration, even if you stop it.

Other run statuses that allow you to run this command include FAILED and CREATED. A provisioning state that allows you to run this command is FAILED_PROVISION.

Examples:

Request syntax with placeholder values


resp = client.modify_replication_config({
  replication_config_arn: "String", # required
  replication_config_identifier: "String",
  replication_type: "full-load", # accepts full-load, cdc, full-load-and-cdc
  table_mappings: "String",
  replication_settings: "String",
  supplemental_settings: "String",
  compute_config: {
    availability_zone: "String",
    dns_name_servers: "String",
    kms_key_id: "String",
    max_capacity_units: 1,
    min_capacity_units: 1,
    multi_az: false,
    preferred_maintenance_window: "String",
    replication_subnet_group_id: "String",
    vpc_security_group_ids: ["String"],
  },
  source_endpoint_arn: "String",
  target_endpoint_arn: "String",
})

Response structure


resp.replication_config.replication_config_identifier #=> String
resp.replication_config.replication_config_arn #=> String
resp.replication_config.source_endpoint_arn #=> String
resp.replication_config.target_endpoint_arn #=> String
resp.replication_config.replication_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication_config.compute_config.availability_zone #=> String
resp.replication_config.compute_config.dns_name_servers #=> String
resp.replication_config.compute_config.kms_key_id #=> String
resp.replication_config.compute_config.max_capacity_units #=> Integer
resp.replication_config.compute_config.min_capacity_units #=> Integer
resp.replication_config.compute_config.multi_az #=> Boolean
resp.replication_config.compute_config.preferred_maintenance_window #=> String
resp.replication_config.compute_config.replication_subnet_group_id #=> String
resp.replication_config.compute_config.vpc_security_group_ids #=> Array
resp.replication_config.compute_config.vpc_security_group_ids[0] #=> String
resp.replication_config.replication_settings #=> String
resp.replication_config.supplemental_settings #=> String
resp.replication_config.table_mappings #=> String
resp.replication_config.replication_config_create_time #=> Time
resp.replication_config.replication_config_update_time #=> Time
resp.replication_config.is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_arn (required, String)

    The Amazon Resource Name of the replication to modify.

  • :replication_config_identifier (String)

    The new replication config to apply to the replication.

  • :replication_type (String)

    The type of replication.

  • :table_mappings (String)

    Table mappings specified in the replication.

  • :replication_settings (String)

    The settings for the replication.

  • :supplemental_settings (String)

    Additional settings for the replication.

  • :compute_config (Types::ComputeConfig)

    Configuration parameters for provisioning an DMS Serverless replication.

  • :source_endpoint_arn (String)

    The Amazon Resource Name (ARN) of the source endpoint for this DMS serverless replication configuration.

  • :target_endpoint_arn (String)

    The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.

Returns:

See Also:



12104
12105
12106
12107
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12104

def modify_replication_config(params = {}, options = {})
  req = build_request(:modify_replication_config, 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: "ReplicationInstanceClass",
  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",
  network_type: "String",
  kerberos_authentication_settings: {
    key_cache_secret_id: "String",
    key_cache_secret_iam_arn: "String",
    krb_5_file_contents: "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.replication_subnet_group.supported_network_types #=> Array
resp.replication_instance.replication_subnet_group.supported_network_types[0] #=> String
resp.replication_instance.replication_subnet_group.is_read_only #=> Boolean
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.pending_modified_values.network_type #=> 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.replication_instance_ipv_6_addresses #=> Array
resp.replication_instance.replication_instance_ipv_6_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
resp.replication_instance.network_type #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_id #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_iam_arn #=> String
resp.replication_instance.kerberos_authentication_settings.krb_5_file_contents #=> 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 as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

    For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.

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

    When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade to true.

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

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

  • :network_type (String)

    The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

  • :kerberos_authentication_settings (Types::KerberosAuthenticationSettings)

    Specifies the settings required for kerberos authentication when modifying a replication instance.

Returns:

See Also:



12365
12366
12367
12368
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12365

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
resp.replication_subnet_group.supported_network_types #=> Array
resp.replication_subnet_group.supported_network_types[0] #=> String
resp.replication_subnet_group.is_read_only #=> Boolean

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:



12429
12430
12431
12432
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12429

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 DMS tasks, see Working with Migration Tasks in the 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
resp.replication_task.target_replication_instance_arn #=> 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 1-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 CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. For example, --table-mappings file://mappingfile.json. When working with the DMS API, provide the JSON as the parameter value.

  • :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 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:2018-02-09T12:12:12”

    Commit time example: --cdc-stop-position “commit_time:2018-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 Database Migration Service User Guide.

Returns:

See Also:



12583
12584
12585
12586
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12583

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

#move_replication_task(params = {}) ⇒ Types::MoveReplicationTaskResponse

Moves a replication task from its current replication instance to a different target replication instance using the specified parameters. The target replication instance must be created with the same or later DMS version as the current replication instance.

Examples:

Request syntax with placeholder values


resp = client.move_replication_task({
  replication_task_arn: "String", # required
  target_replication_instance_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
resp.replication_task.target_replication_instance_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_arn (required, String)

    The Amazon Resource Name (ARN) of the task that you want to move.

  • :target_replication_instance_arn (required, String)

    The ARN of the replication instance where you want to move the task to.

Returns:

See Also:



12647
12648
12649
12650
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12647

def move_replication_task(params = {}, options = {})
  req = build_request(:move_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,
  force_planned_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.replication_subnet_group.supported_network_types #=> Array
resp.replication_instance.replication_subnet_group.supported_network_types[0] #=> String
resp.replication_instance.replication_subnet_group.is_read_only #=> Boolean
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.pending_modified_values.network_type #=> 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.replication_instance_ipv_6_addresses #=> Array
resp.replication_instance.replication_instance_ipv_6_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
resp.replication_instance.network_type #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_id #=> String
resp.replication_instance.kerberos_authentication_settings.key_cache_secret_iam_arn #=> String
resp.replication_instance.kerberos_authentication_settings.krb_5_file_contents #=> 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. ( --force-planned-failover and --force-failover can't both be set to true.)

  • :force_planned_failover (Boolean)

    If this parameter is true, the reboot is conducted through a planned Multi-AZ failover where resources are released and cleaned up prior to conducting the failover. If the instance isn''t configured for Multi-AZ, then you can't specify true. ( --force-planned-failover and --force-failover can't both be set to true.)

Returns:

See Also:



12737
12738
12739
12740
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12737

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:



12794
12795
12796
12797
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12794

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

#reload_replication_tables(params = {}) ⇒ Types::ReloadReplicationTablesResponse

Reloads the target database table with the source data for a given DMS Serverless replication configuration.

You can only use this operation with a task in the RUNNING state, otherwise the service will throw an InvalidResourceStateFault exception.

Examples:

Request syntax with placeholder values


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

Response structure


resp.replication_config_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_arn (required, String)

    The Amazon Resource Name of the replication config for which to reload tables.

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

    The list of tables to reload.

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

Returns:

See Also:



12844
12845
12846
12847
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12844

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

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

Reloads the target database table with the source data.

You can only use this operation with a task in the RUNNING state, otherwise the service will throw an InvalidResourceStateFault exception.

Examples:

Request syntax with placeholder values


resp = client.reload_tables({
  replication_task_arn: "String", # required
  tables_to_reload: [ # required
    {
      schema_name: "String", # required
      table_name: "String", # required
    },
  ],
  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:



12896
12897
12898
12899
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12896

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 an DMS resource, including replication instance, endpoint, subnet group, and migration task. For more information, see Tag data type description.

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



12944
12945
12946
12947
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12944

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

#run_fleet_advisor_lsa_analysis(params = {}) ⇒ Types::RunFleetAdvisorLsaAnalysisResponse

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

Examples:

Response structure


resp.lsa_analysis_id #=> String
resp.status #=> String

Parameters:

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

    ({})

Returns:

See Also:



12977
12978
12979
12980
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 12977

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

#start_data_migration(params = {}) ⇒ Types::StartDataMigrationResponse

Starts the specified data migration.

Examples:

Request syntax with placeholder values


resp = client.start_data_migration({
  data_migration_identifier: "String", # required
  start_type: "reload-target", # required, accepts reload-target, resume-processing, start-replication
})

Response structure


resp.data_migration.data_migration_name #=> String
resp.data_migration.data_migration_arn #=> String
resp.data_migration.data_migration_create_time #=> Time
resp.data_migration.data_migration_start_time #=> Time
resp.data_migration.data_migration_end_time #=> Time
resp.data_migration.service_access_role_arn #=> String
resp.data_migration.migration_project_arn #=> String
resp.data_migration.data_migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.data_migration.data_migration_settings.number_of_jobs #=> Integer
resp.data_migration.data_migration_settings.cloudwatch_logs_enabled #=> Boolean
resp.data_migration.data_migration_settings.selection_rules #=> String
resp.data_migration.source_data_settings #=> Array
resp.data_migration.source_data_settings[0].cdc_start_position #=> String
resp.data_migration.source_data_settings[0].cdc_start_time #=> Time
resp.data_migration.source_data_settings[0].cdc_stop_time #=> Time
resp.data_migration.source_data_settings[0].slot_name #=> String
resp.data_migration.target_data_settings #=> Array
resp.data_migration.target_data_settings[0].table_preparation_mode #=> String, one of "drop-tables-on-target", "truncate", "do-nothing"
resp.data_migration.data_migration_statistics.tables_loaded #=> Integer
resp.data_migration.data_migration_statistics.elapsed_time_millis #=> Integer
resp.data_migration.data_migration_statistics.tables_loading #=> Integer
resp.data_migration.data_migration_statistics.full_load_percentage #=> Integer
resp.data_migration.data_migration_statistics.cdc_latency #=> Integer
resp.data_migration.data_migration_statistics.tables_queued #=> Integer
resp.data_migration.data_migration_statistics.tables_errored #=> Integer
resp.data_migration.data_migration_statistics.start_time #=> Time
resp.data_migration.data_migration_statistics.stop_time #=> Time
resp.data_migration.data_migration_status #=> String
resp.data_migration.public_ip_addresses #=> Array
resp.data_migration.public_ip_addresses[0] #=> String
resp.data_migration.data_migration_cidr_blocks #=> Array
resp.data_migration.data_migration_cidr_blocks[0] #=> String
resp.data_migration.last_failure_message #=> String
resp.data_migration.stop_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data_migration_identifier (required, String)

    The identifier (name or ARN) of the data migration to start.

  • :start_type (required, String)

    Specifies the start type for the data migration. Valid values include start-replication, reload-target, and resume-processing.

Returns:

See Also:



13043
13044
13045
13046
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13043

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

#start_extension_pack_association(params = {}) ⇒ Types::StartExtensionPackAssociationResponse

Queues the installation of the extension pack on your target database. If other requests created by Start* operations are already in the migration project's queue, the installation begins after they complete.

This operation requires a non-virtual target data provider.

If the extension pack already exists, the operation reinstalls it. To ensure compatibility, reconvert your database objects if the version has changed since your last conversion. For more information, see Using extension packs in DMS Schema Conversion.

To check the status of the request, call DescribeExtensionPackAssociations using the returned RequestIdentifier as a filter.

Required permissions: dms:AssociateExtensionPack. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Install the extension pack on the target database


# The following example queues the installation of the extension pack on the target database.

resp = client.start_extension_pack_association({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
})

resp.to_h outputs the following:
{
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
}

Request syntax with placeholder values


resp = client.start_extension_pack_association({
  migration_project_identifier: "MigrationProjectIdentifier", # required
})

Response structure


resp.request_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

Returns:

See Also:



13109
13110
13111
13112
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13109

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

#start_metadata_model_assessment(params = {}) ⇒ Types::StartMetadataModelAssessmentResponse

Queues an assessment of the selected source metadata models (database objects such as tables, views, and procedures) to evaluate conversion complexity to the target database format. If other requests created by Start* operations are already in the migration project's queue, the assessment begins after they complete.

The assessment request loads metadata models that are not yet in the metadata tree, but does not reload metadata models that are already present. If your source database has changed since the metadata was loaded, refresh the affected metadata models with StartMetadataModelImport before calling this operation.

To check the status of the assessment request, call DescribeMetadataModelAssessments using the returned RequestIdentifier as a filter.

To export the conversion assessment report after the request completes successfully, call ExportMetadataModelAssessment.

Required permissions: dms:StartMetadataModelAssessment. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Assess all objects in a schema


# The following example queues an assessment of the conversion complexity for all objects in the ExampleSchema schema.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\",\"rule-id\": \"1\",\"rule-name\": \"1\",\"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\"},\"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
})

Response structure


resp.request_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that identifies the metadata models to assess. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts only source selection rules, where server-name in the object locator matches the source data provider.

    • Supports explicit, include, and exclude rule actions.

Returns:

See Also:



13197
13198
13199
13200
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13197

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

#start_metadata_model_conversion(params = {}) ⇒ Types::StartMetadataModelConversionResponse

Queues a conversion of the selected source metadata models (database objects such as tables, views, and procedures) to the target database format. If other requests created by Start* operations are already in the migration project's queue, the conversion begins after they complete.

The conversion request loads metadata models that are not yet in the metadata tree, but does not reload metadata models that are already present. If your source database has changed since the metadata was loaded, refresh the affected metadata models with StartMetadataModelImport before calling this operation.

If converted objects already exist in the target metadata tree, the conversion overwrites them, including any manual edits.

To check the status of the conversion request, call DescribeMetadataModelConversions using the returned RequestIdentifier as a filter.

To cancel a queued or in-progress request, call CancelMetadataModelConversion with the returned RequestIdentifier.

After the conversion completes successfully:

Required permissions: dms:StartMetadataModelConversion. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Convert all objects in a schema


# The following example queues a conversion of all objects in the ExampleSchema schema to the target database format.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\",\"rule-id\": \"1\",\"rule-name\": \"1\",\"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\"},\"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
})

Response structure


resp.request_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that identifies the metadata models to convert. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts only source selection rules, where server-name in the object locator matches the source data provider.

    • Supports explicit, include, and exclude rule actions.

Returns:

See Also:



13313
13314
13315
13316
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13313

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

#start_metadata_model_creation(params = {}) ⇒ Types::StartMetadataModelCreationResponse

Queues the creation of a metadata model in the source metadata tree. If other requests created by Start* operations are already in the migration project's queue, the creation begins after they complete.

This operation supports only Microsoft SQL Server to Aurora PostgreSQL and Microsoft SQL Server to Amazon RDS for PostgreSQL conversion paths.

To check the status of the creation request, call DescribeMetadataModelCreations using the returned RequestIdentifier as a filter.

To cancel a queued or in-progress request, call CancelMetadataModelCreation with the returned RequestIdentifier.

Calling StartMetadataModelImport with Refresh deletes metadata models created by this operation.

After the creation completes successfully:

Required permissions: dms:StartMetadataModelCreation. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Create a metadata model for a SQL statement


# The following example queues the creation of a metadata model for a SQL statement. The selection rule specifies the
# schema where the metadata model is placed, and MetadataModelName provides a unique identifier for use in subsequent
# operations.

resp = client.({
  metadata_model_name: "ExampleStatement", 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  properties: {
    statement_properties: {
      definition: "SELECT * FROM ExampleTable;", 
    }, 
  }, 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"database-name\": \"ExampleDatabase\", \"schema-name\": \"ExampleSchema\"}, \"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
  metadata_model_name: "String", # required
  properties: { # required
    statement_properties: {
      definition: "String", # required
    },
  },
})

Response structure


resp.request_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that identifies the source schema for the metadata model. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts only source selection rules, where server-name in the object locator matches the source data provider.

    • Supports only explicit rule actions.

    • Exactly one rule is allowed.

  • :metadata_model_name (required, String)

    The name for the metadata model to use in subsequent operations.

  • :properties (required, Types::MetadataModelProperties)

    The properties of the metadata model.

Returns:

See Also:



13435
13436
13437
13438
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13435

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

#start_metadata_model_export_as_script(params = {}) ⇒ Types::StartMetadataModelExportAsScriptResponse

Queues an export of metadata models (database objects such as tables, views, and procedures) as a data definition language (DDL) script. The script is stored as a ZIP archive in the Amazon S3 bucket associated with the migration project. If other requests created by Start* operations are already in the migration project's queue, the export begins after they complete.

When exporting from the target metadata tree, the export applies only to metadata models created by conversion. Metadata models imported from the database are skipped.

To check the status of the export request, call DescribeMetadataModelExportsAsScript using the returned RequestIdentifier as a filter.

Required permissions: dms:StartMetadataModelExportAsScripts. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Export converted metadata models as DDL scripts


# The following example queues an export of converted metadata models for all objects in the ExampleSchema schema as data
# definition language (DDL) scripts to the S3 bucket associated with the migration project.

resp = client.({
  file_name: "ExampleScript", 
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  origin: "TARGET", 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\",\"rule-id\": \"1\",\"rule-name\": \"1\",\"object-locator\": {\"server-name\": \"example-target-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\"},\"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
  origin: "SOURCE", # required, accepts SOURCE, TARGET
  file_name: "String",
})

Response structure


resp.request_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that identifies the metadata models to export as a SQL script. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts source or target selection rules depending on the Origin parameter. The server-name in the object locator must match the corresponding data provider.

    • Supports explicit, include, and exclude rule actions.

  • :origin (required, String)

    Specifies the metadata tree to export from.

  • :file_name (String)

    The name for the exported file. When you omit this parameter, the service generates a name from the data provider engine name and an export timestamp.

Returns:

See Also:



13531
13532
13533
13534
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13531

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

#start_metadata_model_export_to_target(params = {}) ⇒ Types::StartMetadataModelExportToTargetResponse

Queues an export of the selected converted metadata models (database objects such as tables, views, and procedures) to your target database. If other requests created by Start* operations are already in the migration project's queue, the export begins after they complete.

This operation requires a non-virtual target data provider.

The export applies only metadata models created by conversion. Metadata models imported from the database are skipped.

If objects with the same name already exist on the target database, the export overwrites them.

The operation installs the extension pack on the target database. For more information, see Using extension packs in DMS Schema Conversion.

To check the status of the export request, call DescribeMetadataModelExportsToTarget using the returned RequestIdentifier as a filter.

Required permissions: dms:StartMetadataModelExportToTarget. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Export converted metadata models to the target database


# The following example queues an export of converted metadata models for all objects in the ExampleSchema schema to the
# target database.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  overwrite_extension_pack: true, 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\",\"rule-id\": \"1\",\"rule-name\": \"1\",\"object-locator\": {\"server-name\": \"example-target-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\"},\"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
  overwrite_extension_pack: false,
})

Response structure


resp.request_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that identifies the metadata models to export to the target database. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts only target selection rules, where server-name in the object locator matches the target data provider.

    • Supports explicit, include, and exclude rule actions.

  • :overwrite_extension_pack (Boolean)

    Specifies whether to overwrite the extension pack if one already exists on the target database. The default value is true.

Returns:

See Also:



13630
13631
13632
13633
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13630

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

#start_metadata_model_import(params = {}) ⇒ Types::StartMetadataModelImportResponse

Queues an import of metadata models (database objects such as tables, views, and procedures) from your data provider into the metadata tree. If other requests created by Start* operations are already in the migration project's queue, the import begins after they complete.

To check the status of the import request, call DescribeMetadataModelImports using the returned RequestIdentifier as a filter.

Required permissions: dms:StartMetadataModelImport. For more information, see Actions, resources, and condition keys for Database Migration Service.

Examples:

Example: Import metadata from the source database


# The following example queues a metadata import for all objects in the ExampleSchema schema from the source database.

resp = client.({
  migration_project_identifier: "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS", 
  origin: "SOURCE", 
  refresh: false, 
  selection_rules: "{\"rules\": [{\"rule-type\": \"selection\",\"rule-id\": \"1\",\"rule-name\": \"1\",\"object-locator\": {\"server-name\": \"example-source-server.us-east-1.rds.amazonaws.com\", \"schema-name\": \"ExampleSchema\"},\"rule-action\": \"explicit\"}]}", 
})

resp.to_h outputs the following:
{
  request_identifier: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
}

Request syntax with placeholder values


resp = client.({
  migration_project_identifier: "MigrationProjectIdentifier", # required
  selection_rules: "String", # required
  origin: "SOURCE", # required, accepts SOURCE, TARGET
  refresh: false,
})

Response structure


resp.request_identifier #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :migration_project_identifier (required, String)

    The migration project name or Amazon Resource Name (ARN).

  • :selection_rules (required, String)

    A JSON string that identifies the metadata models to import from the data provider. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

    Usage:

    • Accepts source or target selection rules depending on the Origin parameter. The server-name in the object locator must match the corresponding data provider.

    • Supports explicit, include, and exclude rule actions.

  • :origin (required, String)

    Specifies the metadata tree to import into.

    You cannot import from a virtual target data provider.

  • :refresh (Boolean)

    Specifies whether to refresh the selected metadata models from the data provider.

    When true, the import reloads the selected metadata models with current definitions and removes their existing subtree.

    When false (default), the import loads the full subtree that has not yet been loaded into the metadata tree.

Returns:

See Also:



13728
13729
13730
13731
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13728

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

#start_recommendations(params = {}) ⇒ Struct

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Starts the analysis of your source database to provide recommendations of target engines.

You can create recommendations for multiple source databases using BatchStartRecommendations.

Examples:

Request syntax with placeholder values


resp = client.start_recommendations({
  database_id: "String", # required
  settings: { # required
    instance_sizing_type: "String", # required
    workload_type: "String", # required
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :database_id (required, String)

    The identifier of the source database to analyze and provide recommendations for.

  • :settings (required, Types::RecommendationSettings)

    The settings in JSON format that Fleet Advisor uses to determine target engine recommendations. These parameters include target instance sizing and availability and durability settings. For target instance sizing, Fleet Advisor supports the following two options: total capacity and resource utilization. For availability and durability, Fleet Advisor supports the following two options: production (Multi-AZ deployments) and Dev/Test (Single-AZ deployments).

Returns:

  • (Struct)

    Returns an empty response.

See Also:



13781
13782
13783
13784
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13781

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

#start_replication(params = {}) ⇒ Types::StartReplicationResponse

For a given DMS Serverless replication configuration, DMS connects to the source endpoint and collects the metadata to analyze the replication workload. Using this metadata, DMS then computes and provisions the required capacity and starts replicating to the target endpoint using the server resources that DMS has provisioned for the DMS Serverless replication.

Examples:

Request syntax with placeholder values


resp = client.start_replication({
  replication_config_arn: "String", # required
  start_replication_type: "String", # required
  premigration_assessment_settings: "String",
  cdc_start_time: Time.now,
  cdc_start_position: "String",
  cdc_stop_position: "String",
})

Response structure


resp.replication.replication_config_identifier #=> String
resp.replication.replication_config_arn #=> String
resp.replication.source_endpoint_arn #=> String
resp.replication.target_endpoint_arn #=> String
resp.replication.replication_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication.status #=> String
resp.replication.provision_data.provision_state #=> String
resp.replication.provision_data.provisioned_capacity_units #=> Integer
resp.replication.provision_data.date_provisioned #=> Time
resp.replication.provision_data.is_new_provisioning_available #=> Boolean
resp.replication.provision_data.date_new_provisioning_data_available #=> Time
resp.replication.provision_data.reason_for_new_provisioning_data #=> String
resp.replication.premigration_assessment_statuses #=> Array
resp.replication.premigration_assessment_statuses[0].premigration_assessment_run_arn #=> String
resp.replication.premigration_assessment_statuses[0].fail_on_assessment_failure #=> Boolean
resp.replication.premigration_assessment_statuses[0].status #=> String
resp.replication.premigration_assessment_statuses[0].premigration_assessment_run_creation_date #=> Time
resp.replication.premigration_assessment_statuses[0].assessment_progress.individual_assessment_count #=> Integer
resp.replication.premigration_assessment_statuses[0].assessment_progress.individual_assessment_completed_count #=> Integer
resp.replication.premigration_assessment_statuses[0].last_failure_message #=> String
resp.replication.premigration_assessment_statuses[0].result_location_bucket #=> String
resp.replication.premigration_assessment_statuses[0].result_location_folder #=> String
resp.replication.premigration_assessment_statuses[0].result_encryption_mode #=> String
resp.replication.premigration_assessment_statuses[0].result_kms_key_arn #=> String
resp.replication.premigration_assessment_statuses[0].result_statistic.passed #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.failed #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.error #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.warning #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.cancelled #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.skipped #=> Integer
resp.replication.stop_reason #=> String
resp.replication.failure_messages #=> Array
resp.replication.failure_messages[0] #=> String
resp.replication.replication_stats.full_load_progress_percent #=> Integer
resp.replication.replication_stats.elapsed_time_millis #=> Integer
resp.replication.replication_stats.tables_loaded #=> Integer
resp.replication.replication_stats.tables_loading #=> Integer
resp.replication.replication_stats.tables_queued #=> Integer
resp.replication.replication_stats.tables_errored #=> Integer
resp.replication.replication_stats.fresh_start_date #=> Time
resp.replication.replication_stats.start_date #=> Time
resp.replication.replication_stats.stop_date #=> Time
resp.replication.replication_stats.full_load_start_date #=> Time
resp.replication.replication_stats.full_load_finish_date #=> Time
resp.replication.start_replication_type #=> String
resp.replication.cdc_start_time #=> Time
resp.replication.cdc_start_position #=> String
resp.replication.cdc_stop_position #=> String
resp.replication.recovery_checkpoint #=> String
resp.replication.replication_create_time #=> Time
resp.replication.replication_update_time #=> Time
resp.replication.replication_last_stop_time #=> Time
resp.replication.replication_deprovision_time #=> Time
resp.replication.is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_arn (required, String)

    The Amazon Resource Name of the replication for which to start replication.

  • :start_replication_type (required, String)

    The replication type.

    When the replication type is full-load or full-load-and-cdc, the only valid value for the first run of the replication is start-replication. This option will start the replication.

    You can also use ReloadTables to reload specific tables that failed during replication instead of restarting the replication.

    The resume-processing option isn't applicable for a full-load replication, because you can't resume partially loaded tables during the full load phase.

    For a full-load-and-cdc replication, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

  • :premigration_assessment_settings (String)

    User-defined settings for the premigration assessment. The possible values are:

    • ResultLocationFolder: The folder within an Amazon S3 bucket where you want DMS to store the results of this assessment run.

    • ResultEncryptionMode: The supported values are SSE_KMS and SSE_S3. If these values are not provided, then the files are not encrypted at rest. For more information, see Creating Amazon Web Services KMS keys to encrypt Amazon S3 target objects.

    • ResultKmsKeyArn: The ARN of a customer KMS encryption key that you specify when you set ResultEncryptionMode to SSE_KMS.

    • IncludeOnly: A space-separated list of names for specific individual assessments that you want to include. These names come from the default list of individual assessments that Database Migration Service supports for the associated migration.

    • Exclude: A space-separated list of names for specific individual assessments that you want to exclude. These names come from the default list of individual assessments that Database Migration Service supports for the associated migration.

    • FailOnAssessmentFailure: A configurable setting you can set to true (the default setting) or false. Use this setting to to stop the replication from starting automatically if the assessment fails. This can help you evaluate the issue that is preventing the replication from running successfully.

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

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

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

Returns:

See Also:



13946
13947
13948
13949
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 13946

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

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

Starts the replication task.

For more information about DMS tasks, see Working with Migration Tasks in the 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
resp.replication_task.target_replication_instance_arn #=> 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 to start.

    start-replication is the only valid action that can be used for the first time a task with the migration type of full-loadfull-load, full-load-and-cdc or cdc is run. Any other action used for the first time on a given task, such as resume-processing and reload-target will result in data errors.

    You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

    For a full-load task, the resume-processing option will reload any tables that were partially loaded or not yet loaded during the full load phase.

    For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

    For a cdc only task, to start from a specific position, you must use start-replication and also specify the start position. Check the source endpoint DMS documentation for any limitations. For example, not all sources support starting from a time.

    resume-processing is only available for previously executed tasks.

  • :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 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:2018-02-09T12:12:12”

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

Returns:

See Also:



14116
14117
14118
14119
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14116

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.

You can only use this operation for a task if the following conditions are true:

  • The task must be in the stopped state.

  • The task must have successful connections to the source and target.

If either of these conditions are not met, an InvalidResourceStateFault error will result.

For information about DMS task assessments, see Creating a task assessment report in the Database Migration Service User Guide.

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
resp.replication_task.target_replication_instance_arn #=> 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:



14190
14191
14192
14193
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14190

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

#start_replication_task_assessment_run(params = {}) ⇒ Types::StartReplicationTaskAssessmentRunResponse

Starts a new premigration assessment run for one or more individual assessments of a migration task.

The assessments that you can specify depend on the source and target database engine and the migration type defined for the given task. To run this operation, your migration task must already be created. After you run this operation, you can review the status of each individual assessment. You can also run the migration task manually after the assessment run and its individual assessments complete.

Examples:

Request syntax with placeholder values


resp = client.start_replication_task_assessment_run({
  replication_task_arn: "String", # required
  service_access_role_arn: "String", # required
  result_location_bucket: "String", # required
  result_location_folder: "String",
  result_encryption_mode: "String",
  result_kms_key_arn: "String",
  assessment_run_name: "String", # required
  include_only: ["String"],
  exclude: ["String"],
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
})

Response structure


resp.replication_task_assessment_run.replication_task_assessment_run_arn #=> String
resp.replication_task_assessment_run.replication_task_arn #=> String
resp.replication_task_assessment_run.status #=> String
resp.replication_task_assessment_run.replication_task_assessment_run_creation_date #=> Time
resp.replication_task_assessment_run.assessment_progress.individual_assessment_count #=> Integer
resp.replication_task_assessment_run.assessment_progress.individual_assessment_completed_count #=> Integer
resp.replication_task_assessment_run.last_failure_message #=> String
resp.replication_task_assessment_run.service_access_role_arn #=> String
resp.replication_task_assessment_run.result_location_bucket #=> String
resp.replication_task_assessment_run.result_location_folder #=> String
resp.replication_task_assessment_run.result_encryption_mode #=> String
resp.replication_task_assessment_run.result_kms_key_arn #=> String
resp.replication_task_assessment_run.assessment_run_name #=> String
resp.replication_task_assessment_run.is_latest_task_assessment_run #=> Boolean
resp.replication_task_assessment_run.result_statistic.passed #=> Integer
resp.replication_task_assessment_run.result_statistic.failed #=> Integer
resp.replication_task_assessment_run.result_statistic.error #=> Integer
resp.replication_task_assessment_run.result_statistic.warning #=> Integer
resp.replication_task_assessment_run.result_statistic.cancelled #=> Integer
resp.replication_task_assessment_run.result_statistic.skipped #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :replication_task_arn (required, String)

    Amazon Resource Name (ARN) of the migration task associated with the premigration assessment run that you want to start.

  • :service_access_role_arn (required, String)

    ARN of the service role needed to start the assessment run. The role must allow the iam:PassRole action.

  • :result_location_bucket (required, String)

    Amazon S3 bucket where you want DMS to store the results of this assessment run.

  • :result_location_folder (String)

    Folder within an Amazon S3 bucket where you want DMS to store the results of this assessment run.

  • :result_encryption_mode (String)

    Encryption mode that you can specify to encrypt the results of this assessment run. If you don't specify this request parameter, DMS stores the assessment run results without encryption. You can specify one of the options following:

    • "SSE_S3" – The server-side encryption provided as a default by Amazon S3.

    • "SSE_KMS" – Key Management Service (KMS) encryption. This encryption can use either a custom KMS encryption key that you specify or the default KMS encryption key that DMS provides.

  • :result_kms_key_arn (String)

    ARN of a custom KMS encryption key that you specify when you set ResultEncryptionMode to "SSE_KMS".

  • :assessment_run_name (required, String)

    Unique name to identify the assessment run.

  • :include_only (Array<String>)

    Space-separated list of names for specific individual assessments that you want to include. These names come from the default list of individual assessments that DMS supports for the associated migration task. This task is specified by ReplicationTaskArn.

    You can't set a value for IncludeOnly if you also set a value for Exclude in the API operation.

    To identify the names of the default individual assessments that DMS supports for the associated migration task, run the DescribeApplicableIndividualAssessments operation using its own ReplicationTaskArn request parameter.

  • :exclude (Array<String>)

    Space-separated list of names for specific individual assessments that you want to exclude. These names come from the default list of individual assessments that DMS supports for the associated migration task. This task is specified by ReplicationTaskArn.

    You can't set a value for Exclude if you also set a value for IncludeOnly in the API operation.

    To identify the names of the default individual assessments that DMS supports for the associated migration task, run the DescribeApplicableIndividualAssessments operation using its own ReplicationTaskArn request parameter.

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

    One or more tags to be assigned to the premigration assessment run that you want to start.

Returns:

See Also:



14329
14330
14331
14332
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14329

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

#stop_data_migration(params = {}) ⇒ Types::StopDataMigrationResponse

Stops the specified data migration.

Examples:

Request syntax with placeholder values


resp = client.stop_data_migration({
  data_migration_identifier: "String", # required
})

Response structure


resp.data_migration.data_migration_name #=> String
resp.data_migration.data_migration_arn #=> String
resp.data_migration.data_migration_create_time #=> Time
resp.data_migration.data_migration_start_time #=> Time
resp.data_migration.data_migration_end_time #=> Time
resp.data_migration.service_access_role_arn #=> String
resp.data_migration.migration_project_arn #=> String
resp.data_migration.data_migration_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.data_migration.data_migration_settings.number_of_jobs #=> Integer
resp.data_migration.data_migration_settings.cloudwatch_logs_enabled #=> Boolean
resp.data_migration.data_migration_settings.selection_rules #=> String
resp.data_migration.source_data_settings #=> Array
resp.data_migration.source_data_settings[0].cdc_start_position #=> String
resp.data_migration.source_data_settings[0].cdc_start_time #=> Time
resp.data_migration.source_data_settings[0].cdc_stop_time #=> Time
resp.data_migration.source_data_settings[0].slot_name #=> String
resp.data_migration.target_data_settings #=> Array
resp.data_migration.target_data_settings[0].table_preparation_mode #=> String, one of "drop-tables-on-target", "truncate", "do-nothing"
resp.data_migration.data_migration_statistics.tables_loaded #=> Integer
resp.data_migration.data_migration_statistics.elapsed_time_millis #=> Integer
resp.data_migration.data_migration_statistics.tables_loading #=> Integer
resp.data_migration.data_migration_statistics.full_load_percentage #=> Integer
resp.data_migration.data_migration_statistics.cdc_latency #=> Integer
resp.data_migration.data_migration_statistics.tables_queued #=> Integer
resp.data_migration.data_migration_statistics.tables_errored #=> Integer
resp.data_migration.data_migration_statistics.start_time #=> Time
resp.data_migration.data_migration_statistics.stop_time #=> Time
resp.data_migration.data_migration_status #=> String
resp.data_migration.public_ip_addresses #=> Array
resp.data_migration.public_ip_addresses[0] #=> String
resp.data_migration.data_migration_cidr_blocks #=> Array
resp.data_migration.data_migration_cidr_blocks[0] #=> String
resp.data_migration.last_failure_message #=> String
resp.data_migration.stop_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data_migration_identifier (required, String)

    The identifier (name or ARN) of the data migration to stop.

Returns:

See Also:



14390
14391
14392
14393
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14390

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

#stop_replication(params = {}) ⇒ Types::StopReplicationResponse

For a given DMS Serverless replication configuration, DMS stops any and all ongoing DMS Serverless replications. This command doesn't deprovision the stopped replications.

Examples:

Request syntax with placeholder values


resp = client.stop_replication({
  replication_config_arn: "String", # required
})

Response structure


resp.replication.replication_config_identifier #=> String
resp.replication.replication_config_arn #=> String
resp.replication.source_endpoint_arn #=> String
resp.replication.target_endpoint_arn #=> String
resp.replication.replication_type #=> String, one of "full-load", "cdc", "full-load-and-cdc"
resp.replication.status #=> String
resp.replication.provision_data.provision_state #=> String
resp.replication.provision_data.provisioned_capacity_units #=> Integer
resp.replication.provision_data.date_provisioned #=> Time
resp.replication.provision_data.is_new_provisioning_available #=> Boolean
resp.replication.provision_data.date_new_provisioning_data_available #=> Time
resp.replication.provision_data.reason_for_new_provisioning_data #=> String
resp.replication.premigration_assessment_statuses #=> Array
resp.replication.premigration_assessment_statuses[0].premigration_assessment_run_arn #=> String
resp.replication.premigration_assessment_statuses[0].fail_on_assessment_failure #=> Boolean
resp.replication.premigration_assessment_statuses[0].status #=> String
resp.replication.premigration_assessment_statuses[0].premigration_assessment_run_creation_date #=> Time
resp.replication.premigration_assessment_statuses[0].assessment_progress.individual_assessment_count #=> Integer
resp.replication.premigration_assessment_statuses[0].assessment_progress.individual_assessment_completed_count #=> Integer
resp.replication.premigration_assessment_statuses[0].last_failure_message #=> String
resp.replication.premigration_assessment_statuses[0].result_location_bucket #=> String
resp.replication.premigration_assessment_statuses[0].result_location_folder #=> String
resp.replication.premigration_assessment_statuses[0].result_encryption_mode #=> String
resp.replication.premigration_assessment_statuses[0].result_kms_key_arn #=> String
resp.replication.premigration_assessment_statuses[0].result_statistic.passed #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.failed #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.error #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.warning #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.cancelled #=> Integer
resp.replication.premigration_assessment_statuses[0].result_statistic.skipped #=> Integer
resp.replication.stop_reason #=> String
resp.replication.failure_messages #=> Array
resp.replication.failure_messages[0] #=> String
resp.replication.replication_stats.full_load_progress_percent #=> Integer
resp.replication.replication_stats.elapsed_time_millis #=> Integer
resp.replication.replication_stats.tables_loaded #=> Integer
resp.replication.replication_stats.tables_loading #=> Integer
resp.replication.replication_stats.tables_queued #=> Integer
resp.replication.replication_stats.tables_errored #=> Integer
resp.replication.replication_stats.fresh_start_date #=> Time
resp.replication.replication_stats.start_date #=> Time
resp.replication.replication_stats.stop_date #=> Time
resp.replication.replication_stats.full_load_start_date #=> Time
resp.replication.replication_stats.full_load_finish_date #=> Time
resp.replication.start_replication_type #=> String
resp.replication.cdc_start_time #=> Time
resp.replication.cdc_start_position #=> String
resp.replication.cdc_stop_position #=> String
resp.replication.recovery_checkpoint #=> String
resp.replication.replication_create_time #=> Time
resp.replication.replication_update_time #=> Time
resp.replication.replication_last_stop_time #=> Time
resp.replication.replication_deprovision_time #=> Time
resp.replication.is_read_only #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_arn (required, String)

    The Amazon Resource Name of the replication to stop.

Returns:

See Also:



14473
14474
14475
14476
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14473

def stop_replication(params = {}, options = {})
  req = build_request(:stop_replication, 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
resp.replication_task.target_replication_instance_arn #=> 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:



14554
14555
14556
14557
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14554

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:



14609
14610
14611
14612
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14609

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

#update_subscriptions_to_event_bridge(params = {}) ⇒ Types::UpdateSubscriptionsToEventBridgeResponse

Migrates 10 active and enabled Amazon SNS subscriptions at a time and converts them to corresponding Amazon EventBridge rules. By default, this operation migrates subscriptions only when all your replication instance versions are 3.4.5 or higher. If any replication instances are from versions earlier than 3.4.5, the operation raises an error and tells you to upgrade these instances to version 3.4.5 or higher. To enable migration regardless of version, set the Force option to true. However, if you don't upgrade instances earlier than version 3.4.5, some types of events might not be available when you use Amazon EventBridge.

To call this operation, make sure that you have certain permissions added to your user account. For more information, see Migrating event subscriptions to Amazon EventBridge in the Amazon Web Services Database Migration Service User Guide.

Examples:

Request syntax with placeholder values


resp = client.update_subscriptions_to_event_bridge({
  force_move: false,
})

Response structure


resp.result #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :force_move (Boolean)

    When set to true, this operation migrates DMS subscriptions for Amazon SNS notifications no matter what your replication instance version is. If not set or set to false, this operation runs only when all your replication instances are from DMS version 3.4.5 or higher.

Returns:

See Also:



14658
14659
14660
14661
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14658

def update_subscriptions_to_event_bridge(params = {}, options = {})
  req = build_request(:update_subscriptions_to_event_bridge, 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
extension_pack_associated #describe_extension_pack_associations 10 60
metadata_model_assessed #describe_metadata_model_assessments 30 360
metadata_model_conversion_cancelled #describe_metadata_model_conversions 10 180
metadata_model_converted #describe_metadata_model_conversions 30 240
metadata_model_created #describe_metadata_model_creations 15 40
metadata_model_creation_cancelled #describe_metadata_model_creations 10 180
metadata_model_exported_as_script #describe_metadata_model_exports_as_script 20 90
metadata_model_exported_to_target #describe_metadata_model_exports_to_target 20 90
metadata_model_imported #describe_metadata_model_imports 60 30
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.



14789
14790
14791
14792
14793
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 14789

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