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
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定: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 列表。 默认值: |
|
防火墙规则所关联的域。 |
|
此规则的结束端口。如果协议=tcp 或 协议=udp,则考虑。 如果未指定,则等于 start_port。 |
|
此 icmp 消息的错误代码。 如果 协议=icmp,则考虑。 |
|
发送的 icmp 消息的类型。 如果 协议=icmp,则考虑。 |
|
入站规则所分配到的公共 IP 地址。 如果 type=ingress,则为必需。 |
|
出站规则所关联的网络。 如果 type=egress,则为必需。 |
|
轮询异步作业直到作业完成。 选择
|
|
防火墙规则所关联的项目的名称。 |
|
防火墙规则的协议。 仅当 type=egress 时, 选择
|
|
此规则的起始端口。 如果 协议=tcp 或 协议=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。 返回:成功 示例: |
|
如果 返回:成功 示例: |
|
如果 返回:成功 示例: |
|
规则的协议。 返回:成功 示例: |
|
规则的起始端口。 返回:成功 示例: |
|
规则的类型。 返回:成功 示例: |