Todos los productos
Search
Centro de documentos

Cloud Control API:Esquema de resource

Última actualización: Sep 05, 2026

El esquema de resource define la estructura, las propiedades y los comportamientos de los recursos de Alibaba Cloud que se gestionan mediante Cloud Control API.

Un esquema de resource describe los recursos de Alibaba Cloud, incluidas sus propiedades, tipos, relaciones y comportamientos. En él se especifica cómo se organizan y representan los datos del recurso para que distintas aplicaciones y sistemas puedan compartirlos e interpretarlos.

Las operaciones de Cloud Control API se basan en el esquema de resource, por lo que es importante comprenderlo. Llame a las operaciones ListResourceTypes y GetResourceType para consultar los metadatos del recurso.

Un esquema de resource de Alibaba Cloud consta de información básica, propiedades e información extendida.

  • La información básica incluye el nombre del recurso, la descripción, el nivel de despliegue y el tipo de cobro.

  • Las propiedades se clasifican en propiedades del sistema y propiedades personalizadas. Las propiedades del sistema incluyen la región, la zona, el tipo de cobro, la hora de creación, el resource group y las etiquetas. Configure los parámetros de solicitud de las operaciones de Cloud Control API con base en las descripciones de las propiedades.

  • La información extendida incluye detalles de autorización y capacidad, como políticas de autorización, políticas de limitación de velocidad y cuotas.

A continuación se describe la estructura del esquema de resource y se proporciona un ejemplo.

Estructura del esquema de resource

Parámetro

Tipo

Descripción

product

string

El código del servicio.

resourceType

string

El tipo de recurso.

info

Info

La información básica del recurso.

properties

Map<String,Property>

Las propiedades del recurso. La clave indica el nombre de la propiedad y el valor indica los detalles de dicha propiedad.

primaryIdentifier

string

El identificador del recurso.

required

array

Las propiedades que debe especificar cuando cree el recurso.

string

La propiedad que debe especificar cuando cree el recurso.

publicProperties

array

Las propiedades comunes del recurso. Estas no son específicas de ninguna operación.

string

La propiedad común.

readOnlyProperties

array

Las propiedades de solo lectura. Estas propiedades solo se devuelven cuando enumera o consulta el recurso. No es necesario especificarlas al crear o actualizar el recurso.

string

La propiedad de solo lectura.

filterProperties

array

Las propiedades que sirven para filtrar recursos durante una operación de enumeración.

string

La propiedad de filtro.

updateTypeProperties

array

Las propiedades que admiten modificaciones.

string

La propiedad que admite modificaciones.

sensitiveInfoProperties

array

Las propiedades sensibles, como la contraseña.

string

La propiedad sensible.

createOnlyProperties

array

Las propiedades exclusivas de la operación de creación. Especifíquelas cuando cree el recurso, ya que no se devuelven al consultarlo.

string

La propiedad exclusiva de la operación de creación.

updateOnlyProperties

array

Las propiedades exclusivas de la operación de actualización. Especifíquelas cuando actualice el recurso, ya que no se devuelven al consultarlo.

string

La propiedad exclusiva de la operación de actualización.

getOnlyProperties

array

Las propiedades exclusivas de la operación de consulta. Especifíquelas cuando consulte el recurso, aunque no se devuelven en el resultado de la consulta.

string

La propiedad exclusiva de la operación de consulta.

listOnlyProperties

array

Las propiedades exclusivas de la operación de enumeración. Especifíquelas cuando enumere el recurso, ya que no se devuelven al consultarlo.

string

La propiedad exclusiva de la operación de enumeración.

deleteOnlyProperties

array

Las propiedades exclusivas de la operación de eliminación. Especifíquelas cuando elimine el recurso, ya que no se devuelven al consultarlo.

string

La propiedad exclusiva de la operación de eliminación.

getResponseProperties

array

Las propiedades que se devuelven cuando consulta el recurso.

string

La propiedad que se devuelve cuando consulta el recurso.

listResponseProperties

array

Las propiedades que se devuelven cuando enumera el recurso.

string

La propiedad que se devuelve cuando consulta el recurso.

handlers

Handler

Los detalles de la operación, incluidos los permisos obligatorios de Resource Access Management (RAM).

Info

Parámetro

Tipo

Descripción

title

String

El nombre del recurso.

description

String

La descripción del recurso.

chargeType

String

El tipo de cobro del recurso. Valores válidos:

  • paid

  • free

deliveryScope

String

