本文為您介紹阿里雲的資源模型。
資源模型(Resource Schema)是一種描述資源的模式,包括資源的屬性、類型、關係和行為等資訊。它定義了如何組織和表示資源的資料,使得不同的應用程式和系統可以共用和解釋這些資源。
雲控制API都是基於資源模型的操作,因此理解阿里雲的資源模型十分重要。
阿里雲資源模型共分為三部分:資源基本資料、資源屬性、拓展資訊。
資源基本資料:主要包括資源名稱、描述、部署層級、付費類型等欄位
資源屬性:描述了具體的資源屬性,包括系統屬性(地區、可用性區域、付費類型、建立時間、資源群組、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"
]
}
}
}