community.digitalocean.digital_ocean_sshkey 模块 – 管理 DigitalOcean SSH 密钥

注意

此模块是 community.digitalocean 集合 (版本 1.27.0) 的一部分。

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

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

要在剧本中使用它,请指定:community.digitalocean.digital_ocean_sshkey

概要

  • 创建/删除 DigitalOcean SSH 密钥。

要求

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

  • python >= 2.6

参数

参数

注释

baseurl

字符串

DigitalOcean API 基本 URL。

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

fingerprint

别名:id

字符串

这是用于删除密钥的 SSH 密钥的唯一标识符

name

字符串

SSH 密钥的名称

oauth_token

别名:api_token

字符串

DigitalOcean OAuth 令牌。

可以使用多个其他环境变量来提供此值。

例如,- DO_API_TOKENDO_API_KEYDO_OAUTH_TOKENOAUTH_TOKEN

ssh_pub_key

字符串

要添加的公共 SSH 密钥。

state

字符串

指示目标的所需状态。

选项

  • "present" ← (默认)

  • "absent"

timeout

整数

用于轮询 DigitalOcean API 的超时时间(秒)。

默认值: 30

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

这应该只在使用自签名证书的个人控制站点上设置为 no

选项

  • false

  • true ← (默认)

备注

注意

  • 使用 DigitalOcean API 的版本 2。

示例

- name: "Create ssh key"
  community.digitalocean.digital_ocean_sshkey:
    oauth_token: "{{ oauth_token }}"
    name: "My SSH Public Key"
    ssh_pub_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example"
    state: present
  register: result

- name: "Delete ssh key"
  community.digitalocean.digital_ocean_sshkey:
    oauth_token: "{{ oauth_token }}"
    state: "absent"
    fingerprint: "3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa"

返回值

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

描述

data

字典

这只在 state=present 时出现

返回:state=present

示例: {"ssh_key": {"fingerprint": "3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa", "id": 512189, "name": "My SSH Public Key", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example"}}

作者

  • Patrick Marques (@pmarques)