All Products
Search
Document Center

Cloud Control API:Resource schema

Last Updated:Feb 24, 2025

This topic describes the resource schema of Alibaba Cloud.

The resource schema defines how to describe Alibaba Cloud resources, including the properties, types, relationships, and behaviors of the resources. The resource schema specifies how to organize and represent resource data. This way, different applications and systems can share and interpret resources.

All API operations supported by Cloud Control API are designed based on the resource schema. Therefore, it is important to understand the resource schema. You can call the ListResourceTypes and GetResourceType operations to query the metadata of resources.

The resource schema of Alibaba Cloud consists of the basic information, properties, and extended information of a resource.

  • Basic information includes the name, description, deployment level, and charge type of the resource.

  • Properties are classified into system properties and custom properties. System properties include the region, zone, charge type, creation time, resource group, and tags of the resource. You can configure the request parameters for Cloud Control API operations based on the property descriptions.

  • Extended information includes authorization and resource capacity information, such as the authorization policy, throttling policy, and quota.

The following sections describe the detailed structure of the resource schema and provide a resource schema example.

Resource schema structure

Parameter

Type

Description

product

string

The service code.

resourceType

string

The resource type.

info

Info

The basic information of the resource.

properties

Map<String,Property>

The resource properties. The key specifies the property name and the value specifies the details of the property.

primaryIdentifier

string

The resource ID.

required

array

The properties that must be specified when you create the resource.

string

The property that must be specified when you create the resource.

publicProperties

array

The common properties of the resource. The common properties are not operation-specific.

string

The common property.

readOnlyProperties

array

The read-only properties. These properties are returned only when you list or query the resource. You do not need to specify these properties when you create or update the resource.

string

The read-only property.

filterProperties

array

The properties that can be used to filter the resource when you list the resource.

string

The property that can be used to filter the resource.

updateTypeProperties

array

The properties that can be modified.

string

The property that can be modified.

sensitiveInfoProperties

array

The sensitive properties, such as the password.

string

The sensitive property.

createOnlyProperties

array

The properties that are specific to the create operation. You need to specify these properties when you create the resource. These properties are not returned when you query the resource.

string

The property that is specific to the create operation.

updateOnlyProperties

array

The properties that are specific to the update operation. You need to specify these properties when you update the resource. These properties are not returned when you query the resource.

string

The property that is specific to the update operation.

getOnlyProperties

array

The properties that are specific to the query operation. You need to specify these properties when you query the resource. These properties are not returned in the query result.

string

The property that is specific to the query operation.

listOnlyProperties

array

The properties that are specific to the list operation. You need to specify these properties when you list the resource. These properties are not returned when you query the resource.

string

The property that is specific to the list operation.

deleteOnlyProperties

array

The properties that are specific to the delete operation. You need to specify these properties when you delete the resource. These properties are not returned when you query the resource.

string

The property that is specific to the delete operation.

getResponseProperties

array

The properties that are returned when you query the resource.

string

The property that is returned when you query the resource.

listResponseProperties

array

The properties that are returned when you list the resource.

string

The property that is returned when you query the resource.

handlers

Handler

The information about the operation, including the required Resource Access Management (RAM) permissions.

Info

Parameter

Type

Description

title

String

The resource name.

description

String

The resource description.

chargeType

String

The charge type of the resource. Valid values:

  • paid

  • free

deliveryScope

String

The deployment level of the resource. Valid values:

  • center

  • region

  • zone

Property

Parameter

Type

Description

title

String

The property name.

description

String

The property description.

$ref

String

The reference of the property.

Format:

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

refType

String

The reference type. Valid values: dependency and childParent.

type

String

The property type. Valid values:

string

integer

number

object

array

boolean

map

format

String

The format of the property value. This parameter supplements the type parameter.

This parameter is optional if the type parameter is set to string. Valid values: byte and binary.

If this parameter is not specified, the property value is a regular string.

A value of byte indicates a Base64-encoded byte stream.

A value of binary indicates a byte stream.

This parameter is required if the type parameter is set to integer. Valid values:

int32 and int64.

A value of int32 indicates an integer.

A value of int64 indicates a long integer.

This parameter is required if the type parameter is set to number. Valid values:

float and double.

A value of float indicates a single-precision floating-point number.

A value of double indicates a double-precision floating-point number.

properties

Map<String, Property>

The description of the object property.

items

Property

The description of the array property.

additionalProperties

Property

The type of the map value. In JSON, the type of a map key is string and does not need to be described.

required

Boolean

Specifies whether you need to specify the property when you create the resource.

numRange

List<NumRange>

The valid values if the type parameter is set to number.

default

String

The default value of the property.

enum

List<String>

The valid values of the property.

pattern

String

The regular expression that is used to verify the property value.

readOnly

Boolean

Specifies whether the property is read-only.

updateType

Boolean

Specifies whether the property can be modified.

sensitive

Boolean

Specifies whether the property is sensitive.

extMonitorInfo

Boolean

Specifies whether the property is used for monitoring.

operatePrivateType

array

The operations to which the property is specific.

string

The operation. Valid values:

  • create

  • update

  • list

  • get

  • delete

NumRange

Parameter

Type

Description

maximum

String

The maximum value if the type parameter is set to number.

exclusiveMaximum

Boolean

Specifies whether to exclude the maximum value.

minimum

String

The minimum value if the type parameter is set to number.

exclusiveMinimum

Boolean

Specifies whether to exclude the minimum value.

Handler

Parameter

Type

Description

create

OperationInfo

The information about the create operation.

read

OperationInfo

The information about the query operation.

update

OperationInfo

The information about the update operation.

delete

OperationInfo

The information about the delete operation.

list

OperationInfo

The information about the list operation.

OperationInfo

Parameter

Type

Description

permissions

array

The required RAM permissions.

String

The RAM permission.

Schema in the JSON format

{
     "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": []
          }
     }
}

Example in the JSON format

{
     "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"
               ]
          }
     }
}