ngine_io.cloudstack.cs_network_offering 模块 – 管理基于 Apache CloudStack 云的网络服务。

注意

此模块是 ngine_io.cloudstack 集合 (版本 2.5.0) 的一部分。

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

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

要在 playbook 中使用它,请指定:ngine_io.cloudstack.cs_network_offering

ngine_io.cloudstack 0.1.0 中的新增功能

概要

  • 创建、更新、启用、禁用和删除网络服务。

要求

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

  • python >= 2.6

  • cs >= 0.9.0

参数

参数

注释

api_http_method

字符串

用于查询 API 端点的 HTTP 方法。

如果未给出,则考虑 CLOUDSTACK_METHOD 环境变量。

选项

  • "get" ← (默认)

  • "post"

api_key

字符串 / 必需

CloudStack API 的 API 密钥。

如果未给出,则考虑 CLOUDSTACK_KEY 环境变量。

api_secret

字符串 / 必需

CloudStack API 的密钥。

如果未设置,则考虑 CLOUDSTACK_SECRET 环境变量。

api_timeout

整数

HTTP 超时时间(秒)。

如果未给出,则考虑 CLOUDSTACK_TIMEOUT 环境变量。

默认值: 10

api_url

字符串 / 必需

CloudStack API 的 URL,例如 https://cloud.example.com/client/api

如果未给出,则考虑 CLOUDSTACK_ENDPOINT 环境变量。

api_verify_ssl_cert

字符串

验证 CA 权威证书文件。

如果未给出,则考虑 CLOUDSTACK_VERIFY 环境变量。

availability

字符串

网络服务的可用性。默认值为可选。

conserve_mode

布尔值

网络服务是否启用了 IP 节省模式。

选项

  • false

  • true

details

列表 / 元素=字典

网络服务的详细信息,以键值对的形式给出。

使用服务提供商作为值

display_text

字符串

网络服务的显示文本。

domains

别名:domain

列表 / 元素=字符串

ngine_io.cloudstack 2.2.0 中新增

网络服务相关的域列表。

对于公共服务,使用 public

egress_default_policy

字符串

默认出站策略是允许还是拒绝。

选项

  • "allow"

  • "deny"

for_vpc

布尔值

该服务是否用于 VPC。

选项

  • false

  • true

guest_ip_type

字符串

网络服务的访客类型。

选项

  • "Shared"

  • "Isolated"

keepalive_enabled

布尔值

如果为真,则会在负载均衡器中打开 keepalive。

在撰写本文时,这只对 haproxy 有效。

在 haproxy 配置文件中,http 和 httpclose 选项未设置。

选项

  • false

  • true

max_connections

整数

网络服务支持的最大并发连接数。

name

字符串 / 必需

网络服务的名称。

network_rate

整数

允许的数据传输速率(兆比特/秒)。

persistent

布尔值

如果网络服务支持持久性网络,则为 True

如果未指定,则默认为 false

选项

  • false

  • true

service_capabilities

别名:service_capability

列表 / 元素=字符串

作为网络服务一部分所需的的服务功能。

service_offering

字符串

虚拟路由器提供商使用的服务服务名称或 ID。

service_providers

别名:service_provider

列表 / 元素=字典

提供商到服务的映射。

如果未指定,则服务的提供商将映射到物理网络上的默认提供商。

specify_ip_ranges

布尔值

网络服务是否支持指定 IP 范围。

如果未指定,则 API 默认设置为 no

选项

  • false

  • true

specify_vlan

布尔值

网络服务是否支持 VLAN。

选项

  • false

  • true

state

字符串

网络服务的状态。

选项

  • "enabled"

  • "present" ← (默认)

  • "disabled"

  • "absent"

supported_services

别名:supported_service

列表 / 元素=字符串

网络服务支持的服务。

来自选择列表的一个或多个项目列表。

