ngine_io.cloudstack.cs_firewall 模块 – 管理基于 Apache CloudStack 云的防火墙规则。
注意
此模块是 ngine_io.cloudstack 集合 (版本 2.5.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install ngine_io.cloudstack
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在剧本中使用它,请指定:ngine_io.cloudstack.cs_firewall
。
ngine_io.cloudstack 0.1.0 中的新增功能
概要
创建和删除防火墙规则。
要求
执行此模块的主机需要以下要求。
python >= 2.6
cs >= 0.9.0
参数
参数 |
注释 |
---|---|
防火墙规则相关的账户。 |
|
用于查询 API 端点的 HTTP 方法。 如果未给出,则考虑 选项
|
|
CloudStack API 的 API 密钥。 如果未给出,则考虑 |
|
CloudStack API 的密钥。 如果未设置,则考虑 |
|
HTTP 超时时间(秒)。 如果未给出,则考虑 默认值: |
|
CloudStack API 的 URL,例如 https://cloud.example.com/client/api。 如果未给出,则考虑 |
|
验证 CA 权威证书文件。 如果未给出,则考虑 |
|
用于防火墙规则的 CIDR 列表(完整表示法)。 从 2.5 版本开始,它是一个 CIDR 列表。 默认值: |
|
防火墙规则相关的域。 |
|
此规则的结束端口。如果 protocol=tcp 或 protocol=udp 则考虑。 如果未指定,则等于 start_port。 |
|
此 icmp 消息的错误代码。 如果 protocol=icmp 则考虑。 |
|
正在发送的 icmp 消息的类型。 如果 protocol=icmp 则考虑。 |
|
分配给入站规则的公有 IP 地址。 如果 type=ingress 则必需。 |
|
出站规则相关的网络。 如果 type=egress 则必需。 |
|
轮询异步作业,直到作业完成。 选项
|
|
防火墙规则相关的项目的名称。 |
|
防火墙规则的协议。
选项
|
|
此规则的起始端口。 如果 protocol=tcp 或 protocol=udp 则考虑。 |
|
防火墙规则的状态。 选项
|
|
标签列表。标签是具有键 key 和 value 的字典列表。 要删除所有标签,请设置一个空列表,例如 tags: []。 |
|
防火墙规则的类型。 选项
|
|
如果为 如果未给出,则考虑 这只能用于使用自签名证书的个人控制站点。 选项
|
|
虚拟机所在的区域的名称。 |
注释
注意
关于 CloudStack 模块的详细指南,请参见CloudStack 云指南。
此模块支持检查模式。
示例
- name: Allow inbound port 80/tcp from 1.2.3.4 to 4.3.2.1
ngine_io.cloudstack.cs_firewall:
ip_address: 4.3.2.1
zone: zone01
port: 80
cidr: 1.2.3.4/32
- name: Allow inbound tcp/udp port 53 to 4.3.2.1
ngine_io.cloudstack.cs_firewall:
ip_address: 4.3.2.1
zone: zone01
port: 53
protocol: '{{ item }}'
with_items:
- tcp
- udp
- name: Ensure firewall rule is removed
ngine_io.cloudstack.cs_firewall:
ip_address: 4.3.2.1
zone: zone01
start_port: 8000
end_port: 8888
cidr: 17.0.0.0/8
state: absent
- name: Allow all outbound traffic
ngine_io.cloudstack.cs_firewall:
network: my_network
zone: zone01
type: egress
protocol: all
- name: Allow only HTTP outbound traffic for an IP
ngine_io.cloudstack.cs_firewall:
network: my_network
zone: zone01
type: egress
port: 80
cidr: 10.101.1.20
返回值
常用返回值已在此处记录,以下是此模块独有的字段:
键 |
描述 |
---|---|
规则的 CIDR 字符串。 返回值: 成功 示例: |
|
规则的 CIDR 列表。 返回值: 成功 示例: |
|
规则的结束端口。 返回值: 成功 示例: |
|
规则的 ICMP 代码。 返回值: 成功 示例: |
|
规则的 ICMP 类型。 返回值: 成功 示例: |
|
规则的 UUID。 返回值: 成功 示例: |
|
如果 返回值: 成功 示例: |
|
如果 返回值: 成功 示例: |
|
规则的协议。 返回值: 成功 示例: |
|
规则的起始端口。 返回值: 成功 示例: |
|
规则的类型。 返回值: 成功 示例: |