community.aws.dms_endpoint 模块 – 创建或销毁数据迁移服务端点

注意

此模块是 community.aws 集合 (版本 9.0.0) 的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装它,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.aws。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: community.aws.dms_endpoint

community.aws 1.0.0 中的新增功能

概要

  • 创建或销毁可用于复制数据的 Data Migration Service 端点。

要求

执行此模块的主机需要以下要求。

  • python >= 3.6

  • boto3 >= 1.28.0

  • botocore >= 1.31.0

参数

参数

注释

access_key

别名:aws_access_key_id、aws_access_key、ec2_access_key

字符串

AWS 访问密钥 ID。

有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

还可以使用 AWS_ACCESS_KEY_IDAWS_ACCESS_KEYEC2_ACCESS_KEY 环境变量,优先级依次递减。

aws_access_keyprofile 选项是互斥的。

aws_access_key_id 别名在 5.1.0 版本中添加,以与 AWS botocore SDK 保持一致。

ec2_access_key 别名已弃用,将在 2024-12-01 后的某个版本中移除。

EC2_ACCESS_KEY 环境变量的支持已弃用,将在 2024-12-01 后的某个版本中移除。

aws_ca_bundle

路径

用于验证 SSL 证书的 CA 捆绑包的位置。

还可以使用 AWS_CA_BUNDLE 环境变量。

aws_config

字典

用于修改 botocore 配置的字典。

参数可在 AWS 文档中找到 https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config

certificatearn

字符串

证书的 Amazon 资源名称 (ARN)。

databasename

字符串

源端或目标端数据库的名称。

debug_botocore_endpoint_logs

布尔值

使用 botocore.endpoint 日志记录器来解析任务期间进行的唯一(而不是总计)"resource:action" API 调用,并将该集合输出到任务结果中的 resource_actions 密钥。使用 aws_resource_action 回调将输出到 playbook 期间进行的总列表。

还可以使用 ANSIBLE_DEBUG_BOTOCORE_LOGS 环境变量。

选项

  • false ← (默认)

  • true

dmstransfersettings

字典

源端点的 DMS 传输类型的 JSON 格式设置。

dynamodbsettings

字典

如果源端或目标端是 dynamodb,则为目标 Amazon DynamoDB 端点的 JSON 格式设置。

elasticsearchsettings

字典

目标 Elasticsearch 端点的 JSON 格式设置。

endpoint_url

别名:ec2_url、aws_endpoint_url、s3_url

字符串

连接到非默认 AWS 端点的 URL。虽然这可以用于连接到其他与 AWS 兼容的服务,但 amazon.aws 和 community.aws 集合仅针对 AWS 进行了测试。

还可以使用 AWS_URLEC2_URL 环境变量,优先级依次递减。

ec2_urls3_url 别名已弃用,将在 2024-12-01 后的某个版本中移除。

EC2_URL 环境变量的支持已弃用,将在 2024-12-01 后的某个版本中移除。

endpointidentifier

字符串 / 必需

端点的标识符名称。

endpointtype

字符串

我们要管理的端点类型。

state=present 时为必需。

选项

  • "source"

  • "target"

enginename

字符串

我们要使用的数据库引擎,有关支持的引擎及其限制的更多信息,请参阅 AWS DMS。

state=present 时为必需。

选项

  • "mysql"

  • "oracle"

  • "postgres"

  • "mariadb"

  • "aurora"

  • "redshift"

  • "s3"

  • "db2"

  • AzureDB

  • Sybase

  • DynamoDB

  • MongoDB

  • SQL Server

外部表定义 (externaltabledefinition)

字符串

外部表定义。

额外连接属性 (extraconnectionattributes)

字符串

数据库连接的额外属性,AWS 文档说明“有关额外连接属性的更多信息,请参阅您的数据存储的文档部分”。

Kinesis 设置 (kinesissettings)

字典

目标 Amazon Kinesis 数据流端点的 JSON 格式设置。

KMS 密钥 ID (kmskeyid)

字符串

用于加密复制存储和连接信息的加密密钥。

MongoDB 设置 (mongodbsettings)

字典

源 MongoDB 端点的 JSON 格式设置。

密码 (password)

字符串

用于连接到数据库的密码,此属性只能写入,AWS API 不返回此参数。

端口 (port)

整数 (integer)

访问数据库的 TCP 端口。

配置文件 (profile)

