hetzner.hcloud.certificate 模块 – 在 Hetzner Cloud 上创建和管理证书。

注意

此模块是 hetzner.hcloud 集合 (版本 4.2.2) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install hetzner.hcloud。您需要其他要求才能使用此模块,请参阅 需求 获取详细信息。

要在剧本中使用它,请指定:hetzner.hcloud.certificate

概要

  • 在 Hetzner Cloud 上创建、更新和管理证书。

别名:hcloud_certificate

需求

执行此模块的主机需要以下要求。

  • python-dateutil >= 2.7.5

  • requests >=2.20

参数

参数

注释

api_endpoint

别名:endpoint

字符串

Hetzner Cloud 的 API 端点。

您也可以使用 HCLOUD_ENDPOINT 环境变量来设置此选项。

默认值: "https://api.hetzner.cloud/v1"

api_token

字符串 / 必需

Hetzner Cloud 的 API 令牌。

您也可以使用 HCLOUD_TOKEN 环境变量来设置此选项。

certificate

字符串

PEM 格式的证书和链,顺序排列,以便每个记录直接认证前面的记录。

如果证书不存在且 *type=uploaded*,则需要此参数。

domain_names

列表 / 元素=字符串

Let’s Encrypt 颁发的证书中应包含的域名和子域名。

如果 *type=managed*,则需要此参数。

默认值: []

id

整数

要管理的 Hetzner Cloud 证书的 ID。

仅当未提供证书 *name* 时才需要

labels

字典

用户定义的标签(键值对)

name

字符串

要管理的 Hetzner Cloud 证书的名称。

仅当未提供证书 *id* 或证书不存在时才需要。

private_key

字符串

PEM 格式的证书密钥。

如果证书不存在且 *type=uploaded*,则需要此参数。

state

字符串

证书的状态。

选项

  • "absent"

  • "present" ← (默认)

type

字符串

选择上传 PEM 格式的证书或请求托管的 Let’s Encrypt 证书。

选项

  • "uploaded" ← (默认)

  • "managed"

另请参阅

另请参阅

Hetzner Cloud API 文档

Hetzner Cloud API 的完整参考。

示例

- name: Create a basic certificate
  hetzner.hcloud.certificate:
    name: my-certificate
    certificate: -----BEGIN CERTIFICATE-----...
    private_key: -----BEGIN PRIVATE KEY-----...
    state: present

- name: Create a certificate with labels
  hetzner.hcloud.certificate:
    name: my-certificate
    certificate: -----BEGIN CERTIFICATE-----...
    private_key: -----BEGIN PRIVATE KEY-----...
    labels:
      key: value
      mylabel: 123
    state: present

- name: Create a managed certificate
  hetzner.hcloud.certificate:
    name: my-certificate
    type: managed
    domain_names:
      - example.com
      - www.example.com
    state: present

- name: Ensure the certificate is absent (remove if needed)
  hetzner.hcloud.certificate:
    name: my-certificate
    state: absent

返回值

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

描述

hcloud_certificate

复杂类型

证书实例

返回: 始终

certificate

字符串

PEM 格式的证书和链

返回: 始终

示例: "-----BEGIN CERTIFICATE-----..."

domain_names

字典

证书涵盖的域名和子域名的列表

返回: 始终

fingerprint

字符串

证书的指纹

返回: 始终

示例: "03:c7:55:9b:2a:d1:04:17:09:f6:d0:7f:18:34:63:d4:3e:5f"

id

整数

证书的数字标识符

返回: 始终

示例: 1937415

labels

字典

用户定义的标签(键值对)

返回: 始终

name

字符串

证书的名称

返回: 始终

示例: "my website cert"

not_valid_after

字符串

证书停止有效的时刻(ISO-8601 格式)

返回: 始终

not_valid_before

字符串

证书生效的时刻(ISO-8601 格式)

返回: 始终

作者

  • Lukas Kaemmerling (@lkaemmerling)