Skip to content

Commit 5a4e8f5

Browse files
Introduced ListControlMappings API that retrieves control mappings. Added control aliases and governed resources fields in GetControl and ListControls APIs. New filtering capability in ListControls API, with implementation identifiers and implementation types.
1 parent 70051b1 commit 5a4e8f5

File tree

46 files changed

+3078
-134
lines changed

Some content is hidden

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

46 files changed

+3078
-134
lines changed

generator/ServiceModels/controlcatalog/controlcatalog-2018-05-10.api.json

Lines changed: 182 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,22 @@
4646
{"shape":"ThrottlingException"}
4747
]
4848
},
49+
"ListControlMappings":{
50+
"name":"ListControlMappings",
51+
"http":{
52+
"method":"POST",
53+
"requestUri":"/list-control-mappings",
54+
"responseCode":200
55+
},
56+
"input":{"shape":"ListControlMappingsRequest"},
57+
"output":{"shape":"ListControlMappingsResponse"},
58+
"errors":[
59+
{"shape":"AccessDeniedException"},
60+
{"shape":"InternalServerException"},
61+
{"shape":"ValidationException"},
62+
{"shape":"ThrottlingException"}
63+
]
64+
},
4965
"ListControls":{
5066
"name":"ListControls",
5167
"http":{
@@ -127,12 +143,25 @@
127143
"min":41,
128144
"pattern":"arn:(aws(?:[-a-z]*)?):controlcatalog:::common-control/[0-9a-z]+"
129145
},
146+
"CommonControlArnFilterList":{
147+
"type":"list",
148+
"member":{"shape":"CommonControlArn"},
149+
"max":1,
150+
"min":1
151+
},
130152
"CommonControlFilter":{
131153
"type":"structure",
132154
"members":{
133155
"Objectives":{"shape":"ObjectiveResourceFilterList"}
134156
}
135157
},
158+
"CommonControlMappingDetails":{
159+
"type":"structure",
160+
"required":["CommonControlArn"],
161+
"members":{
162+
"CommonControlArn":{"shape":"CommonControlArn"}
163+
}
164+
},
136165
"CommonControlSummary":{
137166
"type":"structure",
138167
"required":[
@@ -158,12 +187,26 @@
158187
"type":"list",
159188
"member":{"shape":"CommonControlSummary"}
160189
},
190+
"ControlAlias":{
191+
"type":"string",
192+
"pattern":"[a-zA-Z0-9](?:[a-zA-Z0-9_.-]{0,254}[a-zA-Z0-9])"
193+
},
194+
"ControlAliases":{
195+
"type":"list",
196+
"member":{"shape":"ControlAlias"}
197+
},
161198
"ControlArn":{
162199
"type":"string",
163200
"max":2048,
164201
"min":34,
165202
"pattern":"arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\-]+"
166203
},
204+
"ControlArnFilterList":{
205+
"type":"list",
206+
"member":{"shape":"ControlArn"},
207+
"max":1,
208+
"min":1
209+
},
167210
"ControlBehavior":{
168211
"type":"string",
169212
"enum":[
@@ -172,6 +215,37 @@
172215
"DETECTIVE"
173216
]
174217
},
218+
"ControlFilter":{
219+
"type":"structure",
220+
"members":{
221+
"Implementations":{"shape":"ImplementationFilter"}
222+
}
223+
},
224+
"ControlMapping":{
225+
"type":"structure",
226+
"required":[
227+
"ControlArn",
228+
"MappingType",
229+
"Mapping"
230+
],
231+
"members":{
232+
"ControlArn":{"shape":"ControlArn"},
233+
"MappingType":{"shape":"MappingType"},
234+
"Mapping":{"shape":"Mapping"}
235+
}
236+
},
237+
"ControlMappingFilter":{
238+
"type":"structure",
239+
"members":{
240+
"ControlArns":{"shape":"ControlArnFilterList"},
241+
"CommonControlArns":{"shape":"CommonControlArnFilterList"},
242+
"MappingTypes":{"shape":"MappingTypeFilterList"}
243+
}
244+
},
245+
"ControlMappings":{
246+
"type":"list",
247+
"member":{"shape":"ControlMapping"}
248+
},
175249
"ControlParameter":{
176250
"type":"structure",
177251
"required":["Name"],
@@ -208,12 +282,14 @@
208282
],
209283
"members":{
210284
"Arn":{"shape":"ControlArn"},
285+
"Aliases":{"shape":"ControlAliases"},
211286
"Name":{"shape":"String"},
212287
"Description":{"shape":"String"},
213288
"Behavior":{"shape":"ControlBehavior"},
214289
"Severity":{"shape":"ControlSeverity"},
215290
"Implementation":{"shape":"ImplementationSummary"},
216-
"CreateTime":{"shape":"Timestamp"}
291+
"CreateTime":{"shape":"Timestamp"},
292+
"GovernedResources":{"shape":"GovernedResources"}
217293
}
218294
},
219295
"Controls":{
@@ -261,6 +337,27 @@
261337
"type":"list",
262338
"member":{"shape":"DomainSummary"}
263339
},
340+
"FrameworkItem":{
341+
"type":"string",
342+
"max":250,
343+
"min":3
344+
},
345+
"FrameworkMappingDetails":{
346+
"type":"structure",
347+
"required":[
348+
"Name",
349+
"Item"
350+
],
351+
"members":{
352+
"Name":{"shape":"FrameworkName"},
353+
"Item":{"shape":"FrameworkItem"}
354+
}
355+
},
356+
"FrameworkName":{
357+
"type":"string",
358+
"max":250,
359+
"min":3
360+
},
264361
"GetControlRequest":{
265362
"type":"structure",
266363
"required":["ControlArn"],
@@ -279,16 +376,26 @@
279376
],
280377
"members":{
281378
"Arn":{"shape":"ControlArn"},
379+
"Aliases":{"shape":"ControlAliases"},
282380
"Name":{"shape":"String"},
283381
"Description":{"shape":"String"},
284382
"Behavior":{"shape":"ControlBehavior"},
285383
"Severity":{"shape":"ControlSeverity"},
286384
"RegionConfiguration":{"shape":"RegionConfiguration"},
287385
"Implementation":{"shape":"ImplementationDetails"},
288386
"Parameters":{"shape":"ControlParameters"},
289-
"CreateTime":{"shape":"Timestamp"}
387+
"CreateTime":{"shape":"Timestamp"},
388+
"GovernedResources":{"shape":"GovernedResources"}
290389
}
291390
},
391+
"GovernedResource":{
392+
"type":"string",
393+
"pattern":"[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}"
394+
},
395+
"GovernedResources":{
396+
"type":"list",
397+
"member":{"shape":"GovernedResource"}
398+
},
292399
"ImplementationDetails":{
293400
"type":"structure",
294401
"required":["Type"],
@@ -297,11 +404,24 @@
297404
"Identifier":{"shape":"ImplementationIdentifier"}
298405
}
299406
},
407+
"ImplementationFilter":{
408+
"type":"structure",
409+
"members":{
410+
"Types":{"shape":"ImplementationTypeFilterList"},
411+
"Identifiers":{"shape":"ImplementationIdentifierFilterList"}
412+
}
413+
},
300414
"ImplementationIdentifier":{
301415
"type":"string",
302416
"max":256,
303417
"min":1,
304-
"pattern":"[a-z0-9-]+"
418+
"pattern":"[a-zA-Z0-9_\\.-]+"
419+
},
420+
"ImplementationIdentifierFilterList":{
421+
"type":"list",
422+
"member":{"shape":"ImplementationIdentifier"},
423+
"max":1,
424+
"min":1
305425
},
306426
"ImplementationSummary":{
307427
"type":"structure",
@@ -317,6 +437,12 @@
317437
"min":7,
318438
"pattern":"[A-Za-z0-9]+(::[A-Za-z0-9_]+){2,3}"
319439
},
440+
"ImplementationTypeFilterList":{
441+
"type":"list",
442+
"member":{"shape":"ImplementationType"},
443+
"max":1,
444+
"min":1
445+
},
320446
"InternalServerException":{
321447
"type":"structure",
322448
"members":{
@@ -351,6 +477,30 @@
351477
"NextToken":{"shape":"PaginationToken"}
352478
}
353479
},
480+
"ListControlMappingsRequest":{
481+
"type":"structure",
482+
"members":{
483+
"NextToken":{
484+
"shape":"PaginationToken",
485+
"location":"querystring",
486+
"locationName":"nextToken"
487+
},
488+
"MaxResults":{
489+
"shape":"MaxListControlMappingsResults",
490+
"location":"querystring",
491+
"locationName":"maxResults"
492+
},
493+
"Filter":{"shape":"ControlMappingFilter"}
494+
}
495+
},
496+
"ListControlMappingsResponse":{
497+
"type":"structure",
498+
"required":["ControlMappings"],
499+
"members":{
500+
"ControlMappings":{"shape":"ControlMappings"},
501+
"NextToken":{"shape":"PaginationToken"}
502+
}
503+
},
354504
"ListControlsRequest":{
355505
"type":"structure",
356506
"members":{
@@ -363,7 +513,8 @@
363513
"shape":"MaxListControlsResults",
364514
"location":"querystring",
365515
"locationName":"maxResults"
366-
}
516+
},
517+
"Filter":{"shape":"ControlFilter"}
367518
}
368519
},
369520
"ListControlsResponse":{
@@ -421,12 +572,39 @@
421572
"NextToken":{"shape":"PaginationToken"}
422573
}
423574
},
575+
"Mapping":{
576+
"type":"structure",
577+
"members":{
578+
"Framework":{"shape":"FrameworkMappingDetails"},
579+
"CommonControl":{"shape":"CommonControlMappingDetails"}
580+
},
581+
"union":true
582+
},
583+
"MappingType":{
584+
"type":"string",
585+
"enum":[
586+
"FRAMEWORK",
587+
"COMMON_CONTROL"
588+
]
589+
},
590+
"MappingTypeFilterList":{
591+
"type":"list",
592+
"member":{"shape":"MappingType"},
593+
"max":1,
594+
"min":1
595+
},
424596
"MaxListCommonControlsResults":{
425597
"type":"integer",
426598
"box":true,
427599
"max":100,
428600
"min":1
429601
},
602+
"MaxListControlMappingsResults":{
603+
"type":"integer",
604+
"box":true,
605+
"max":1000,
606+
"min":1
607+
},
430608
"MaxListControlsResults":{
431609
"type":"integer",
432610
"box":true,

0 commit comments

Comments
 (0)