# linode_v4 – Manage instances on the Linode cloud

New in version 2.8.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Manage instances on the Linode cloud.

## Requirements

The below requirements are needed on the host that executes this module.

- python >= 2.7

- linode_api4 >= 2.0.0

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
access_token - / required |  | The Linode API v4 access token. It may also be specified by exposing the `LINODE_ACCESS_TOKEN` environment variable. See https://developers.linode.com/api/v4#section/Access-and-Authentication.
authorized_keys list |  | A list of SSH public key parts to deploy for the root user.
group string |  | The group that the instance should be marked under. Please note, that group labelling is deprecated but still supported. The encouraged method for marking instances is to use tags.
image string |  | The image of the instance. This is a required parameter only when creating Linode instances. See https://developers.linode.com/api/v4#tag/Images.
label string / required |  | The instance label. This label is used as the main determiner for idempotence for the module and is therefore mandatory.
region string |  | The region of the instance. This is a required parameter only when creating Linode instances. See https://developers.linode.com/api/v4#tag/Regions.
root_pass string |  | The password for the root user. If not specified, one will be generated. This generated password will be available in the task success JSON.

state
string / required

Choices:
- present
- absent

The desired instance state.

tags list |  | The tags that the instance should be marked under. See https://developers.linode.com/api/v4#tag/Tags.
type string |  | The type of the instance. This is a required parameter only when creating Linode instances. See https://developers.linode.com/api/v4#tag/Linode-Types.

## Notes

Note

- No Linode resizing is currently implemented. This module will, in time, replace the current Linode module which uses deprecated API bindings on the Linode side.

## Examples

    - name: Create a new Linode.
      linode_v4:
        label: new-linode
        type: g6-nanode-1
        region: eu-west
        image: linode/debian9
        root_pass: passw0rd
        authorized_keys:
          - "ssh-rsa ..."
        state: present

    - name: Delete that new Linode.
      linode_v4:
        label: new-linode
        state: absent

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---

instance
dictionary

Always.

The instance description in JSON serialized form.
Sample:
{'root_pass': 'foobar', 'alerts': {'cpu': 90, 'io': 10000, 'network_in': 10, 'network_out': 10, 'transfer_quota': 80}, 'backups': {'enabled': False, 'schedule': {'day': None, 'window': None}}, 'created': '2018-09-26T08:12:33', 'group': 'Foobar Group', 'hypervisor': 'kvm', 'id': 10480444, 'image': 'linode/centos7', 'ipv4': ['130.132.285.233'], 'ipv6': '2a82:7e00::h03c:46ff:fe04:5cd2/64', 'label': 'lin-foo', 'region': 'eu-west', 'specs': {'disk': 25600, 'memory': 1024, 'transfer': 1000, 'vcpus': 1}, 'status': 'running', 'tags': [], 'type': 'g6-nanode-1', 'updated': '2018-09-26T10:10:14', 'watchdog_enabled': True}

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Luke Murphy (@lwm)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.