vultr.cloud.firewall_rule 模块 – 管理 Vultr 上的防火墙规则

注意

此模块是 vultr.cloud 集合 (版本 1.13.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install vultr.cloud

要在剧本中使用它,请指定:vultr.cloud.firewall_rule

vultr.cloud 1.0.0 中的新增功能

概要

  • 创建和删除防火墙规则。

参数

参数

注释

api_endpoint

字符串

API 端点 URL(不带尾部斜杠)。

回退环境变量 VULTR_API_ENDPOINT

默认值: "https://api.vultr.com/v2"

api_key

字符串 / 必需

Vultr API 的 API 密钥。

回退环境变量 VULTR_API_KEY

api_retries

整数

如果 Vultr API 返回 HTTP 错误代码(例如 - 429 请求过多 - 500 内部服务器错误 - 504 网关超时),则重试次数。

回退环境变量 VULTR_API_RETRIES

默认值: 5

api_retry_max_delay

整数

重试回退延迟(秒),呈指数增长,直至达到此最大值(秒)。

回退环境变量 VULTR_API_RETRY_MAX_DELAY

默认值: 12

api_timeout

整数

到 Vultr API 的 HTTP 超时。

回退环境变量 VULTR_API_TIMEOUT

默认值: 180

group

字符串 / 必需

防火墙组的名称。

ip_type

字符串

IP 地址版本

选项

  • "v4" ← (默认)

  • "v6"

notes

字符串

防火墙规则的注释。

port

别名:port_range

字符串

单个端口或端口范围,例如 808000:8080

如果 *protocol* 是 tcp 或 udp 且 *state=present*,则此参数为必需。

protocol

字符串

防火墙规则的协议。

选项

  • "icmp"

  • "tcp" ← (默认)

  • "udp"

  • "gre"

  • "esp"

  • "ah"

source

字符串

可能的值为 cloudflare 或负载均衡器标签。

与 *subnet* 互斥。

state

字符串

防火墙规则的状态。

选项

  • "present" ← (默认)

  • "absent"

subnet

字符串

网络或 IP,例如 192.0.2.123 或 0.0.0.0。

与 *source* 互斥。

subnet_size

整数

CIDR 表示法中子网掩码的位数,例如 32

validate_certs

布尔值

验证 Vultr API 的 SSL 证书。

选项

  • false

  • true ← (默认)

注释

注意

示例

- name: Ensure a firewall rule is present
  vultr.cloud.firewall_rule:
    group: web
    port: 80
    protocol: tcp
    ip_type: v4
    subnet: "0.0.0.0"
    subnet_size: 0
    notes: "open HTTP to the world"

- name: Ensure a firewall rule with port range is present
  vultr.cloud.firewall_rule:
    group: apps
    port: "8000:8999"
    protocol: tcp
    ip_type: v4
    subnet: "10.10.10.0"
    subnet_size: 24

- name: Ensure a firewall rule is absent
  vultr.cloud.firewall_rule:
    group: apps
    port: "443"
    protocol: tcp
    ip_type: v6
    subnet: "::"
    subnet_size: 0
    state: absent

返回值

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

描述

vultr_api

字典

来自 Vultr API 的响应,并进行了一些补充/修改。

返回:成功

api_endpoint

字符串

用于 API 请求的端点。

返回:成功

示例: "https://api.vultr.com/v2"

api_retries

整数

API 请求的最大重试次数。

返回:成功

示例: 5

api_retry_max_delay

整数

重试之间指数回退延迟(秒),直至达到此最大延迟值。

返回:成功

示例: 12

api_timeout

整数

API 请求的超时时间。

返回:成功

示例: 60

vultr_firewall_rule

字典

来自 Vultr API 的响应。

返回:成功

action

字符串

防火墙规则的动作。

返回:成功

示例: "accept"

id

整数

防火墙规则的 ID。

返回:成功

示例: 1

ip_type

字符串

防火墙规则的 IP 类型。

返回:成功

示例: "v4"

notes

字符串

防火墙规则的描述。

返回:成功

示例: "my rule"

port

字符串

防火墙规则的端口或端口范围。

返回:成功

示例: "80"

protocol

字符串

防火墙规则的协议。

返回:成功

示例: "tcp"

source

字符串

防火墙规则的源字符串。

返回:成功

示例: "cloudflare"

subnet

字符串

防火墙规则的子网。

返回:成功

示例: "0.0.0.0"

subnet_size

整数

防火墙规则的子网大小。

返回:成功

示例: 0

作者

  • René Moser (@resmo)