On this page
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
        
        boolean
         | 
      
       
  | 
      
        
        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
        
        boolean
         | 
      
       
  | 
      
        
        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
        
        boolean
         | 
      
       
  | 
      
        
        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
        
        boolean
         | 
      
       
  | 
      
        
        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
        
        -
         | 
      
       
  | 
      
        
        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
        
        boolean
         | 
      
       
  | 
      
        
        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 not guaranteed to have a backwards compatible interface. [preview]
 - This module is maintained by the Ansible Community. [community]
 
Authors
- 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.8/modules/sl_vm_module.html