sl_vm - create or cancel a virtual instance in SoftLayer

New in version 2.1.

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
required
Count of cpus to be assigned to new virtual instance.
datacenter
Datacenter for the virtual instance to be deployed.
dedicated
    Choices:
  • no
  • yes
Flag to determine if the instance should be deployed in dedicated space.
disks
required
Default:
[25]
List of disk sizes to be assigned to new virtual instance.
domain
Domain name to be provided to a virtual instance.
hostname
Hostname to be provided to a virtual instance.
hourly
    Choices:
  • no
  • yes
Flag to determine if the instance should be hourly billed.
image_id
Image Template to be used for new virtual instance.
instance_id
Instance Id of the virtual instance to perform action option.
local_disk
    Choices:
  • no
  • yes
Flag to determine if local disk should be used for the new instance.
memory
required
Amount of memory to be assigned to new virtual instance.
nic_speed Default:
10
NIC Speed to be assigned to new virtual instance.
os_code
OS Code to be used for new virtual instance.
post_uri
URL of a post provisioning script to be loaded and executed on virtual instance.
private
    Choices:
  • no
  • yes
Flag to determine if the instance should be private only.
private_vlan
VLAN by its Id to be assigned to the private NIC.
public_vlan
VLAN by its Id to be assigned to the public NIC.
ssh_keys
List of ssh keys by their Id to be assigned to a virtual instance.
state
    Choices:
  • absent
  • present
Create, or cancel a virtual instance.
Specify present for create, absent to cancel.
tags
Tag or list of tags to be provided to a virtual instance.
wait
    Choices:
  • no
  • yes
Flag used to wait for active status before returning.
wait_time Default:
600
Time in seconds before wait returns.

Examples

- name: Build instance
  hosts: localhost
  gather_facts: no
  tasks:
  - name: Build instance request
    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
    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-slaves
        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-slaves
        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
    sl_vm:
      state: absent
      tags: ansible-module-test

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Author

  • Matt Colton (@mcltn)

Hint

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/sl_vm_module.html