/ansible_linode

Linode Ansible Collection

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Linode Ansible Collection

Ansible Galaxy Build Code Quality

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.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.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.object_keys Manage Linode Object Storage Keys.
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.

Info Modules

Modules for retrieving information about existing Linode infrastructure.

Name Description
linode.cloud.account_info Get info about a Linode Account.
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.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.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.

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 -r requirements.txt

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.

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/ubuntu20.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.