ansible_linode
ansible_linode copied to clipboard
Linode Ansible Collection
Linode Ansible Collection
The Ansible Linode Collection contains various plugins for managing Linode services.
Ansible version compatibility
This collection has been tested against following Ansible versions: >=2.9.10.
Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. PEP440 is the schema used to describe the versions of Ansible.
Modules
Modules for managing Linode infrastructure.
| Name | Description |
|---|---|
| linode.cloud.api_request | Make an arbitrary Linode API request. |
| linode.cloud.database_mysql | Manage a Linode MySQL database. |
| linode.cloud.database_postgresql | Manage a Linode PostgreSQL database. |
| linode.cloud.domain | Manage Linode Domains. |
| linode.cloud.domain_record | Manage Linode Domain Records. |
| linode.cloud.firewall | Manage Linode Firewalls. |
| linode.cloud.firewall_device | Manage Linode Firewall Devices. |
| linode.cloud.image | Manage a Linode Image. |
| linode.cloud.instance | Manage Linode Instances, Configs, and Disks. |
| linode.cloud.ip_assign | Assign IPs to Linodes in a given Region. |
| linode.cloud.ip_rdns | Manage a Linode IP address's rDNS. |
| linode.cloud.ip_share | Manage the Linode shared IPs. |
| linode.cloud.lke_cluster | Manage Linode LKE clusters. |
| linode.cloud.lke_node_pool | Manage Linode LKE cluster node pools. |
| linode.cloud.nodebalancer | Manage a Linode NodeBalancer. |
| linode.cloud.nodebalancer_node | Manage Linode NodeBalancer Nodes. |
| linode.cloud.nodebalancer_stats | View a Linode NodeBalancers Stats. |
| linode.cloud.object_keys | Manage Linode Object Storage Keys. |
| linode.cloud.ssh_key | Manage a Linode SSH key. |
| linode.cloud.stackscript | Manage a Linode StackScript. |
| linode.cloud.token | Manage a Linode Token. |
| linode.cloud.user | Manage a Linode User. |
| linode.cloud.volume | Manage a Linode Volume. |
| linode.cloud.vpc | Create, read, and update a Linode VPC. |
| linode.cloud.vpc_subnet | Create, read, and update a Linode VPC Subnet. |
Info Modules
Modules for retrieving information about existing Linode infrastructure.
| Name | Description |
|---|---|
| linode.cloud.account_availability_info | Get info about a Linode Account Availability. |
| linode.cloud.account_info | Get info about a Linode Account. |
| linode.cloud.database_mysql_info | Get info about a Linode MySQL Managed Database. |
| linode.cloud.database_postgresql_info | Get info about a Linode PostgreSQL Managed Database. |
| linode.cloud.domain_info | Get info about a Linode Domain. |
| linode.cloud.domain_record_info | Get info about a Linode Domain Record. |
| linode.cloud.firewall_info | Get info about a Linode Firewall. |
| linode.cloud.image_info | Get info about a Linode Image. |
| linode.cloud.instance_info | Get info about a Linode Instance. |
| linode.cloud.ip_info | Get info about a Linode IP. |
| linode.cloud.ipv6_range_info | Get info about a Linode IPv6 range. |
| linode.cloud.lke_cluster_info | Get info about a Linode LKE cluster. |
| linode.cloud.nodebalancer_info | Get info about a Linode NodeBalancer. |
| linode.cloud.object_cluster_info | Get info about a Linode Object Storage Cluster. |
| linode.cloud.profile_info | Get info about a Linode Profile. |
| linode.cloud.ssh_key_info | Get info about the Linode SSH public key. |
| linode.cloud.stackscript_info | Get info about a Linode StackScript. |
| linode.cloud.token_info | Get info about a Linode Personal Access Token. |
| linode.cloud.type_info | Get info about a Linode Type. |
| linode.cloud.user_info | Get info about a Linode User. |
| linode.cloud.vlan_info | Get info about a Linode VLAN. |
| linode.cloud.volume_info | Get info about a Linode Volume. |
| linode.cloud.vpc_info | Get info about a Linode VPC. |
| linode.cloud.vpc_subnet_info | Get info about a Linode VPC Subnet. |
List Modules
Modules for retrieving and filtering on multiple Linode resources.
| Name | Description |
|---|---|
| linode.cloud.account_availability_list | List and filter on Account Availabilities. |
| linode.cloud.database_engine_list | List and filter on Managed Database engine types. |
| linode.cloud.database_list | List and filter on Linode Managed Databases. |
| linode.cloud.domain_list | List and filter on Domains. |
| linode.cloud.event_list | List and filter on Linode events. |
| linode.cloud.firewall_list | List and filter on Firewalls. |
| linode.cloud.image_list | List and filter on Images. |
| linode.cloud.instance_list | List and filter on Linode Instances. |
| linode.cloud.instance_type_list | List and filter on Linode Instance Types. |
| linode.cloud.lke_version_list | List Kubernetes versions available for deployment to a Kubernetes cluster. |
| linode.cloud.nodebalancer_list | List and filter on Nodebalancers. |
| linode.cloud.object_cluster_list | List and filter on Object Storage Clusters. |
| linode.cloud.region_list | List and filter on Linode Regions. |
| linode.cloud.ssh_key_list | List and filter on SSH keys in the Linode profile. |
| linode.cloud.stackscript_list | List and filter on Linode stackscripts. |
| linode.cloud.token_list | List and filter on Linode Account tokens. |
| linode.cloud.type_list | List and filter on Linode Instance Types. |
| linode.cloud.user_list | List Users. |
| linode.cloud.vlan_list | List and filter on Linode VLANs. |
| linode.cloud.volume_list | List and filter on Linode Volumes. |
| linode.cloud.vpc_ip_list | List and filter on VPC IP Addresses. |
| linode.cloud.vpc_list | List and filter on VPCs. |
| linode.cloud.vpc_subnet_list | List and filter on VPC Subnets. |
| linode.cloud.vpcs_ip_list | List and filter on all VPC IP Addresses. |
Inventory Plugins
Dynamically add Linode infrastructure to an Ansible inventory.
| Name |
|---|
| linode.cloud.instance |
Installation
You can install the Linode collection with the Ansible Galaxy CLI:
ansible-galaxy collection install linode.cloud
The Python module dependencies are not installed by ansible-galaxy. They can
be manually installed using pip:
pip install --upgrade -r https://raw.githubusercontent.com/linode/ansible_linode/main/requirements.txt
:warning: NOTE: Python dependencies should always be reinstalled when upgrading collection versions
Usage
Once the Linode Ansible collection is installed, it can be referenced by its Fully Qualified Collection Namespace (FQCN): linode.cloud.module_name.
In order to use this collection, the LINODE_API_TOKEN environment variable must be set to a valid Linode API v4 token.
Alternatively, you can pass your Linode API v4 token into the api_token option for each Linode module you reference.
The LINODE_UA_PREFIX environment variable or the ua_prefix module option can be used to specify a custom User-Agent prefix.
The LINODE_API_URL environment variable pr the api_url module option can be used to specify a custom API base url.
Example Playbook
---
- name: create linode instance
hosts: localhost
tasks:
- name: Create a Linode instance
linode.cloud.instance:
label: my-linode
type: g6-nanode-1
region: us-east
image: linode/ubuntu22.04
root_pass: verysecurepassword!!!
state: present
For more information on Ansible collection usage, see Ansible's official usage guide.
Examples
Use-case examples for this collection can be found here.
Licensing
GNU General Public License v3.0.
See COPYING to see the full text.