google.cloud.gcp_compute_vpn_tunnel 模块 – 创建一个 GCP VpnTunnel
注意
此模块是 google.cloud 集合(版本 1.4.1)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install google.cloud
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅要求。
要在 Playbook 中使用它,请指定:google.cloud.gcp_compute_vpn_tunnel
。
注意
由于违反 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合有未解决的健全性测试失败。有关更多信息,请参阅讨论帖。
概要
VPN 隧道资源。
要求
执行此模块的主机上需要以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
如果凭证类型为 accesstoken,则为 OAuth2 访问令牌。 |
|
使用的凭证类型。 选择
|
|
此资源的可选描述。 |
|
指定您正在其中运行此模块的 Ansible 环境。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的用户代理字符串。 |
|
在与对等 VPN 网关建立 VPN 隧道时要使用的 IKE 协议版本。 可接受的 IKE 版本为 1 或 2。默认版本为 2。 默认: |
|
在与对等 VPN 网关建立 VPN 隧道时要使用的本地流量选择器。该值应为 CIDR 格式的字符串,例如 `192.168.0.0/16`。范围应是不相交的。 仅支持 IPv4。 |
|
资源的名称。名称长度必须为 1-63 个字符,并且符合 RFC1035。具体来说,名称的长度必须为 1-63 个字符,并与正则表达式 `[a-z]([-a-z0-9]*[a-z0-9])?` 匹配,这意味着第一个字符必须是小写字母,并且所有后续字符必须是破折号、小写字母或数字,最后一个字符除外,它不能是破折号。 |
|
此 VPN 隧道连接到的对等方外部 VPN 网关的 URL。 此字段表示指向 GCP 中的 ExternalVpnGateway 资源的链接。可以通过两种方式指定它。首先,您可以放置一个字典,其中包含键 'selfLink' 和资源的 selfLink 值。或者,您可以将 `register: name-of-resource` 添加到 gcp_compute_external_vpn_gateway 任务,然后将此 peer_external_gateway 字段设置为“{{ name-of-resource }}” |
|
此 VPN 隧道连接到的外部 VPN 网关的接口 ID。 |
|
此 VPN 隧道连接到的对等方 HA GCP VPN 网关的 URL。 如果提供,VPN 隧道将自动使用对等 GCP VPN 网关中相同的 vpn_gateway_interface ID。 此字段表示指向 GCP 中的 VpnGateway 资源的链接。可以通过两种方式指定它。首先,您可以放置一个字典,其中包含键 'selfLink' 和资源的 selfLink 值。或者,您可以将 `register: name-of-resource` 添加到 gcp_compute_vpn_gateway 任务,然后将此 peer_gcp_gateway 字段设置为“{{ name-of-resource }}” |
|
对等 VPN 网关的 IP 地址。仅支持 IPv4。 |
|
要使用的 Google Cloud Platform 项目。 |
|
隧道所在的区域。 |
|
在与对等 VPN 网关建立 VPN 隧道时要使用的远程流量选择器。该值应为 CIDR 格式的字符串,例如 `192.168.0.0/16`。范围应是不相交的。 仅支持 IPv4。 |
|
用于动态路由的路由器资源的 URL。 此字段表示指向 GCP 中的 Router 资源的链接。可以通过两种方式指定它。首先,您可以放置一个字典,其中包含键 'selfLink' 和资源的 selfLink 值。或者,您可以将 `register: name-of-resource` 添加到 gcp_compute_router 任务,然后将此路由器字段设置为“{{ name-of-resource }}” |
|
要使用的作用域数组 |
|
服务帐户 JSON 文件的内容,以字典形式或表示它的 JSON 字符串形式。 |
|
如果选择了 machineaccount 并且用户不希望使用默认电子邮件,则为可选的服务帐户电子邮件地址。 |
|
如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。 |
|
用于在云 VPN 网关和对等 VPN 网关之间设置安全会话的共享密钥。 |
|
给定对象是否应存在于 GCP 中 选择
|
|
与此 VPN 隧道关联的目标 VPN 网关的 URL。 此字段表示指向 GCP 中的 TargetVpnGateway 资源的链接。可以通过两种方式指定它。首先,您可以放置一个字典,其中包含键 'selfLink' 和资源的 selfLink 值。或者,您可以将 `register: name-of-resource` 添加到 gcp_compute_target_vpn_gateway 任务,然后将此 target_vpn_gateway 字段设置为“{{ name-of-resource }}” |
|
此 VPN 隧道关联的 VPN 网关的 URL。 如果创建高可用性 VPN 网关资源,则必须使用此项。 此字段表示指向 GCP 中 VpnGateway 资源的链接。它可以通过两种方式指定。首先,您可以放置一个字典,其中键为 ‘selfLink’,值为资源的 selfLink。或者,您可以向 gcp_compute_vpn_gateway 任务添加 `register: name-of-resource`,然后将此 vpn_gateway 字段设置为 “{{ name-of-resource }}”。 |
|
此 VPN 隧道关联的 VPN 网关的接口 ID。 |
备注
注意
API 参考:https://cloud.google.com/compute/docs/reference/rest/v1/vpnTunnels
Cloud VPN 概述:https://cloud.google.com/vpn/docs/concepts/overview
网络和隧道路由:https://cloud.google.com/vpn/docs/concepts/choosing-networks-routing
对于身份验证,您可以使用
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-vpn-tunnel
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a router
google.cloud.gcp_compute_router:
name: router-vpn-tunnel
network: "{{ network }}"
bgp:
asn: 64514
advertise_mode: CUSTOM
advertised_groups:
- ALL_SUBNETS
advertised_ip_ranges:
- range: 1.2.3.4
- range: 6.7.0.0/16
region: us-central1
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: router
- name: create a target vpn gateway
google.cloud.gcp_compute_target_vpn_gateway:
name: gateway-vpn-tunnel
region: us-west1
network: "{{ network }}"
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: gateway
- name: create a vpn tunnel
google.cloud.gcp_compute_vpn_tunnel:
name: test_object
region: us-west1
target_vpn_gateway: "{{ gateway }}"
router: "{{ router }}"
shared_secret: super secret
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
返回值
常用返回值已在此处记录 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
以 RFC3339 文本格式表示的创建时间戳。 返回:成功 |
|
此资源的可选描述。 返回:成功 |
|
资源的唯一标识符。此标识符由服务器定义。 返回:成功 |
|
在与对等 VPN 网关建立 VPN 隧道时要使用的 IKE 协议版本。 可接受的 IKE 版本为 1 或 2。默认版本为 2。 返回:成功 |
|
在与对等 VPN 网关建立 VPN 隧道时要使用的本地流量选择器。该值应为 CIDR 格式的字符串,例如 `192.168.0.0/16`。范围应是不相交的。 仅支持 IPv4。 返回:成功 |
|
资源的名称。名称长度必须为 1-63 个字符,并且符合 RFC1035。具体来说,名称的长度必须为 1-63 个字符,并与正则表达式 `[a-z]([-a-z0-9]*[a-z0-9])?` 匹配,这意味着第一个字符必须是小写字母,并且所有后续字符必须是破折号、小写字母或数字,最后一个字符除外,它不能是破折号。 返回:成功 |
|
此 VPN 隧道连接到的对等方外部 VPN 网关的 URL。 返回:成功 |
|
此 VPN 隧道连接到的外部 VPN 网关的接口 ID。 返回:成功 |
|
此 VPN 隧道连接到的对等方 HA GCP VPN 网关的 URL。 如果提供,VPN 隧道将自动使用对等 GCP VPN 网关中相同的 vpn_gateway_interface ID。 返回:成功 |
|
对等 VPN 网关的 IP 地址。仅支持 IPv4。 返回:成功 |
|
隧道所在的区域。 返回:成功 |
|
在与对等 VPN 网关建立 VPN 隧道时要使用的远程流量选择器。该值应为 CIDR 格式的字符串,例如 `192.168.0.0/16`。范围应是不相交的。 仅支持 IPv4。 返回:成功 |
|
用于动态路由的路由器资源的 URL。 返回:成功 |
|
用于在云 VPN 网关和对等 VPN 网关之间设置安全会话的共享密钥。 返回:成功 |
|
共享密钥的哈希值。 返回:成功 |
|
与此 VPN 隧道关联的目标 VPN 网关的 URL。 返回:成功 |
|
此 VPN 隧道关联的 VPN 网关的 URL。 如果创建高可用性 VPN 网关资源,则必须使用此项。 返回:成功 |
|
此 VPN 隧道关联的 VPN 网关的接口 ID。 返回:成功 |