Skip to content

Commit 1f1852a

Browse files
author
AWS
committed
AWS Control Catalog Update: AWS Control Catalog GetControl public API returns additional data in output, including Implementation and Parameters
1 parent 97ee691 commit 1f1852a

File tree

2 files changed

+49
-3
lines changed

2 files changed

+49
-3
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Control Catalog",
4+
"contributor": "",
5+
"description": "AWS Control Catalog GetControl public API returns additional data in output, including Implementation and Parameters"
6+
}

services/controlcatalog/src/main/resources/codegen-resources/service-2.json

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,21 @@
218218
"DETECTIVE"
219219
]
220220
},
221+
"ControlParameter":{
222+
"type":"structure",
223+
"required":["Name"],
224+
"members":{
225+
"Name":{
226+
"shape":"String",
227+
"documentation":"<p>The parameter name. This name is the parameter <code>key</code> when you call <a href=\"https://docs.aws.amazon.com/controltower/latest/APIReference/API_EnableControl.html\"> <code>EnableControl</code> </a> or <a href=\"https://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateEnabledControl.html\"> <code>UpdateEnabledControl</code> </a>.</p>"
228+
}
229+
},
230+
"documentation":"<p>Four types of control parameters are supported.</p> <ul> <li> <p> <b>AllowedRegions</b>: List of Amazon Web Services Regions exempted from the control. Each string is expected to be an Amazon Web Services Region code. This parameter is mandatory for the <b>OU Region deny</b> control, <b>CT.MULTISERVICE.PV.1</b>.</p> <p>Example: <code>[\"us-east-1\",\"us-west-2\"]</code> </p> </li> <li> <p> <b>ExemptedActions</b>: List of Amazon Web Services IAM actions exempted from the control. Each string is expected to be an IAM action.</p> <p>Example: <code>[\"logs:DescribeLogGroups\",\"logs:StartQuery\",\"logs:GetQueryResults\"]</code> </p> </li> <li> <p> <b>ExemptedPrincipalArns</b>: List of Amazon Web Services IAM principal ARNs exempted from the control. Each string is expected to be an IAM principal that follows the pattern <code>^arn:(aws|aws-us-gov):(iam|sts)::.+:.+$</code> </p> <p>Example: <code>[\"arn:aws:iam::*:role/ReadOnly\",\"arn:aws:sts::*:assumed-role/ReadOnly/*\"]</code> </p> </li> <li> <p> <b>ExemptedResourceArns</b>: List of resource ARNs exempted from the control. Each string is expected to be a resource ARN.</p> <p>Example: <code>[\"arn:aws:s3:::my-bucket-name\"]</code> </p> </li> </ul>"
231+
},
232+
"ControlParameters":{
233+
"type":"list",
234+
"member":{"shape":"ControlParameter"}
235+
},
221236
"ControlScope":{
222237
"type":"string",
223238
"enum":[
@@ -347,11 +362,36 @@
347362
},
348363
"Behavior":{
349364
"shape":"ControlBehavior",
350-
"documentation":"<p>A term that identifies the control's functional behavior. One of <code>Preventive</code>, <code>Deteictive</code>, <code>Proactive</code> </p>"
365+
"documentation":"<p>A term that identifies the control's functional behavior. One of <code>Preventive</code>, <code>Detective</code>, <code>Proactive</code> </p>"
366+
},
367+
"RegionConfiguration":{"shape":"RegionConfiguration"},
368+
"Implementation":{
369+
"shape":"ImplementationDetails",
370+
"documentation":"<p>Returns information about the control, as an <code>ImplementationDetails</code> object that shows the underlying implementation type for a control.</p>"
351371
},
352-
"RegionConfiguration":{"shape":"RegionConfiguration"}
372+
"Parameters":{
373+
"shape":"ControlParameters",
374+
"documentation":"<p>Returns an array of <code>ControlParameter</code> objects that specify the parameters a control supports. An empty list is returned for controls that don’t support parameters. </p>"
375+
}
353376
}
354377
},
378+
"ImplementationDetails":{
379+
"type":"structure",
380+
"required":["Type"],
381+
"members":{
382+
"Type":{
383+
"shape":"ImplementationType",
384+
"documentation":"<p>A string that describes a control's implementation type.</p>"
385+
}
386+
},
387+
"documentation":"<p>An object that describes the implementation type for a control.</p> <p>Our <code>ImplementationDetails</code> <code>Type</code> format has three required segments:</p> <ul> <li> <p> <code>SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME</code> </p> </li> </ul> <p>For example, <code>AWS::Config::ConfigRule</code> <b>or</b> <code>AWS::SecurityHub::SecurityControl</code> resources have the format with three required segments.</p> <p>Our <code>ImplementationDetails</code> <code>Type</code> format has an optional fourth segment, which is present for applicable implementation types. The format is as follows: </p> <ul> <li> <p> <code>SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME::RESOURCE-TYPE-DESCRIPTION</code> </p> </li> </ul> <p>For example, <code>AWS::Organizations::Policy::SERVICE_CONTROL_POLICY</code> <b>or</b> <code>AWS::CloudFormation::Type::HOOK</code> have the format with four segments.</p> <p>Although the format is similar, the values for the <code>Type</code> field do not match any Amazon Web Services CloudFormation values, and we do not use CloudFormation to implement these controls.</p>"
388+
},
389+
"ImplementationType":{
390+
"type":"string",
391+
"max":2048,
392+
"min":7,
393+
"pattern":"[A-Za-z0-9]+(::[A-Za-z0-9_]+){2,3}"
394+
},
355395
"InternalServerException":{
356396
"type":"structure",
357397
"members":{
@@ -613,7 +653,7 @@
613653
"documentation":"<p>Regions in which the control is available to be deployed.</p>"
614654
}
615655
},
616-
"documentation":"<p>Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control currently is available for deployment.</p> <p>If you are applying controls through an Amazon Web Services Control Tower landing zone environment, remember that the values returned in the <code>RegionConfiguration</code> API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions <code>A</code>,<code>B</code>,and <code>C</code> while the control is available in Regions <code>A</code>, <code>B</code>, C<code>,</code> and <code>D</code>, you'd see a response with <code>DeployableRegions</code> of <code>A</code>, <code>B</code>, <code>C</code>, and <code>D</code> for a control with <code>REGIONAL</code> scope, even though you may not intend to deploy the control in Region <code>D</code>, because you do not govern it through your landing zone.</p>"
656+
"documentation":"<p>Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control currently is available for deployment. For more information about scope, see <a href=\"https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/global-services.html\">Global services</a>.</p> <p>If you are applying controls through an Amazon Web Services Control Tower landing zone environment, remember that the values returned in the <code>RegionConfiguration</code> API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions <code>A</code>,<code>B</code>,and <code>C</code> while the control is available in Regions <code>A</code>, <code>B</code>, C<code>,</code> and <code>D</code>, you'd see a response with <code>DeployableRegions</code> of <code>A</code>, <code>B</code>, <code>C</code>, and <code>D</code> for a control with <code>REGIONAL</code> scope, even though you may not intend to deploy the control in Region <code>D</code>, because you do not govern it through your landing zone.</p>"
617657
},
618658
"ResourceNotFoundException":{
619659
"type":"structure",

0 commit comments

Comments
 (0)