Skip to content

Commit 0dd4f88

Browse files
authored
Update specs fixing patternProperties (#255)
1 parent 138b96c commit 0dd4f88

File tree

49 files changed

+2998
-371
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2998
-371
lines changed

server/schema/resources.schema.json

Lines changed: 377 additions & 38 deletions
Large diffs are not rendered by default.

server/schema/resources/aws-apigateway-resource.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@
4949
"apigateway:POST"
5050
]
5151
},
52+
"update": {
53+
"permissions": [
54+
"apigateway:GET",
55+
"apigateway:PATCH"
56+
]
57+
},
5258
"delete": {
5359
"permissions": [
5460
"apigateway:DELETE"

server/schema/resources/aws-apigateway-restapi.json

Lines changed: 147 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,8 @@
11
{
22
"typeName": "AWS::ApiGateway::RestApi",
3-
"description": "Resource Type definition for AWS::ApiGateway::RestApi",
3+
"description": "Resource Type definition for AWS::ApiGateway::RestApi.",
4+
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
45
"additionalProperties": false,
5-
"properties": {
6-
"Policy": {
7-
"type": "object",
8-
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
9-
},
10-
"BodyS3Location": {
11-
"$ref": "#/definitions/S3Location"
12-
},
13-
"Description": {
14-
"type": "string",
15-
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
16-
},
17-
"MinimumCompressionSize": {
18-
"type": "integer",
19-
"markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption"
20-
},
21-
"Parameters": {
22-
"type": "object",
23-
"patternProperties": {
24-
"[a-zA-Z0-9]+": {
25-
"type": "string",
26-
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
27-
}
28-
},
29-
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
30-
},
31-
"CloneFrom": {
32-
"type": "string",
33-
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
34-
},
35-
"Mode": {
36-
"type": "string",
37-
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
38-
},
39-
"DisableExecuteApiEndpoint": {
40-
"type": "boolean",
41-
"markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption"
42-
},
43-
"FailOnWarnings": {
44-
"type": "boolean",
45-
"markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption"
46-
},
47-
"BinaryMediaTypes": {
48-
"type": "array",
49-
"uniqueItems": true,
50-
"items": {
51-
"type": "string",
52-
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
53-
},
54-
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption"
55-
},
56-
"Name": {
57-
"type": "string",
58-
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
59-
},
60-
"ApiKeySourceType": {
61-
"type": "string",
62-
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
63-
},
64-
"EndpointConfiguration": {
65-
"$ref": "#/definitions/EndpointConfiguration"
66-
},
67-
"Body": {
68-
"type": "object",
69-
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
70-
},
71-
"Tags": {
72-
"type": "array",
73-
"uniqueItems": false,
74-
"items": {
75-
"$ref": "#/definitions/Tag"
76-
},
77-
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption"
78-
}
79-
},
806
"definitions": {
817
"EndpointConfiguration": {
828
"type": "object",
@@ -107,18 +33,18 @@
10733
"type": "object",
10834
"additionalProperties": false,
10935
"properties": {
110-
"Value": {
36+
"Key": {
11137
"type": "string",
11238
"markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption"
11339
},
114-
"Key": {
40+
"Value": {
11541
"type": "string",
11642
"markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption"
11743
}
11844
},
11945
"required": [
120-
"Value",
121-
"Key"
46+
"Key",
47+
"Value"
12248
],
12349
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
12450
},
@@ -146,19 +72,156 @@
14672
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
14773
}
14874
},
75+
"properties": {
76+
"ApiKeySourceType": {
77+
"type": "string",
78+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
79+
},
80+
"BinaryMediaTypes": {
81+
"type": "array",
82+
"uniqueItems": true,
83+
"items": {
84+
"type": "string",
85+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
86+
},
87+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption"
88+
},
89+
"Body": {
90+
"type": [
91+
"object",
92+
"string"
93+
],
94+
"markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption"
95+
},
96+
"BodyS3Location": {
97+
"$ref": "#/definitions/S3Location"
98+
},
99+
"CloneFrom": {
100+
"type": "string",
101+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
102+
},
103+
"EndpointConfiguration": {
104+
"$ref": "#/definitions/EndpointConfiguration"
105+
},
106+
"Description": {
107+
"type": "string",
108+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
109+
},
110+
"DisableExecuteApiEndpoint": {
111+
"type": "boolean",
112+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption"
113+
},
114+
"FailOnWarnings": {
115+
"type": "boolean",
116+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption"
117+
},
118+
"Name": {
119+
"type": "string",
120+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
121+
},
122+
"MinimumCompressionSize": {
123+
"type": "integer",
124+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption"
125+
},
126+
"Mode": {
127+
"type": "string",
128+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
129+
},
130+
"Policy": {
131+
"type": [
132+
"object",
133+
"string"
134+
],
135+
"markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption"
136+
},
137+
"Parameters": {
138+
"type": [
139+
"object",
140+
"string"
141+
],
142+
"additionalProperties": false,
143+
"patternProperties": {
144+
"[a-zA-Z0-9]+": {
145+
"type": "string",
146+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
147+
}
148+
},
149+
"markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption"
150+
},
151+
"Tags": {
152+
"type": "array",
153+
"uniqueItems": false,
154+
"items": {
155+
"$ref": "#/definitions/Tag"
156+
},
157+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption"
158+
}
159+
},
160+
"tagging": {
161+
"taggable": true,
162+
"tagOnCreate": true,
163+
"tagUpdatable": true,
164+
"cloudFormationSystemTags": true,
165+
"tagProperty": "/properties/Tags"
166+
},
149167
"primaryIdentifier": [
150-
"/properties/Id"
168+
"/properties/RestApiId"
151169
],
152170
"readOnlyProperties": [
153-
"/properties/Id",
171+
"/properties/RestApiId",
154172
"/properties/RootResourceId"
155173
],
174+
"writeOnlyProperties": [
175+
"/properties/Body",
176+
"/properties/BodyS3Location",
177+
"/properties/CloneFrom",
178+
"/properties/FailOnWarnings",
179+
"/properties/Mode",
180+
"/properties/Parameters"
181+
],
182+
"handlers": {
183+
"create": {
184+
"permissions": [
185+
"apigateway:GET",
186+
"apigateway:POST",
187+
"apigateway:UpdateRestApiPolicy",
188+
"s3:GetObject",
189+
"iam:PassRole"
190+
]
191+
},
192+
"read": {
193+
"permissions": [
194+
"apigateway:GET"
195+
]
196+
},
197+
"update": {
198+
"permissions": [
199+
"apigateway:GET",
200+
"apigateway:DELETE",
201+
"apigateway:PATCH",
202+
"apigateway:PUT",
203+
"apigateway:UpdateRestApiPolicy",
204+
"s3:GetObject",
205+
"iam:PassRole"
206+
]
207+
},
208+
"delete": {
209+
"permissions": [
210+
"apigateway:DELETE"
211+
]
212+
},
213+
"list": {
214+
"permissions": [
215+
"apigateway:GET"
216+
]
217+
}
218+
},
156219
"attributes": {
157-
"RootResourceId": {
220+
"RestApiId": {
158221
"type": "string",
159222
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
160223
},
161-
"Id": {
224+
"RootResourceId": {
162225
"type": "string",
163226
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
164227
}

server/schema/resources/aws-appconfig-deployment.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"items": {
3434
"$ref": "#/definitions/Tags"
3535
},
36-
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption"
36+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement"
3737
}
3838
},
3939
"definitions": {
@@ -65,6 +65,7 @@
6565
"/properties/ConfigurationVersion",
6666
"/properties/ApplicationId",
6767
"/properties/ConfigurationProfileId",
68+
"/properties/Tags",
6869
"/properties/EnvironmentId",
6970
"/properties/Description"
7071
],

0 commit comments

Comments
 (0)