ngine_io.vultr.vultr_firewall_rule module – Manages firewall rules on Vultr.
Note
This module is part of the ngine_io.vultr collection (version 1.1.2).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install ngine_io.vultr
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: ngine_io.vultr.vultr_firewall_rule
.
New in ngine_io.vultr 0.1.0
Synopsis
Create and remove firewall rules.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.6
Parameters
Parameter |
Comments |
---|---|
Name of the ini section in the The ENV variable Default: |
|
URL to API endpint (without trailing slash). The ENV variable Fallback value is https://api.vultr.com if not specified. |
|
API key of the Vultr API. The ENV variable |
|
Amount of retries in case of the Vultr API retuns an HTTP 503 code. The ENV variable Fallback value is 5 retries if not specified. |
|
Retry backoff delay in seconds is exponential up to this max. value, in seconds. The ENV variable Fallback value is 12 seconds. |
|
HTTP timeout to Vultr API. The ENV variable Fallback value is 60 seconds if not specified. |
|
Network in CIDR format The CIDR format must match with the Required if Defaulted to 0.0.0.0/0 or ::/0 depending on |
|
End port for the firewall rule. Only considered if |
|
Name of the firewall group. |
|
IP address version Choices:
|
|
Protocol of the firewall rule. Choices:
|
|
Start port for the firewall rule. Required if |
|
State of the firewall rule. Choices:
|
|
Validate SSL certs of the Vultr API. Choices:
|
Notes
Note
Also see the API documentation on https://www.vultr.com/api/.
Examples
- name: ensure a firewall rule is present
ngine_io.vultr.vultr_firewall_rule:
group: application
protocol: tcp
start_port: 8000
end_port: 9000
cidr: 17.17.17.0/24
- name: open DNS port for all ipv4 and ipv6
ngine_io.vultr.vultr_firewall_rule:
group: dns
protocol: udp
port: 53
ip_version: "{{ item }}"
with_items: [ v4, v6 ]
- name: allow ping
ngine_io.vultr.vultr_firewall_rule:
group: web
protocol: icmp
- name: ensure a firewall rule is absent
ngine_io.vultr.vultr_firewall_rule:
group: application
protocol: tcp
start_port: 8000
end_port: 9000
cidr: 17.17.17.0/24
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Response from Vultr API with a few additions/modification Returned: success |
|
Account used in the ini file to select the key Returned: success Sample: |
|
Endpoint used for the API requests Returned: success Sample: |
|
Amount of max retries for the API requests Returned: success Sample: |
|
Exponential backoff delay in seconds between retries up to this max delay value. Returned: success Sample: |
|
Timeout used for the API requests Returned: success Sample: |
|
Response from Vultr API Returned: success |
|
Action of the firewall rule Returned: success Sample: |
|
CIDR of the firewall rule (IPv4 or IPv6) Returned: success and when port range Sample: |
|
End port of the firewall rule Returned: success and when port range and protocol is tcp or udp Sample: |
|
Firewall group the rule is into. Returned: success Sample: |
|
Protocol of the firewall rule Returned: success Sample: |
|
Rule number of the firewall rule Returned: success Sample: |
|
Start port of the firewall rule Returned: success and protocol is tcp or udp Sample: |