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

注意

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

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

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

要在剧本中使用它,请指定: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 的值(如有)。在 OCI 计算实例中运行 Ansible playbook 时,请使用auth_type=instance_principal 来使用基于实例主体身份验证。

选项

  • "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)