别名:aws_profile

字符串

用于身份验证的命名 AWS 配置文件。

有关命名配置文件的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

也可以使用 AWS_PROFILE 环境变量。

profile 选项与 aws_access_keyaws_secret_keysecurity_token 选项互斥。

清除标签 (purge_tags)

布尔值

如果 purge_tags=true 且设置了 tags,则将从资源中清除现有标签,以完全匹配 tags 参数定义的内容。

如果未设置 tags 参数,则即使 purge_tags=True,也不会修改标签。

aws: 开头的标签键由 Amazon 保留,不能修改。因此,在 purge_tags 参数中将忽略它们。有关更多信息,请参阅 Amazon 文档 https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions

选项

  • false

  • true ← (默认)

区域 (region)

别名:aws_region, ec2_region

字符串

要使用的 AWS 区域。

对于 IAM、Route53 和 CloudFront 等全局服务,将忽略 region

也可以使用 AWS_REGIONEC2_REGION 环境变量。

有关更多信息,请参阅 Amazon AWS 文档 http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

别名 ec2_region 已弃用,将在 2024-12-01 之后的发行版中移除。

EC2_REGION 环境变量的支持已弃用,将在 2024-12-01 之后的发行版中移除。

重试次数 (retries)

整数 (integer)

删除资源时应重试的次数。

wait=true 时必需。

S3 设置 (s3settings)

字典

目标 Amazon S3 端点的 S3 存储桶设置。

密钥 (secret_key)

别名:aws_secret_access_key, aws_secret_key, ec2_secret_key

字符串

AWS 密钥。

有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

也可以按优先级递减顺序使用 AWS_SECRET_ACCESS_KEYAWS_SECRET_KEYEC2_SECRET_KEY 环境变量。

secret_keyprofile 选项互斥。

为与 AWS botocore SDK 保持一致,在 5.1.0 版本中添加了 aws_secret_access_key 别名。

别名 ec2_secret_key 已弃用,将在 2024-12-01 之后的发行版中移除。

EC2_SECRET_KEY 环境变量的支持已弃用,将在 2024-12-01 之后的发行版中移除。

服务器名称 (servername)

字符串

端点将连接到的服务器名称。

服务访问角色 ARN (serviceaccessrolearn)

字符串

要用于创建端点的服务访问角色的 Amazon 资源名称 (ARN)。

会话令牌 (session_token)

别名:aws_session_token, security_token, aws_security_token, access_token

字符串

用于临时凭据的 AWS STS 会话令牌。

有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

也可以按优先级递减顺序使用 AWS_SESSION_TOKENAWS_SECURITY_TOKENEC2_SECURITY_TOKEN 环境变量。

security_tokenprofile 选项互斥。

别名 aws_session_tokensession_token 在 3.2.0 版本中添加,参数在 6.0.0 版本中从 security_token 重命名为 session_token

别名 security_tokenaws_security_tokenaccess_token 已弃用,将在 2024-12-01 之后的发行版中移除。

EC2_SECRET_KEYAWS_SECURITY_TOKEN 环境变量的支持已弃用,将在 2024-12-01 之后的发行版中移除。

SSL 模式 (sslmode)

字符串

用于 SSL 连接的模式。

选项

  • "none" ← (默认)

  • "require"

  • "verify-ca"

  • "verify-full"

状态 (state)

字符串

端点的状态。

选项

  • "present" ← (默认)

  • "absent"

标签 (tags)

别名:resource_tags

字典

要添加到端点的一组标签。

超时 (timeout)

整数 (integer)

删除资源时应等待的时间(秒)。

wait=true 时必需。

用户名 (username)

字符串

端点将用于连接到数据库的用户名。

验证证书 (validate_certs)

布尔值

设置为 false 时,将不会验证与 AWS API 通信的 SSL 证书。

强烈建议不要设置 validate_certs=false,作为替代方案,请考虑设置 aws_ca_bundle

选项

  • false

  • true ← (默认)

等待 (wait)

布尔值

state=absent 时,Ansible 是否应等待对象被删除。

选项

  • false ← (默认)

  • true

注释

