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