community.general.sl_vm – create or cancel a virtual instance in SoftLayer

From Get docs
Ansible/docs/2.10/collections/community/general/sl vm module


community.general.sl_vm – create or cancel a virtual instance in SoftLayer

Note

This plugin is part of the community.general collection (version 1.3.2).

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

  • 1
  • 2
  • 4
  • 8
  • 16
  • 32
  • 56

Count of cpus to be assigned to new virtual instance.

datacenter

string

  • ams01
  • ams03
  • che01
  • dal01
  • dal05
  • dal06
  • dal09
  • dal10
  • dal12
  • dal13
  • fra02
  • fra04
  • fra05
  • hkg02
  • hou02
  • lon02
  • lon04
  • lon06
  • mel01
  • mex01
  • mil01
  • mon01
  • osl01
  • par01
  • sao01
  • sea01
  • seo01
  • sjc01
  • sjc03
  • sjc04
  • sng01
  • syd01
  • syd04
  • tok02
  • tor01
  • wdc01
  • wdc04
  • wdc06
  • wdc07

Datacenter for the virtual instance to be deployed.

dedicated

boolean

  • no

  • yes

Flag to determine if the instance should be deployed in dedicated space.

disks

list / elements=string

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

  • no
  • yes

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

  • no
  • yes

Flag to determine if local disk should be used for the new instance.

memory

integer

  • 1024
  • 2048
  • 4096
  • 6144
  • 8192
  • 12288
  • 16384
  • 32768
  • 49152
  • 65536
  • 131072
  • 247808

Amount of memory to be assigned to new virtual instance.

nic_speed

integer

  • 10
  • 100
  • 1000

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

  • no

  • yes

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

  • absent
  • present

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

  • no
  • yes

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-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
    community.general.sl_vm:
      state: absent
      tags: ansible-module-test

Authors

  • Matt Colton (@mcltn)

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