@aws-sdk/client-controlcatalog 3.686.0 → 3.688.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -94,7 +94,9 @@ const de_GetControlCommand = async (output, context) => {
94
94
  Arn: smithy_client_1.expectString,
95
95
  Behavior: smithy_client_1.expectString,
96
96
  Description: smithy_client_1.expectString,
97
+ Implementation: smithy_client_1._json,
97
98
  Name: smithy_client_1.expectString,
99
+ Parameters: smithy_client_1._json,
98
100
  RegionConfiguration: smithy_client_1._json,
99
101
  });
100
102
  Object.assign(contents, doc);
@@ -86,7 +86,9 @@ export const de_GetControlCommand = async (output, context) => {
86
86
  Arn: __expectString,
87
87
  Behavior: __expectString,
88
88
  Description: __expectString,
89
+ Implementation: _json,
89
90
  Name: __expectString,
91
+ Parameters: _json,
90
92
  RegionConfiguration: _json,
91
93
  });
92
94
  Object.assign(contents, doc);
@@ -51,6 +51,14 @@ declare const GetControlCommand_base: {
51
51
  * // "STRING_VALUE",
52
52
  * // ],
53
53
  * // },
54
+ * // Implementation: { // ImplementationDetails
55
+ * // Type: "STRING_VALUE", // required
56
+ * // },
57
+ * // Parameters: [ // ControlParameters
58
+ * // { // ControlParameter
59
+ * // Name: "STRING_VALUE", // required
60
+ * // },
61
+ * // ],
54
62
  * // };
55
63
  *
56
64
  * ```
@@ -229,6 +229,92 @@ export interface GetControlRequest {
229
229
  */
230
230
  ControlArn: string | undefined;
231
231
  }
232
+ /**
233
+ * <p>An object that describes the implementation type for a control.</p>
234
+ * <p>Our <code>ImplementationDetails</code>
235
+ * <code>Type</code> format has three required segments:</p>
236
+ * <ul>
237
+ * <li>
238
+ * <p>
239
+ * <code>SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME</code>
240
+ * </p>
241
+ * </li>
242
+ * </ul>
243
+ * <p>For example, <code>AWS::Config::ConfigRule</code>
244
+ * <b>or</b>
245
+ * <code>AWS::SecurityHub::SecurityControl</code> resources have the format with three required segments.</p>
246
+ * <p>Our <code>ImplementationDetails</code>
247
+ * <code>Type</code> format has an optional fourth segment, which is present for applicable
248
+ * implementation types. The format is as follows: </p>
249
+ * <ul>
250
+ * <li>
251
+ * <p>
252
+ * <code>SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME::RESOURCE-TYPE-DESCRIPTION</code>
253
+ * </p>
254
+ * </li>
255
+ * </ul>
256
+ * <p>For example, <code>AWS::Organizations::Policy::SERVICE_CONTROL_POLICY</code>
257
+ * <b>or</b>
258
+ * <code>AWS::CloudFormation::Type::HOOK</code> have the format with four segments.</p>
259
+ * <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>
260
+ * @public
261
+ */
262
+ export interface ImplementationDetails {
263
+ /**
264
+ * <p>A string that describes a control's implementation type.</p>
265
+ * @public
266
+ */
267
+ Type: string | undefined;
268
+ }
269
+ /**
270
+ * <p>Four types of control parameters are supported.</p>
271
+ * <ul>
272
+ * <li>
273
+ * <p>
274
+ * <b>AllowedRegions</b>: List of Amazon Web Services Regions exempted from the
275
+ * 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>
276
+ * <p>Example: <code>["us-east-1","us-west-2"]</code>
277
+ * </p>
278
+ * </li>
279
+ * <li>
280
+ * <p>
281
+ * <b>ExemptedActions</b>: List of Amazon Web Services IAM actions exempted
282
+ * from the control. Each string is expected to be an IAM action.</p>
283
+ * <p>Example:
284
+ * <code>["logs:DescribeLogGroups","logs:StartQuery","logs:GetQueryResults"]</code>
285
+ * </p>
286
+ * </li>
287
+ * <li>
288
+ * <p>
289
+ * <b>ExemptedPrincipalArns</b>: List of Amazon Web Services IAM principal ARNs
290
+ * exempted from the control. Each string is expected to be an IAM principal that follows
291
+ * the pattern <code>^arn:(aws|aws-us-gov):(iam|sts)::.+:.+$</code>
292
+ * </p>
293
+ * <p>Example:
294
+ * <code>["arn:aws:iam::*:role/ReadOnly","arn:aws:sts::*:assumed-role/ReadOnly/*"]</code>
295
+ * </p>
296
+ * </li>
297
+ * <li>
298
+ * <p>
299
+ * <b>ExemptedResourceArns</b>: List of resource ARNs exempted
300
+ * from the control. Each string is expected to be a resource ARN.</p>
301
+ * <p>Example: <code>["arn:aws:s3:::my-bucket-name"]</code>
302
+ * </p>
303
+ * </li>
304
+ * </ul>
305
+ * @public
306
+ */
307
+ export interface ControlParameter {
308
+ /**
309
+ * <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">
310
+ * <code>EnableControl</code>
311
+ * </a> or <a href="https://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateEnabledControl.html">
312
+ * <code>UpdateEnabledControl</code>
313
+ * </a>.</p>
314
+ * @public
315
+ */
316
+ Name: string | undefined;
317
+ }
232
318
  /**
233
319
  * @public
234
320
  * @enum
@@ -242,7 +328,7 @@ export declare const ControlScope: {
242
328
  */
243
329
  export type ControlScope = (typeof ControlScope)[keyof typeof ControlScope];
244
330
  /**
245
- * <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>
331
+ * <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>
246
332
  * <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>
247
333
  * @public
248
334
  */
@@ -278,17 +364,28 @@ export interface GetControlResponse {
278
364
  */
279
365
  Description: string | undefined;
280
366
  /**
281
- * <p>A term that identifies the control's functional behavior. One of <code>Preventive</code>, <code>Deteictive</code>, <code>Proactive</code>
367
+ * <p>A term that identifies the control's functional behavior. One of <code>Preventive</code>, <code>Detective</code>, <code>Proactive</code>
282
368
  * </p>
283
369
  * @public
284
370
  */
285
371
  Behavior: ControlBehavior | undefined;
286
372
  /**
287
- * <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>
373
+ * <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>
288
374
  * <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>
289
375
  * @public
290
376
  */
291
377
  RegionConfiguration: RegionConfiguration | undefined;
378
+ /**
379
+ * <p>Returns information about the control, as an <code>ImplementationDetails</code> object that shows the underlying implementation type for a control.</p>
380
+ * @public
381
+ */
382
+ Implementation?: ImplementationDetails;
383
+ /**
384
+ * <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.
385
+ * </p>
386
+ * @public
387
+ */
388
+ Parameters?: ControlParameter[];
292
389
  }
293
390
  /**
294
391
  * <p>The requested resource does not exist.</p>
@@ -78,6 +78,12 @@ export type ControlBehavior =
78
78
  export interface GetControlRequest {
79
79
  ControlArn: string | undefined;
80
80
  }
81
+ export interface ImplementationDetails {
82
+ Type: string | undefined;
83
+ }
84
+ export interface ControlParameter {
85
+ Name: string | undefined;
86
+ }
81
87
  export declare const ControlScope: {
82
88
  readonly GLOBAL: "GLOBAL";
83
89
  readonly REGIONAL: "REGIONAL";
@@ -93,6 +99,8 @@ export interface GetControlResponse {
93
99
  Description: string | undefined;
94
100
  Behavior: ControlBehavior | undefined;
95
101
  RegionConfiguration: RegionConfiguration | undefined;
102
+ Implementation?: ImplementationDetails;
103
+ Parameters?: ControlParameter[];
96
104
  }
97
105
  export declare class ResourceNotFoundException extends __BaseException {
98
106
  readonly name: "ResourceNotFoundException";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-controlcatalog",
3
3
  "description": "AWS SDK for JavaScript Controlcatalog Client for Node.js, Browser and React Native",
4
- "version": "3.686.0",
4
+ "version": "3.688.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,19 +20,19 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.686.0",
24
- "@aws-sdk/client-sts": "3.686.0",
23
+ "@aws-sdk/client-sso-oidc": "3.687.0",
24
+ "@aws-sdk/client-sts": "3.687.0",
25
25
  "@aws-sdk/core": "3.686.0",
26
- "@aws-sdk/credential-provider-node": "3.686.0",
26
+ "@aws-sdk/credential-provider-node": "3.687.0",
27
27
  "@aws-sdk/middleware-host-header": "3.686.0",
28
28
  "@aws-sdk/middleware-logger": "3.686.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.686.0",
30
- "@aws-sdk/middleware-user-agent": "3.686.0",
30
+ "@aws-sdk/middleware-user-agent": "3.687.0",
31
31
  "@aws-sdk/region-config-resolver": "3.686.0",
32
32
  "@aws-sdk/types": "3.686.0",
33
33
  "@aws-sdk/util-endpoints": "3.686.0",
34
34
  "@aws-sdk/util-user-agent-browser": "3.686.0",
35
- "@aws-sdk/util-user-agent-node": "3.686.0",
35
+ "@aws-sdk/util-user-agent-node": "3.687.0",
36
36
  "@smithy/config-resolver": "^3.0.10",
37
37
  "@smithy/core": "^2.5.1",
38
38
  "@smithy/fetch-http-handler": "^4.0.0",