scale_computing.hypercore.vm_clone module – Handles cloning of the VM

Note

This module is part of the scale_computing.hypercore collection (version 1.6.0).

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 scale_computing.hypercore.

To use it in a playbook, specify: scale_computing.hypercore.vm_clone.

New in scale_computing.hypercore 1.0.0

Synopsis

Parameters

Parameter

Comments

cloud_init

dictionary

Configuration to be used by cloud-init (Linux) or cloudbase-init (Windows).

When non-empty will create an extra ISO device attached to VirDomain as a NoCloud datasource.

There has to be cloud-config comment present at the beginning of cloud_init file or raw yaml.

Default: {}

meta_data

string

Configuration meta-data to be used by cloud-init (Linux) or cloudbase-init (Windows).

Valid YAML syntax.

user_data

string

Configuration user-data to be used by cloud-init (Linux) or cloudbase-init (Windows).

Valid YAML syntax.

cluster_instance

dictionary

Scale Computing HyperCore instance information.

auth_method

string

Select login method. If not set, the value of the SC_AUTH_METHOD environment variable will be used.

Value local - username/password is verified by the HyperCore server (the local users).

Value oidc - username/password is verified by the configured OIDC provider.

Choices:

  • "local" ← (default)

  • "oidc"

host

string / required

The HyperCore instance URL.

If not set, the value of the SC_HOST environment variable will be used.

For example “https://10.1.2.3:443”.

password

string / required

Password used for authentication.

If not set, the value of the SC_PASSWORD environment variable will be used.

timeout

float

Timeout in seconds for the connection with the Scale Computing HyperCore API instance.

If not set, the value of the SC_TIMEOUT environment variable will be used.

username

string / required

Username used for authentication.

If not set, the value of the SC_USERNAME environment variable will be used.

preserve_mac_address

boolean

added in scale_computing.hypercore 1.3.0

Allows keeping same MAC addresses as in original VM.

Choices:

  • false ← (default)

  • true

source_snapshot_label

string

added in scale_computing.hypercore 1.3.0

Allows cloning VM from a specific snapshot using snapshot label.

source_snapshot_uuid

string

added in scale_computing.hypercore 1.3.0

Allows cloning VM from a specific snapshot using snapshot uuid.

source_vm_name

string / required

Name of the source virtual machine, to be cloned.

Used to identify selected virtual machine by name.

tags

list / elements=string

Virtual machine tags.

Used to group virtual machine.

vm_name

string / required

Name of the VM clone.

Used to identify a clone of the virtual machine by name.

Notes

Note

  • check_mode is not supported.

Examples

- name: Clone VM
  scale_computing.hypercore.vm_clone:
    vm_name: demo-vm-clone
    source_vm_name: demo-vm
    cloud_init:
      user_data: "{{ lookup('file', 'cloud-init-user-data-example.yml') }}"
      meta_data: |
        # Content for cloud-init meta-data (or user-data) can be inline too.
    tags:
      - test
      - tag
  register: output

Return Values

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

Key

Description

msg

string

Return message.

Returned: success

Sample: "Virtual machine - VM-TEST - cloning complete to - VM-TEST-clone"

Authors

  • Domen Dobnikar (@domen_dobnikar)