选项

  • "Dns"

  • "PortForwarding"

  • "Dhcp"

  • "SourceNat"

  • "UserData"

  • "Firewall"

  • "StaticNat"

  • "Vpn"

  • "Lb"

  • "NetworkACL"

  • "SecurityGroup"

  • "Connectivity"

  • "BaremetalPxeService"

tags

别名:tag

列表 / 元素=字符串

ngine_io.cloudstack 2.2.0 中新增

标签列表。标签是字符串列表。

要删除所有标签,请设置空列表,例如:tags: []

traffic_type

字符串

网络服务的流量类型。

默认值: "Guest"

validate_certs

布尔值

ngine_io.cloudstack 2.4.0 中新增

如果为 false,则不会验证 SSL 证书。

如果未给出,则考虑 CLOUDSTACK_DANGEROUS_NO_TLS_VERIFY 环境变量。

这仅应在使用自签名证书的个人控制站点上使用。

选项

  • false

  • true ← (默认)

zones

别名:zone

列表 / 元素=字符串

ngine_io.cloudstack 2.2.0 中新增

网络服务相关的区域列表。

对于所有区域服务,使用 all

注释

注意

  • 关于CloudStack模块的详细指南,请参见CloudStack云指南

  • 此模块支持检查模式。

示例

- name: Create a network offering and enable it
  ngine_io.cloudstack.cs_network_offering:
    name: my_network_offering
    display_text: network offering description
    state: enabled
    guest_ip_type: Isolated
    supported_services:
      - Dns
      - PortForwarding
      - Dhcp
      - SourceNat
      - UserData
      - Firewall
      - StaticNat
      - Vpn
      - Lb
      - NetworkACL
      - SecurityGroup
      - Connectivity
      - BaremetalPxeService
    service_providers:
      - { service: 'dns', provider: 'virtualrouter' }
      - { service: 'dhcp', provider: 'virtualrouter' }

- name: Remove a network offering
  ngine_io.cloudstack.cs_network_offering:
    name: my_network_offering
    state: absent

返回值

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

Key

描述

availability

字符串

网络服务的可用性。

返回值:成功

示例: "可选"

display_text

字符串

网络服务的显示文本。

返回值:成功

示例: "我的 网络 服务"

域 (domains)

列表 / 元素=字符串

ngine_io.cloudstack 2.2.0 中新增

与网络服务关联的域列表。

返回值:成功

示例: ["public"]

egress_default_policy

字符串

默认出站策略。

返回值:成功

示例: "允许"

for_vpc

布尔值

该服务是否用于 VPC。

返回值:成功

示例: false

guest_ip_type

字符串

网络服务的访客类型。

返回值:成功

示例: "隔离"

ID

字符串

网络服务的UUID。

返回值:成功

示例: "a6f7a5fc-43f8-11e5-a151-feff819cdc9f"

是否默认 (is_default)

布尔值

网络服务是否为默认服务。

返回值:成功

示例: false

是否持久 (is_persistent)

布尔值

是否支持持久网络。

返回值:成功

示例: false

max_connections

整数

负载均衡器可处理的最大并发连接数。

返回值:成功

示例: 300

name

字符串

网络服务的名称。

返回值:成功

示例: "MyCustomNetworkOffering"

network_rate

整数

网络流量传输速率,单位为Mbit/s。

返回值:成功

示例: 200

服务服务ID (service_offering_id)

字符串

服务服务ID。

返回值:成功

示例: "c5f7a5fc-43f8-11e5-a151-feff819cdc9f"

state

字符串

网络服务的狀態。

返回值:成功

示例: "已启用"

标签 (tags)

列表 / 元素=字符串

ngine_io.cloudstack 2.2.0 中新增

与网络服务关联的标签列表。

返回值:成功

示例: ["tag1", "tag2"]

traffic_type

字符串

流量类型。

返回值:成功

示例: "访客"

区域 (zones)

列表 / 元素=字符串

ngine_io.cloudstack 2.2.0 中新增

与网络服务关联的区域列表。

返回值:成功

示例: ["全部"]

作者

  • David Passante (@dpassante)