hetzner.hcloud.firewall_info module – Gather infos about the Hetzner Cloud Firewalls.

Note

This module is part of the hetzner.hcloud collection (version 2.5.0).

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 hetzner.hcloud. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: hetzner.hcloud.firewall_info.

Synopsis

  • Gather facts about your Hetzner Cloud Firewalls.

Aliases: hcloud_firewall_info

Requirements

The below requirements are needed on the host that executes this module.

  • python-dateutil >= 2.7.5

  • requests >=2.20

Parameters

Parameter

Comments

api_endpoint

aliases: endpoint

string

The API Endpoint for the Hetzner Cloud.

You can also set this option by using the HCLOUD_ENDPOINT environment variable.

Default: "https://api.hetzner.cloud/v1"

api_token

string / required

The API Token for the Hetzner Cloud.

You can also set this option by using the HCLOUD_TOKEN environment variable.

id

integer

The ID of the Firewall you want to get.

The module will fail if the provided ID is invalid.

label_selector

string

The label selector for the Firewalls you want to get.

name

string

The name for the Firewall you want to get.

See Also

See also

Documentation for Hetzner Cloud API

Complete reference for the Hetzner Cloud API.

Examples

- name: Gather hcloud Firewall infos
  hetzner.hcloud.firewall_info:
  register: output

- name: Print the gathered infos
  debug:
    var: output

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

hcloud_firewall_info

list / elements=dictionary

List of Firewalls.

Returned: always

applied_to

list / elements=dictionary

List of Resources the Firewall is applied to.

Returned: always

applied_to_resources

list / elements=dictionary

List of Resources the Firewall label selector is applied to.

Returned: if hcloud_firewall_info[].applied_to[].type=label_selector

server

integer

ID of the Server.

Returned: success

Sample: 12345

type

string

Type of resource referenced.

Returned: success

Can only return:

  • "server"

Sample: "server"

label_selector

string

Label selector value.

Returned: success

Sample: "env=prod"

server

integer

ID of the server.

Returned: success

Sample: 12345

type

string

Type of the resource.

Returned: success

Can only return:

  • "server"

  • "label_selector"

Sample: "label_selector"

id

integer

Numeric identifier of the firewall.

Returned: always

Sample: 1937415

labels

dictionary

User-defined labels (key-value pairs).

Returned: always

name

string

Name of the firewall.

Returned: always

Sample: "my-firewall"

rules

list / elements=dictionary

List of rules the firewall contain.

Returned: always

description

string

User defined description of this rule.

Returned: always

Sample: "allow http from anywhere"

destination_ips

list / elements=string

List of destination CIDRs that are allowed within this rule.

Returned: always

Sample: []

direction

string

The direction of the firewall rule.

Returned: always

Sample: "in"

port

string

The port or port range allowed by this rule.

Returned: if hcloud_firewall_info[].rules[].protocol=tcp or hcloud_firewall_info[].rules[].protocol=udp

Sample: "80"

protocol

string

The protocol of the firewall rule.

Returned: always

Sample: "tcp"

source_ips

list / elements=string

List of source CIDRs that are allowed within this rule.

Returned: always

Sample: ["0.0.0.0/0", "::/0"]

Authors

  • Jonas Lammler (@jooola)