community.general.one_template module – Manages OpenNebula templates

Note

This module is part of the community.general collection (version 5.4.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.one_template.

New in version 2.4.0: of community.general

Synopsis

  • Manages OpenNebula templates.

Requirements

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

  • pyone

Parameters

Parameter

Comments

api_password

aliases: api_token

string

The password or token for XMLRPC authentication.

If not specified then the value of the ONE_PASSWORD environment variable, if any, is used.

api_url

aliases: api_endpoint

string

The ENDPOINT URL of the XMLRPC server.

If not specified then the value of the ONE_URL environment variable, if any, is used.

api_username

string

The name of the user for XMLRPC authentication.

If not specified then the value of the ONE_USERNAME environment variable, if any, is used.

id

integer

A id of the template you would like to manage. If not set then a

new template will be created with the given name.

name

string

A name of the template you would like to manage. If a template with

the given name does not exist it will be created, otherwise it will be

managed by this module.

state

string

present - state that is used to manage the template.

absent - delete the template.

Choices:

  • present ← (default)

  • absent

template

string

A string containing the template contents.

validate_certs

boolean

Whether to validate the SSL certificates or not.

This parameter is ignored if PYTHONHTTPSVERIFY environment variable is used.

Choices:

  • no

  • yes ← (default)

wait_timeout

integer

Time to wait for the desired state to be reached before timeout, in seconds.

Default: 300

Notes

Note

  • Supports check_mode. Note that check mode always returns changed=true for existing templates, even if the template would not actually change.

Examples

- name: Fetch the TEMPLATE by id
  community.general.one_template:
    id: 6459
  register: result

- name: Print the TEMPLATE properties
  ansible.builtin.debug:
    var: result

- name: Fetch the TEMPLATE by name
  community.general.one_template:
    name: tf-prd-users-workerredis-p6379a
  register: result

- name: Create a new or update an existing TEMPLATE
  community.general.one_template:
    name: generic-opensuse
    template: |
      CONTEXT = [
        HOSTNAME = "generic-opensuse"
      ]
      CPU = "1"
      CUSTOM_ATTRIBUTE = ""
      DISK = [
        CACHE = "writeback",
        DEV_PREFIX = "sd",
        DISCARD = "unmap",
        IMAGE = "opensuse-leap-15.2",
        IMAGE_UNAME = "oneadmin",
        IO = "threads",
        SIZE = "" ]
      MEMORY = "2048"
      NIC = [
        MODEL = "virtio",
        NETWORK = "testnet",
        NETWORK_UNAME = "oneadmin" ]
      OS = [
        ARCH = "x86_64",
        BOOT = "disk0" ]
      SCHED_REQUIREMENTS = "CLUSTER_ID=\"100\""
      VCPU = "2"

- name: Delete the TEMPLATE by id
  community.general.one_template:
    id: 6459
    state: absent

Return Values

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

Key

Description

group_id

integer

template’s group id

Returned: when state=present

Sample: 1

group_name

string

template’s group name

Returned: when state=present

Sample: “one-users”

id

integer

template id

Returned: when state=present

Sample: 153

name

string

template name

Returned: when state=present

Sample: “app1”

owner_id

integer

template’s owner id

Returned: when state=present

Sample: 143

owner_name

string

template’s owner name

Returned: when state=present

Sample: “ansible-test”

template

dictionary

the parsed template

Returned: when state=present

Authors

  • Georg Gadinger (@nilsding)