El nivel de despliegue del recurso. Valores válidos:

  • center

  • region

  • zone

Property

Parámetro

Tipo

Descripción

title

String

El nombre de la propiedad.

description

String

La descripción de la propiedad.

$ref

String

La referencia de la propiedad.

Formato:

#/products/{product}/resourceTypes/{resourceType}/properties/{PropertyName}

refType

String

El tipo de referencia. Valores válidos: dependency y childParent.

type

String

El tipo de la propiedad. Valores válidos:

string

integer

number

object

array

boolean

map

format

String

El formato del valor de la propiedad. Este parámetro complementa al parámetro type.

Este parámetro es opcional si el parámetro type se establece en string. Valores válidos: byte y binary.

Si no se especifica este parámetro, el valor de la propiedad es una cadena regular.

El valor byte indica un flujo de bytes codificado en Base64.

El valor binary indica un flujo de bytes.

Este parámetro es obligatorio si el parámetro type se establece en integer. Valores válidos:

int32 e int64.

El valor int32 indica un número entero.

El valor int64 indica un número entero largo.

Este parámetro es obligatorio si el parámetro type se establece en number. Valores válidos:

float y double.

El valor float indica un número de punto flotante de precisión simple.

El valor double indica un número de punto flotante de precisión doble.

properties

Map<String, Property>

La descripción de la propiedad de objeto.

items

Property

La descripción de la propiedad de arreglo.

additionalProperties

Property

El tipo del valor del mapa. En JSON, el tipo de una clave de mapa es string y no requiere descripción.

required

Boolean

Indica si la propiedad debe especificarse cuando cree el recurso.

numRange

List<NumRange>

Los valores válidos si el parámetro type se establece en number.

default

String

El valor predeterminado de la propiedad.

enum

List<String>

Los valores válidos de la propiedad.

pattern

String

La expresión regular que se usa para comprobar el valor de la propiedad.

readOnly

Boolean

Indica si la propiedad es de solo lectura.

updateType

Boolean

Indica si la propiedad admite modificaciones.

sensitive

Boolean

Indica si la propiedad es sensible.

extMonitorInfo

Boolean

Indica si la propiedad se utiliza para el monitoreo.

operatePrivateType

array

Las operaciones a las que esta propiedad es exclusiva.

string

La operación. Valores válidos:

  • create

  • update

  • list

  • get

  • delete

NumRange

Parámetro

Tipo

Descripción

maximum

String

El valor máximo si el parámetro type se establece en number.

exclusiveMaximum

Boolean

Indica si se excluye el valor máximo.

minimum

String

El valor mínimo si el parámetro type se establece en number.

exclusiveMinimum

Boolean

Indica si se excluye el valor mínimo.

Handler

Parámetro

Tipo

Descripción

create

OperationInfo

La información sobre la operación de creación.

read

OperationInfo

La información sobre la operación de consulta.

update

OperationInfo

La información sobre la operación de actualización.

delete

OperationInfo

La información sobre la operación de eliminación.

list

OperationInfo

La información sobre la operación de enumeración.

OperationInfo

Parámetro

Tipo

Descripción

permissions

array

Los permisos de RAM obligatorios.

String

El permiso de RAM.

Esquema en formato JSON

{
     "product": "string",
     "resourceType": "string",
     "info": {
          "title": "string",
          "description": "string",
          "deliveryScope": "string",
          "chargeType": "string"
     },
     "properties": {
          "PropertyName": {
               "title": "string",
               "description": "string",
               "type": "string"
          },
          "CreateTime": {
               "title": "string",
               "description": "string",
               "type": "string"
          },
          "Password": {
               "title": "string",
               "description": "string",
               "type": "string"
          }
     },
     "required": [
          "PropertyName"
     ],
     "publicProperties": [
          "PropertyName"
     ],
     "readOnlyProperties": [
          "CreateTime"
     ],
     "updateTypeProperties": [
          "PropertyName"
     ],
     "filterProperties": [
          "PropertyName"
     ],
     "sensitiveInfoProperties": [
          "Password"
     ],
     "createOnlyProperties": [],
     "updateOnlyProperties": [],
     "getOnlyProperties": [],
     "listOnlyProperties": [],
     "deleteOnlyProperties": [],
     "handlers": {
          "create": {
               "permissions": []
          },
          "update": {
               "permissions": []
          },
          "get": {
               "permissions": []
          },
          "list": {
               "permissions": []
          },
          "delete": {
               "permissions": []
          }
     }
}

Ejemplo en formato JSON

