community.general.scaleway_container 模块 – Scaleway 容器管理

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 需求 以了解详情。

要在剧本中使用它,请指定:community.general.scaleway_container

community.general 6.0.0 中的新增功能

概要

  • 此模块管理 Scaleway 帐户上的容器。

需求

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

  • passlib[argon2] >= 1.7.4

参数

参数

注释

api_timeout

别名:timeout

整数

对 Scaleway API 的 HTTP 超时时间(秒)。

默认值: 30

api_token

别名:oauth_token

字符串 / 必填

Scaleway OAuth 令牌。

api_url

别名:base_url

字符串

Scaleway API URL。

默认值: "https://api.scaleway.com"

container_timeout

字符串

处理请求之前你的处理程序可以花费的时间长度,之后会被停止。

description

字符串

容器命名空间的描述。

默认值: ""

environment_variables

字典

容器命名空间的环境变量。

在运行时注入到容器中。

默认值: {}

max_concurrency

整数

每个容器的最大连接数。

此参数将用于触发自动缩放。

max_scale

整数

容器的最大副本数。

memory_limit

整数

资源定义容器的性能特征。

它们在运行时分配给你的容器。

min_scale

整数

容器的最小副本数。

name

字符串 / 必填

容器命名空间的名称。

namespace_id

字符串 / 必填

容器命名空间标识符。

port

整数

用于公开容器的监听端口。

privacy

字符串

隐私策略定义容器是否可以匿名执行。

选择 public 以启用匿名执行,或选择 private 以使用 Scaleway API 提供的身份验证机制保护你的容器。

选项

  • "public" ← (默认)

  • "private"

protocol

字符串

容器的通信协议。

选项

  • "http1" ← (默认)

  • "h2c"

query_parameters

字典

传递给查询字符串的参数列表。

默认值: {}

redeploy

布尔值

如果需要更新,则重新部署容器。

选项

  • false ← (默认)

  • true

region

字符串 / 必填

要使用的 Scaleway 区域(例如 fr-par)。

选项

  • "fr-par"

  • "nl-ams"

  • "pl-waw"

registry_image

字符串 / 必填

容器使用的镜像名称。

secret_environment_variables

字典

容器命名空间的秘密环境变量。

更新这些值不会在 Ansible 中输出 changed 状态。

在运行时注入到容器中。

默认值: {}

state

字符串

指示容器的所需状态。

选项

  • "present" ← (默认)

  • "absent"

validate_certs

布尔值

验证 Scaleway API 的 SSL 证书。

选项

  • false

  • true ← (默认)

wait

布尔值

等待资源达到其所需状态后再返回。

选项

  • false

  • true ← (默认)

wait_sleep_time

整数

每次尝试检查资源状态之前等待的时间。

默认值: 3

wait_timeout

整数

等待资源达到预期状态的时间。

默认值: 300

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在check_mode中更改的内容)的详细信息。

备注

注意

示例

- name: Create a container
  community.general.scaleway_container:
    namespace_id: '{{ scw_container_namespace }}'
    state: present
    region: fr-par
    name: my-awesome-container
    registry_image: rg.fr-par.scw.cloud/funcscwtestrgy2f9zw/nginx:latest
    environment_variables:
      MY_VAR: my_value
    secret_environment_variables:
      MY_SECRET_VAR: my_secret_value
  register: container_creation_task

- name: Make sure container is deleted
  community.general.scaleway_container:
    namespace_id: '{{ scw_container_namespace }}'
    state: absent
    region: fr-par
    name: my-awesome-container

返回值

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

描述

容器

字典

容器信息。

返回值:state=present

示例:{"cpu_limit": 140, "description": "Container used for testing scaleway_container ansible module", "domain_name": "cnansibletestgfogtjod-cn-ansible-test.functions.fnc.fr-par.scw.cloud", "environment_variables": {"MY_VAR": "my_value"}, "error_message": null, "http_option": "", "id": "c9070eb0-d7a4-48dd-9af3-4fb139890721", "max_concurrency": 50, "max_scale": 5, "memory_limit": 256, "min_scale": 0, "name": "cn-ansible-test", "namespace_id": "75e299f1-d1e5-4e6b-bc6e-4fb51cfe1e69", "port": 80, "privacy": "public", "protocol": "http1", "region": "fr-par", "registry_image": "rg.fr-par.scw.cloud/namespace-ansible-ci/nginx:latest", "secret_environment_variables": [{"key": "MY_SECRET_VAR", "value": "$argon2id$v=19$m=65536,t=1,p=2$tb6UwSPWx/rH5Vyxt9Ujfw$5ZlvaIjWwNDPxD9Rdght3NarJz4IETKjpvAU3mMSmFg"}], "status": "created", "timeout": "300s"}

作者

  • Guillaume MARTINEZ (@Lunik)