/ansible_linode-1

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

Name Description
linode.cloud.domain Create and destroy domains.
linode.cloud.domain_info Gather info about an existing domain.
linode.cloud.domain_record Create and destroy domain records.
linode.cloud.domain_record_info Gather info about an existing domain record.
linode.cloud.firewall Create and destroy Firewalls.
linode.cloud.firewall_info Gather info about an existing Firewall.
linode.cloud.firewall_device Manage Firewall Devices.
linode.cloud.instance Create and destroy Linodes.
linode.cloud.instance_info Gather info about an existing Linode instance.
linode.cloud.lke_cluster Manage LKE clusters.
linode.cloud.lke_cluster_info Gather info about an existing LKE cluster.
linode.cloud.lke_node_pool Manage LKE Node Pools.
linode.cloud.nodebalancer Create, destroy, and configure NodeBalancers.
linode.cloud.nodebalancer_info Gather info about an existing NodeBalancer.
linode.cloud.nodebalancer_node Manage NodeBalancer nodes.
linode.cloud.object_cluster_info Gather info about Object Storage clusters.
linode.cloud.object_keys Create and destroy Object Storage keys.
linode.cloud.stackscript Create and destroy StackScripts.
linode.cloud.token Create and destroy Tokens.
linode.cloud.vlan_info Gather info about an existing Linode VLAN.
linode.cloud.volume Create, destroy, and attach Linode volumes.
linode.cloud.volume_info Gather info about an existing Linode volume.

Inventory

Name Description
linode.cloud.instance Reads instance inventories from Linode.

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.