stephrobert.scaleway.lb_frontend module – Manage a Scaleway Load Balancer frontend
Note
This module is part of the stephrobert.scaleway collection (version 0.7.0).
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 stephrobert.scaleway.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: stephrobert.scaleway.lb_frontend.
New in stephrobert.scaleway 0.1.0
Synopsis
Update a given frontend, specified by its frontend ID. You can update configuration parameters including its name and the port it listens on.
The module reads the resource first and writes the whole body, because this operation replaces the resource: fields you do not set keep the value the API returns. A second run reports no change.
Requirements
The below requirements are needed on the host that executes this module.
scaleway >= 2.9.0
Parameters
Parameter |
Comments |
|---|---|
Scaleway API access key. |
|
Allow the API endpoint to be reached without verifying its TLS certificate. Falls back to the Scaleway configuration file, then to Choices:
|
|
Seconds allowed for a single API call, connection and read. Without a limit a silent connection would hang the module forever: the Scaleway SDK issues its requests with no timeout at all. This bounds a single call, not a whole wait. Modules that can wait for a state bound the overall wait separately. Default: |
|
URL of the Scaleway API endpoint. Point it at a local emulator to exercise a playbook without credentials. Falls back to the Scaleway configuration file, then to |
|
Backend ID (ID of the backend the frontend should pass traffic to). |
|
Certificate ID, deprecated in favor of certificate_ids array. Deprecated by the Scaleway API contract. To clear this field, write `certificate_id: “”`; omit the option to leave the current value untouched. Setting it to null is refused: this API reads null as “field not provided” and would change nothing. |
|
List of SSL/TLS certificate IDs to bind to the frontend. To clear this field, write `certificate_ids: []`; omit the option to leave the current value untouched. Setting it to null is refused: this API reads null as “field not provided” and would change nothing. |
|
Path to the Scaleway configuration file. |
|
Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second. The contract marks this field clearable, but int has no empty value, so the API cannot clear it. Setting it to null is refused: this API reads null as “field not provided” and would change nothing. |
|
Defines whether to enable access logs on the frontend. The contract marks this field clearable, but bool has no empty value, so the API cannot clear it. Setting it to null is refused: this API reads null as “field not provided” and would change nothing. Choices:
|
|
Defines whether to enable HTTP/3 protocol on the frontend. Choices:
|
|
Frontend ID. |
|
Port the frontend should listen on. |
|
Frontend name. |
|
Default Organization ID used when an operation does not name one. |
|
Name of the profile to read in the Scaleway configuration file. |
|
Default Project ID used when an operation does not name one. |
|
Scaleway API secret key. |
|
Maximum allowed inactivity time on the client side. (in milliseconds) |
|
Value of the User-Agent header sent to the API. |
|
The zone you want to target Choices:
|
Attributes
Attribute |
Support |
Description |
|---|---|---|
Support: full |
In check mode the module reads the resource and compares it, then reports what it would write without writing it. |
|
Support: full |
The module reports the fields that differ, read through the same projection the comparison uses. |
Notes
Note
Every option can be set from its environment variable, respectively
SCW_PROFILE,SCW_CONFIG_PATH,SCW_ACCESS_KEY,SCW_SECRET_KEY,SCW_API_URL,SCW_DEFAULT_ORGANIZATION_IDandSCW_DEFAULT_PROJECT_ID.Module options take precedence over environment variables, which take precedence over the configuration file.
Examples
# The module reads the resource, compares, and writes only what
# differs: run it twice and the second run reports no change.
#
# Check mode compares without writing, and `--diff` shows what would
# change. A parameter you do not pass is a parameter the module does
# not touch.
- name: Update a Scaleway Load Balancer frontend
stephrobert.scaleway.lb_frontend:
zone: fr-par-1
frontend_id: 11111111-2222-3333-4444-555555555555
backend_id: 11111111-2222-3333-4444-555555555555
inbound_port: 80
name: my-frontend
register: result
- name: Preview the change on a Scaleway Load Balancer frontend without writing
stephrobert.scaleway.lb_frontend:
zone: fr-par-1
frontend_id: 11111111-2222-3333-4444-555555555555
backend_id: 11111111-2222-3333-4444-555555555555
inbound_port: 80
name: my-frontend
register: result
check_mode: true
diff: true
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Get the full details of a given frontend, specified by its frontend ID. The response contains the frontend’s full configuration parameters including the backend it is attached to, the port it listens on, and any certificates it has. Returned: success |
|
Backend object the frontend is attached to. Returned: when the API returns it |
|
Certificate, deprecated in favor of certificate_ids array. Deprecated by the Scaleway API contract. Returned: when the API returns it |
|
List of SSL/TLS certificate IDs to bind to the frontend. Returned: when the API returns it |
|
Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second. Returned: when the API returns it |
|
Date on which the frontend was created. (RFC 3339 format) Returned: when the API returns it |
|
Defines whether to enable access logs on the frontend. Returned: when the API returns it |
|
Defines whether to enable HTTP/3 protocol on the frontend. Returned: when the API returns it |
|
Frontend ID. Returned: when the API returns it |
|
Port the frontend listens on. Returned: when the API returns it |
|
Load Balancer object the frontend is attached to. Returned: when the API returns it |
|
Name of the frontend. Returned: when the API returns it |
|
Maximum allowed inactivity time on the client side. (in milliseconds) Returned: when the API returns it |
|
Date on which the frontend was last updated. (RFC 3339 format) Returned: when the API returns it |