本文為您介紹阿里云的資源模型。
資源模型(Resource Schema)是一種描述資源的模式,包括資源的屬性、類型、關系和行為等信息。它定義了如何組織和表示資源的數據,使得不同的應用程序和系統可以共享和解釋這些資源。
云控制API都是基于資源模型的操作,因此理解阿里云的資源模型十分重要。用戶可通過ListResourceTypes - 列舉資源類型和GetResourceType - 查詢資源類型的詳情來獲取對應資源的元數據。
阿里云資源模型共分為三部分:資源基本信息、資源屬性、拓展信息。
資源基本信息:主要包括資源名稱、描述、部署級別、付費類型等字段
資源屬性:描述了具體的資源屬性,包括系統屬性(地域、可用區、付費類型、創建時間、資源組、Tag等)和自定義的資源屬性,用戶可根據屬性描述來組織Cloud Control API入參。
拓展信息:主要包括鑒權信息(資源操作授權策略)和資源容量等信息(流控&配額)。
資源模型的詳細結構和示例如下。
資源模型結構
字段名 | 字段類型 | 描述 |
product | string | 產品Code。 |
resourceType | string | 資源類型。 |
info | 資源類型基本信息 | |
properties | Map<String,Property> | 資源屬性定義,key是屬性名,value為屬性詳細信息。 |
primaryIdentifier | string | 資源ID。 |
required | array | 資源創建必填參數集合。 |
string | 資源創建必填參數。 | |
publicProperties | array | 公共的屬性集合,為資源基本屬性。非操作私有參數。 |
string | 公共屬性。 | |
readOnlyProperties | array | 只讀參數集合,只在list或者get操作中返回,創建及變更時不作為入參。 |
string | 只讀參數。 | |
filterProperties | array | list操作時可以作為filter參數的屬性集合。 |
string | filter參數。 | |
updateTypeProperties | array | 可以修改的屬性集合。 |
string | 可改屬性。 | |
sensitiveInfoProperties | array | 敏感屬性集合,例如密碼等。 |
string | 敏感屬性。 | |
createOnlyProperties | array | 創建操作私有參數集合。資源查詢操作中不會返回的屬性,但是創建操作中需要傳入的參數。 |
string | 創建操作私有參數。 | |
updateOnlyProperties | array | 更新操作私有參數集合。資源查詢操作中不會返回的屬性,但是更新操作中需要傳入的參數。 |
string | 更新操作私有參數。 | |
getOnlyProperties | array | 查詢操作私有參數集合。資源查詢操作中不會返回的屬性,但是查詢操作中需要傳入的參數。 |
string | 查詢操作私有參數。 | |
listOnlyProperties | array | 列舉操作私有參數集合。資源查詢操作中不會返回的屬性,但是列舉操作中需要傳入的參數。 |
string | 列舉操作私有參數。 | |
deleteOnlyProperties | array | 刪除操作私有參數集合。資源查詢操作中不會返回的屬性,但是刪除操作中需要傳入的參數。 |
string | 刪除操作私有參數。 | |
getResponseProperties | array | 查詢返回的屬性集合。 |
string | 查詢返回的屬性。 | |
listResponseProperties | array | 列舉返回的屬性集合。 |
string | 列舉返回的屬性。 | |
handlers | 支持的資源操作信息(包括RAM權限)。 |
Info
字段名 | 字段類型 | 描述 |
title | String | 資源類型名稱 |
description | String | 資源類型描述 |
chargeType | String | 付費形式 枚舉:
|
deliveryScope | String | 交付級別,枚舉:
|
Property
字段名 | 字段類型 | 描述 |
title | String | 標題 |
description | String | 描述 |
$ref | String | 引用 引用的格式為 #/products/{product}/resourceTypes/{resourceType}/properties/{PropertyName} |
refType | String | 引用類型,枚舉:dependency(依賴關系)/childParent(子父關系) |
type | String | 類型 string integer number object array boolean map |
format | String | 格式,用于輔助描述type type=string時 format可選,可選值為byte/binary 不選format,則表示常規的字符串 byte用于表示該字符串為經過base64編碼的字節流 binary用于表示該字符串為字節流 type=integer時 format必選,可選值為 int32/int64 int32用于表示整型數字 int64用于表示長整型數字 type=number時 format必選,可選值為 float/double float用于表示單精度浮點數 double用于表示雙精度浮點數 |
properties | Map<String, Property> | 對于對象類型,屬性描述 |
items | 對于數組類型,子元素描述 | |
additionalProperties | 用于描述map的value是什么類型。(在json中,map的key一定為string,所以無需描述) | |
required | Boolean | 資源創建時是否必填 |
numRange | List<NumRange> | 數字類型的取值范圍 |
default | String | 默認值 |
enum | List<String> | 枚舉值 |
pattern | String | 對于字符類型,正則校驗規則 |
readOnly | Boolean | 是否只讀 |
updateType | Boolean | 是否只寫 |
sensitive | Boolean | 是否敏感 |
extMonitorInfo | Boolean | 是否監控信息 |
operatePrivateType | array | 操作私有參數對應的操作列表。 |
string | 操作類型,枚舉值為:
|
NumRange
字段名 | 字段類型 | 描述 |
maximum | String | 對于數字類型,最大值 |
exclusiveMaximum | Boolean | 排除最大值邊界 |
minimum | String | 對于數字類型,最小值 |
exclusiveMinimum | Boolean | 排除最小值邊界 |
Handler
字段名 | 字段類型 | 描述 |
create | 創建操作關聯信息 | |
read | 讀取操作關聯信息 | |
update | 更新操作關聯信息 | |
delete | 刪除操作關聯信息 | |
list | 列舉操作關聯信息 |
OperationInfo
字段名 | 字段類型 | 描述 |
permissions | array | 所需RAM授權信息列表 |
String | RAM授權信息 |
JSON Schema
{
"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": []
}
}
}
JSON示例
{
"product": "VPC",
"resourceType": "VPC",
"info": {
"title": "專有網絡",
"description": "一個VPC實例代表您創建了一個專有網絡。您可以完全掌控自己的專有網絡,例如選擇IP地址范圍、配置路由表和網關等,您可以在自己定義的專有網絡中使用阿里云資源如云服務器、云數據庫RDS版和負載均衡等。\t",
"deliveryScope": "region",
"chargeType": "free"
},
"primaryIdentifier": "/properties/VpcId",
"properties": {
"Status": {
"title": "VPC的狀態。",
"description": "{\n \"zh_CH\" : \"VPC的狀態。\",\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": "是否是默認VPC。",
"description": "{\n \"zh_CH\" : \"是否是默認VPC。\",\n \"en_US\" : \"ndicates whether to query the default VPC in the specified region. Valid values: true (default): All VPCs in the specified region are queried. false: The default VPC is not queried.\"\n}",
"type": "boolean",
"deprecated": false,
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": false,
"default": ""
},
"Ipv6Isp": {
"title": "VPC的IPv6地址段類型。取值:\n\n- **BGP**(默認值):阿里云BGP IPv6。\n- **ChinaMobile**:中國移動(單線)。\n- **ChinaUnicom**:中國聯通(單線)。\n- **ChinaTelecom**:中國電信(單線)。\n\n> 如果是開通了單線帶寬白名單的用戶,該字段可以設置為**ChinaTelecom**(中國電信)、**ChinaUnicom**(中國聯通)或**ChinaMobile**(中國移動)。",
"description": "{\n \"zh_CH\" : \"VPC的IPv6地址段類型。取值:\\n\\n- **BGP**(默認值):阿里云BGP IPv6。\\n- **ChinaMobile**:中國移動(單線)。\\n- **ChinaUnicom**:中國聯通(單線)。\\n- **ChinaTelecom**:中國電信(單線)。\\n\\n> 如果是開通了單線帶寬白名單的用戶,該字段可以設置為**ChinaTelecom**(中國電信)、**ChinaUnicom**(中國聯通)或**ChinaMobile**(中國移動)。\",\n \"en_US\" : \"The IPv6 address segment type of the VPC. Value:\\n\\n-**BGP** (default): Alibaba Cloud BGP IPv6.\\n-**ChinaMobile**: China Mobile (single line).\\n-**ChinaUnicom**: China Unicom (single line).\\n-**ChinaTelecom**: China Telecom (single line).\\n\\n> If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).\"\n}",
"type": "string",
"deprecated": false,
"isRequired": false,
"pattern": "",
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"operatePrivateType": [
"create"
],
"updateType": false,
"default": ""
},
"Description": {
"title": "VPC的描述。",
"description": "{\n \"zh_CH\" : \"VPC的描述。\",\n \"en_US\" : \"The description of the VPC.\"\n}",
"type": "string",
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": true
},
"ResourceGroupId": {
"title": "資源組ID。",
"description": "{\n \"zh_CH\" : \"資源組ID。\",\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": "ClassicLink功能開啟狀態",
"description": "{\n \"zh_CH\" : \"ClassicLink功能開啟狀態\",\n \"en_US\" : \"status of vpc ClassicLink..\"\n}",
"type": "boolean",
"deprecated": false,
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": true,
"default": ""
},
"SecondaryCidrBlocks": {
"title": "附加網段信息。",
"description": "{\n \"zh_CH\" : \"附加網段信息。\",\n \"en_US\" : \"Additional network segment information.\"\n}",
"type": "array",
"items": {
"title": "VPC的附加網段。",
"description": "{\n \"zh_CH\" : \"VPC的附加網段。\",\n \"en_US\" : \"The additional network segment of the VPC.\"\n}",
"type": "string",
"updateType": true
},
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": true
},
"VSwitchIds": {
"title": "VPC下的交換機列表。",
"description": "{\n \"zh_CH\" : \"VPC下的交換機列表。\",\n \"en_US\" : \"A list of VSwitches in the VPC.\"\n}",
"type": "array",
"items": {
"title": "VPC下的交換機列表。",
"description": "{\n \"zh_CH\" : \"VPC下的交換機列表。\",\n \"en_US\" : \"element\"\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": "VPC的創建時間。",
"description": "{\n \"zh_CH\" : \"VPC的創建時間。\",\n \"en_US\" : \"The time at which the VPC was created.\"\n}",
"type": "string",
"deprecated": false,
"isRequired": false,
"pattern": "",
"readOnly": true,
"sensitive": false,
"extMonitorInfo": false,
"updateType": false,
"default": ""
},
"DryRun": {
"title": "是否只預檢此次請求。取值:\n- **true**:發送檢查請求,不會創建VPC。檢查項包括是否填寫了必需參數、請求格式、業務限制。如果檢查不通過,則返回對應錯誤。如果檢查通過,則返回錯誤碼`DryRunOperation`。\n- **false**(默認值):發送正常請求,通過檢查后返回HTTP 2xx狀態碼并直接創建VPC。",
"description": "{\n \"zh_CH\" : \"是否只預檢此次請求。取值:\\n- **true**:發送檢查請求,不會創建VPC。檢查項包括是否填寫了必需參數、請求格式、業務限制。如果檢查不通過,則返回對應錯誤。如果檢查通過,則返回錯誤碼`DryRunOperation`。\\n- **false**(默認值):發送正常請求,通過檢查后返回HTTP 2xx狀態碼并直接創建VPC。\",\n \"en_US\" : \"Whether to PreCheck this request only. Value:\\n-**true**: sends a check request and does not create a VPC. Check items include whether required parameters, request format, and business restrictions have been filled in. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.\\n-**false** (default): Sends a normal request, returns the HTTP 2xx status code after the check, and directly creates a VPC.\"\n}",
"type": "boolean",
"deprecated": false,
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"operatePrivateType": [
"create",
"list",
"get"
],
"updateType": false,
"default": ""
},
"RouterId": {
"title": "VPC的路由器ID。",
"description": "{\n \"zh_CH\" : \"VPC的路由器ID。\",\n \"en_US\" : \"The ID of the VRouter.\"\n}",
"type": "string",
"deprecated": false,
"isRequired": false,
"pattern": "",
"readOnly": true,
"sensitive": false,
"extMonitorInfo": false,
"updateType": false,
"default": ""
},
"CidrBlock": {
"title": "VPC的私網網段。",
"description": "{\n \"zh_CH\" : \"VPC的私網網段。\",\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": "用戶側網絡的網段,如需定義多個網段請使用半角逗號隔開,最多支持3個網段。",
"description": "{\n \"zh_CH\" : \"用戶側網絡的網段,如需定義多個網段請使用半角逗號隔開,最多支持3個網段。\",\n \"en_US\" : \"A list of user CIDRs.\"\n}",
"type": "array",
"items": {
"title": "用戶側網絡的網段,如需定義多個網段請使用半角逗號隔開,最多支持3個網段。",
"description": "{\n \"zh_CH\" : \"用戶側網絡的網段,如需定義多個網段請使用半角逗號隔開,最多支持3個網段。\",\n \"en_US\" : \"element\"\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": "是否開啟IPv6網段。取值:\n\n- **false**(默認值):不開啟。\n- **true**:開啟。",
"description": "{\n \"zh_CH\" : \"是否開啟IPv6網段。取值:\\n\\n- **false**(默認值):不開啟。\\n- **true**:開啟。\",\n \"en_US\" : \"Whether to enable the IPv6 network segment. Value:\\n\\n-**false** (default): not enabled.\\n-**true**: on.\"\n}",
"type": "boolean",
"deprecated": false,
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"operatePrivateType": [
"create"
],
"updateType": false,
"default": ""
},
"DhcpOptionsSetId": {
"title": "DHCP選項集的ID。",
"description": "{\n \"zh_CH\" : \"DHCP選項集的ID。\",\n \"en_US\" : \"The ID of the DHCP option set.\"\n}",
"type": "string",
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": false
},
"VpcId": {
"title": "VPC的ID。",
"description": "{\n \"zh_CH\" : \"VPC的ID。\",\n \"en_US\" : \"The ID of the VPC.\"\n}",
"type": "string",
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": false
},
"VpcName": {
"title": "VPC的名稱。",
"description": "{\n \"zh_CH\" : \"VPC的名稱。\",\n \"en_US\" : \"The name of the VPC.\"\n}",
"type": "string",
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": true
},
"RegionId": {
"title": "VPC所在的地域。",
"description": "{\n \"zh_CH\" : \"VPC所在的地域。\",\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": "VPC的IPv6網段信息。",
"description": "{\n \"zh_CH\" : \"VPC的IPv6網段信息。\",\n \"en_US\" : \"The IPv6 network segment of the VPC.\"\n}",
"type": "array",
"items": {
"title": "VPC的IPv6網段信息。",
"description": "{\n \"zh_CH\" : \"VPC的IPv6網段信息。\",\n \"en_US\" : \"The IPv6 network segment of the VPC.\"\n}",
"type": "object",
"properties": {
"Ipv6Isp": {
"title": "VPC的IPv6地址段類型,取值:\n\n- **BGP**:阿里云BGP IPv6。\n- **ChinaMobile**:中國移動(單線)。\n- **ChinaUnicom**:中國聯通(單線)。\n- **ChinaTelecom**:中國電信(單線)。\n\n> 如果是開通了單線帶寬白名單的用戶,該字段可以設置為**ChinaTelecom**(中國電信)、**ChinaUnicom**(中國聯通)和**ChinaMobile**(中國移動)。",
"description": "{\n \"zh_CH\" : \"VPC的IPv6地址段類型,取值:\\n\\n- **BGP**:阿里云BGP IPv6。\\n- **ChinaMobile**:中國移動(單線)。\\n- **ChinaUnicom**:中國聯通(單線)。\\n- **ChinaTelecom**:中國電信(單線)。\\n\\n> 如果是開通了單線帶寬白名單的用戶,該字段可以設置為**ChinaTelecom**(中國電信)、**ChinaUnicom**(中國聯通)和**ChinaMobile**(中國移動)。\",\n \"en_US\" : \"The IPv6 address segment type of the VPC. Value:\\n\\n-**BGP**: Alibaba Cloud BGP IPv6.\\n-**ChinaMobile**: China Mobile (single line).\\n-**ChinaUnicom**: China Unicom (single line).\\n-**ChinaTelecom**: China Telecom (single line).\\n\\n> If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), and **ChinaMobile** (China Mobile).\"\n}",
"type": "string",
"deprecated": false,
"isRequired": false,
"pattern": "",
"readOnly": true,
"sensitive": false,
"extMonitorInfo": false,
"updateType": false,
"default": ""
},
"Ipv6CidrBlock": {
"title": "VPC的IPv6網段。",
"description": "{\n \"zh_CH\" : \"VPC的IPv6網段。\",\n \"en_US\" : \"The IPv6 network segment 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": "IPv6地址",
"description": "{\n \"zh_CH\" : \"IPv6地址\",\n \"en_US\" : \"The ipv6 cidr block of vpc.\"\n}",
"type": "string",
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": true
},
"Tags": {
"title": "VPC的標簽",
"description": "{\n \"zh_CH\" : \"VPC的標簽\",\n \"en_US\" : \"The tags of Vpc.\"\n}",
"type": "array",
"items": {
"title": "VPC的標簽",
"description": "{\n \"zh_CH\" : \"VPC的標簽\",\n \"en_US\" : \"The tags of Vpc.\"\n}",
"type": "object",
"properties": {
"TagKey": {
"title": "標簽的鍵",
"description": "{\n \"zh_CH\" : \"標簽的鍵\",\n \"en_US\" : \"The key of tag.\"\n}",
"type": "string",
"isRequired": false,
"readOnly": false,
"sensitive": false,
"extMonitorInfo": false,
"updateType": true
},
"TagValue": {
"title": "標簽的值",
"description": "{\n \"zh_CH\" : \"標簽的值\",\n \"en_US\" : \"The value of 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"
]
}
}
}