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. This can be an 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.

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

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

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

  • :retry_backoff (Proc)

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

  • :retry_base_delay (Float) — default: 0.3

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

  • :retry_jitter (Symbol) — default: :none

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

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

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

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

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

    Specifies which retry algorithm to use. Values are:

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

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

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

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

    A Bearer Token Provider. This can be an 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.



451
452
453
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 451

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:



517
518
519
520
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 517

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

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



575
576
577
578
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 575

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

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:



628
629
630
631
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 628

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

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:



679
680
681
682
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 679

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",
    },
  ],
  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.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.

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



795
796
797
798
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 795

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.

Examples:

Example: Create Data Provider


# Creates the data provider with the specified parameters.

resp = client.create_data_provider({
  data_provider_name: "sqlServer-dev", 
  description: "description", 
  engine: "sqlserver", 
  settings: {
    microsoft_sql_server_settings: {
      database_name: "DatabaseName", 
      port: 11112, 
      server_name: "ServerName2", 
      ssl_mode: "none", 
    }, 
  }, 
  tags: [
    {
      key: "access", 
      value: "authorizedusers", 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  data_provider: {
    data_provider_arn: "arn:aws:dms:us-east-1:012345678901:data-provider:my-target-dataprovider", 
    data_provider_creation_time: Time.parse("2023-05-12T10:50:41.988561Z"), 
    data_provider_name: "my-target-dataprovider", 
    engine: "postgres", 
    settings: {
      postgre_sql_settings: {
        database_name: "target", 
        port: 5432, 
        server_name: "postrgesql.a1b2c3d4e5f6.us-east-1.rds.amazonaws.com", 
        ssl_mode: "none", 
      }, 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.create_data_provider({
  data_provider_name: "String",
  description: "String",
  engine: "String", # required
  settings: { # required
    redshift_settings: {
      server_name: "String",
      port: 1,
      database_name: "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",
    },
    my_sql_settings: {
      server_name: "String",
      port: 1,
      ssl_mode: "none", # accepts none, require, verify-ca, verify-full
      certificate_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",
    },
    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",
    },
    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",
    },
    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.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.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.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.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.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.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.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 include "aurora", "aurora-postgresql", "mysql", "oracle", "postgres", "sqlserver", redshift, mariadb, mongodb, and docdb. A value of "aurora" represents Amazon Aurora MySQL-Compatible Edition.

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



1002
1003
1004
1005
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1002

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,
  },
  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
  },
  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",
  },
  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,
  },
  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,
  },
  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,
  },
  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.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.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.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.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.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.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.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

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:



1999
2000
2001
2002
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 1999

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:



2109
2110
2111
2112
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2109

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

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:



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

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.

Examples:

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



2257
2258
2259
2260
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2257

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.

Examples:

Example: Create Migration Project


# Creates the migration project with the specified parameters.

resp = client.create_migration_project({
  description: "description", 
  instance_profile_identifier: "ip-au-17", 
  migration_project_name: "my-migration-project", 
  schema_conversion_application_attributes: {
    s3_bucket_path: "arn:aws:s3:::mylogin-bucket", 
    s3_bucket_role_arn: "arn:aws:iam::012345678901:role/Admin", 
  }, 
  source_data_provider_descriptors: [
    {
      data_provider_identifier: "arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345", 
      secrets_manager_access_role_arn: "arn:aws:iam::012345678901:role/myuser-admin-access", 
      secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:012345678901:secret:myorg/example1/ALL.SOURCE.ORACLE_12-A1B2C3", 
    }, 
  ], 
  tags: [
    {
      key: "access", 
      value: "authorizedusers", 
    }, 
  ], 
  target_data_provider_descriptors: [
    {
      data_provider_identifier: "arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345", 
      secrets_manager_access_role_arn: "arn:aws:iam::012345678901:role/myuser-admin-access", 
      secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:012345678901:secret:myorg/example1/TARGET.postgresql-A1B2C3", 
    }, 
  ], 
  transformation_rules: "{\"key0\":\"value0\",\"key1\":\"value1\",\"key2\":\"value2\"}", 
})

resp.to_h outputs the following:
{
  migration_project: {
    instance_profile_arn: "arn:aws:dms:us-east-1:012345678901:instance-profile:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
    instance_profile_name: "my-instance-profile", 
    migration_project_arn: "arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
    migration_project_creation_time: Time.parse("2023-04-19T11:45:15.805253Z"), 
    migration_project_name: "my-migration-project", 
    schema_conversion_application_attributes: {
      s3_bucket_path: "my-s3-bucket/my_folder", 
      s3_bucket_role_arn: "arn:aws:iam::012345678901:role/my-s3role", 
    }, 
    source_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
        data_provider_name: "source-oracle-12", 
        secrets_manager_access_role_arn: "arn:aws:iam::012345678901:role/my-access-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/ALL.SOURCE.ORACLE_12-0123456", 
      }, 
    ], 
    target_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
        data_provider_name: "target-dataprovider-3", 
        secrets_manager_access_role_arn: "arn:aws:iam::012345678901:role/dmytbon-admin-access", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/TARGET.postgresql-0123456", 
      }, 
    ], 
  }, 
}

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)

    The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.

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



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

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

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:



2590
2591
2592
2593
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2590

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: "String", # required
  vpc_security_group_ids: ["String"],
  availability_zone: "String",
  replication_subnet_group_identifier: "String",
  preferred_maintenance_window: "String",
  multi_az: false,
  engine_version: "String",
  auto_minor_version_upgrade: false,
  tags: [
    {
      key: "String",
      value: "String",
      resource_arn: "String",
    },
  ],
  kms_key_id: "String",
  publicly_accessible: false,
  dns_name_servers: "String",
  resource_identifier: "String",
  network_type: "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.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

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.

