|
1 | 1 | {
|
2 |
| - "typeName": "AWS::AppConfig::Environment", |
3 |
| - "description": "Resource Type definition for AWS::AppConfig::Environment", |
4 | 2 | "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git",
|
5 |
| - "additionalProperties": false, |
6 |
| - "properties": { |
7 |
| - "ApplicationId": { |
8 |
| - "type": "string", |
9 |
| - "description": "The application ID.", |
10 |
| - "markdownDescription": "The application ID.\n\n---\n\nRequired: Yes \nType: String \nPattern: [a-z0-9]{4,7} \nUpdate requires: Replacement" |
| 3 | + "tagging": { |
| 4 | + "taggable": true, |
| 5 | + "tagOnCreate": true, |
| 6 | + "tagUpdatable": true, |
| 7 | + "tagProperty": "/properties/Tags", |
| 8 | + "cloudFormationSystemTags": true |
| 9 | + }, |
| 10 | + "handlers": { |
| 11 | + "read": { |
| 12 | + "permissions": [ |
| 13 | + "appconfig:GetEnvironment", |
| 14 | + "appconfig:ListTagsForResource" |
| 15 | + ] |
11 | 16 | },
|
12 |
| - "Name": { |
13 |
| - "type": "string", |
14 |
| - "description": "A name for the environment.", |
15 |
| - "minLength": 1, |
16 |
| - "maxLength": 64, |
17 |
| - "markdownDescription": "A name for the environment.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" |
| 17 | + "create": { |
| 18 | + "permissions": [ |
| 19 | + "appconfig:CreateEnvironment", |
| 20 | + "appconfig:GetEnvironment", |
| 21 | + "appconfig:ListTagsForResource", |
| 22 | + "appconfig:TagResource", |
| 23 | + "iam:PassRole" |
| 24 | + ] |
18 | 25 | },
|
19 |
| - "Description": { |
20 |
| - "type": "string", |
21 |
| - "description": "A description of the environment.", |
22 |
| - "minLength": 0, |
23 |
| - "maxLength": 1024, |
24 |
| - "markdownDescription": "A description of the environment.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" |
| 26 | + "update": { |
| 27 | + "permissions": [ |
| 28 | + "appconfig:UpdateEnvironment", |
| 29 | + "appconfig:TagResource", |
| 30 | + "appconfig:UntagResource", |
| 31 | + "iam:PassRole" |
| 32 | + ] |
25 | 33 | },
|
26 |
| - "Monitors": { |
27 |
| - "type": "array", |
28 |
| - "description": "Amazon CloudWatch alarms to monitor during the deployment process.", |
29 |
| - "insertionOrder": false, |
30 |
| - "items": { |
31 |
| - "$ref": "#/definitions/Monitor" |
32 |
| - }, |
33 |
| - "minItems": 0, |
34 |
| - "maxItems": 5, |
35 |
| - "markdownDescription": "Amazon CloudWatch alarms to monitor during the deployment process.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" |
| 34 | + "list": { |
| 35 | + "permissions": [ |
| 36 | + "appconfig:ListEnvironments" |
| 37 | + ], |
| 38 | + "handlerSchema": { |
| 39 | + "properties": { |
| 40 | + "ApplicationId": { |
| 41 | + "$ref": "resource-schema.json#/properties/ApplicationId" |
| 42 | + } |
| 43 | + }, |
| 44 | + "required": [ |
| 45 | + "ApplicationId" |
| 46 | + ] |
| 47 | + } |
36 | 48 | },
|
37 |
| - "Tags": { |
38 |
| - "type": "array", |
39 |
| - "description": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", |
40 |
| - "uniqueItems": true, |
41 |
| - "items": { |
42 |
| - "$ref": "#/definitions/Tag" |
43 |
| - }, |
44 |
| - "insertionOrder": false, |
45 |
| - "markdownDescription": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" |
| 49 | + "delete": { |
| 50 | + "permissions": [ |
| 51 | + "appconfig:GetEnvironment", |
| 52 | + "appconfig:DeleteEnvironment" |
| 53 | + ] |
46 | 54 | }
|
47 | 55 | },
|
| 56 | + "typeName": "AWS::AppConfig::Environment", |
| 57 | + "readOnlyProperties": [ |
| 58 | + "/properties/EnvironmentId" |
| 59 | + ], |
| 60 | + "description": "Resource Type definition for AWS::AppConfig::Environment", |
| 61 | + "createOnlyProperties": [ |
| 62 | + "/properties/ApplicationId" |
| 63 | + ], |
| 64 | + "additionalProperties": false, |
| 65 | + "primaryIdentifier": [ |
| 66 | + "/properties/ApplicationId", |
| 67 | + "/properties/EnvironmentId" |
| 68 | + ], |
48 | 69 | "definitions": {
|
49 | 70 | "Monitor": {
|
50 |
| - "type": "object", |
51 | 71 | "description": "Amazon CloudWatch alarm to monitor during the deployment process.",
|
52 | 72 | "additionalProperties": false,
|
| 73 | + "type": "object", |
53 | 74 | "properties": {
|
54 | 75 | "AlarmArn": {
|
55 |
| - "type": "string", |
56 |
| - "description": "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.", |
| 76 | + "relationshipRef": { |
| 77 | + "typeName": "AWS::CloudWatch::Alarm", |
| 78 | + "propertyPath": "/properties/Arn" |
| 79 | + }, |
57 | 80 | "minLength": 1,
|
| 81 | + "description": "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.", |
| 82 | + "type": "string", |
58 | 83 | "maxLength": 2048,
|
59 | 84 | "markdownDescription": "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption"
|
60 | 85 | },
|
61 | 86 | "AlarmRoleArn": {
|
62 |
| - "type": "string", |
63 |
| - "description": "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor AlarmArn.", |
| 87 | + "relationshipRef": { |
| 88 | + "typeName": "AWS::IAM::Role", |
| 89 | + "propertyPath": "/properties/Arn" |
| 90 | + }, |
64 | 91 | "minLength": 20,
|
| 92 | + "description": "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor AlarmArn.", |
| 93 | + "type": "string", |
65 | 94 | "maxLength": 2048,
|
66 | 95 | "markdownDescription": "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor AlarmArn.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$ \nUpdate requires: No interruption"
|
67 | 96 | }
|
|
73 | 102 | },
|
74 | 103 | "Tag": {
|
75 | 104 | "description": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.",
|
76 |
| - "type": "object", |
77 | 105 | "additionalProperties": false,
|
| 106 | + "type": "object", |
78 | 107 | "properties": {
|
79 |
| - "Key": { |
80 |
| - "type": "string", |
81 |
| - "description": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.", |
82 |
| - "minLength": 1, |
83 |
| - "maxLength": 128, |
84 |
| - "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z1-9+=._:/-]*$ \nUpdate requires: No interruption" |
85 |
| - }, |
86 | 108 | "Value": {
|
87 |
| - "type": "string", |
88 |
| - "description": "The tag value can be up to 256 characters.", |
89 | 109 | "minLength": 0,
|
| 110 | + "description": "The tag value can be up to 256 characters.", |
| 111 | + "type": "string", |
90 | 112 | "maxLength": 256,
|
91 | 113 | "markdownDescription": "The tag value can be up to 256 characters.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption"
|
| 114 | + }, |
| 115 | + "Key": { |
| 116 | + "minLength": 1, |
| 117 | + "description": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.", |
| 118 | + "type": "string", |
| 119 | + "maxLength": 128, |
| 120 | + "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z1-9+=._:/-]*$ \nUpdate requires: No interruption" |
92 | 121 | }
|
93 | 122 | },
|
94 | 123 | "required": [
|
|
98 | 127 | "markdownDescription": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nUpdate requires: No interruption"
|
99 | 128 | }
|
100 | 129 | },
|
101 |
| - "required": [ |
102 |
| - "Name", |
103 |
| - "ApplicationId" |
104 |
| - ], |
105 |
| - "readOnlyProperties": [ |
106 |
| - "/properties/EnvironmentId" |
107 |
| - ], |
108 |
| - "createOnlyProperties": [ |
109 |
| - "/properties/ApplicationId" |
110 |
| - ], |
111 |
| - "primaryIdentifier": [ |
112 |
| - "/properties/ApplicationId", |
113 |
| - "/properties/EnvironmentId" |
114 |
| - ], |
115 |
| - "handlers": { |
116 |
| - "create": { |
117 |
| - "permissions": [ |
118 |
| - "appconfig:CreateEnvironment", |
119 |
| - "appconfig:GetEnvironment", |
120 |
| - "appconfig:ListTagsForResource", |
121 |
| - "appconfig:TagResource", |
122 |
| - "iam:PassRole" |
123 |
| - ] |
124 |
| - }, |
125 |
| - "read": { |
126 |
| - "permissions": [ |
127 |
| - "appconfig:GetEnvironment", |
128 |
| - "appconfig:ListTagsForResource" |
129 |
| - ] |
| 130 | + "properties": { |
| 131 | + "Description": { |
| 132 | + "minLength": 0, |
| 133 | + "description": "A description of the environment.", |
| 134 | + "type": "string", |
| 135 | + "maxLength": 1024, |
| 136 | + "markdownDescription": "A description of the environment.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" |
130 | 137 | },
|
131 |
| - "update": { |
132 |
| - "permissions": [ |
133 |
| - "appconfig:UpdateEnvironment", |
134 |
| - "appconfig:TagResource", |
135 |
| - "appconfig:UntagResource", |
136 |
| - "iam:PassRole" |
137 |
| - ] |
| 138 | + "Monitors": { |
| 139 | + "minItems": 0, |
| 140 | + "maxItems": 5, |
| 141 | + "description": "Amazon CloudWatch alarms to monitor during the deployment process.", |
| 142 | + "insertionOrder": false, |
| 143 | + "type": "array", |
| 144 | + "items": { |
| 145 | + "$ref": "#/definitions/Monitor" |
| 146 | + }, |
| 147 | + "markdownDescription": "Amazon CloudWatch alarms to monitor during the deployment process.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" |
138 | 148 | },
|
139 |
| - "delete": { |
140 |
| - "permissions": [ |
141 |
| - "appconfig:GetEnvironment", |
142 |
| - "appconfig:DeleteEnvironment" |
143 |
| - ] |
| 149 | + "ApplicationId": { |
| 150 | + "description": "The application ID.", |
| 151 | + "type": "string", |
| 152 | + "markdownDescription": "The application ID.\n\n---\n\nRequired: Yes \nType: String \nPattern: [a-z0-9]{4,7} \nUpdate requires: Replacement" |
144 | 153 | },
|
145 |
| - "list": { |
146 |
| - "handlerSchema": { |
147 |
| - "properties": { |
148 |
| - "ApplicationId": { |
149 |
| - "$ref": "resource-schema.json#/properties/ApplicationId" |
150 |
| - } |
151 |
| - }, |
152 |
| - "required": [ |
153 |
| - "ApplicationId" |
154 |
| - ] |
| 154 | + "Tags": { |
| 155 | + "uniqueItems": true, |
| 156 | + "description": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", |
| 157 | + "insertionOrder": false, |
| 158 | + "type": "array", |
| 159 | + "items": { |
| 160 | + "$ref": "#/definitions/Tag" |
155 | 161 | },
|
156 |
| - "permissions": [ |
157 |
| - "appconfig:ListEnvironments" |
158 |
| - ] |
| 162 | + "markdownDescription": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" |
| 163 | + }, |
| 164 | + "Name": { |
| 165 | + "minLength": 1, |
| 166 | + "description": "A name for the environment.", |
| 167 | + "type": "string", |
| 168 | + "maxLength": 64, |
| 169 | + "markdownDescription": "A name for the environment.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" |
159 | 170 | }
|
160 | 171 | },
|
161 |
| - "tagging": { |
162 |
| - "taggable": true, |
163 |
| - "tagOnCreate": true, |
164 |
| - "tagUpdatable": true, |
165 |
| - "cloudFormationSystemTags": true, |
166 |
| - "tagProperty": "/properties/Tags" |
167 |
| - }, |
| 172 | + "required": [ |
| 173 | + "Name", |
| 174 | + "ApplicationId" |
| 175 | + ], |
168 | 176 | "attributes": {
|
169 | 177 | "EnvironmentId": {
|
170 |
| - "type": "string", |
171 | 178 | "description": "The environment ID.",
|
| 179 | + "type": "string", |
172 | 180 | "markdownDescription": "The environment ID.\n\n---\n\nRequired: No \nType: String \nPattern: [a-z0-9]{4,7} \nUpdate requires: No interruption"
|
173 | 181 | }
|
174 | 182 | }
|
|
0 commit comments