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 flavor 模板,而不是 CPU 和内存。

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

整数

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

选择

  • 10

  • 100

  • 1000

os_code

字符串

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

post_uri

字符串

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

private

布尔值

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

选择

  • false ←(默认)

  • true

private_vlan

字符串

要分配给专用网卡的 VLAN ID。

public_vlan

字符串

要分配给公共网卡的 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)