Returns:

See Also:



2902
2903
2904
2905
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 2902

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

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.

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



3006
3007
3008
3009
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3006

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:



3229
3230
3231
3232
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3229

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

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

Deletes the specified certificate.

Examples:

Example: Delete Certificate


# Deletes the specified certificate.

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

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

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :certificate_arn (required, String)

    The Amazon Resource Name (ARN) of the certificate.

Returns:

See Also:



3281
3282
3283
3284
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3281

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:



3335
3336
3337
3338
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3335

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



3394
3395
3396
3397
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3394

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.

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

Examples:

Example: Delete Data Provider


# Deletes the specified data provider.

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

resp.to_h outputs the following:
{
  data_provider: {
    data_provider_arn: "arn:aws:dms:us-east-1:012345678901:data-provider:my-target-data-provider", 
    data_provider_creation_time: Time.parse("2023-05-12T10:50:41.988561Z"), 
    data_provider_name: "my-target-data-provider", 
    engine: "postgres", 
    settings: {
      postgre_sql_settings: {
        database_name: "target", 
        port: 5432, 
        server_name: "postrgesql.0a1b2c3d4e5f.us-east-1.rds.amazonaws.com", 
        ssl_mode: "none", 
      }, 
    }, 
  }, 
}

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



3502
3503
3504
3505
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3502

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

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:



3870
3871
3872
3873
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3870

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:



3908
3909
3910
3911
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3908

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

#delete_fleet_advisor_collector(params = {}) ⇒ Struct

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:



3930
3931
3932
3933
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3930

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

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:



3959
3960
3961
3962
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 3959

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.

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

Examples:

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:



4002
4003
4004
4005
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4002

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.

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

Examples:

Example: Delete Migration Project


# Deletes the specified migration project.

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

resp.to_h outputs the following:
{
  migration_project: {
    instance_profile_arn: "arn:aws:dms:us-east-1:012345678901:instance-profile:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
    instance_profile_name: "my-instance-profile", 
    migration_project_arn: "arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
    migration_project_creation_time: Time.parse("2023-04-19T11:45:15.805253Z"), 
    migration_project_name: "my-migration-project", 
    schema_conversion_application_attributes: {
      s3_bucket_path: "my-s3-bucket/my_folder", 
      s3_bucket_role_arn: "arn:aws:iam::012345678901:role/my-s3role", 
    }, 
    source_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
        data_provider_name: "all-source-oracle-12", 
        secrets_manager_access_role_arn: "arn:aws:iam::012345678901:role/my-access-role", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/ALL.SOURCE.ORACLE_12-0123456", 
      }, 
    ], 
    target_data_provider_descriptors: [
      {
        data_provider_arn: "arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
        data_provider_name: "sde-obilyns-dataprovider-3", 
        secrets_manager_access_role_arn: "arn:aws:iam::437223687239:role/dmytbon-admin-access", 
        secrets_manager_secret_id: "arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/TARGET.postgresql-0123456", 
      }, 
    ], 
  }, 
}

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:



4093
4094
4095
4096
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4093

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

Parameters:

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

    ({})

Options Hash (params):

  • :replication_config_arn (required, String)

    The replication config to delete.

Returns:

See Also:



4144
4145
4146
4147
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4144

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

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:



4284
4285
4286
4287
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4284

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:



4319
4320
4321
4322
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4319

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:



4400
4401
4402
4403
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4400

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

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:



4452
4453
4454
4455
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4452

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:



4516
4517
4518
4519
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4516

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",
  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.

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



4604
4605
4606
4607
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4604

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

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:



4693
4694
4695
4696
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4693

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:



4796
4797
4798
4799
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4796

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.

Examples:

Example: Describe Conversion Configuration


# Returns configuration parameters for a schema conversion project.

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

resp.to_h outputs the following:
{
  conversion_configuration: "{\"Common project settings\":{\"ShowSeverityLevelInSql\":\"CRITICAL\"},\"ORACLE_TO_POSTGRESQL\" : {\"ToTimeZone\":false,\"LastDayBuiltinFunctionOracle\":false,   \"NextDayBuiltinFunctionOracle\":false,\"ConvertProceduresToFunction\":false,\"NvlBuiltinFunctionOracle\":false,\"DbmsAssertBuiltinFunctionOracle\":false}}", 
  migration_project_identifier: "arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012", 
}

Request syntax with placeholder values


resp = client.describe_conversion_configuration({
  migration_project_identifier: "String", # 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:



4842
4843
4844
4845
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4842

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



4937
4938
4939
4940
# File 'gems/aws-sdk-databasemigrationservice/lib/aws-sdk-databasemigrationservice/client.rb', line 4937

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.

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

Examples:

Example: Describe Data Providers


resp = client.describe_data_providers({
  filters: [
    {
      name: "data-provider-identifier", 
      values: [
        "arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345", 
      ], 
    }, 
  ], 
  marker: "EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345", 
  max_records: 20, 
})

resp.to_h outputs the following:
{
  data_providers: [
    {
      data_provider_arn: "arn:aws:dms:us-east-1:012345678901:data-provider:my-target-data-provider", 
      data_provider_creation_time: Time.parse("2023-05-12T10:50:41.988561Z"), 
      data_provider_name: "my-target-data-provider", 
      engine: "postgres", 
      settings: {
        postgre_sql_settings: {
          database_name: "target", 
          port: 5432, 
          server_name: "postrgesql.0a1b2c3d4e5f.us-east-1.rds.amazonaws.com", 
          ssl_mode: "none", 
        }, 
      }, 
    }, 
  ], 
  marker: "EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345", 
}

Request syntax with placeholder values


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