Target Group

target_group

This is a simple module that supports creating or removing Target Groups.

Example Syntax


name: Create Target Group
ionoscloudsdk.ionoscloud.target_group:
  name: 'AnsibleAutoTestALB'
  algorithm: ROUND_ROBIN
  protocol: HTTP
  targets:
  - ip: 22.231.2.2
    port: 8080
    weight: 123
    health_check_enabled: true
    maintenance_enabled: false
  health_check:
    check_timeout: 2000
    check_interval: 1000
    retries: 3
  http_health_check:
    path: ./
    method: GET
    match_type: STATUS_CODE
    response: '200'
    regex: false
    negate: false
  wait: true
register: target_group_response


name: Update Target Group
ionoscloudsdk.ionoscloud.target_group:
  name: 'AnsibleAutoTestALB - UPDATED'
  algorithm: ROUND_ROBIN
  protocol: HTTP
  target_group: ''
  wait: true
  state: update
register: target_group_response_update


name: Remove Target Group
ionoscloudsdk.ionoscloud.target_group:
  target_group: ''
  wait: true
  wait_timeout: 2000
  state: absent

Returned object

{
    "changed": true,
    "failed": false,
    "action": "create",
    "target_group": {
        "href": "https://api.ionos.com/cloudapi/v6/targetgroups/5f757b12-776b-4ac0-befb-56499db09baf",
        "id": "5f757b12-776b-4ac0-befb-56499db09baf",
        "metadata": {
            "created_by": "<USER_EMAIL>",
            "created_by_user_id": "<USER_ID>",
            "created_date": "2023-06-06T10:01:58+00:00",
            "etag": "8f3a5c9d9ddd3ef6312b02d3bc9c319e",
            "last_modified_by": "<USER_EMAIL>",
            "last_modified_by_user_id": "<USER_ID>",
            "last_modified_date": "2023-06-06T10:01:58+00:00",
            "state": "BUSY"
        },
        "properties": {
            "algorithm": "ROUND_ROBIN",
            "health_check": {
                "check_interval": 1000,
                "check_timeout": 2000,
                "retries": 3
            },
            "http_health_check": {
                "match_type": "STATUS_CODE",
                "method": "GET",
                "negate": false,
                "path": "./",
                "regex": false,
                "response": "200"
            },
            "name": "AnsibleAutoTestALB",
            "protocol": "HTTP",
            "targets": [
                {
                    "health_check_enabled": true,
                    "ip": "<IP>",
                    "maintenance_enabled": null,
                    "port": 8080,
                    "weight": 123
                }
            ]
        },
        "type": "target-group"
    }
}

For more examples please check out the tests here.

state: present

  
name: Create Target Group
ionoscloudsdk.ionoscloud.target_group:
  name: 'AnsibleAutoTestALB'
  algorithm: ROUND_ROBIN
  protocol: HTTP
  targets:
  - ip: 22.231.2.2
    port: 8080
    weight: 123
    health_check_enabled: true
    maintenance_enabled: false
  health_check:
    check_timeout: 2000
    check_interval: 1000
    retries: 3
  http_health_check:
    path: ./
    method: GET
    match_type: STATUS_CODE
    response: '200'
    regex: false
    negate: false
  wait: true
register: target_group_response

Available parameters for state present:

NameRequiredDescription

name str

True

The target group name.

algorithm str

True

The balancing algorithm. A balancing algorithm consists of predefined rules with the logic that a load balancer uses to distribute network traffic between servers. - **Round Robin**: Targets are served alternately according to their weighting. - **Least Connection**: The target with the least active connection is served. - **Random**: The targets are served based on a consistent pseudorandom algorithm. - **Source IP**: It is ensured that the same client IP address reaches the same target.

protocol str

True

The forwarding protocol. Only the value 'HTTP' is allowed.

health_check dict

False

Health check properties for target group.

http_health_check dict

False

HTTP health check properties for target group.

targets list

False

Array of items in the collection.

api_url str

False

The Ionos API base URL.

certificate_fingerprint str

False

The Ionos API certificate fingerprint.

username str

False

The Ionos username. Overrides the IONOS_USERNAME environment variable.

password str

False

The Ionos password. Overrides the IONOS_PASSWORD environment variable.

token str

False

The Ionos token. Overrides the IONOS_TOKEN environment variable.

wait bool

False

Wait for the resource to be created before returning. Default: True Options: [True, False]

wait_timeout int

False

How long before wait gives up, in seconds. Default: 600

state str

False

Indicate desired state of the resource. Default: present Options: ['present', 'absent', 'update']

state: absent

  
name: Remove Target Group
ionoscloudsdk.ionoscloud.target_group:
  target_group: ''
  wait: true
  wait_timeout: 2000
  state: absent

Available parameters for state absent:

NameRequiredDescription

name str

False

The target group name.

target_group str

True

The ID or name of the Target Group.

api_url str

False

The Ionos API base URL.

certificate_fingerprint str

False

The Ionos API certificate fingerprint.

username str

False

The Ionos username. Overrides the IONOS_USERNAME environment variable.

password str

False

The Ionos password. Overrides the IONOS_PASSWORD environment variable.

token str

False

The Ionos token. Overrides the IONOS_TOKEN environment variable.

wait bool

False

Wait for the resource to be created before returning. Default: True Options: [True, False]

wait_timeout int

False

How long before wait gives up, in seconds. Default: 600

state str

False

Indicate desired state of the resource. Default: present Options: ['present', 'absent', 'update']

state: update

  
name: Update Target Group
ionoscloudsdk.ionoscloud.target_group:
  name: 'AnsibleAutoTestALB - UPDATED'
  algorithm: ROUND_ROBIN
  protocol: HTTP
  target_group: ''
  wait: true
  state: update
register: target_group_response_update

Available parameters for state update:

NameRequiredDescription

name str

False

The target group name.

algorithm str

False

The balancing algorithm. A balancing algorithm consists of predefined rules with the logic that a load balancer uses to distribute network traffic between servers. - **Round Robin**: Targets are served alternately according to their weighting. - **Least Connection**: The target with the least active connection is served. - **Random**: The targets are served based on a consistent pseudorandom algorithm. - **Source IP**: It is ensured that the same client IP address reaches the same target.

protocol str

False

The forwarding protocol. Only the value 'HTTP' is allowed.

health_check dict

False

Health check properties for target group.

http_health_check dict

False

HTTP health check properties for target group.

targets list

False

Array of items in the collection.

target_group str

True

The ID or name of the Target Group.

api_url str

False

The Ionos API base URL.

certificate_fingerprint str

False

The Ionos API certificate fingerprint.

username str

False

The Ionos username. Overrides the IONOS_USERNAME environment variable.

password str

False

The Ionos password. Overrides the IONOS_PASSWORD environment variable.

token str

False

The Ionos token. Overrides the IONOS_TOKEN environment variable.

wait bool

False

Wait for the resource to be created before returning. Default: True Options: [True, False]

wait_timeout int

False

How long before wait gives up, in seconds. Default: 600

state str

False

Indicate desired state of the resource. Default: present Options: ['present', 'absent', 'update']

Last updated