{
     "product": "VPC",
     "resourceType": "VPC",
     "info": {
          "title": "VPC",
          "description": "A virtual private cloud (VPC) is a private network that you create. You can fully manage your VPC. For example, you can specify CIDR blocks and configure route tables and gateways for your VPC. You can also deploy Alibaba Cloud resources such as Elastic Compute Service (ECS) instances, ApsaraDB RDS instances, and Server Load Balancer (SLB) instances in your VPC. \t",
          "deliveryScope": "region",
          "chargeType": "free"
     },
     "primaryIdentifier": "/properties/VpcId",
     "properties": {
          "Status": {
               "title": "The status of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The status of the VPC. Valid values: Pending: The VPC is being configured. Available: The VPC is available.\"\n}",
               "type": "string",
               "deprecated": false,
               "isRequired": false,
               "pattern": "",
               "readOnly": true,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false,
               "default": "",
               "enum": [
                    "Available",
                    "Pending"
               ]
          },
          "IsDefault": {
               "title": "Specifies whether the VPC is the default VPC in the specified region.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"Specifies whether to the VPC is the default VPC in the specified region. Valid values: true (default) and false.\"\n}",
               "type": "boolean",
               "deprecated": false,
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false,
               "default": ""
          },
          "Ipv6Isp": {
               "title": "The type of the IPv6 CIDR block of the VPC. Valid values: \n\n- **BGP** (default): Alibaba Cloud BGP IPv6. \n- **ChinaMobile**: China Mobile (single-ISP) \n- **ChinaUnicom**: China Unicom (single-ISP) \n- **ChinaTelecom**: China Telecom (single-ISP) \n\n> If your Alibaba Cloud account is allowed to activate single-ISP bandwidth, you can set this parameter to **ChinaTelecom**, **ChinaUnicom**, or **ChinaMobile**.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese.      \",\n  \"en_US\" : \"The type of the IPv6 CIDR block of the VPC. Valid values: \\n\\n-**BGP** (default): Alibaba Cloud BGP IPv6. \\n-**ChinaMobile**: China Mobile (single-ISP). \\n-**ChinaUnicom**: China Unicom (single-ISP). \\n-**ChinaTelecom**: China Telecom (single-ISP). \\n\\n> If your Alibaba Cloud account is allowed to activate single-ISP bandwidth, you can set this parameter to **ChinaTelecom**, **ChinaUnicom**, or **ChinaMobile**.\"\n}",
               "type": "string",
               "deprecated": false,
               "isRequired": false,
               "pattern": "",
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "operatePrivateType": [
                    "create"
               ],
               "updateType": false,
               "default": ""
          },
          "Description": {
               "title": "The description of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Decription in Chinese. \",\n  \"en_US\" : \"The description of the VPC.\"\n}",
               "type": "string",
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true
          },
          "ResourceGroupId": {
               "title": "The ID of the resource group to which the VPC belongs.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The ID of the resource group to which the VPC belongs.\"\n}",
               "type": "string",
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true
          },
          "ClassicLinkEnabled": {
               "title": "Specifies whether to enable the ClassicLink feature.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese.\",\n  \"en_US\" : \"Specifies whether to enable the ClassicLink feature.\"\n}",
               "type": "boolean",
               "deprecated": false,
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true,
               "default": ""
          },
          "SecondaryCidrBlocks": {
               "title": "The secondary CIDR blocks of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The secondary CIDR blocks of the VPC.\"\n}",
               "type": "array",
               "items": {
                    "title": "The secondary CIDR block of the VPC.",
                    "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The secondary CIDR block of the VPC.\"\n}",
                    "type": "string",
                    "updateType": true
               },
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true
          },
          "VSwitchIds": {
               "title": "The vSwitches of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The vSwitches of the VPC.\"\n}",
               "type": "array",
               "items": {
                    "title": "The vSwitch of the VPC.",
                    "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The vSwitch of the VPC.\"\n}",
                    "type": "string",
                    "deprecated": false,
                    "pattern": "",
                    "readOnly": true,
                    "sensitive": false,
                    "extMonitorInfo": false,
                    "updateType": false,
                    "default": ""
               },
               "deprecated": false,
               "isRequired": false,
               "readOnly": true,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false
          },
          "CreateTime": {
               "title": "The time when the VPC was created.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The time when the VPC was created.\"\n}",
               "type": "string",
               "deprecated": false,
               "isRequired": false,
               "pattern": "",
               "readOnly": true,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false,
               "default": ""
          },
          "DryRun": {
               "title": "Specifies whether to check the request without performing the operation. Valid values: \n- **true**: checks the request without creating a VPC. The system checks the required parameters, request syntax, and limits. If the request fails to pass the check, the corresponding error message is returned. If the request passes the check, the DryRunOperation error code is returned. \n- **false** (default): sends a regular request. If the request passes the check, a 2xx HTTP status code is returned, and the VPC is created.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese.      \",\n  \"en_US\" : \"Specifies whether to check the request without performing the operation. Valid values: \\n-**true**: checks the request without creating a VPC. The system checks the required parameters, request syntax, and limits. If the request fails to pass the check, the corresponding error message is returned. If the request passes the check, the DryRunOperation error code is returned. \\n-**false** (default): sends a common request. If the request passes the check, a 2xx HTTP status code is returned, and the VPC is created.\"\n}",
               "type": "boolean",
               "deprecated": false,
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "operatePrivateType": [
                    "create",
                    "list",
                    "get"
               ],
               "updateType": false,
               "default": ""
          },
          "RouterId": {
               "title": "The vRouter ID of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The vRouter ID of the VPC.\"\n}",
               "type": "string",
               "deprecated": false,
               "isRequired": false,
               "pattern": "",
               "readOnly": true,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false,
               "default": ""
          },
          "CidrBlock": {
               "title": "The IPv4 CIDR block of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The IPv4 CIDR block of the VPC.\"\n}",
               "type": "string",
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true
          },
          "UserCidrs": {
               "title": "The user CIDR block. Separate multiple CIDR blocks with commas (,). You can specify a maximum of three user CIDR blocks.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The user CIDR blocks.\"\n}",
               "type": "array",
               "items": {
                    "title": "The user CIDR block. Separate multiple CIDR blocks with commas (,). You can specify a maximum of three CIDR blocks.",
                    "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The user CIDR block.\"\n}",
                    "type": "string",
                    "deprecated": false,
                    "isRequired": false,
                    "pattern": "",
                    "sensitive": false,
                    "extMonitorInfo": false,
                    "updateType": false,
                    "default": ""
               },
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false
          },
          "EnableIpv6": {
               "title": "Specifies whether to enable IPv6. Valid values: \n\n- **false** (default): disables IPv6. \n- **true**: enables IPv6.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese.   \",\n  \"en_US\" : \"Specifies whether to enable IPv6. Valid values: \\n\\n-**false** (default): disables IPv6. \\n-**true**: enables IPv6.\"\n}",
               "type": "boolean",
               "deprecated": false,
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "operatePrivateType": [
                    "create"
               ],
               "updateType": false,
               "default": ""
          },
          "DhcpOptionsSetId": {
               "title": "The ID of the Dynamic Host Configuration Protocol (DHCP) options set.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The ID of the DHCP options set.\"\n}",
               "type": "string",
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false
          },
          "VpcId": {
               "title": "The ID of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The ID of the VPC.\"\n}",
               "type": "string",
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false
          },
          "VpcName": {
               "title": "The name of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The name of the VPC.\"\n}",
               "type": "string",
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true
          },
          "RegionId": {
               "title": "The ID of the region to which the VPC belongs.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The ID of the region to which the VPC belongs.\"\n}",
               "type": "string",
               "isRequired": true,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false
          },
          "Ipv6CidrBlocks": {
               "title": "The IPv6 CIDR blocks of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The IPv6 CIDR blocks of the VPC.\"\n}",
               "type": "array",
               "items": {
                    "title": "The IPv6 CIDR block of the VPC.",
                    "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The IPv6 CIDR block of the VPC.\"\n}",
                    "type": "object",
                    "properties": {
                         "Ipv6Isp": {
                              "title": "The type of the IPv6 CIDR block type of the VPC. Valid values: \n\n- **BGP**: Alibaba Cloud BGP IPv6. \n- **ChinaMobile**: China Mobile (single-ISP) \n- **ChinaUnicom**: China Unicom (single-ISP) \n- **ChinaTelecom**: China Telecom (single-ISP) \n\n> If your Alibaba Cloud account is allowed to activate single-ISP bandwidth, you can set this parameter to **ChinaTelecom**, **ChinaUnicom**, or **ChinaMobile**.",
                              "description": "{\n  \"zh_CH\" : \"Description in Chinese.     \",\n  \"en_US\" : \"The type of the IPv6 CIDR block of the VPC. Valid values: \\n\\n-**BGP**: Alibaba Cloud BGP IPv6. \\n-**ChinaMobile**: China Mobile (single-ISP). \\n-**ChinaUnicom**: China Unicom (single-ISP). \\n-**ChinaTelecom**: China Telecom (single-ISP). \\n\\n> If your Alibaba Cloud account is allowed to activate single-ISP bandwidth, you can set this parameter to **ChinaTelecom**, **ChinaUnicom**, and **ChinaMobile**.\"\n}",
                              "type": "string",
                              "deprecated": false,
                              "isRequired": false,
                              "pattern": "",
                              "readOnly": true,
                              "sensitive": false,
                              "extMonitorInfo": false,
                              "updateType": false,
                              "default": ""
                         },
                         "Ipv6CidrBlock": {
                              "title": "The IPv6 CIDR block of the VPC.",
                              "description": "{\n  \"zh_CH\" : \"Description in Chinese. \",\n  \"en_US\" : \"The IPv6 CIDR block of the VPC.\"\n}",
                              "type": "string",
                              "deprecated": false,
                              "isRequired": false,
                              "pattern": "",
                              "readOnly": true,
                              "sensitive": false,
                              "extMonitorInfo": false,
                              "updateType": false,
                              "default": ""
                         }
                    },
                    "deprecated": false,
                    "readOnly": true,
                    "sensitive": false,
                    "extMonitorInfo": false,
                    "updateType": false
               },
               "deprecated": false,
               "isRequired": false,
               "readOnly": true,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": false
          },
          "Ipv6CidrBlock": {
               "title": "The IPv6 CIDR block of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese.\",\n  \"en_US\" : \"The IPv6 CIDR block of the VPC.\"\n}",
               "type": "string",
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true
          },
          "Tags": {
               "title": "The tags of the VPC.",
               "description": "{\n  \"zh_CH\" : \"Description in Chinese.\",\n  \"en_US\" : \"The tags of the VPC.\"\n}",
               "type": "array",
               "items": {
                    "title": "The tag of the VPC.",
                    "description": "{\n  \"zh_CH\" : \"Description in Chinese.\",\n  \"en_US\" : \"The tag of the VPC.\"\n}",
                    "type": "object",
                    "properties": {
                         "TagKey": {
                              "title": "The key of the tag.",
                              "description": "{\n  \"zh_CH\" : \"Description in Chinese.\",\n  \"en_US\" : \"The key of the tag.\"\n}",
                              "type": "string",
                              "isRequired": false,
                              "readOnly": false,
                              "sensitive": false,
                              "extMonitorInfo": false,
                              "updateType": true
                         },
                         "TagValue": {
                              "title": "The value of the tag.",
                              "description": "{\n  \"zh_CH\" : \"Description in Chinese.\",\n  \"en_US\" : \"The value of the tag.\"\n}",
                              "type": "string",
                              "isRequired": false,
                              "readOnly": false,
                              "sensitive": false,
                              "extMonitorInfo": false,
                              "updateType": true
                         }
                    },
                    "deprecated": false,
                    "sensitive": false,
                    "extMonitorInfo": false,
                    "updateType": false
               },
               "isRequired": false,
               "readOnly": false,
               "sensitive": false,
               "extMonitorInfo": false,
               "updateType": true
          }
     },
     "required": [
          "RegionId"
     ],
     "publicProperties": [
          "/properties/RouterId",
          "/properties/VpcId",
          "/properties/DhcpOptionsSetId",
          "/properties/ResourceGroupId",
          "/properties/UserCidrs",
          "/properties/UserCidrs/items",
          "/properties/VSwitchIds",
          "/properties/RegionId",
          "/properties/Ipv6CidrBlocks",
          "/properties/VSwitchIds/items",
          "/properties/Tags",
          "/properties/Tags/items",
          "/properties/Ipv6CidrBlocks/items",
          "/properties/CidrBlock",
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6Isp",
          "/properties/Tags/items/properties/TagKey",
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6CidrBlock",
          "/properties/Status",
          "/properties/Tags/items/properties/TagValue",
          "/properties/CreateTime",
          "/properties/Ipv6CidrBlock",
          "/properties/Description",
          "/properties/VpcName",
          "/properties/ClassicLinkEnabled",
          "/properties/IsDefault",
          "/properties/SecondaryCidrBlocks",
          "/properties/SecondaryCidrBlocks/items"
     ],
     "readOnlyProperties": [
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6Isp",
          "/properties/CreateTime",
          "/properties/RouterId",
          "/properties/Ipv6CidrBlocks",
          "/properties/Status",
          "/properties/VSwitchIds",
          "/properties/Ipv6CidrBlocks/items",
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6CidrBlock",
          "/properties/VSwitchIds/items"
     ],
     "updateTypeProperties": [
          "/properties/ResourceGroupId",
          "/properties/Tags",
          "/properties/CidrBlock",
          "/properties/Tags/items/properties/TagKey",
          "/properties/Tags/items/properties/TagValue",
          "/properties/Ipv6CidrBlock",
          "/properties/Description",
          "/properties/VpcName",
          "/properties/ClassicLinkEnabled",
          "/properties/SecondaryCidrBlocks",
          "/properties/SecondaryCidrBlocks/items"
     ],
     "filterProperties": [
          "/properties/DhcpOptionsSetId",
          "/properties/ResourceGroupId",
          "/properties/VpcId",
          "/properties/VpcName",
          "/properties/IsDefault"
     ],
     "sensitiveInfoProperties": [],
     "createOnlyProperties": [
          "/properties/DryRun",
          "/properties/Ipv6Isp",
          "/properties/EnableIpv6"
     ],
     "updateOnlyProperties": [],
     "getOnlyProperties": [
          "/properties/DryRun"
     ],
     "listOnlyProperties": [
          "/properties/DryRun"
     ],
     "deleteOnlyProperties": [],
     "getResponseProperties": [
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6Isp",
          "/properties/RegionId",
          "/properties/VpcName",
          "/properties/ResourceType",
          "/properties/DhcpOptionsSetId",
          "/properties/CreateTime",
          "/properties/Tags/items/properties/TagKey",
          "/properties/SecondaryCidrBlocks/items",
          "/properties/Tags",
          "/properties/IsDefault",
          "/properties/UserCidrs/items",
          "/properties/ResourceGroupId",
          "/properties/CidrBlock",
          "/properties/RouterId",
          "/properties/Tags/items",
          "/properties/Description",
          "/properties/Ipv6CidrBlocks",
          "/properties/SecondaryCidrBlocks",
          "/properties/Status",
          "/properties/VSwitchIds",
          "/properties/Tags/items/properties/TagValue",
          "/properties/Ipv6CidrBlocks/items",
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6CidrBlock",
          "/properties/Ipv6CidrBlock",
          "/properties/ClassicLinkEnabled",
          "/properties/UserCidrs",
          "/properties/VSwitchIds/items",
          "/properties/VpcId"
     ],
     "listResponseProperties": [
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6Isp",
          "/properties/RegionId",
          "/properties/VpcName",
          "/properties/DhcpOptionsSetId",
          "/properties/CreateTime",
          "/properties/Tags/items/properties/TagKey",
          "/properties/SecondaryCidrBlocks/items",
          "/properties/Tags",
          "/properties/IsDefault",
          "/properties/UserCidrs/items",
          "/properties/ResourceGroupId",
          "/properties/CidrBlock",
          "/properties/RouterId",
          "/properties/Tags/items",
          "/properties/Description",
          "/properties/Ipv6CidrBlocks",
          "/properties/SecondaryCidrBlocks",
          "/properties/Status",
          "/properties/VSwitchIds",
          "/properties/Tags/items/properties/TagValue",
          "/properties/Ipv6CidrBlocks/items",
          "/properties/Ipv6CidrBlocks/items/properties/Ipv6CidrBlock",
          "/properties/Ipv6CidrBlock",
          "/properties/UserCidrs",
          "/properties/VSwitchIds/items",
          "/properties/VpcId"
     ],
     "handlers": {
          "create": {
               "permissions": [
                    "vpc:CreateVpc"
               ]
          },
          "update": {
               "permissions": [
                    "vpc:TagResources",
                    "vpc:AssociateVpcCidrBlock",
                    "vpc:MoveResourceGroup",
                    "vpc:ModifyVpcAttribute",
                    "vpc:UnTagResources",
                    "vpc:UnassociateVpcCidrBlock",
                    "vpc:EnableVpcClassicLink",
                    "vpc:DisableVpcClassicLink"
               ]
          },
          "get": {
               "permissions": [
                    "vpc:ListTagResources",
                    "vpc:DescribeVpcAttribute",
                    "vpc:DescribeVpcs"
               ]
          },
          "list": {
               "permissions": [
                    "vpc:DescribeVpcs"
               ]
          },
          "delete": {
               "permissions": [
                    "vpc:DeleteVpc"
               ]
          }
     }
}