google.cloud.gcp_pubsub_topic 模块 – 创建 GCP 主题
注意
此模块是 google.cloud 集合(版本 1.4.1)的一部分。
如果您正在使用 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install google.cloud
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 Playbook 中使用它,请指定:google.cloud.gcp_pubsub_topic
。
注意
由于违反了 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合有 未解决的健全性测试失败。有关详细信息,请参阅讨论主题。
概要
发布者将消息发送到的命名资源。
要求
执行此模块的主机需要满足以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
如果凭据类型是 accesstoken,则为 OAuth2 访问令牌。 |
|
使用的凭据类型。 选项
|
|
指定您正在其中运行此模块的 Ansible 环境。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的 User Agent 字符串。 |
|
用于保护对发布在此主题上的消息的访问的 Cloud KMS CryptoKey 的资源名称。您的项目的 PubSub 服务帐户(`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`)必须具有 `roles/cloudkms.cryptoKeyEncrypterDecrypter` 才能使用此功能。 预期格式为 `projects/*/locations/*/keyRings/*/cryptoKeys/*` 。 |
|
要分配给此主题的一组键/值标签对。 |
|
约束可以将发布到主题的消息存储在其中的 Google Cloud Platform 区域集中的策略。如果不存在,则不生效任何约束。 |
|
可以将发布到主题的消息持久存储在其中的 GCP 区域 ID 的列表。在不允许的 GCP 区域中(或完全在 GCP 之外)运行的发布者发布的消息将路由到允许的区域之一进行存储。空列表表示不允许任何区域,这不是有效的配置。 |
|
主题的名称。 |
|
要使用的 Google Cloud Platform 项目。 |
|
用于验证针对架构发布的消息的设置。 |
|
针对架构验证的消息的编码。 一些有效的选项包括:“ENCODING_UNSPECIFIED”、“JSON”、“BINARY” 默认值: |
|
应该针对其验证发布的消息的架构的名称。格式为 projects/{project}/schemas/{schema}。 如果架构已删除,则此字段的值将为 _deleted-schema_。 |
|
要使用的作用域数组 |
|
服务帐户 JSON 文件的内容,可以是字典或表示它的 JSON 字符串。 |
|
如果选择了 machineaccount 并且用户不希望使用默认电子邮件,则可选的服务帐户电子邮件地址。 |
|
如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。 |
|
给定的对象是否应存在于 GCP 中 选项
|
说明
注意
API 参考:https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics
管理主题:https://cloud.google.com/pubsub/docs/admin#managing_topics
对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_FILE
环境变量设置 service_account_file。对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_CONTENTS
环境变量设置 service_account_contents。对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_EMAIL
环境变量设置 service_account_email。对于身份验证,您可以使用
GCP_ACCESS_TOKEN
环境变量设置 access_token。对于身份验证,您可以使用
GCP_AUTH_KIND
环境变量设置 auth_kind。对于身份验证,您可以使用
GCP_SCOPES
环境变量设置 scopes。仅当未设置 Playbook 值时,才会使用环境变量值。
service_account_email 和 service_account_file 选项是互斥的。
示例
- name: create a topic
google.cloud.gcp_pubsub_topic:
name: test-topic1
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
返回值
常见返回值在 此处 中记录,以下是此模块特有的字段
键 |
描述 |
---|---|
用于保护对发布在此主题上的消息的访问的 Cloud KMS CryptoKey 的资源名称。您的项目的 PubSub 服务帐户(`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`)必须具有 `roles/cloudkms.cryptoKeyEncrypterDecrypter` 才能使用此功能。 预期格式为 `projects/*/locations/*/keyRings/*/cryptoKeys/*` 。 已返回: 成功 |
|
要分配给此主题的一组键/值标签对。 已返回: 成功 |
|
约束可以将发布到主题的消息存储在其中的 Google Cloud Platform 区域集中的策略。如果不存在,则不生效任何约束。 已返回: 成功 |
|
可以将发布到主题的消息持久存储在其中的 GCP 区域 ID 的列表。在不允许的 GCP 区域中(或完全在 GCP 之外)运行的发布者发布的消息将路由到允许的区域之一进行存储。空列表表示不允许任何区域,这不是有效的配置。 已返回: 成功 |
|
主题的名称。 已返回: 成功 |
|
用于验证针对架构发布的消息的设置。 已返回: 成功 |
|
针对架构验证的消息的编码。 已返回: 成功 |
|
应该针对其验证发布的消息的架构的名称。格式为 projects/{project}/schemas/{schema}。 如果架构已删除,则此字段的值将为 _deleted-schema_。 已返回: 成功 |