community.general.oci_vcn 模块 – 在 OCI 中管理虚拟云网络 (VCN)

注意

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

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

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

要在 playbook 中使用它,请指定: community.general.oci_vcn

概要

要求

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

参数

参数

注释

api_user

字符串

用户的 OCID,代表其调用 OCI API。如果未设置,则使用 OCI_USER_OCID 环境变量的值(如果有)。如果用户未通过配置文件指定(请参阅 config_file_location),则此选项是必需的。要获取用户的 OCID,请参阅 https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm

api_user_fingerprint

字符串

正在使用的密钥对的指纹。如果未设置,则使用 OCI_USER_FINGERPRINT 环境变量的值(如果有)。如果密钥指纹未通过配置文件指定(请参阅 config_file_location),则此选项是必需的。要获取密钥对的指纹值,请参阅 https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm

api_user_key_file

路径

私钥(PEM 格式)的完整路径和文件名。如果未设置,则使用 OCI_USER_KEY_FILE 变量的值(如果有)。如果私钥未通过配置文件指定(请参阅 config_file_location),则此选项是必需的。如果密钥使用密码加密,则还必须提供 api_user_key_pass_phrase 选项。

api_user_key_pass_phrase

字符串

如果 api_user_key_file 中引用的密钥已加密,则使用此密码。如果未设置,则使用 OCI_USER_KEY_PASS_PHRASE 变量的值(如果有)。如果密钥密码未通过配置文件指定(请参阅 config_file_location),则此选项是必需的。

auth_type

字符串

用于进行 API 请求的身份验证类型。默认情况下,将执行基于 auth_type=api_key 的身份验证,并将使用配置文件中的 API 密钥(请参阅 api_user_key_file)。如果没有指定此“auth_type”模块选项,则使用 OCI_ANSIBLE_AUTH_TYPE 的值(如果有)。使用 auth_type=instance_principal 在 OCI 计算实例中运行 ansible playbook 时使用基于实例主体身份验证。

选项

  • "api_key" ← (默认)

  • "instance_principal"

cidr_block

字符串

VCN 的 CIDR IP 地址块。使用 state=present 创建 VCN 时必需。

compartment_id

字符串

包含 VCN 的区室的 OCID。使用 state=present 创建 VCN 时必需。此选项与 vcn_id 互斥。

config_file_location

字符串

配置文件的路径。如果未设置,则使用 OCI_CONFIG_FILE 环境变量的值(如果有)。否则,默认为 ~/.oci/config

config_profile_name

字符串

config_file_location引用的配置文件中加载的配置文件。如果未设置,则使用OCI_CONFIG_PROFILE环境变量的值(如果存在)。否则,默认为config_file_location中的DEFAULT配置文件。

默认值: "DEFAULT"

defined_tags

字典

此资源的已定义标签。每个键都是预定义的,并作用域到一个命名空间。更多信息,请参见 https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm

display_name

别名:name

字符串

用户友好的名称。不必唯一,并且可以更改。

dns_label

字符串

VCN 的 DNS 标签,与 VNIC 的主机名和子网的 DNS 标签结合使用,为该子网中的每个 VNIC 形成完全限定域名 (FQDN)(例如,bminstance-1.subnet123.vcn1.oraclevcn.com)。不需要唯一,但最好为租户中的 VCN 设置唯一的 DNS 标签。必须是字母数字字符串,并以字母开头。该值不可更改。

force_create

布尔值

是否尝试对资源进行非幂等创建。默认情况下,创建资源是幂等操作,如果资源已存在,则不会创建资源。将此选项设置为 true,则强制创建资源的副本,即使它已存在。此选项与key_by互斥。

选项

  • false ← (默认)

  • true

freeform_tags

字典

此资源的自由格式标签。每个标签都是一个简单的键值对,没有预定义的名称、类型或命名空间。更多信息,请参见 https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm

key_by

列表 / 元素=字符串

此资源的逗号分隔属性列表,应将其用于唯一标识资源的实例。默认情况下,资源的所有属性(freeform_tags除外)都用于唯一标识资源。

region

字符串

用于所有 OCI API 请求的 Oracle Cloud Infrastructure 区域。如果未设置,则使用 OCI_REGION 变量的值(如果存在)。如果未通过配置文件指定区域,则此选项是必需的(请参见 config_file_location)。有关 OCI 区域的更多信息,请参阅 https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm

state

字符串

使用 state=present 创建或更新 VCN。使用 state=absent 删除 VCN。

选项

  • "present" ← (默认)

  • "absent"

tenancy

字符串

租户的 OCID。如果未设置,则使用 OCI_TENANCY 变量的值(如果存在)。如果未通过配置文件指定租户 OCID,则此选项是必需的(请参见 config_file_location)。要获取租户 OCID,请参阅 https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm

vcn_id

别名:id

字符串

VCN 的 OCID。当使用 state=absent 删除 VCN 或使用 state=present 更新 VCN 时,此选项是必需的。此选项与 compartment_id互斥。

wait

布尔值

是否等待创建或删除操作完成。

选项

  • false

  • true ← (默认)

wait_timeout

整数

wait=true 时,等待的时间(以秒为单位)。

默认值: 1200

wait_until

字符串

wait=true 时,等待资源转换到的生命周期状态。默认情况下,当 wait=true 时,我们等待资源在创建操作期间进入 ACTIVE/ATTACHED/AVAILABLE/PROVISIONED/RUNNING 适用的生命周期状态,并在删除操作期间进入 DELETED/DETACHED/TERMINATED 生命周期状态。

属性

属性

支持

描述

check_mode

支持:不支持

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

diff_mode

支持:不支持

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

备注

示例

- name: Create a VCN
  community.general.oci_vcn:
    cidr_block: '10.0.0.0/16'
    compartment_id: 'ocid1.compartment.oc1..xxxxxEXAMPLExxxxx'
    display_name: my_vcn
    dns_label: ansiblevcn

- name: Updates the specified VCN's display name
  community.general.oci_vcn:
    vcn_id: ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx
    display_name: ansible_vcn

- name: Delete the specified VCN
  community.general.oci_vcn:
    vcn_id: ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx
    state: absent

返回值

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

描述

vcn

字典

有关 VCN 的信息

返回:在成功创建和更新操作时

示例: {"cidr_block": "10.0.0.0/16", "compartment_id\"": "ocid1.compartment.oc1..xxxxxEXAMPLExxxxx", "default_dhcp_options_id": "ocid1.dhcpoptions.oc1.phx.xxxxxEXAMPLExxxxx", "default_route_table_id": "ocid1.routetable.oc1.phx.xxxxxEXAMPLExxxxx", "default_security_list_id": "ocid1.securitylist.oc1.phx.xxxxxEXAMPLExxxxx", "display_name": "ansible_vcn", "dns_label": "ansiblevcn", "id": "ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx", "lifecycle_state": "AVAILABLE", "time_created": "2017-11-13T20:22:40.626000+00:00", "vcn_domain_name": "ansiblevcn.oraclevcn.com"}

作者

  • Rohit Chaware (@rohitChaware)