community.general.sl_vm 模块 – 在 SoftLayer 中创建或取消虚拟实例
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.general.sl_vm。
概要
- 创建或取消 SoftLayer 实例。 
- 创建时,可以选择等待它变为“运行”状态。 
要求
执行此模块的主机上需要以下要求。
- softlayer >= 4.1.1 
参数
| 参数 | 注释 | 
|---|---|
| 要分配给新虚拟实例的 CPU 数量。 选择 
 | |
| 要部署虚拟实例的数据中心。 选择 
 | |
| 确定是否应在专用空间中部署实例的标志。 选择 
 | |
| 要分配给新虚拟实例的磁盘大小列表。 默认:  | |
| 要提供给虚拟实例的域名。 | |
| 指定要使用的 SoftLayer flavor 模板,而不是 CPU 和内存。 | |
| 要提供给虚拟实例的主机名。 | |
| 确定实例是否应按小时计费的标志。 选择 
 | |
| 要用于新虚拟实例的镜像模板。 | |
| 要执行操作选项的虚拟实例的实例 ID。 | |
| 确定是否应将本地磁盘用于新实例的标志。 选择 
 | |
| 要分配给新虚拟实例的内存量。 选择 
 | |
| 要分配给新虚拟实例的网卡速度。 选择 
 | |
| 要用于新虚拟实例的操作系统代码。 | |
| 要在虚拟实例上加载和执行的后期配置脚本的 URL。 | |
| 确定实例是否应仅为私有的标志。 选择 
 | |
| 要分配给专用网卡的 VLAN ID。 | |
| 要分配给公共网卡的 VLAN ID。 | |
| 要分配给虚拟实例的 SSH 密钥的 ID 列表。 默认:  | |
| 创建或取消虚拟实例。 指定  选择 
 | |
| 要提供给虚拟实例的标签或标签列表。 | |
| 用于在返回前等待活动状态的标志。 选择 
 | |
| 等待返回前的秒数。 默认值:  | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持: 无 | 可以在  | |
| 支持: 无 | 当处于差异模式时,将返回已更改(或可能需要在  | 
示例
- name: Build instance
  hosts: localhost
  gather_facts: false
  tasks:
  - name: Build instance request
    community.general.sl_vm:
      hostname: instance-1
      domain: anydomain.com
      datacenter: dal09
      tags: ansible-module-test
      hourly: true
      private: false
      dedicated: false
      local_disk: true
      cpus: 1
      memory: 1024
      disks: [25]
      os_code: UBUNTU_LATEST
      wait: false
- name: Build additional instances
  hosts: localhost
  gather_facts: false
  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: true
        private: false
        dedicated: false
        local_disk: true
        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: true
        private: false
        dedicated: false
        local_disk: true
        cpus: 1
        memory: 1024
        disks:
          - 25
          - 100
        os_code: UBUNTU_LATEST
        ssh_keys: []
        wait: true
- name: Cancel instances
  hosts: localhost
  gather_facts: false
  tasks:
  - name: Cancel by tag
    community.general.sl_vm:
      state: absent
      tags: ansible-module-test
