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  
        bool
         | 
      
       
  | 
      
        
        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  
        bool
         | 
      
       
  | 
      
        
        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  
        bool
         | 
      
       
  | 
      
        
        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  
        bool
         | 
      
       
  | 
      
        
        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  
        bool
         | 
      
       
  | 
      
        
        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.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
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.6/modules/sl_vm_module.html