cloudscale_ch.cloud.custom_image 模块 – 管理 cloudscale.ch IaaS 服务上的自定义镜像
注意
此模块是 cloudscale_ch.cloud 集合(版本 2.4.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cloudscale_ch.cloud
。
要在 playbook 中使用它,请指定:cloudscale_ch.cloud.custom_image
。
cloudscale_ch.cloud 2.2.0 中的新增功能
概要
导入、修改和删除自定义镜像。
参数
参数 |
注释 |
---|---|
调用 cloudscale.ch API 的超时时间(秒)。 也可以在 默认值: |
|
cloudscale.ch API 令牌。 也可以在 |
|
cloudscale.ch API URL。 也可以在 默认值: |
|
将用于使用此镜像创建的服务器的固件类型。 选项
|
|
即使使用相同的名称和 URL 的导入失败已存在,也重试镜像导入。这对于从下载错误中恢复是必要的。 选项
|
|
自定义镜像的人类可读名称。必须存在名称或 UUID 才能更改现有镜像。 |
|
一个字符串,用于标识 API 中使用的自定义镜像。 |
|
URL 中引用的镜像的文件格式。 选项
|
|
自定义镜像的状态。 选项
|
|
分配给自定义镜像的标签。 |
|
用于下载镜像的 URL。 |
|
创建服务器时如何处理 user_data。目前有两个选项,“pass-through”和“extend-cloud-config”。 选项
|
|
自定义镜像导入的唯一标识符。必须存在名称或 UUID 才能更改现有镜像。 |
|
指定自定义镜像将可用的区域(例如, |
备注
注意
要导入新的自定义镜像,需要 url 和 name 选项。
所有操作均使用 cloudscale.ch 公共 API v1 执行。
有关详细信息,请参阅完整的 API 文档:https://www.cloudscale.ch/en/api/v1。
所有操作都需要有效的 API 令牌。您可以使用 cloudscale.ch 控制面板在 https://control.cloudscale.ch 创建任意数量的令牌。
示例
- name: Import custom image
cloudscale_ch.cloud.custom_image:
name: "My Custom Image"
url: https://ubuntu.com/downloads/hirsute.img
slug: my-custom-image
user_data_handling: extend-cloud-config
zones: lpg1
tags:
project: luna
state: present
register: my_custom_image
- name: Wait until import succeeded
cloudscale_ch.cloud.custom_image:
uuid: "{{ my_custom_image.uuid }}"
retries: 15
delay: 5
register: image
until: image.import_status == 'success'
failed_when: image.import_status == 'failed'
- name: Import custom image and wait until import succeeded
cloudscale_ch.cloud.custom_image:
name: "My Custom Image"
url: https://ubuntu.com/downloads/hirsute.img
slug: my-custom-image
user_data_handling: extend-cloud-config
zones: lpg1
tags:
project: luna
state: present
retries: 15
delay: 5
register: image
until: image.import_status == 'success'
failed_when: image.import_status == 'failed'
- name: Import custom image with UEFI firmware type
cloudscale_ch.cloud.custom_image:
name: "My Custom UEFI Image"
url: https://ubuntu.com/downloads/hirsute.img
slug: my-custom-uefi-image
user_data_handling: extend-cloud-config
zones: lpg1
firmware_type: uefi
tags:
project: luna
state: present
register: my_custom_image
- name: Update custom image
cloudscale_ch.cloud.custom_image:
name: "My Custom Image"
slug: my-custom-image
user_data_handling: extend-cloud-config
tags:
project: luna
state: present
- name: Delete custom image
cloudscale_ch.cloud.custom_image:
uuid: '{{ my_custom_image.uuid }}'
state: absent
- name: List all custom images
uri:
url: 'https://api.cloudscale.ch/v1/custom-images'
headers:
Authorization: 'Bearer {{ query("env", "CLOUDSCALE_API_TOKEN") }}'
status_code: 200
register: image_list
- name: Search the image list for all images with name 'My Custom Image'
set_fact:
my_custom_images: '{{ image_list.json | selectattr("name","search", "My Custom Image" ) }}'
返回值
通用返回值已在此处记录 此处,以下是此模块独有的字段
键 |
描述 |
---|---|
自定义镜像的校验和,以键值对的形式表示。算法(例如 sha256)名称在键中,校验和在值中。使用的算法集将来可能会更改。 返回值: 成功 示例: |
|
资源的创建日期和时间。 返回值: 成功 示例: |
|
导入失败时的错误消息。 返回值: 成功 示例: |
|
用于获取此资源详细信息的 API URL。 返回值: 当 state == present 时成功 示例: |
|
显示导入的进度。值为“started”、“in_progress”、“success”或“failed”之一。 返回值: 成功 示例: |
|
自定义镜像的人类可读名称。 返回值: 成功 示例: |
|
一个字符串,用于标识 API 中使用的自定义镜像。 返回值: 成功 示例: |
|
自定义镜像的当前状态。 返回值: 成功 示例: |
|
与自定义镜像关联的标签。 返回值: 成功 示例: |
|
创建服务器时如何处理 user_data。目前有两个选项,“pass-through”和“extend-cloud-config”。 返回值: 成功 示例: |
|
自定义镜像的唯一标识符。 返回值: 成功 示例: |