Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ Name | Description |
[linode.cloud.lock_info](./docs/modules/lock_info.md)|Get info about a Linode Lock.|
[linode.cloud.monitor_services_alert_definition_info](./docs/modules/monitor_services_alert_definition_info.md)|Get info about a Linode Alert Definition.|
[linode.cloud.nodebalancer_info](./docs/modules/nodebalancer_info.md)|Get info about a Linode Node Balancer.|
[linode.cloud.nodebalancer_vpc_info](./docs/modules/nodebalancer_vpc_info.md)|Get info about a Linode VPC Configuration.|
[linode.cloud.object_cluster_info](./docs/modules/object_cluster_info.md)|**NOTE: This module has been deprecated because it relies on deprecated API endpoints. Going forward, `region` will be the preferred way to designate where Object Storage resources should be created.**|
[linode.cloud.object_storage_quota_info](./docs/modules/object_storage_quota_info.md)|Get info about a Linode Object Storage Quota.|
[linode.cloud.placement_group_info](./docs/modules/placement_group_info.md)|Get info about a Linode Placement Group.|
Expand Down Expand Up @@ -139,6 +140,7 @@ Name | Description |
[linode.cloud.network_transfer_prices_list](./docs/modules/network_transfer_prices_list.md)|List and filter on Network Transfer Prices.|
[linode.cloud.nodebalancer_list](./docs/modules/nodebalancer_list.md)|List and filter on Node Balancers.|
[linode.cloud.nodebalancer_type_list](./docs/modules/nodebalancer_type_list.md)|List and filter on Node Balancer Types.|
[linode.cloud.nodebalancer_vpc_list](./docs/modules/nodebalancer_vpc_list.md)|List and filter on Node Balancer VPC Configurations.|
[linode.cloud.object_cluster_list](./docs/modules/object_cluster_list.md)|**NOTE: This module has been deprecated because it relies on deprecated API endpoints. Going forward, `region` will be the preferred way to designate where Object Storage resources should be created.**|
[linode.cloud.object_storage_endpoint_list](./docs/modules/object_storage_endpoint_list.md)|List and filter on Object Storage Endpoints.|
[linode.cloud.object_storage_quota_list](./docs/modules/object_storage_quota_list.md)|List and filter on Object Storage Quotas.|
Expand Down
77 changes: 76 additions & 1 deletion docs/modules/nodebalancer.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ NOTE: UDP NodeBalancer may not currently be available to all users.
region: us-east
tags: [ prod-env ]
state: present
backend_vpcs:
- subnet_id: 12345
ipv4_range: '10.0.0.4/30'
frontend_vpcs:
- subnet_id: 67890
ipv4_range: '10.0.0.8/30'
configs:
- port: 80
protocol: http
Expand Down Expand Up @@ -53,6 +59,10 @@ NOTE: UDP NodeBalancer may not currently be available to all users.
| `firewall_id` | <center>`int`</center> | <center>Optional</center> | The ID of the Firewall to assign this NodeBalancer to. |
| `tags` | <center>`list`</center> | <center>Optional</center> | Tags to assign to this NodeBalancer. **(Updatable)** |
| [`configs` (sub-options)](#configs) | <center>`list`</center> | <center>Optional</center> | A list of configs to apply to the NodeBalancer. **(Updatable)** |
| `type` | <center>`str`</center> | <center>Optional</center> | The type of this NodeBalancer. **(Choices: `common`, `premium`, `premium_40gb`)** |
| [`vpcs` (sub-options)](#vpcs) | <center>`list`</center> | <center>Optional</center> | A VPC configuration for backend nodes. **Deprecated**: Use `backend_vpcs` instead. This field will be removed in a future major release. |
| [`backend_vpcs` (sub-options)](#backend_vpcs) | <center>`list`</center> | <center>Optional</center> | A VPC configuration for backend nodes. |
| [`frontend_vpcs` (sub-options)](#frontend_vpcs) | <center>`list`</center> | <center>Optional</center> | A VPC configuration for frontend nodes. |

### configs

Expand Down Expand Up @@ -86,6 +96,30 @@ NOTE: UDP NodeBalancer may not currently be available to all users.
| `weight` | <center>`int`</center> | <center>Optional</center> | Nodes with a higher weight will receive more traffic. **(Updatable)** |
| `mode` | <center>`str`</center> | <center>Optional</center> | The mode this NodeBalancer should use when sending traffic to this backend. **(Choices: `accept`, `reject`, `drain`, `backup`; Updatable)** |

### vpcs

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `subnet_id` | <center>`int`</center> | <center>**Required**</center> | The ID of the subnet to attach this NodeBalancer to. |
| `ipv4_range` | <center>`str`</center> | <center>Optional</center> | A CIDR range for the VPC's IPv4 addresses. The NodeBalancer sources IP addresses from this range when routing traffic to the backend VPC nodes. |
| `ipv4_range_auto_assign` | <center>`bool`</center> | <center>Optional</center> | Enables the use of a larger ipv4_range subnet for multiple NodeBalancers within the same VPC by allocating smaller /30 subnets for each NodeBalancer's backends. **(Default: `False`)** |

### backend_vpcs

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `subnet_id` | <center>`int`</center> | <center>**Required**</center> | The ID of the subnet to attach this NodeBalancer to. |
| `ipv4_range` | <center>`str`</center> | <center>Optional</center> | A CIDR range for the VPC's IPv4 addresses. The NodeBalancer sources IP addresses from this range when routing traffic to the backend VPC nodes. |
| `ipv4_range_auto_assign` | <center>`bool`</center> | <center>Optional</center> | Enables the use of a larger ipv4_range subnet for multiple NodeBalancers within the same VPC by allocating smaller /30 subnets for each NodeBalancer's backends. **(Default: `False`)** |

### frontend_vpcs

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `subnet_id` | <center>`int`</center> | <center>**Required**</center> | The ID of the subnet to attach this NodeBalancer to. |
| `ipv4_range` | <center>`str`</center> | <center>Optional</center> | A CIDR range for the VPC's IPv4 addresses allocated as the NodeBalancer's frontend IPs. |
| `ipv6_range` | <center>`str`</center> | <center>Optional</center> | A CIDR range for the VPC's IPv6 addresses allocated as the NodeBalancer's frontend IPs. |

## Return Values

- `node_balancer` - The NodeBalancer in JSON serialized form.
Expand All @@ -99,8 +133,11 @@ NOTE: UDP NodeBalancer may not currently be available to all users.
"id": 12345,
"ipv4": "12.34.56.78",
"ipv6": null,
"frontend_address_type": "public",
"frontend_vpc_subnet_id": null,
"label": "balancer12345",
"region": "us-east",
"type": "common",
"tags": [
"example tag",
"another example"
Expand Down Expand Up @@ -151,7 +188,7 @@ NOTE: UDP NodeBalancer may not currently be available to all users.
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-config) for a list of returned fields


- `nodes` - A list of configs applied to the NodeBalancer.
- `nodes` - A list of nodes applied to the NodeBalancer.

- Sample Response:
```json
Expand Down Expand Up @@ -183,3 +220,41 @@ NOTE: UDP NodeBalancer may not currently be available to all users.
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-firewalls) for a list of returned fields


- `vpcs` - A list of VPC configurations for backend nodes.

- Sample Response:
```json
[
{
"id": 123,
"nodebalancer_id": 12345,
"subnet_id": 456,
"vpc_id": 789,
"ipv4_range": "10.0.0.4/30",
"ipv6_range": null,
"purpose": "backend"
}
]
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpcs) for a list of returned fields


- `frontend_vpcs` - A list of VPC configurations for frontend nodes.

- Sample Response:
```json
[
{
"id": 123,
"nodebalancer_id": 12345,
"subnet_id": 456,
"vpc_id": 789,
"ipv4_range": "10.0.0.4/30",
"ipv6_range": "2001:db8:1234::/48",
"purpose": "frontend"
}
]
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpcs) for a list of returned fields


41 changes: 41 additions & 0 deletions docs/modules/nodebalancer_info.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@ Get info about a Linode Node Balancer.
"id": 12345,
"ipv4": "12.34.56.78",
"ipv6": null,
"frontend_address_type": "public",
"frontend_vpc_subnet_id": null,
"label": "balancer12345",
"region": "us-east",
"type": "common",
"tags": [
"example tag",
"another example"
Expand Down Expand Up @@ -165,3 +168,41 @@ Get info about a Linode Node Balancer.
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-firewalls) for a list of returned fields


- `vpcs` - The returned vpcs.

- Sample Response:
```json
[
{
"id": 123,
"nodebalancer_id": 12345,
"subnet_id": 456,
"vpc_id": 789,
"ipv4_range": "10.0.0.4/30",
"ipv6_range": null,
"purpose": "backend"
}
]
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpcs) for a list of returned fields


- `frontend_vpcs` - The returned frontend_vpcs.

- Sample Response:
```json
[
{
"id": 123,
"nodebalancer_id": 12345,
"subnet_id": 456,
"vpc_id": 789,
"ipv4_range": "10.0.0.4/30",
"ipv6_range": "2001:db8:1234::/48",
"purpose": "frontend"
}
]
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpcs) for a list of returned fields


5 changes: 4 additions & 1 deletion docs/modules/nodebalancer_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ List and filter on Node Balancers.
"id": 12345,
"ipv4": "203.0.113.1",
"ipv6": null,
"frontend_address_type": "public",
"frontend_vpc_subnet_id": null,
"label": "balancer12345",
"region": "us-east",
"tags": [
Expand All @@ -69,7 +71,8 @@ List and filter on Node Balancers.
"out": 3.5487728118896484,
"total": 32.46078109741211
},
"updated": "2018-03-01T00:01:01"
"updated": "2018-03-01T00:01:01",
"type": "common"
}
]
```
Expand Down
60 changes: 60 additions & 0 deletions docs/modules/nodebalancer_vpc_info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# nodebalancer_vpc_info

Get info about a Linode VPC Configuration.

- [Minimum Required Fields](#minimum-required-fields)
- [Examples](#examples)
- [Parameters](#parameters)
- [Return Values](#return-values)

## Minimum Required Fields
| Field | Type | Required | Description |
|-------------|-------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `api_token` | `str` | **Required** | The Linode account personal access token. It is necessary to run the module. <br/>It can be exposed by the environment variable `LINODE_API_TOKEN` instead. <br/>See details in [Usage](https://github.com/linode/ansible_linode?tab=readme-ov-file#usage). |

## Examples

```yaml
- name: Get a NodeBalancer VPC configuration by its id
linode.cloud.nodebalancer_vpc_info:
id: 12345
vpc_config_id: 123
```

```yaml
- name: Get a NodeBalancer by its label
linode.cloud.nodebalancer_vpc_info:
label: cool_nodebalancer
vpc_config_id: 123
```


## Parameters

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `vpc_config_id` | <center>`int`</center> | <center>**Required**</center> | The ID of the VPC Config for this resource. |
| `id` | <center>`int`</center> | <center>Optional</center> | The ID of the NodeBalancer to retrieve the VPC configuration from. **(Conflicts With: `label`)** |
| `label` | <center>`str`</center> | <center>Optional</center> | The label of the NodeBalancer to retrieve the VPC configuration from. **(Conflicts With: `id`)** |

## Return Values

- `vpc_config` - The returned VPC Configuration.

- Sample Response:
```json

{
"id": 123,
"nodebalancer_id": 12345,
"subnet_id": 456,
"vpc_id": 789,
"ipv4_range": "10.0.0.4/30",
"ipv6_range": null,
"purpose": "backend"
}

```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpc-config) for a list of returned fields


70 changes: 70 additions & 0 deletions docs/modules/nodebalancer_vpc_list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# nodebalancer_vpc_list

List and filter on Node Balancer VPC Configurations.

- [Minimum Required Fields](#minimum-required-fields)
- [Examples](#examples)
- [Parameters](#parameters)
- [Return Values](#return-values)

## Minimum Required Fields
| Field | Type | Required | Description |
|-------------|-------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `api_token` | `str` | **Required** | The Linode account personal access token. It is necessary to run the module. <br/>It can be exposed by the environment variable `LINODE_API_TOKEN` instead. <br/>See details in [Usage](https://github.com/linode/ansible_linode?tab=readme-ov-file#usage). |

## Examples

```yaml
- name: List all of the Nodebalancer VPC configurations for a specific NodeBalancer
linode.cloud.nodebalancer_vpc_list:
nodebalancer_id: 123
```


## Parameters

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `nodebalancer_id` | <center>`int`</center> | <center>**Required**</center> | The parent NodeBalancer for the Node Balancer VPC Configurations. |
| `order` | <center>`str`</center> | <center>Optional</center> | The order to list Node Balancer VPC Configurations in. **(Choices: `desc`, `asc`; Default: `asc`)** |
| `order_by` | <center>`str`</center> | <center>Optional</center> | The attribute to order Node Balancer VPC Configurations by. |
| [`filters` (sub-options)](#filters) | <center>`list`</center> | <center>Optional</center> | A list of filters to apply to the resulting Node Balancer VPC Configurations. |
| `count` | <center>`int`</center> | <center>Optional</center> | The number of Node Balancer VPC Configurations to return. If undefined, all results will be returned. |

### filters

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `name` | <center>`str`</center> | <center>**Required**</center> | The name of the field to filter on. Valid filterable fields can be found [here](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpcs). |
| `values` | <center>`list`</center> | <center>**Required**</center> | A list of values to allow for this field. Fields will pass this filter if at least one of these values matches. |

## Return Values

- `nodebalancer_vpc_configs` - The returned Node Balancer VPC Configurations.

- Sample Response:
```json
[
{
"id": 123,
"nodebalancer_id": 456,
"vpc_id": 89,
"subnet_id": 21,
"ipv4_range": "10.0.0.3/32",
"ipv6_range": null,
"purpose": "frontend"
},
{
"id": 124,
"nodebalancer_id": 457,
"vpc_id": 90,
"subnet_id": 22,
"ipv4_range": "10.0.0.4/30",
"ipv6_range": "/64",
"purpose": "backend"
}
]
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpcs) for a list of returned fields


Loading