community.general.oneandone_firewall_policy (8.5.0) — module

Configure 1&1 firewall policy

Authors: Amel Ajdinovic (@aajdinov), Ethan Devenport (@edevenport)

Install collection

Install with ansible-galaxy collection install community.general:==8.5.0


Add to requirements.yml

  collections:
    - name: community.general
      version: 8.5.0

Description

Create, remove, reconfigure, update firewall policies. This module has a dependency on 1and1 >= 1.0.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Destroy a firewall policy
  community.general.oneandone_firewall_policy:
    auth_token: oneandone_private_api_key
    state: absent
    name: ansible-firewall-policy
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
name:
    description:
    - Firewall policy name used with present state. Used as identifier (id or name) when
      used with absent state. maxLength=128
    type: str

wait:
    default: true
    description:
    - wait for the instance to be in state 'running' before returning
    required: false
    type: bool

rules:
    default: []
    description:
    - A list of rules that will be set for the firewall policy. Each rule must contain
      protocol parameter, in addition to three optional parameters (port_from, port_to,
      and source)
    elements: dict
    type: list

state:
    choices:
    - present
    - absent
    - update
    default: present
    description:
    - Define a firewall policy state to create, remove, or update.
    required: false
    type: str

api_url:
    description:
    - Custom API URL. Overrides the ONEANDONE_API_URL environment variable.
    required: false
    type: str

add_rules:
    default: []
    description:
    - A list of rules that will be added to an existing firewall policy. It is syntax
      is the same as the one used for rules parameter. Used in combination with update
      state.
    elements: dict
    required: false
    type: list

auth_token:
    description:
    - Authenticating API token provided by 1&1.
    type: str

description:
    description:
    - Firewall policy description. maxLength=256
    required: false
    type: str

remove_rules:
    default: []
    description:
    - A list of rule ids that will be removed from an existing firewall policy. Used in
      combination with update state.
    elements: str
    required: false
    type: list

wait_timeout:
    default: 600
    description:
    - how long before wait gives up, in seconds
    type: int

wait_interval:
    default: 5
    description:
    - Defines the number of seconds to wait when using the _wait_for methods
    type: int

add_server_ips:
    default: []
    description:
    - A list of server identifiers (id or name) to be assigned to a firewall policy. Used
      in combination with update state.
    elements: str
    required: false
    type: list

firewall_policy:
    description:
    - The identifier (id or name) of the firewall policy used with update state.
    type: str

remove_server_ips:
    default: []
    description:
    - A list of server IP ids to be unassigned from a firewall policy. Used in combination
      with update state.
    elements: str
    required: false
    type: list

Outputs

firewall_policy:
  description: Information about the firewall policy that was processed
  returned: always
  sample: '{"id": "92B74394A397ECC3359825C1656D67A6", "name": "Default Policy"}'
  type: dict