ngine_io.cloudstack.cs_portforward 模块 – 管理基于 Apache CloudStack 的云上的端口转发规则。
注意
此模块是 ngine_io.cloudstack 集合(版本 2.5.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install ngine_io.cloudstack
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定: ngine_io.cloudstack.cs_portforward
。
ngine_io.cloudstack 0.1.0 中的新增功能
概要
创建、更新和删除端口转发规则。
要求
执行此模块的主机需要以下要求。
python >= 2.6
cs >= 0.9.0
参数
参数 |
注释 |
---|---|
与 vm 相关的帐户。 |
|
用于查询 API 端点的 HTTP 方法。 如果未提供,则会考虑 选择
|
|
CloudStack API 的 API 密钥。 如果未提供,则会考虑 |
|
CloudStack API 的密钥。 如果未设置,则会考虑 |
|
HTTP 超时(以秒为单位)。 如果未提供,则会考虑 默认: |
|
CloudStack API 的 URL,例如 https://cloud.example.com/client/api。 如果未提供,则会考虑 |
|
验证 CA 授权证书文件。 如果未提供,则会考虑 |
|
与 vm 相关的域。 |
|
规则分配到的公共 IP 地址。 |
|
网络的名称。在 VPC 中转发端口时必需。 |
|
在创建新规则时,是否应创建公共端口的防火墙规则。 在 VPC 中转发端口时不支持。 使用 ngine_io.cloudstack.cs_firewall 来管理防火墙规则。 选择
|
|
轮询异步作业,直到作业完成。 选择
|
|
此规则的结束私有端口。 如果未指定,则等于 private_port。 |
|
此规则的起始私有端口。 |
|
vm 所在的项目的名称。 |
|
端口转发规则的协议。 选择
|
|
此规则的结束公共端口。 如果未指定,则等于 public_port。 |
|
此规则的起始公共端口。 |
|
端口转发规则的状态。 选择
|
|
标签列表。标签是具有键 key 和 value 的字典列表。 要删除所有标签,请设置一个空列表,例如 tags: []。 |
|
如果 如果未提供,则会考虑 这应该仅在个人控制的使用自签名证书的站点上使用。 选择
|
|
为其创建端口转发规则的虚拟机的名称。 如果 state=present,则为必需。 |
|
端口转发规则的 VM 来宾 NIC 二级 IP 地址。 |
|
VPC 的名称。 |
|
虚拟机所在的区域的名称。 |
说明
注意
有关 cloudstack 模块的详细指南,请参阅 CloudStack 云指南。
此模块支持检查模式。
示例
- name: 1.2.3.4:80 -> web01:8080
ngine_io.cloudstack.cs_portforward:
ip_address: 1.2.3.4
zone: zone01
vm: web01
public_port: 80
private_port: 8080
- name: forward SSH and open firewall
ngine_io.cloudstack.cs_portforward:
ip_address: '{{ public_ip }}'
zone: zone01
vm: '{{ inventory_hostname }}'
public_port: '{{ ansible_ssh_port }}'
private_port: 22
open_firewall: true
- name: forward DNS traffic, but do not open firewall
ngine_io.cloudstack.cs_portforward:
ip_address: 1.2.3.4
zone: zone01
vm: '{{ inventory_hostname }}'
public_port: 53
private_port: 53
protocol: udp
- name: remove ssh port forwarding
ngine_io.cloudstack.cs_portforward:
ip_address: 1.2.3.4
zone: zone01
public_port: 22
private_port: 22
state: absent
- name: forward SSH in backend tier of VPC
ngine_io.cloudstack.cs_portforward:
ip_address: '{{ public_ip }}'
zone: zone01
vm: '{{ inventory_hostname }}'
public_port: '{{ ansible_ssh_port }}'
private_port: 22
vpc: myVPC
network: backend
返回值
常见的返回值记录在这里,以下是此模块特有的字段
键 |
描述 |
---|---|
公共 IP 地址的 UUID。 返回:成功 示例: |
|
公共 IP 地址。 返回:成功 示例: |
|
网络的名称。 返回:成功 示例: |
|
虚拟机 IP 地址上的结束端口。 返回:成功 示例: |
|
虚拟机 IP 地址上的起始端口。 返回:成功 示例: |
|
协议。 返回:成功 示例: |
|
公共 IP 地址上的结束端口。 返回:成功 示例: |
|
公共 IP 地址上的起始端口。 返回:成功 示例: |
|
与端口转发相关的标签。 返回:成功 示例: |
|
虚拟机的显示名称。 返回:成功 示例: |
|
虚拟机的 IP 地址。 返回:成功 示例: |
|
虚拟机的名称。 返回:成功 示例: |
|
VPC 的名称。 返回:成功 示例: |