google.cloud.gcp_compute_subnetwork 模块 – 创建一个 GCP 子网
注意
此模块是 google.cloud 集合(版本 1.4.1)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install google.cloud
。您需要满足其他要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:google.cloud.gcp_compute_subnetwork
。
注意
由于违反 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合有 未解决的健全性测试失败。有关更多信息,请参阅 讨论主题。
概要
VPC 网络是存在于物理数据中心内部和之间的传统物理网络的虚拟版本。VPC 网络为您的 Compute Engine 虚拟机 (VM) 实例、Container Engine 容器、App Engine Flex 服务和其他网络相关资源提供连接。
每个 GCP 项目包含一个或多个 VPC 网络。每个 VPC 网络都是一个跨越所有 GCP 区域的全局实体。此全局 VPC 网络允许 VM 实例和其他资源通过内部私有 IP 地址相互通信。
每个 VPC 网络都细分为子网,每个子网都包含在单个区域内。对于给定的 VPC 网络,您可以在一个区域中拥有多个子网。每个子网都有一个连续的私有 RFC1918 IP 空间。您可以在这些子网中创建实例、容器等。
创建实例时,必须在子网中创建它,并且实例从该子网中获取其内部 IP 地址。
VPC 网络中的虚拟机 (VM) 实例可以使用其 RFC1918 私有 IP 地址与同一 VPC 网络的所有其他子网中的实例通信,无论区域如何。您可以使用防火墙规则隔离网络的部分,甚至整个子网。
要求
在执行此模块的主机上需要以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。 |
|
使用的凭据类型。 选项
|
|
此资源的可选描述。创建资源时提供此属性。此字段只能在资源创建时设置。 |
|
指定您在此模块中运行的 Ansible 环境。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的用户代理字符串。 |
|
此子网拥有的内部地址范围。 创建子网时提供此属性。例如,10.0.0.0/8 或 192.168.0.0/16。范围在网络内必须是唯一的且不重叠。仅支持 IPv4。 |
|
客户端在初始创建资源时提供的资源名称。名称长度必须为 1-63 个字符,并符合 RFC1035。具体来说,名称长度必须为 1-63 个字符,并与正则表达式 `[a-z]([-a-z0-9]*[a-z0-9])?` 匹配,这意味着第一个字符必须是小写字母,所有后续字符必须是短划线、小写字母或数字,但最后一个字符不能是短划线。 |
|
此子网所属的网络。 只有处于分布式模式的网络才能拥有子网。 此字段表示指向 GCP 中网络资源的链接。可以通过两种方式指定它。首先,您可以放置一个字典,其中包含键“selfLink”和资源 selfLink 的值。或者,您可以将 `register: name-of-resource` 添加到 gcp_compute_network 任务,然后将此网络字段设置为“{{ name-of-resource }}” |
|
启用后,此子网中没有外部 IP 地址的虚拟机可以使用专用 Google 访问来访问 Google API 和服务。 选项
|
|
此子网中虚拟机的专用 IPv6 Google 访问类型。 |
|
要使用的 Google Cloud Platform 项目。 |
|
此子网的 GCP 区域。 |
|
要使用的范围数组 |
|
此子网中包含的虚拟机实例的辅助 IP 范围的配置数组。此类虚拟机的主 IP 必须属于子网的主 ipCidrRange。别名 IP 可以属于主范围或辅助范围。 |
|
属于此子网辅助范围的 IP 地址范围。创建子网时提供此属性。 范围在网络内的所有主 IP 和辅助 IP 范围中必须是唯一的且不重叠。仅支持 IPv4。 |
|
与此子网辅助范围关联的名称,用于向虚拟机实例添加别名 IP 范围时。名称长度必须为 1-63 个字符,并符合 RFC1035。名称在子网中必须是唯一的。 |
|
服务帐户 JSON 文件的内容,可以是字典或表示它的 JSON 字符串。 |
|
如果选择了 machineaccount 并且用户不希望使用默认电子邮件,则为可选的服务帐户电子邮件地址。 |
|
如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。 |
|
给定的对象是否应存在于 GCP 中 选项
|
备注
注意
API 参考: https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks
Private Google Access: https://cloud.google.com/vpc/docs/configure-private-google-access
Cloud Networking: https://cloud.google.com/vpc/docs/using-vpc
对于身份验证,您可以使用
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 network
google.cloud.gcp_compute_network:
name: network-subnetwork
auto_create_subnetworks: 'true'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a subnetwork
google.cloud.gcp_compute_subnetwork:
name: ansiblenet
region: us-west1
network: "{{ network }}"
ip_cidr_range: 172.16.0.0/16
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
返回值
通用返回值记录在 这里,以下是此模块特有的字段
键 |
描述 |
---|---|
RFC3339 文本格式的创建时间戳。 返回: 成功 |
|
此资源的可选描述。创建资源时提供此属性。此字段只能在资源创建时设置。 返回: 成功 |
|
用于到达此子网外部的目标地址的默认路由的网关地址。 返回: 成功 |
|
资源的唯一标识符。 返回: 成功 |
|
此子网拥有的内部地址范围。 创建子网时提供此属性。例如,10.0.0.0/8 或 192.168.0.0/16。范围在网络内必须是唯一的且不重叠。仅支持 IPv4。 返回: 成功 |
|
客户端在初始创建资源时提供的资源名称。名称长度必须为 1-63 个字符,并符合 RFC1035。具体来说,名称长度必须为 1-63 个字符,并与正则表达式 `[a-z]([-a-z0-9]*[a-z0-9])?` 匹配,这意味着第一个字符必须是小写字母,所有后续字符必须是短划线、小写字母或数字,但最后一个字符不能是短划线。 返回: 成功 |
|
此子网所属的网络。 只有处于分布式模式的网络才能拥有子网。 返回: 成功 |
|
启用后,此子网中没有外部 IP 地址的虚拟机可以使用专用 Google 访问来访问 Google API 和服务。 返回: 成功 |
|
此子网中虚拟机的专用 IPv6 Google 访问类型。 返回: 成功 |
|
此子网的 GCP 区域。 返回: 成功 |
|
此子网中包含的虚拟机实例的辅助 IP 范围的配置数组。此类虚拟机的主 IP 必须属于子网的主 ipCidrRange。别名 IP 可以属于主范围或辅助范围。 返回: 成功 |
|
属于此子网辅助范围的 IP 地址范围。创建子网时提供此属性。 范围在网络内的所有主 IP 和辅助 IP 范围中必须是唯一的且不重叠。仅支持 IPv4。 返回: 成功 |
|
与此子网辅助范围关联的名称,用于向虚拟机实例添加别名 IP 范围时。名称长度必须为 1-63 个字符,并符合 RFC1035。名称在子网中必须是唯一的。 返回: 成功 |