community.general.oneandone_firewall_policy 模块 – 配置 1&1 防火墙策略

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在剧本中使用它,请指定: community.general.oneandone_firewall_policy

概要

  • 创建、删除、重新配置、更新防火墙策略。此模块依赖于 1and1 >= 1.0。

要求

执行此模块的主机需要以下要求。

  • 1and1

参数

参数

注释

add_rules

列表 / 元素=字典

将添加到现有防火墙策略的规则列表。其语法与 rules 参数的语法相同。与 update 状态一起使用。

默认值: []

add_server_ips

列表 / 元素=字符串

要分配到防火墙策略的服务器标识符 (id 或名称) 列表。与 update 状态一起使用。

默认值: []

api_url

字符串

自定义 API URL。覆盖 ONEANDONE_API_URL 环境变量。

auth_token

字符串

1&1 提供的身份验证 API 令牌。

description

字符串

防火墙策略描述。maxLength=256

firewall_policy

字符串

与 update 状态一起使用的防火墙策略标识符 (id 或名称)。

name

字符串

与 present 状态一起使用的防火墙策略名称。与 absent 状态一起使用时用作标识符 (id 或名称)。maxLength=128

remove_rules

列表 / 元素=字符串

将从现有防火墙策略中删除的规则 ID 列表。与 update 状态一起使用。

默认值: []

remove_server_ips

列表 / 元素=字符串

要从防火墙策略中取消分配的服务器 IP ID 列表。与 update 状态一起使用。

默认值: []

rules

列表 / 元素=字典

将为防火墙策略设置的规则列表。每个规则都必须包含 protocol 参数,以及三个可选参数 (port_from、port_to 和 source)

默认值: []

state

字符串

定义要创建、删除或更新的防火墙策略状态。

选项

  • "present" ← (默认)

  • "absent"

  • "update"

wait

布尔值

等待实例处于“运行”状态后才返回

选项

  • false

  • true ← (默认)

wait_interval

整数

定义使用 _wait_for 方法时要等待的秒数

默认值: 5

wait_timeout

整数

等待放弃之前的时长(秒)

默认值: 600

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

处于 diff 模式时,将返回有关更改内容(或可能需要在 check_mode 中进行更改)的详细信息。

示例

- name: Create a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    name: ansible-firewall-policy
    description: Testing creation of firewall policies with ansible
    rules:
     -
       protocol: TCP
       port_from: 80
       port_to: 80
       source: 0.0.0.0
    wait: true
    wait_timeout: 500

- name: Destroy a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    state: absent
    name: ansible-firewall-policy

- name: Update a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    state: update
    firewall_policy: ansible-firewall-policy
    name: ansible-firewall-policy-updated
    description: Testing creation of firewall policies with ansible - updated

- name: Add server to a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    firewall_policy: ansible-firewall-policy-updated
    add_server_ips:
     - server_identifier (id or name)
     - server_identifier #2 (id or name)
    wait: true
    wait_timeout: 500
    state: update

- name: Remove server from a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    firewall_policy: ansible-firewall-policy-updated
    remove_server_ips:
     - B2504878540DBC5F7634EB00A07C1EBD (server's IP id)
    wait: true
    wait_timeout: 500
    state: update

- name: Add rules to a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    firewall_policy: ansible-firewall-policy-updated
    description: Adding rules to an existing firewall policy
    add_rules:
     -
       protocol: TCP
       port_from: 70
       port_to: 70
       source: 0.0.0.0
     -
       protocol: TCP
       port_from: 60
       port_to: 60
       source: 0.0.0.0
    wait: true
    wait_timeout: 500
    state: update

- name: Remove rules from a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    firewall_policy: ansible-firewall-policy-updated
    remove_rules:
     - rule_id #1
     - rule_id #2
     - ...
    wait: true
    wait_timeout: 500
    state: update

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

firewall_policy

字典

关于已处理的防火墙策略的信息

返回值:始终

示例: {"id": "92B74394A397ECC3359825C1656D67A6", "name": "Default Policy"}

作者

  • Amel Ajdinovic (@aajdinov)

  • Ethan Devenport (@edevenport)