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 令牌。您可以使用 https://control.cloudscale.ch 的 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”。 已返回: 成功 示例: |
|
自定义镜像的唯一标识符。 已返回: 成功 示例: |