On this page
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.1).
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 | Choices/Defaults | Comments |
---|---|---|
cpus
integer
|
|
Count of cpus to be assigned to new virtual instance.
|
datacenter
string
|
|
Datacenter for the virtual instance to be deployed.
|
dedicated
boolean
|
|
Flag to determine if the instance should be deployed in dedicated space.
|
disks
list / elements=integer
|
Default:
[25]
|
List of disk sizes to be assigned to new virtual instance.
|
domain
string
|
Domain name to be provided to a virtual instance.
|
|
flavor
string
added in 0.2.0 of community.general
|
Specify which SoftLayer flavor template to use instead of cpus and memory.
|
|
hostname
string
|
Hostname to be provided to a virtual instance.
|
|
hourly
boolean
|
|
Flag to determine if the instance should be hourly billed.
|
image_id
string
|
Image Template to be used for new virtual instance.
|
|
instance_id
string
|
Instance Id of the virtual instance to perform action option.
|
|
local_disk
boolean
|
|
Flag to determine if local disk should be used for the new instance.
|
memory
integer
|
|
Amount of memory to be assigned to new virtual instance.
|
nic_speed
integer
|
|
NIC Speed to be assigned to new virtual instance.
|
os_code
string
|
OS Code to be used for new virtual instance.
|
|
post_uri
string
|
URL of a post provisioning script to be loaded and executed on virtual instance.
|
|
private
boolean
|
|
Flag to determine if the instance should be private only.
|
private_vlan
string
|
VLAN by its Id to be assigned to the private NIC.
|
|
public_vlan
string
|
VLAN by its Id to be assigned to the public NIC.
|
|
ssh_keys
list / elements=string
|
List of ssh keys by their Id to be assigned to a virtual instance.
|
|
state
string
|
|
Create, or cancel a virtual instance.
Specify present for create, absent to cancel.
|
tags
string
|
Tag or list of tags to be provided to a virtual instance.
|
|
wait
boolean
|
|
Flag used to wait for active status before returning.
|
wait_time
integer
|
Default:
600
|
Time in seconds before wait returns.
|
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)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/sl_vm_module.html