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

参数

参数

注释

cpus

整数

分配给新虚拟实例的 CPU 数量。

选项

  • 1

  • 2

  • 4

  • 8

  • 16

  • 32

  • 56

datacenter

字符串

要部署虚拟实例的数据中心。

选项

  • "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"

dedicated

布尔值

确定实例是否应部署在专用空间中的标志。

选项

  • false ← (默认)

  • true

disks

列表 / 元素=整数

分配给新虚拟实例的磁盘大小列表。

默认: [25]

domain

字符串

要提供给虚拟实例的域名。

flavor

字符串

在 community.general 0.2.0 中添加

指定要使用的 SoftLayer 版本模板,而不是 cpus 和内存。

hostname

字符串

要提供给虚拟实例的主机名。

hourly

布尔值

确定实例是否应按小时计费的标志。

选项

  • false

  • true ← (默认)

image_id

字符串

要用于新虚拟实例的镜像模板。

instance_id

字符串

要对其执行操作选项的虚拟实例的实例 ID。

local_disk

布尔值

确定是否应为新实例使用本地磁盘的标志。

选项

  • false

  • true ← (默认)

memory

整数

要分配给新虚拟实例的内存量。

选项

  • 1024

  • 2048

  • 4096

  • 6144

  • 8192

  • 12288

  • 16384

  • 32768

  • 49152

  • 65536

  • 131072

  • 247808

nic_speed

整数

要分配给新虚拟实例的 NIC 速度。

选项

  • 10

  • 100

  • 1000

os_code

字符串

要用于新虚拟实例的操作系统代码。

post_uri

字符串

要加载并在虚拟实例上执行的后置配置脚本的 URL。

private

布尔值

确定实例是否应仅为私有的标志。

选项

  • false ← (默认)

  • true

private_vlan

字符串

要分配给专用 NIC 的 VLAN(通过其 ID)。

public_vlan

字符串

要分配给公共 NIC 的 VLAN(通过其 ID)。

ssh_keys

列表 / 元素=字符串

要分配给虚拟实例的 SSH 密钥列表(通过其 ID)。

默认: []

state

字符串

创建或取消虚拟实例。

指定 present 用于创建,absent 用于取消。

选项

  • "absent"

  • "present" ← (默认)

tags

字符串

要提供给虚拟实例的标签或标签列表。

wait

布尔值

用于在返回之前等待活动状态的标志。

选项

  • false

  • true ← (默认)

wait_time

整数

等待返回之前的秒数。

默认: 600

属性

属性

支持

描述

check_mode

支持:不支持

可以在 check_mode 中运行并返回更改状态预测,而无需修改目标。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改)的详细信息。

示例

- 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

作者

  • Matt Colton (@mcltn)