Skip to content
Merged
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
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,11 @@ else
echo "LINODE_API_TOKEN must be set"; \
exit 1;
endif
# Add producer/consumer tokens, may be empty
@echo "producer_api_token: $${LINODE_PRODUCER_API_TOKEN:-}" >> $(INTEGRATION_CONFIG)
@echo "consumer_api_token: $${LINODE_CONSUMER_API_TOKEN:-}" >> $(INTEGRATION_CONFIG)

# Common settings
@echo "ua_prefix: E2E" >> $(INTEGRATION_CONFIG)
@echo "api_url: $$(url=$${LINODE_API_URL:-$${TEST_API_URL:-https://api.linode.com}}; echo $${url%/}/)" >> $(INTEGRATION_CONFIG)
@echo "api_version: $${LINODE_API_VERSION:-$${TEST_API_VERSION:-v4beta}}" >> $(INTEGRATION_CONFIG)
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ Name | Description |
[linode.cloud.firewall_device](./docs/modules/firewall_device.md)|Manage Linode Firewall Devices.|
[linode.cloud.firewall_settings](./docs/modules/firewall_settings.md)|Configure the firewall settings for the account.|
[linode.cloud.image](./docs/modules/image.md)|Manage a Linode Image.|
[linode.cloud.image_share_group](./docs/modules/image_share_group.md)|Manage an Image Share Group.|
[linode.cloud.image_share_group_member](./docs/modules/image_share_group_member.md)|Manage an Image Share Group Member.|
[linode.cloud.image_share_group_token](./docs/modules/image_share_group_token.md)|Manage an Image Share Group Token.|
[linode.cloud.instance](./docs/modules/instance.md)|Manage Linode Instances, Configs, and Disks.|
[linode.cloud.instance_interface_settings](./docs/modules/instance_interface_settings.md)|Create, read, and update the interface settings for a Linode instance.|
[linode.cloud.ip](./docs/modules/ip.md)|Allocates a new IPv4 Address on your Account. The Linode must be configured to support additional addresses - please Open a support ticket requesting additional addresses before attempting allocation.|
Expand Down Expand Up @@ -66,6 +69,7 @@ Name | Description |
[linode.cloud.account_availability_info](./docs/modules/account_availability_info.md)|Get info about a Linode Account Availability.|
[linode.cloud.account_info](./docs/modules/account_info.md)|Get info about a Linode Account.|
[linode.cloud.child_account_info](./docs/modules/child_account_info.md)|Get info about a Linode Child Account.|
[linode.cloud.consumer_image_share_group_info](./docs/modules/consumer_image_share_group_info.md)|Get info about a Linode Image Share Group.|
[linode.cloud.database_config_info](./docs/modules/database_config_info.md)|Get info about a Linode Configuration.|
[linode.cloud.database_mysql_info](./docs/modules/database_mysql_info.md)|Get info about a Linode MySQL Managed Database.|
[linode.cloud.database_postgresql_info](./docs/modules/database_postgresql_info.md)|Get info about a Linode PostgreSQL Managed Database.|
Expand All @@ -75,6 +79,9 @@ Name | Description |
[linode.cloud.firewall_settings_info](./docs/modules/firewall_settings_info.md)|Get info about a Linode Firewall Settings.|
[linode.cloud.firewall_template_info](./docs/modules/firewall_template_info.md)|Get info about a Linode Firewall Template.|
[linode.cloud.image_info](./docs/modules/image_info.md)|Get info about a Linode Image.|
[linode.cloud.image_share_group_info](./docs/modules/image_share_group_info.md)|Get info about a Linode Image Share Group.|
[linode.cloud.image_share_group_member_info](./docs/modules/image_share_group_member_info.md)|Get info about a Linode Image Share Group Member.|
[linode.cloud.image_share_group_token_info](./docs/modules/image_share_group_token_info.md)|Get info about a Linode Image Share Group Token.|
[linode.cloud.instance_info](./docs/modules/instance_info.md)|Get info about a Linode Instance.|
[linode.cloud.instance_interface_settings_info](./docs/modules/instance_interface_settings_info.md)|Get the interface settings for a Linode instance.|
[linode.cloud.ip_info](./docs/modules/ip_info.md)|Get info about a Linode IP.|
Expand Down Expand Up @@ -107,13 +114,18 @@ Name | Description |
--- | ------------ |
[linode.cloud.account_availability_list](./docs/modules/account_availability_list.md)|List and filter on Account Availabilities.|
[linode.cloud.child_account_list](./docs/modules/child_account_list.md)|List and filter on Child Account.|
[linode.cloud.consumer_image_share_group_image_list](./docs/modules/consumer_image_share_group_image_list.md)|List and filter on Image Share Group Images.|
[linode.cloud.database_engine_list](./docs/modules/database_engine_list.md)|List and filter on Managed Database engine types.|
[linode.cloud.database_list](./docs/modules/database_list.md)|List and filter on Linode Managed Databases.|
[linode.cloud.domain_list](./docs/modules/domain_list.md)|List and filter on Domains.|
[linode.cloud.event_list](./docs/modules/event_list.md)|List and filter on Events.|
[linode.cloud.firewall_list](./docs/modules/firewall_list.md)|List and filter on Firewalls.|
[linode.cloud.firewall_template_list](./docs/modules/firewall_template_list.md)|List and filter on Firewall Templates.|
[linode.cloud.image_list](./docs/modules/image_list.md)|List and filter on Images.|
[linode.cloud.image_share_group_image_list](./docs/modules/image_share_group_image_list.md)|List and filter on Image Share Group Images.|
[linode.cloud.image_share_group_list](./docs/modules/image_share_group_list.md)|List and filter on Image Share Groups.|
[linode.cloud.image_share_group_member_list](./docs/modules/image_share_group_member_list.md)|List and filter on Image Share Group Members.|
[linode.cloud.image_share_group_token_list](./docs/modules/image_share_group_token_list.md)|List and filter on Image Share Group Tokens.|
[linode.cloud.instance_interface_firewall_list](./docs/modules/instance_interface_firewall_list.md)|List and filter on Linode Interface Firewalls.|
[linode.cloud.instance_list](./docs/modules/instance_list.md)|List and filter on Instances.|
[linode.cloud.instance_type_list](./docs/modules/instance_type_list.md)|**NOTE: This module has been deprecated in favor of `type_list`.**|
Expand Down
93 changes: 93 additions & 0 deletions docs/modules/consumer_image_share_group_image_list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# consumer_image_share_group_image_list

