Table: aws_dms_endpoint - Query AWS DMS Endpoints using SQL
AWS Database Migration Service (DMS) Endpoints are a pivotal component within AWS DMS, delineating the connection details for source or target databases involved in migration tasks. These endpoints are essential for defining the data's origin (source) and destination (target).
Table Usage Guide
The aws_dms_endpoint
table in Steampipe allows you to query connection-specific information, such as the endpoint identifier, ARN, database name, endpoint type, and the database engine details. This table is invaluable for DevOps engineers and database administrators overseeing database migrations, as it facilitates the monitoring and management of endpoint configurations and ensures the smooth execution of migration tasks.
Examples
Basic info
Retrieve basic information about AWS DMS Endpoint, including their identifiers, ARNs, certificate, database, endpoint type, engine name, and regions.
select endpoint_identifier, arn, certificate_arn, database_name, endpoint_type, engine_display_name, engine_namefrom aws_dms_endpoint;
select endpoint_identifier, arn, certificate_arn, database_name, endpoint_type, engine_display_name, engine_namefrom aws_dms_endpoint;
List source endpoints
Identify all source endpoints in AWS DMS, showcasing their identifiers, ARNs, display names, types, and engine names.
select endpoint_identifier, arn, engine_display_name, endpoint_type, engine_namefrom aws_dms_endpointwhere endpoint_type = 'SOURCE';
select endpoint_identifier, arn, engine_display_name, endpoint_type, engine_namefrom aws_dms_endpointwhere endpoint_type = 'SOURCE';
List MySQL endpoints
Retrieve a comprehensive list of AWS DMS endpoints configured for MySQL databases, including their identifiers, ARNs, engine names, creation times, and MySQL-specific settings."
select endpoint_identifier, arn, engine_name, instance_create_time, my_sql_settingsfrom aws_dms_endpointwhere engine_name = 'mysql';
select endpoint_identifier, arn, engine_name, instance_create_time, my_sql_settingsfrom aws_dms_endpointwhere engine_name = 'mysql';
List endpoints that have SSL enabled
Display all AWS DMS endpoints with SSL encryption enabled, detailing their identifiers, KMS key IDs, server names, service access role ARNs, and SSL modes."
select endpoint_identifier, kms_key_id, server_name, service_access_role_arn, ssl_modefrom aws_dms_endpointwhere ssl_mode <> 'none';
select endpoint_identifier, kms_key_id, server_name, service_access_role_arn, ssl_modefrom aws_dms_endpointwhere ssl_mode <> 'none';
Get MySQL setting details for MySQL endpoints
Extract detailed MySQL settings for AWS DMS endpoints configured for MySQL, including connection scripts, metadata settings, database names, and other MySQL-specific configurations.
select endpoint_identifier, arn, my_sql_settings ->> 'AfterConnectScript' as after_connect_script, ( my_sql_settings ->> 'CleanSourceMetadataOnMismatch' ) :: boolean as clean_source_metadata_on_mismatch, my_sql_settings ->> 'DatabaseName' as database_name, (my_sql_settings ->> 'EventsPollInterval') :: integer as events_poll_interval, (my_sql_settings ->> 'ExecuteTimeout') :: integer as execute_timeout, (my_sql_settings ->> 'MaxFileSize') :: integer as max_file_size, (my_sql_settings ->> 'ParallelLoadThreads') :: integer as parallel_load_threads, my_sql_settings ->> 'Password' as password, (my_sql_settings ->> 'Port') :: integer as port, my_sql_settings ->> 'SecretsManagerAccessRoleArn' as secrets_manager_access_role_arn, my_sql_settings ->> 'SecretsManagerSecretId' as secrets_manager_secret_id, my_sql_settings ->> 'ServerName' as server_name, my_sql_settings ->> 'ServerTimezone' as server_timezone, my_sql_settings ->> 'TargetDbType' as target_db_type, my_sql_settings ->> 'Username' as usernamefrom aws_dms_endpointwhere engine_name = 'mysql';
select endpoint_identifier, arn, my_sql_settings ->> 'AfterConnectScript' as after_connect_script, cast( json_extract( my_sql_settings, '$.CleanSourceMetadataOnMismatch' ) as boolean ) as clean_source_metadata_on_mismatch, my_sql_settings ->> 'DatabaseName' as database_name, cast( json_extract(my_sql_settings, '$.EventsPollInterval') as integer ) as events_poll_interval, cast( json_extract(my_sql_settings, '$.ExecuteTimeout') as integer ) as execute_timeout, cast( json_extract(my_sql_settings, '$.MaxFileSize') as integer ) as max_file_size, cast( json_extract(my_sql_settings, '$.ParallelLoadThreads') as integer ) as parallel_load_threads, my_sql_settings ->> 'Password' as password, cast(json_extract(my_sql_settings, '$.Port') as integer) as port, my_sql_settings ->> 'SecretsManagerAccessRoleArn' as secrets_manager_access_role_arn, my_sql_settings ->> 'SecretsManagerSecretId' as secrets_manager_secret_id, my_sql_settings ->> 'ServerName' as server_name, my_sql_settings ->> 'ServerTimezone' as server_timezone, my_sql_settings ->> 'TargetDbType' as target_db_type, my_sql_settings ->> 'Username' as usernamefrom aws_dms_endpointwhere engine_name = 'mysql';
Schema for aws_dms_endpoint
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
account_id | text | =, !=, ~~, ~~*, !~~, !~~* | The AWS Account ID in which the resource is located. |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
arn | text | = | The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. |
certificate_arn | text | The Amazon Resource Name (ARN) used for SSL connection to the endpoint. | |
database_name | text | The name of the database at the endpoint. | |
dms_transfer_settings | jsonb | The settings for the DMS Transfer type source. | |
doc_db_settings | jsonb | Provides information that defines a DocumentDB endpoint. | |
dynamo_db_settings | jsonb | The settings for the DynamoDB target endpoint. | |
elasticsearch_settings | jsonb | The settings for the OpenSearch source endpoint. | |
endpoint_identifier | text | = | The database endpoint identifier. |
endpoint_type | text | = | The type of endpoint. Valid values are source and target. |
engine_display_name | text | The expanded name for the engine name. For example, if the EngineName parameter is 'aurora', this value would be 'Amazon Aurora MySQL'. | |
engine_name | text | = | The database engine name. Valid values, depending on the EndpointType, include 'mysql', 'oracle', 'postgres', 'mariadb', 'aurora', 'aurora-postgresql', 'redshift', 's3', 'db2', 'db2-zos', 'azuredb', 'sybase', 'dynamodb', 'mongodb', 'kinesis', 'kafka', 'elasticsearch', 'documentdb', 'sqlserver', 'neptune', and 'babelfish'. |
external_id | text | Value returned by a call to CreateEndpoint that can be used for cross-account validation. | |
external_table_definition | text | The external table definition. | |
extra_connection_attributes | text | Additional connection attributes used to connect to the endpoint. | |
gcp_my_sql_settings | jsonb | Settings in JSON format for the source GCP MySQL endpoint. | |
ibm_db2_settings | jsonb | The settings for the IBM Db2 LUW source endpoint. | |
kafka_settings | jsonb | The settings for the Apache Kafka target endpoint. | |
kinesis_settings | jsonb | The settings for the Amazon Kinesis target endpoint. | |
kms_key_id | text | An KMS key identifier that is used to encrypt the connection parameters for the endpoint. | |
microsoft_sql_server_settings | jsonb | The settings for the Microsoft SQL Server source and target endpoint. | |
mongo_db_settings | jsonb | The settings for the MongoDB source endpoint. | |
my_sql_settings | jsonb | The settings for the MySQL source and target endpoint. | |
neptune_settings | jsonb | The settings for the Amazon Neptune target endpoint. | |
oracle_settings | jsonb | The settings for the Oracle source and target endpoint. | |
partition | text | The AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov). | |
port | bigint | The port value used to access the endpoint. | |
postgre_sql_settings | jsonb | The settings for the PostgreSQL source and target endpoint. | |
redis_settings | jsonb | The settings for the Redis target endpoint. | |
redshift_settings | jsonb | Settings for the Amazon Redshift endpoint. | |
region | text | The AWS Region in which the resource is located. | |
s3_settings | jsonb | The settings for the S3 target endpoint. | |
server_name | text | The name of the server at the endpoint. | |
service_access_role_arn | text | The Amazon Resource Name (ARN) used by the service to access the IAM role. | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
ssl_mode | text | The SSL mode used to connect to the endpoint. The default value is none. | |
status | text | The status of the endpoint. | |
sybase_settings | jsonb | The settings for the SAP ASE source and target endpoint. | |
tags | jsonb | A map of tags for the resource. | |
tags_src | jsonb | A list of tags currently associated with the replication instance. | |
timestream_settings | jsonb | The settings for the Amazon Timestream target endpoint. For more information, see the TimestreamSettings structure. | |
title | text | Title of the resource. | |
username | text | The user name used to connect to the endpoint. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws
You can pass the configuration to the command with the --config
argument:
steampipe_export_aws --config '<your_config>' aws_dms_endpoint