community.general.sl_vm – create or cancel a virtual instance in SoftLayer
Note
This plugin is part of the community.general collection (version 3.8.3).
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.sl_vm
.
Synopsis
Creates or cancels SoftLayer instances.
When created, optionally waits for it to be ‘running’.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.6
softlayer >= 4.1.1
Parameters
Parameter |
Comments |
---|---|
Count of cpus to be assigned to new virtual instance. Choices:
|
|
Datacenter for the virtual instance to be deployed. Choices:
|
|
Flag to determine if the instance should be deployed in dedicated space. Choices:
|
|
List of disk sizes to be assigned to new virtual instance. Default: [25] |
|
Domain name to be provided to a virtual instance. |
|
Specify which SoftLayer flavor template to use instead of cpus and memory. |
|
Hostname to be provided to a virtual instance. |
|
Flag to determine if the instance should be hourly billed. Choices:
|
|
Image Template to be used for new virtual instance. |
|
Instance Id of the virtual instance to perform action option. |
|
Flag to determine if local disk should be used for the new instance. Choices:
|
|
Amount of memory to be assigned to new virtual instance. Choices:
|
|
NIC Speed to be assigned to new virtual instance. Choices:
|
|
OS Code to be used for new virtual instance. |
|
URL of a post provisioning script to be loaded and executed on virtual instance. |
|
Flag to determine if the instance should be private only. Choices:
|
|
VLAN by its Id to be assigned to the private NIC. |
|
VLAN by its Id to be assigned to the public NIC. |
|
List of ssh keys by their Id to be assigned to a virtual instance. |
|
Create, or cancel a virtual instance. Specify Choices:
|
|
Tag or list of tags to be provided to a virtual instance. |
|
Flag used to wait for active status before returning. Choices:
|
|
Time in seconds before wait returns. Default: 600 |
Examples
- name: Build instance
hosts: localhost
gather_facts: no
tasks:
- name: Build instance request
community.general.sl_vm:
hostname: instance-1
domain: anydomain.com
datacenter: dal09
tags: ansible-module-test
hourly: yes
private: no
dedicated: no
local_disk: yes
cpus: 1
memory: 1024
disks: [25]
os_code: UBUNTU_LATEST
wait: no
- name: Build additional instances
hosts: localhost
gather_facts: no
tasks:
- name: Build instances request
community.general.sl_vm:
hostname: "{{ item.hostname }}"
domain: "{{ item.domain }}"
datacenter: "{{ item.datacenter }}"
tags: "{{ item.tags }}"
hourly: "{{ item.hourly }}"
private: "{{ item.private }}"
dedicated: "{{ item.dedicated }}"
local_disk: "{{ item.local_disk }}"
cpus: "{{ item.cpus }}"
memory: "{{ item.memory }}"
disks: "{{ item.disks }}"
os_code: "{{ item.os_code }}"
ssh_keys: "{{ item.ssh_keys }}"
wait: "{{ item.wait }}"
with_items:
- hostname: instance-2
domain: anydomain.com
datacenter: dal09
tags:
- ansible-module-test
- ansible-module-test-replicas
hourly: yes
private: no
dedicated: no
local_disk: yes
cpus: 1
memory: 1024
disks:
- 25
- 100
os_code: UBUNTU_LATEST
ssh_keys: []
wait: True
- hostname: instance-3
domain: anydomain.com
datacenter: dal09
tags:
- ansible-module-test
- ansible-module-test-replicas
hourly: yes
private: no
dedicated: no
local_disk: yes
cpus: 1
memory: 1024
disks:
- 25
- 100
os_code: UBUNTU_LATEST
ssh_keys: []
wait: yes
- name: Cancel instances
hosts: localhost
gather_facts: no
tasks:
- name: Cancel by tag
community.general.sl_vm:
state: absent
tags: ansible-module-test
Authors
Matt Colton (@mcltn)