vultr.cloud.bare_metal 模块 – 管理 Vultr 上的裸机。

注意

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

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

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

要在 playbook 中使用它,请指定:vultr.cloud.bare_metal

vultr.cloud 1.9.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 一键式应用程序的应用部署名称。

imageos 互斥。

enable_ipv6

布尔值

是否启用 IPv6。

选择

  • false

  • true

hostname

字符串

要为此裸机分配的主机名。

image

字符串

Vultr Marketplace 应用程序的镜像部署名称。

osapp 互斥。

label

别名:name

字符串 / 必填

裸机的名称。

os

字符串

操作系统名称。

imageapp 互斥。

persistent_pxe

布尔值

是否启用持久 PXE。

选择

  • false

  • true

plan

字符串

用于裸机的计划名称。

如果裸机尚不存在,则为必需项。

region

字符串 / 必填

裸机部署到的区域。

reserved_ipv4

字符串

要用作此裸机主 IP 的浮动 IP 的 IP 地址。

仅在创建时考虑。

skip_wait

布尔值

在 vultr.cloud 1.13.0 中添加

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

选择

  • false ← (默认)

  • true

snapshot

字符串

快照的描述或 ID。

仅在创建裸机时考虑。

ssh_keys

列表 / 元素=字符串

在创建时传递给裸机的 SSH 密钥名称列表。

startup_script

字符串

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

仅在创建裸机时考虑。

state

字符串

裸机的状态。

选择

  • "present" ← (默认)

  • "absent"

tags

列表 / 元素=字符串

裸机的标签。

user_data

字符串

要传递给裸机的用户数据。

validate_certs

布尔值

验证 Vultr API 的 SSL 证书。

选择

  • false

  • true ← (默认)

vpc2s

列表 / 元素=字符串

要分配给裸机的 VPC 列表(VPC 2.0),通过其描述进行标识。

说明

注意

示例

---
- name: Create an bare metal machine using OS
  vultr.cloud.bare_metal:
    label: my web server
    hostname: my-hostname
    user_data: |
      #cloud-config
      packages:
        - nginx
    plan: vbm-4c-32gb
    enable_ipv6: true
    ssh_keys:
      - my ssh key
    vpc2s:
      - my vpc description
    tags:
      - web
      - project-genesis
    region: ams
    os: Debian 12 x64 (bookworm)

- name: Deploy an bare metal machine of a marketplace app
  vultr.cloud.bare_metal:
    label: git-server
    hostname: git
    plan: vbm-4c-32gb
    enable_ipv6: true
    region: ams
    image: Gitea on Ubuntu 20.04

- name: Delete an bare metal machine
  vultr.cloud.bare_metal:
    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_裸金属

字典

来自 Vultr API 的响应。

已返回: 成功

app_id

整数

裸金属机器的应用程序 ID。

已返回: 成功

示例: 37

cpu_count

整数

裸金属机器的 CPU 计数。

已返回: 成功

示例: 1

date_created

字符串

裸金属机器的创建日期。

已返回: 成功

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

default_password

字符串

部署时分配的默认密码。仅在部署后十分钟内可用。

已返回: 成功

示例: "examplePassword"

disk

字符串

裸金属机器的磁盘信息。

已返回: 成功

示例: "2x 240GB SSD"

enable_ipv6

布尔值

是否启用 IPv6。

已返回: 成功

示例: true

features

列表 / 元素=字符串

裸金属机器的特性。

已返回: 成功

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

gateway_v4

字符串

网关 IPv4。

已返回: 成功

示例: "95.179.188.1"

id

字符串

裸金属机器的 ID。

已返回: 成功

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

image_id

字符串

裸金属机器的镜像 ID。

已返回: 成功

示例: ""

label

字符串

裸金属机器的标签。

已返回: 成功

示例: "my bare metal machine"

mac_address

整数

裸金属机器的 MAC 地址。

已返回: 成功

示例: 2199756823533

main_ip

字符串

裸金属机器的 IPv4 地址。

已返回: 成功

示例: "95.179.189.95"

netmask_v4

字符串

裸金属机器的 Netmask IPv4 地址。

已返回: 成功

示例: "255.255.254.0"

os

字符串

裸金属机器的操作系统。

已返回: 成功

示例: "Application"

os_id

整数

裸金属机器的操作系统 ID。

已返回: 成功

示例: 186

plan

字符串

裸金属机器的计划。

已返回: 成功

示例: "vbm-4c-32gb"

power_status

字符串

裸金属机器的电源状态。

已返回: 成功

示例: "running"

ram

字符串

裸金属机器的 RAM 信息。

已返回: 成功

示例: "32768 MB"

region

字符串

部署裸金属机器的区域。

已返回: 成功

示例: "ews"

status

字符串

关于裸金属机器部署的状态。

已返回: 成功

示例: "active"

tags

列表 / 元素=字符串

裸金属机器的标签。

已返回: 成功

示例: ["my-tag"]

user_data

字符串

裸金属机器的 Base64 编码用户数据 (cloud init)。

已返回: 成功

示例: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIGh0b3AK"

v6_main_ip

字符串

裸金属机器的 IPv6 地址。

已返回: 成功

示例: ""

v6_network

字符串

裸金属机器的 IPv6 网络。

已返回: 成功

示例: ""

v6_network_size

整数

裸金属机器的 IPv6 网络大小。

已返回: 成功

示例: 0

vpc2s

列表 / 元素=字符串

附加的 VPC 列表 (VPC 2.0)。

已返回: 成功

date_created

字符串

创建 VPC 的日期。

已返回: 成功

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

description

字符串

VPC 的描述。

已返回: 成功

示例: "my vpc"

id

字符串

VPC 的 ID。

已返回: 成功

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

ip_block

字符串

分配给 VPC 的 IP 块。

已返回: 成功

示例: "10.99.0.0"

prefix_length

整数

CIDR 表示法中用于子网掩码的位数。

已返回: 成功

示例: 24

region

字符串

VPC 被分配到的区域。

已返回: 成功

示例: "ews"

作者

  • René Moser (@resmo)