注意

  • 警告:对于模块,环境变量和配置文件是从 Ansible 的“主机”上下文而不是“控制器”上下文读取的。因此,可能需要将文件显式复制到“主机”。对于查找和连接插件,环境变量和配置文件是从 Ansible 的“控制器”上下文而不是“主机”上下文读取的。

  • Ansible 使用的 AWS SDK (boto3) 也可能从 Ansible“主机”上下文(通常为 ~/.aws/credentials)中的配置文件读取凭据和其他设置的默认值,例如区域。有关更多信息,请参阅 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html

示例

# Note: These examples do not set authentication details
- name: Endpoint Creation
  community.aws.dms_endpoint:
    state: absent
    endpointidentifier: 'testsource'
    endpointtype: source
    enginename: aurora
    username: testing1
    password: testint1234
    servername: testing.domain.com
    port: 3306
    databasename: 'testdb'
    sslmode: none
    wait: false

返回值

常见的返回值已记录在 此处,以下是此模块特有的字段。

键 (Key)

描述

端点 (endpoint)

字典

DMS 端点的描述。

返回:成功 (success)

数据库名称 (database_name)

字符串

端点处的数据库名称。

返回:成功 (success)

示例:"exampledb"

DMS 传输设置 (dms_transfer_settings)

字典

其他与传输相关的设置。

返回:已配置其他 DMS 传输设置时。

DocumentDB 设置 (doc_db_settings)

字典

DocumentDB 端点的其他设置。

返回:endpoint_typedocumentdb 时。

Elasticsearch 设置 (elasticsearch_settings)

字典

Elasticsearch 端点的其他设置。

返回:endpoint_typeelasticsearch 时。

端点 ARN (endpoint_arn)

字符串

唯一标识端点的 ARN。

返回:成功 (success)

示例:"arn:aws:dms:us-east-1:123456789012:endpoint:1234556789ABCDEFGHIJKLMNOPQRSTUVWXYZ012"

端点标识符 (endpoint_identifier)

字符串

数据库端点标识符。

返回:成功 (success)

示例: "ansible-test-12345678-dms"

endpoint_type

字符串

端点类型。有效值为 SOURCETARGET

返回:成功 (success)

示例: "SOURCE"

engine_display_name

字符串

引擎名称的完整名称。

返回:成功 (success)

示例: "Amazon Aurora MySQL"

engine_name

字符串

数据库引擎名称。

返回:成功 (success)

示例: "aurora"

i_b_m_db_settings

字典

IBM DB2 端点的附加设置。

返回:endpoint_typedb2

kafka_settings

字典

Kafka 端点的附加设置。

返回:endpoint_typekafka

kinesis_settings

字典

Kinesis 端点的附加设置。

返回:endpoint_typekinesis

kms_key_id

字符串

用于加密端点连接参数的 KMS 密钥 ID。

返回:成功 (success)

示例: "arn:aws:kms:us-east-1:123456789012:key/01234567-abcd-12ab-98fe-123456789abc"

microsoft_sql_server_settings

字典

Microsoft SQL Server 端点的附加设置。

返回:endpoint_typesqlserver

mongo_db_settings

字典

MongoDB 端点的附加设置。

返回:endpoint_typemongodb

my_sql_settings

字典

MySQL 端点的附加设置。

返回:endpoint_typemysql

neptune_settings

字典

Amazon Neptune 端点的附加设置。

返回:endpoint_typeneptune

oracle_settings

字典

Oracle 端点的附加设置。

返回:endpoint_typeoracle

端口 (port)

字符串

用于访问端点的端口。

返回:成功 (success)

示例: "3306"

postgre_sql_settings

字典

PostgreSQL 端点的附加设置。

返回:endpoint_typepostgres

redis_settings

字典

Redis 端点的附加设置。

返回:endpoint_typeredshift

redshift_settings

字典

Redshift 端点的附加设置。

返回:endpoint_typeredshift

s3_settings

字典

S3 端点的附加设置。

返回:endpoint_types3

server_name

字符串

端点服务器的名称。

返回:成功 (success)

示例: "ansible-test-123456789.example.com"

ssl_mode

字符串

用于连接到端点的 SSL 模式。

返回:成功 (success)

示例: "none"

sybase_settings

字典

Sybase 端点的附加设置。

返回:endpoint_typesybase

tags

字典

表示附加到端点的标签的字典。

返回:成功 (success)

示例: {"MyTagKey": "MyTagValue"}

用户名 (username)

字符串

用于连接到端点的用户名。

返回:成功 (success)

示例: "example-username"

作者

  • Rui Moreira (@ruimoreira)