vultr.cloud.instance 模块 – 管理 Vultr 上的服务器实例。

注意

此模块是 vultr.cloud 集合(版本 1.13.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install vultr.cloud

要在 Playbook 中使用它,请指定: vultr.cloud.instance

vultr.cloud 1.1.0 中的新增功能

概要

  • 管理 Vultr 上的服务器实例。

参数

参数

注释

activation_email

布尔值

实例准备就绪时是否发送激活电子邮件。

仅在创建时考虑。

选择

  • false ← (默认)

  • true

api_endpoint

字符串

API 端点的 URL(不带尾部斜杠)。

回退环境变量 VULTR_API_ENDPOINT

默认值: "https://api.vultr.com/v2"

api_key

字符串 / 必需

Vultr API 的 API 密钥。

回退环境变量 VULTR_API_KEY

api_retries

整数

如果 Vultr API 返回 HTTP 错误代码,例如 - 429 请求过多 - 500 内部服务器错误 - 504 网关超时,则重试的次数

回退环境变量 VULTR_API_RETRIES

默认值: 5

api_retry_max_delay

整数

重试回退延迟(以秒为单位)呈指数级增长,直至此最大值(以秒为单位)。

回退环境变量 VULTR_API_RETRY_MAX_DELAY

默认值: 12

api_timeout

整数

Vultr API 的 HTTP 超时。

回退环境变量 VULTR_API_TIMEOUT

默认值: 180

app

字符串

Vultr 一键式应用的应用程序部署名称。

与 *image* 和 *os* 互斥。

backups

布尔值

是否启用自动备份。

选择

  • false

  • true

ddos_protection

布尔值

是否启用 ddos_protection。

选择

  • false

  • true

enable_ipv6

布尔值

是否启用 IPv6。

选择

  • false

  • true

firewall_group

字符串

要将此实例分配到的防火墙组描述。

hostname

字符串

要分配给此实例的主机名。

image

字符串

Vultr Marketplace 应用的映像部署名称。

与 *os* 和 *app* 互斥。

label

别名:name

字符串 / 必需

实例的名称。

os

字符串

操作系统的名称。

与 *image* 和 *app* 互斥。

plan

字符串

要用于实例的计划名称。

如果实例尚不存在,则为必需项。

region

字符串 / 必需

实例部署到的区域。

reserved_ipv4

字符串

要用作此实例主 IP 的浮动 IP 的 IP 地址。

仅在创建时考虑。

skip_wait

布尔值

在 vultr.cloud 1.13.0 中添加

是否跳过等待实例完全准备好进行访问。

选择

  • false ← (默认)

  • true

snapshot

字符串

在 vultr.cloud 1.7.0 中添加

快照的描述或 ID。

仅在创建实例时考虑。

ssh_keys

列表 / 元素=字符串

创建时传递给实例的 SSH 密钥名称列表。

startup_script

字符串

要在启动时执行的启动脚本的名称或 ID。

仅在创建实例时考虑。

state

字符串

实例的状态。

状态 *reinstalled* 在版本 1.8.0 中添加。

选择

  • "present" ← (默认)

  • "absent"

  • "started"

  • "stopped"

  • "restarted"

  • "reinstalled"

tags

列表 / 元素=字符串

实例的标签。

user_data

字符串

要传递给实例的用户数据。

user_scheme

字符串

在 vultr.cloud 1.11.0 中添加

用作登录用户的用户方案(仅限 Linux)。

默认情况下,配置 *root* 用户。

仅在创建实例时考虑。

选择

  • "root"

  • "limited"

validate_certs

布尔值

验证 Vultr API 的 SSL 证书。

选择

  • false

  • true ← (默认)

vpcs

列表 / 元素=字符串

在 vultr.cloud 1.5.0 中添加

要分配给实例的由其描述标识的 VPC 列表。

说明

注意

示例

---
- name: Create an instance using OS
  vultr.cloud.instance:
    label: my web server
    hostname: my-hostname
    user_data: |
      #cloud-config
      packages:
        - nginx
    firewall_group: my firewall group
    plan: vc2-1c-2gb
    ddos_protection: true
    backups: true
    enable_ipv6: true
    ssh_keys:
      - my ssh key
    vpcs:
      - my vpc description
    tags:
      - web
      - project-genesis
    region: ams
    os: Debian 12 x64 (bookworm)

- name: Deploy an instance of a marketplace app
  vultr.cloud.instance:
    label: git-server
    hostname: git
    firewall_group: my firewall group
    plan: vc2-1c-2gb
    ddos_protection: true
    backups: true
    enable_ipv6: true
    region: ams
    image: Gitea on Ubuntu 20.04

- name: Stop an existing instance
  vultr.cloud.instance:
    label: my web server
    region: ams
    state: stopped

- name: Start an existing instance
  vultr.cloud.instance:
    label: my web server
    region: ams
    state: started

- name: Reinstall an instance
  vultr.cloud.instance:
    label: my web server
    region: ams
    state: reinstalled

- name: Delete an instance
  vultr.cloud.instance:
    label: my web server
    region: ams
    state: absent

返回值

常见的返回值已在此处记录:此处,以下是此模块独有的字段

描述

vultr_api

字典

来自 Vultr API 的响应,其中包含一些添加/修改。

返回: 成功

api_endpoint

字符串

用于 API 请求的端点。

返回: 成功

示例: "https://api.vultr.com/v2"

api_retries

整数

API 请求的最大重试次数。

返回: 成功

示例: 5

api_retry_max_delay

整数

重试之间的指数退避延迟(以秒为单位),直至此最大延迟值。

返回: 成功

示例: 12

api_timeout

整数

用于 API 请求的超时时间。

返回: 成功

示例: 60

vultr_instance

字典

来自 Vultr API 的响应。

返回: 成功

allowed_bandwidth

整数

实例的允许带宽。

返回: 成功

示例: 1000

app_id

整数

实例的应用程序 ID。

返回: 成功

示例: 37

backups

字符串

在 vultr.cloud 1.3.0 中添加

是否启用或禁用备份。

返回: 成功

示例: "enabled"

date_created

字符串

创建实例的日期。

返回: 成功

示例: "2020-10-10T01:56:20+00:00"

ddos_protection

布尔值

在 vultr.cloud 1.3.0 中添加

是否启用 DDOS 保护。

返回: 成功

示例: true

disk

整数

实例的磁盘大小。

返回: 成功

示例: 25

enable_ipv6

布尔值

在 vultr.cloud 1.3.0 中添加

是否启用 IPv6。

返回: 成功

示例: true

features

列表 / 元素=字符串

实例的特性。

返回: 成功

示例: ["ddos_protection", "ipv6", "auto_backups"]

firewall_group_id

字符串

实例的防火墙组 ID。

返回: 成功

示例: ""

gateway_v4

字符串

网关 IPv4。

返回: 成功

示例: "95.179.188.1"

hostname

字符串

实例的主机名。

返回: 成功

示例: "vultr.guest"

id

字符串

实例的 ID。

返回: 成功

示例: "cb676a46-66fd-4dfb-b839-443f2e6c0b60"

image_id

字符串

实例的镜像 ID。

返回: 成功

示例: ""

internal_ip

字符串

实例的内部 IP。

返回: 成功

示例: ""

kvm

字符串

实例的 KVM。

返回: 成功

示例: "https://my.vultr.com/subs/vps/novnc/api.php?data=..."

label

字符串

实例的标签。

返回: 成功

示例: "my instance"

main_ip

字符串

实例的 IPv4。

返回: 成功

示例: "95.179.189.95"

netmask_v4

字符串

实例的 Netmask IPv4。

返回: 成功

示例: "255.255.254.0"

os

字符串

实例的操作系统。

返回: 成功

示例: "Application"

os_id

整数

实例的操作系统 ID。

返回: 成功

示例: 186

plan

字符串

实例的计划。

返回: 成功

示例: "vc2-1c-1gb"

power_status

字符串

实例的电源状态。

返回: 成功

示例: "running"

ram

整数

实例的 RAM(以 MB 为单位)。

返回: 成功

示例: 1024

region

字符串

实例部署的区域。

返回: 成功

示例: "ews"

server_status

字符串

实例的服务器状态。

返回: 成功

示例: "installingbooting"

status

字符串

关于实例部署的状态。

返回: 成功

示例: "active"

tags

列表 / 元素=字符串

实例的标签。

返回: 成功

示例: ["my-tag"]

user_data

字符串

实例的 Base64 编码的用户数据(云初始化)。

返回: 成功

示例: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIGh0b3AK"

user_scheme

字符串

在 vultr.cloud 1.11.0 中添加

用于登录此实例的用户方案

返回: 成功

示例: "root"

v6_main_ip

字符串

实例的 IPv6。

返回: 成功

示例: ""

v6_network

字符串

实例的 IPv6 网络。

返回: 成功

示例: ""

v6_network_size

整数

实例的 IPv6 网络大小。

返回: 成功

示例: 0

vcpu_count

整数

实例的 vCPU。

返回: 成功

示例: 1

vpcs

列表 / 元素=字符串

在 vultr.cloud 1.5.0 中添加

附加的 VPC 列表。

返回: 成功

description

字符串

VPC 的描述。

返回: 成功

示例: "my vpc"

id

字符串

VPC 的 ID。

返回: 成功

示例: "5536d2a4-66fd-4dfb-b839-7672fd5bc116"

ip_address

字符串

从 VPC 分配的 IP。

返回: 成功

示例: "192.168.23.3"

mac_address

字符串

网络接口的 MAC 地址。

返回: 成功

示例: "5a:01:04:3d:5e:72"

作者

  • René Moser (@resmo)