List and filter on Image Share Group Images.

- [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 Image Share Group Images for the specified Token UUID
linode.cloud.consumer_image_share_group_image_list:
token_uuid: "9e64b99e-92f7-4c7b-a616-8f622fffb94c"
```


## Parameters

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `token_uuid` | <center>`str`</center> | <center>**Required**</center> | The parent Token for the Image Share Group Images. |
| `order` | <center>`str`</center> | <center>Optional</center> | The order to list Image Share Group Images in. **(Choices: `desc`, `asc`; Default: `asc`)** |
| `order_by` | <center>`str`</center> | <center>Optional</center> | The attribute to order Image Share Group Images by. |
| [`filters` (sub-options)](#filters) | <center>`list`</center> | <center>Optional</center> | A list of filters to apply to the resulting Image Share Group Images. |
| `count` | <center>`int`</center> | <center>Optional</center> | The number of Image Share Group Images 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-sharegroup-images-by-token). |
| `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

- `image_share_group_images` - The returned Image Share Group Images.

- Sample Response:
```json
[
{
"capabilities": [
"cloud-init",
"distributed-sites"
],
"created": "2025-08-04T10:07:59",
"created_by": null,
"deprecated": true,
"description": "Official Debian Linux image for server deployment",
"eol": "2025-12-31T18:13:44.756Z",
"expiry": "2025-12-31T18:13:44.756Z",
"id": "shared/1",
"image_sharing": {
"shared_by": {
"sharegroup_id": 123,
"sharegroup_label": "DevOps Base Images",
"sharegroup_uuid": "8d64b99e-92f7-4c7b-a616-8f622fffb94c",
"source_image_id": "private/15"
},
"shared_with": null
},
"is_public": true,
"is_shared": "none",
"label": "Linux Debian",
"regions": [
{
"region": "us-iad",
"status": "available"
}
],
"size": 256,
"status": "available",
"tags": [
"repair-image",
"fix-1"
],
"total_size": 256,
"type": "shared",
"updated": null,
"vendor": "string"
}
]
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-images-by-token) for a list of returned fields


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

Get info about a Linode Image Share Group.

- [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 info about an Image Share Group by a Consumer's Token UUID
linode.cloud.consumer_image_share_group_info:
token_uuid: "1433863e-16a4-47b5-b829-ac0f35c13278"
```


## Parameters

| Field | Type | Required | Description |
|-----------|------|----------|------------------------------------------------------------------------------|
| `token_uuid` | <center>`str`</center> | <center>**Required**</center> | The ID of the Token for this resource. |

## Return Values

- `image_share_group` - The returned Image Share Group.

- Sample Response:
```json
{
"created": "2025-04-14T22:44:02",
"description": "Group of base operating system images and engineers used for CI/CD pipelines and infrastructure automation",
"id": 1,
"is_suspended": false,
"label": "DevOps Base Images",
"updated": "2025-04-14T22:44:03",
"uuid": "1533863e-16a4-47b5-b829-ac0f35c13278"
}
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-by-token) for a list of returned fields


50 changes: 30 additions & 20 deletions docs/modules/image.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,33 +83,43 @@ Manage a Linode Image.
- Sample Response:
```json
{
"capabilities": [],
"capabilities": [
"cloud-init",
"distributed-sites"
],
"created": "2021-08-14T22:44:02",
"created_by": "my-account",
"created_by": "linode",
"deprecated": false,
"description": "Example Image description.",
"description": "Example image description.",
"eol": "2026-07-01T04:00:00",
"expiry": null,
"id": "private/123",
"is_public": true,
"label": "my-image",
"size": 2500,
"status": null,
"type": "manual",
"updated": "2021-08-14T22:44:02",
"vendor": "Debian",
"tags": ["test"],
"total_size": 5000,
"id": "private/15",
"image_sharing": {
"shared_by": null,
"shared_with": {
"sharegroup_count": 0,
"sharegroup_list_url": "/images/private/15/sharegroups"
}
},
"is_public": false,
"is_shared": false,
"label": "Debian 11",
"regions": [
{
"region": "us-east",
"status": "available"
},
{
"region": "us-central",
"status": "pending"
"region": "us-iad",
"status": "available"
}
]
],
"size": 2500,
"status": "available",
"tags": [
"repair-image",
"fix-1"
],
"total_size": 1234567,
"type": "manual",
"updated": "2021-08-14T22:44:02",
"vendor": "Debian"
}
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-image) for a list of returned fields
Expand Down
50 changes: 30 additions & 20 deletions docs/modules/image_info.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,33 +41,43 @@ Get info about a Linode Image.
- Sample Response:
```json
{
"capabilities": [],
"capabilities": [
"cloud-init",
"distributed-sites"
],
"created": "2021-08-14T22:44:02",
"created_by": "my-account",
"created_by": "linode",
"deprecated": false,
"description": "Example Image description.",
"description": "Example image description.",
"eol": "2026-07-01T04:00:00",
"expiry": null,
"id": "private/123",
"is_public": true,
"label": "my-image",
"size": 2500,
"status": null,
"type": "manual",
"updated": "2021-08-14T22:44:02",
"vendor": "Debian",
"tags": ["test"],
"total_size": 5000,
"id": "private/15",
"image_sharing": {
"shared_by": null,
"shared_with": {
"sharegroup_count": 0,
"sharegroup_list_url": "/images/private/15/sharegroups"
}
},
"is_public": false,
"is_shared": false,
"label": "Debian 11",
"regions": [
{
"region": "us-east",
"status": "available"
},
{
"region": "us-central",
"status": "pending"
"region": "us-iad",
"status": "available"
}
]
],
"size": 2500,
"status": "available",
"tags": [
"repair-image",
"fix-1"
],
"total_size": 1234567,
"type": "manual",
"updated": "2021-08-14T22:44:02",
"vendor": "Debian"
}
```
- See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-image) for a list of returned fields
Expand Down
Loading