@aws-sdk/client-controlcatalog 3.620.1 → 3.622.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.
Files changed (45) hide show
  1. package/README.md +16 -0
  2. package/dist-cjs/ControlCatalog.js +4 -0
  3. package/dist-cjs/ControlCatalogClient.js +12 -18
  4. package/dist-cjs/commands/GetControlCommand.js +28 -0
  5. package/dist-cjs/commands/ListControlsCommand.js +28 -0
  6. package/dist-cjs/commands/index.js +2 -0
  7. package/dist-cjs/models/models_0.js +24 -1
  8. package/dist-cjs/pagination/ListControlsPaginator.js +7 -0
  9. package/dist-cjs/pagination/index.js +1 -0
  10. package/dist-cjs/protocols/Aws_restJson1.js +79 -1
  11. package/dist-es/ControlCatalog.js +4 -0
  12. package/dist-es/ControlCatalogClient.js +12 -18
  13. package/dist-es/commands/GetControlCommand.js +24 -0
  14. package/dist-es/commands/ListControlsCommand.js +24 -0
  15. package/dist-es/commands/index.js +2 -0
  16. package/dist-es/models/models_0.js +22 -0
  17. package/dist-es/pagination/ListControlsPaginator.js +4 -0
  18. package/dist-es/pagination/index.js +1 -0
  19. package/dist-es/protocols/Aws_restJson1.js +75 -1
  20. package/dist-types/ControlCatalog.d.ts +15 -0
  21. package/dist-types/ControlCatalogClient.d.ts +6 -6
  22. package/dist-types/auth/httpAuthSchemeProvider.d.ts +4 -4
  23. package/dist-types/commands/GetControlCommand.d.ts +85 -0
  24. package/dist-types/commands/ListControlsCommand.d.ts +80 -0
  25. package/dist-types/commands/index.d.ts +2 -0
  26. package/dist-types/models/models_0.d.ts +164 -0
  27. package/dist-types/pagination/ListControlsPaginator.d.ts +7 -0
  28. package/dist-types/pagination/index.d.ts +1 -0
  29. package/dist-types/protocols/Aws_restJson1.d.ts +18 -0
  30. package/dist-types/runtimeConfig.browser.d.ts +2 -2
  31. package/dist-types/runtimeConfig.d.ts +2 -2
  32. package/dist-types/runtimeConfig.native.d.ts +2 -2
  33. package/dist-types/ts3.4/ControlCatalog.d.ts +35 -0
  34. package/dist-types/ts3.4/ControlCatalogClient.d.ts +18 -8
  35. package/dist-types/ts3.4/commands/GetControlCommand.d.ts +36 -0
  36. package/dist-types/ts3.4/commands/ListControlsCommand.d.ts +36 -0
  37. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  38. package/dist-types/ts3.4/models/models_0.d.ts +47 -0
  39. package/dist-types/ts3.4/pagination/ListControlsPaginator.d.ts +11 -0
  40. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  41. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +24 -0
  42. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +5 -5
  43. package/dist-types/ts3.4/runtimeConfig.d.ts +5 -5
  44. package/dist-types/ts3.4/runtimeConfig.native.d.ts +5 -5
  45. package/package.json +11 -11
@@ -1,9 +1,17 @@
1
1
  import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
2
+ import { GetControlCommandInput, GetControlCommandOutput } from "./commands/GetControlCommand";
2
3
  import { ListCommonControlsCommandInput, ListCommonControlsCommandOutput } from "./commands/ListCommonControlsCommand";
4
+ import { ListControlsCommandInput, ListControlsCommandOutput } from "./commands/ListControlsCommand";
3
5
  import { ListDomainsCommandInput, ListDomainsCommandOutput } from "./commands/ListDomainsCommand";
4
6
  import { ListObjectivesCommandInput, ListObjectivesCommandOutput } from "./commands/ListObjectivesCommand";
5
7
  import { ControlCatalogClient } from "./ControlCatalogClient";
6
8
  export interface ControlCatalog {
9
+ /**
10
+ * @see {@link GetControlCommand}
11
+ */
12
+ getControl(args: GetControlCommandInput, options?: __HttpHandlerOptions): Promise<GetControlCommandOutput>;
13
+ getControl(args: GetControlCommandInput, cb: (err: any, data?: GetControlCommandOutput) => void): void;
14
+ getControl(args: GetControlCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetControlCommandOutput) => void): void;
7
15
  /**
8
16
  * @see {@link ListCommonControlsCommand}
9
17
  */
@@ -11,6 +19,13 @@ export interface ControlCatalog {
11
19
  listCommonControls(args: ListCommonControlsCommandInput, options?: __HttpHandlerOptions): Promise<ListCommonControlsCommandOutput>;
12
20
  listCommonControls(args: ListCommonControlsCommandInput, cb: (err: any, data?: ListCommonControlsCommandOutput) => void): void;
13
21
  listCommonControls(args: ListCommonControlsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListCommonControlsCommandOutput) => void): void;
22
+ /**
23
+ * @see {@link ListControlsCommand}
24
+ */
25
+ listControls(): Promise<ListControlsCommandOutput>;
26
+ listControls(args: ListControlsCommandInput, options?: __HttpHandlerOptions): Promise<ListControlsCommandOutput>;
27
+ listControls(args: ListControlsCommandInput, cb: (err: any, data?: ListControlsCommandOutput) => void): void;
28
+ listControls(args: ListControlsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListControlsCommandOutput) => void): void;
14
29
  /**
15
30
  * @see {@link ListDomainsCommand}
16
31
  */
@@ -7,7 +7,9 @@ import { HttpHandlerUserInput as __HttpHandlerUserInput } from "@smithy/protocol
7
7
  import { Client as __Client, DefaultsMode as __DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@smithy/smithy-client";
8
8
  import { AwsCredentialIdentityProvider, BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
9
9
  import { HttpAuthSchemeInputConfig, HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider";
10
+ import { GetControlCommandInput, GetControlCommandOutput } from "./commands/GetControlCommand";
10
11
  import { ListCommonControlsCommandInput, ListCommonControlsCommandOutput } from "./commands/ListCommonControlsCommand";
12
+ import { ListControlsCommandInput, ListControlsCommandOutput } from "./commands/ListControlsCommand";
11
13
  import { ListDomainsCommandInput, ListDomainsCommandOutput } from "./commands/ListDomainsCommand";
12
14
  import { ListObjectivesCommandInput, ListObjectivesCommandOutput } from "./commands/ListObjectivesCommand";
13
15
  import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, EndpointParameters } from "./endpoint/EndpointParameters";
@@ -16,11 +18,11 @@ export { __Client };
16
18
  /**
17
19
  * @public
18
20
  */
19
- export type ServiceInputTypes = ListCommonControlsCommandInput | ListDomainsCommandInput | ListObjectivesCommandInput;
21
+ export type ServiceInputTypes = GetControlCommandInput | ListCommonControlsCommandInput | ListControlsCommandInput | ListDomainsCommandInput | ListObjectivesCommandInput;
20
22
  /**
21
23
  * @public
22
24
  */
23
- export type ServiceOutputTypes = ListCommonControlsCommandOutput | ListDomainsCommandOutput | ListObjectivesCommandOutput;
25
+ export type ServiceOutputTypes = GetControlCommandOutput | ListCommonControlsCommandOutput | ListControlsCommandOutput | ListDomainsCommandOutput | ListObjectivesCommandOutput;
24
26
  /**
25
27
  * @public
26
28
  */
@@ -134,7 +136,7 @@ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHand
134
136
  /**
135
137
  * @public
136
138
  */
137
- export type ControlCatalogClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & HostHeaderInputConfig & UserAgentInputConfig & RetryInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
139
+ export type ControlCatalogClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & UserAgentInputConfig & RetryInputConfig & RegionInputConfig & HostHeaderInputConfig & EndpointInputConfig<EndpointParameters> & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
138
140
  /**
139
141
  * @public
140
142
  *
@@ -145,7 +147,7 @@ export interface ControlCatalogClientConfig extends ControlCatalogClientConfigTy
145
147
  /**
146
148
  * @public
147
149
  */
148
- export type ControlCatalogClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HostHeaderResolvedConfig & UserAgentResolvedConfig & RetryResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
150
+ export type ControlCatalogClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & UserAgentResolvedConfig & RetryResolvedConfig & RegionResolvedConfig & HostHeaderResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
149
151
  /**
150
152
  * @public
151
153
  *
@@ -196,6 +198,4 @@ export declare class ControlCatalogClient extends __Client<__HttpHandlerOptions,
196
198
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
197
199
  */
198
200
  destroy(): void;
199
- private getDefaultHttpAuthSchemeParametersProvider;
200
- private getIdentityProviderConfigProvider;
201
201
  }
@@ -30,12 +30,12 @@ export declare const defaultControlCatalogHttpAuthSchemeProvider: ControlCatalog
30
30
  */
31
31
  export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
32
32
  /**
33
- * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
33
+ * Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
34
34
  * @internal
35
35
  */
36
36
  httpAuthSchemes?: HttpAuthScheme[];
37
37
  /**
38
- * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
38
+ * Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
39
39
  * @internal
40
40
  */
41
41
  httpAuthSchemeProvider?: ControlCatalogHttpAuthSchemeProvider;
@@ -45,12 +45,12 @@ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
45
45
  */
46
46
  export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig {
47
47
  /**
48
- * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
48
+ * Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
49
49
  * @internal
50
50
  */
51
51
  readonly httpAuthSchemes: HttpAuthScheme[];
52
52
  /**
53
- * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
53
+ * Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
54
54
  * @internal
55
55
  */
56
56
  readonly httpAuthSchemeProvider: ControlCatalogHttpAuthSchemeProvider;
@@ -0,0 +1,85 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { ControlCatalogClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ControlCatalogClient";
4
+ import { GetControlRequest, GetControlResponse } from "../models/models_0";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GetControlCommand}.
14
+ */
15
+ export interface GetControlCommandInput extends GetControlRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GetControlCommand}.
21
+ */
22
+ export interface GetControlCommandOutput extends GetControlResponse, __MetadataBearer {
23
+ }
24
+ declare const GetControlCommand_base: {
25
+ new (input: GetControlCommandInput): import("@smithy/smithy-client").CommandImpl<GetControlCommandInput, GetControlCommandOutput, ControlCatalogClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (__0_0: GetControlCommandInput): import("@smithy/smithy-client").CommandImpl<GetControlCommandInput, GetControlCommandOutput, ControlCatalogClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Returns details about a specific control, most notably a list of Amazon Web Services Regions where this control is supported. Input a value for the <i>ControlArn</i> parameter, in ARN form. <code>GetControl</code> accepts <i>controltower</i> or <i>controlcatalog</i> control ARNs as input. Returns a <i>controlcatalog</i> ARN format.</p>
31
+ * <p>In the API response, controls that have the value <code>GLOBAL</code> in the <code>Scope</code> field do not show the <code>DeployableRegions</code> field, because it does not apply. Controls that have the value <code>REGIONAL</code> in the <code>Scope</code> field return a value for the <code>DeployableRegions</code> field, as shown in the example.</p>
32
+ * @example
33
+ * Use a bare-bones client and the command you need to make an API call.
34
+ * ```javascript
35
+ * import { ControlCatalogClient, GetControlCommand } from "@aws-sdk/client-controlcatalog"; // ES Modules import
36
+ * // const { ControlCatalogClient, GetControlCommand } = require("@aws-sdk/client-controlcatalog"); // CommonJS import
37
+ * const client = new ControlCatalogClient(config);
38
+ * const input = { // GetControlRequest
39
+ * ControlArn: "STRING_VALUE", // required
40
+ * };
41
+ * const command = new GetControlCommand(input);
42
+ * const response = await client.send(command);
43
+ * // { // GetControlResponse
44
+ * // Arn: "STRING_VALUE", // required
45
+ * // Name: "STRING_VALUE", // required
46
+ * // Description: "STRING_VALUE", // required
47
+ * // Behavior: "PREVENTIVE" || "PROACTIVE" || "DETECTIVE", // required
48
+ * // RegionConfiguration: { // RegionConfiguration
49
+ * // Scope: "GLOBAL" || "REGIONAL", // required
50
+ * // DeployableRegions: [ // DeployableRegions
51
+ * // "STRING_VALUE",
52
+ * // ],
53
+ * // },
54
+ * // };
55
+ *
56
+ * ```
57
+ *
58
+ * @param GetControlCommandInput - {@link GetControlCommandInput}
59
+ * @returns {@link GetControlCommandOutput}
60
+ * @see {@link GetControlCommandInput} for command's `input` shape.
61
+ * @see {@link GetControlCommandOutput} for command's `response` shape.
62
+ * @see {@link ControlCatalogClientResolvedConfig | config} for ControlCatalogClient's `config` shape.
63
+ *
64
+ * @throws {@link AccessDeniedException} (client fault)
65
+ * <p>You do not have sufficient access to perform this action.</p>
66
+ *
67
+ * @throws {@link InternalServerException} (server fault)
68
+ * <p>An internal service error occurred during the processing of your request. Try again later.</p>
69
+ *
70
+ * @throws {@link ResourceNotFoundException} (client fault)
71
+ * <p>The requested resource does not exist.</p>
72
+ *
73
+ * @throws {@link ThrottlingException} (client fault)
74
+ * <p>The request was denied due to request throttling.</p>
75
+ *
76
+ * @throws {@link ValidationException} (client fault)
77
+ * <p>The request has invalid or missing parameters.</p>
78
+ *
79
+ * @throws {@link ControlCatalogServiceException}
80
+ * <p>Base exception class for all service exceptions from ControlCatalog service.</p>
81
+ *
82
+ * @public
83
+ */
84
+ export declare class GetControlCommand extends GetControlCommand_base {
85
+ }
@@ -0,0 +1,80 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { ControlCatalogClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ControlCatalogClient";
4
+ import { ListControlsRequest, ListControlsResponse } from "../models/models_0";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link ListControlsCommand}.
14
+ */
15
+ export interface ListControlsCommandInput extends ListControlsRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link ListControlsCommand}.
21
+ */
22
+ export interface ListControlsCommandOutput extends ListControlsResponse, __MetadataBearer {
23
+ }
24
+ declare const ListControlsCommand_base: {
25
+ new (input: ListControlsCommandInput): import("@smithy/smithy-client").CommandImpl<ListControlsCommandInput, ListControlsCommandOutput, ControlCatalogClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (...[input]: [] | [ListControlsCommandInput]): import("@smithy/smithy-client").CommandImpl<ListControlsCommandInput, ListControlsCommandOutput, ControlCatalogClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Returns a paginated list of all available controls in the Amazon Web Services Control Catalog library. Allows you to discover available controls. The list of controls is given as structures of type <i>controlSummary</i>. The ARN is returned in the global <i>controlcatalog</i> format, as shown in the examples.</p>
31
+ * @example
32
+ * Use a bare-bones client and the command you need to make an API call.
33
+ * ```javascript
34
+ * import { ControlCatalogClient, ListControlsCommand } from "@aws-sdk/client-controlcatalog"; // ES Modules import
35
+ * // const { ControlCatalogClient, ListControlsCommand } = require("@aws-sdk/client-controlcatalog"); // CommonJS import
36
+ * const client = new ControlCatalogClient(config);
37
+ * const input = { // ListControlsRequest
38
+ * NextToken: "STRING_VALUE",
39
+ * MaxResults: Number("int"),
40
+ * };
41
+ * const command = new ListControlsCommand(input);
42
+ * const response = await client.send(command);
43
+ * // { // ListControlsResponse
44
+ * // Controls: [ // Controls // required
45
+ * // { // ControlSummary
46
+ * // Arn: "STRING_VALUE", // required
47
+ * // Name: "STRING_VALUE", // required
48
+ * // Description: "STRING_VALUE", // required
49
+ * // },
50
+ * // ],
51
+ * // NextToken: "STRING_VALUE",
52
+ * // };
53
+ *
54
+ * ```
55
+ *
56
+ * @param ListControlsCommandInput - {@link ListControlsCommandInput}
57
+ * @returns {@link ListControlsCommandOutput}
58
+ * @see {@link ListControlsCommandInput} for command's `input` shape.
59
+ * @see {@link ListControlsCommandOutput} for command's `response` shape.
60
+ * @see {@link ControlCatalogClientResolvedConfig | config} for ControlCatalogClient's `config` shape.
61
+ *
62
+ * @throws {@link AccessDeniedException} (client fault)
63
+ * <p>You do not have sufficient access to perform this action.</p>
64
+ *
65
+ * @throws {@link InternalServerException} (server fault)
66
+ * <p>An internal service error occurred during the processing of your request. Try again later.</p>
67
+ *
68
+ * @throws {@link ThrottlingException} (client fault)
69
+ * <p>The request was denied due to request throttling.</p>
70
+ *
71
+ * @throws {@link ValidationException} (client fault)
72
+ * <p>The request has invalid or missing parameters.</p>
73
+ *
74
+ * @throws {@link ControlCatalogServiceException}
75
+ * <p>Base exception class for all service exceptions from ControlCatalog service.</p>
76
+ *
77
+ * @public
78
+ */
79
+ export declare class ListControlsCommand extends ListControlsCommand_base {
80
+ }
@@ -1,3 +1,5 @@
1
+ export * from "./GetControlCommand";
1
2
  export * from "./ListCommonControlsCommand";
3
+ export * from "./ListControlsCommand";
2
4
  export * from "./ListDomainsCommand";
3
5
  export * from "./ListObjectivesCommand";
@@ -190,6 +190,170 @@ export declare class ValidationException extends __BaseException {
190
190
  */
191
191
  constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>);
192
192
  }
193
+ /**
194
+ * @public
195
+ * @enum
196
+ */
197
+ export declare const ControlBehavior: {
198
+ readonly DETECTIVE: "DETECTIVE";
199
+ readonly PREVENTIVE: "PREVENTIVE";
200
+ readonly PROACTIVE: "PROACTIVE";
201
+ };
202
+ /**
203
+ * @public
204
+ */
205
+ export type ControlBehavior = (typeof ControlBehavior)[keyof typeof ControlBehavior];
206
+ /**
207
+ * @public
208
+ */
209
+ export interface GetControlRequest {
210
+ /**
211
+ * <p>The Amazon Resource Name (ARN) of the control. It has one of the following formats:</p>
212
+ * <p>
213
+ * <i>Global format</i>
214
+ * </p>
215
+ * <p>
216
+ * <code>arn:\{PARTITION\}:controlcatalog:::control/\{CONTROL_CATALOG_OPAQUE_ID\}</code>
217
+ * </p>
218
+ * <p>
219
+ * <i>Or Regional format</i>
220
+ * </p>
221
+ * <p>
222
+ * <code>arn:\{PARTITION\}:controltower:\{REGION\}::control/\{CONTROL_TOWER_OPAQUE_ID\}</code>
223
+ * </p>
224
+ * <p>Here is a more general pattern that covers Amazon Web Services Control Tower and Control Catalog ARNs:</p>
225
+ * <p>
226
+ * <code>^arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\-]+$</code>
227
+ * </p>
228
+ * @public
229
+ */
230
+ ControlArn: string | undefined;
231
+ }
232
+ /**
233
+ * @public
234
+ * @enum
235
+ */
236
+ export declare const ControlScope: {
237
+ readonly GLOBAL: "GLOBAL";
238
+ readonly REGIONAL: "REGIONAL";
239
+ };
240
+ /**
241
+ * @public
242
+ */
243
+ export type ControlScope = (typeof ControlScope)[keyof typeof ControlScope];
244
+ /**
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>
246
+ * <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
+ * @public
248
+ */
249
+ export interface RegionConfiguration {
250
+ /**
251
+ * <p>The coverage of the control, if deployed. Scope is an enumerated type, with value <code>Regional</code>, or <code>Global</code>. A control with Global scope is effective in all Amazon Web Services Regions, regardless of the Region from which it is enabled, or to which it is deployed. A control implemented by an SCP is usually Global in scope. A control with Regional scope has operations that are restricted specifically to the Region from which it is enabled and to which it is deployed. Controls implemented by Config rules and CloudFormation hooks usually are Regional in scope. Security Hub controls usually are Regional in scope.</p>
252
+ * @public
253
+ */
254
+ Scope: ControlScope | undefined;
255
+ /**
256
+ * <p>Regions in which the control is available to be deployed.</p>
257
+ * @public
258
+ */
259
+ DeployableRegions?: string[];
260
+ }
261
+ /**
262
+ * @public
263
+ */
264
+ export interface GetControlResponse {
265
+ /**
266
+ * <p>The Amazon Resource Name (ARN) of the control.</p>
267
+ * @public
268
+ */
269
+ Arn: string | undefined;
270
+ /**
271
+ * <p>The display name of the control.</p>
272
+ * @public
273
+ */
274
+ Name: string | undefined;
275
+ /**
276
+ * <p>A description of what the control does.</p>
277
+ * @public
278
+ */
279
+ Description: string | undefined;
280
+ /**
281
+ * <p>A term that identifies the control's functional behavior. One of <code>Preventive</code>, <code>Deteictive</code>, <code>Proactive</code>
282
+ * </p>
283
+ * @public
284
+ */
285
+ Behavior: ControlBehavior | undefined;
286
+ /**
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>
288
+ * <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
+ * @public
290
+ */
291
+ RegionConfiguration: RegionConfiguration | undefined;
292
+ }
293
+ /**
294
+ * <p>The requested resource does not exist.</p>
295
+ * @public
296
+ */
297
+ export declare class ResourceNotFoundException extends __BaseException {
298
+ readonly name: "ResourceNotFoundException";
299
+ readonly $fault: "client";
300
+ Message?: string;
301
+ /**
302
+ * @internal
303
+ */
304
+ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
305
+ }
306
+ /**
307
+ * @public
308
+ */
309
+ export interface ListControlsRequest {
310
+ /**
311
+ * <p>The pagination token that's used to fetch the next set of results.</p>
312
+ * @public
313
+ */
314
+ NextToken?: string;
315
+ /**
316
+ * <p>The maximum number of results on a page or for an API request call.</p>
317
+ * @public
318
+ */
319
+ MaxResults?: number;
320
+ }
321
+ /**
322
+ * <p>Overview of information about a control.</p>
323
+ * @public
324
+ */
325
+ export interface ControlSummary {
326
+ /**
327
+ * <p>The Amazon Resource Name (ARN) of the control.</p>
328
+ * @public
329
+ */
330
+ Arn: string | undefined;
331
+ /**
332
+ * <p>The display name of the control.</p>
333
+ * @public
334
+ */
335
+ Name: string | undefined;
336
+ /**
337
+ * <p>A description of the control, as it may appear in the console. Describes the functionality of the control.</p>
338
+ * @public
339
+ */
340
+ Description: string | undefined;
341
+ }
342
+ /**
343
+ * @public
344
+ */
345
+ export interface ListControlsResponse {
346
+ /**
347
+ * <p>Returns a list of controls, given as structures of type <i>controlSummary</i>.</p>
348
+ * @public
349
+ */
350
+ Controls: ControlSummary[] | undefined;
351
+ /**
352
+ * <p>The pagination token that's used to fetch the next set of results.</p>
353
+ * @public
354
+ */
355
+ NextToken?: string;
356
+ }
193
357
  /**
194
358
  * @public
195
359
  */
@@ -0,0 +1,7 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import { ListControlsCommandInput, ListControlsCommandOutput } from "../commands/ListControlsCommand";
3
+ import { ControlCatalogPaginationConfiguration } from "./Interfaces";
4
+ /**
5
+ * @public
6
+ */
7
+ export declare const paginateListControls: (config: ControlCatalogPaginationConfiguration, input: ListControlsCommandInput, ...rest: any[]) => Paginator<ListControlsCommandOutput>;
@@ -1,4 +1,5 @@
1
1
  export * from "./Interfaces";
2
2
  export * from "./ListCommonControlsPaginator";
3
+ export * from "./ListControlsPaginator";
3
4
  export * from "./ListDomainsPaginator";
4
5
  export * from "./ListObjectivesPaginator";
@@ -1,12 +1,22 @@
1
1
  import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
2
2
  import { SerdeContext as __SerdeContext } from "@smithy/types";
3
+ import { GetControlCommandInput, GetControlCommandOutput } from "../commands/GetControlCommand";
3
4
  import { ListCommonControlsCommandInput, ListCommonControlsCommandOutput } from "../commands/ListCommonControlsCommand";
5
+ import { ListControlsCommandInput, ListControlsCommandOutput } from "../commands/ListControlsCommand";
4
6
  import { ListDomainsCommandInput, ListDomainsCommandOutput } from "../commands/ListDomainsCommand";
5
7
  import { ListObjectivesCommandInput, ListObjectivesCommandOutput } from "../commands/ListObjectivesCommand";
8
+ /**
9
+ * serializeAws_restJson1GetControlCommand
10
+ */
11
+ export declare const se_GetControlCommand: (input: GetControlCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
6
12
  /**
7
13
  * serializeAws_restJson1ListCommonControlsCommand
8
14
  */
9
15
  export declare const se_ListCommonControlsCommand: (input: ListCommonControlsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
16
+ /**
17
+ * serializeAws_restJson1ListControlsCommand
18
+ */
19
+ export declare const se_ListControlsCommand: (input: ListControlsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
10
20
  /**
11
21
  * serializeAws_restJson1ListDomainsCommand
12
22
  */
@@ -15,10 +25,18 @@ export declare const se_ListDomainsCommand: (input: ListDomainsCommandInput, con
15
25
  * serializeAws_restJson1ListObjectivesCommand
16
26
  */
17
27
  export declare const se_ListObjectivesCommand: (input: ListObjectivesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
28
+ /**
29
+ * deserializeAws_restJson1GetControlCommand
30
+ */
31
+ export declare const de_GetControlCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetControlCommandOutput>;
18
32
  /**
19
33
  * deserializeAws_restJson1ListCommonControlsCommand
20
34
  */
21
35
  export declare const de_ListCommonControlsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListCommonControlsCommandOutput>;
36
+ /**
37
+ * deserializeAws_restJson1ListControlsCommand
38
+ */
39
+ export declare const de_ListControlsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListControlsCommandOutput>;
22
40
  /**
23
41
  * deserializeAws_restJson1ListDomainsCommand
24
42
  */
@@ -27,13 +27,13 @@ export declare const getRuntimeConfig: (config: ControlCatalogClientConfig) => {
27
27
  serviceId: string;
28
28
  logger: import("@smithy/types").Logger;
29
29
  extensions: import("./runtimeExtensions").RuntimeExtension[];
30
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
31
+ retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
30
32
  endpoint?: ((string | import("@smithy/types").Endpoint | import("@smithy/types").Provider<import("@smithy/types").Endpoint> | import("@smithy/types").EndpointV2 | import("@smithy/types").Provider<import("@smithy/types").EndpointV2>) & (string | import("@smithy/types").Provider<string> | import("@smithy/types").Endpoint | import("@smithy/types").Provider<import("@smithy/types").Endpoint> | import("@smithy/types").EndpointV2 | import("@smithy/types").Provider<import("@smithy/types").EndpointV2>)) | undefined;
31
33
  endpointProvider: (endpointParams: import("./endpoint/EndpointParameters").EndpointParameters, context?: {
32
34
  logger?: import("@smithy/types").Logger | undefined;
33
35
  }) => import("@smithy/types").EndpointV2;
34
36
  tls?: boolean | undefined;
35
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
36
- retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
37
37
  httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
38
38
  httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").ControlCatalogHttpAuthSchemeProvider;
39
39
  credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
@@ -27,13 +27,13 @@ export declare const getRuntimeConfig: (config: ControlCatalogClientConfig) => {
27
27
  serviceId: string;
28
28
  logger: import("@smithy/types").Logger;
29
29
  extensions: import("./runtimeExtensions").RuntimeExtension[];
30
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
31
+ retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
30
32
  endpoint?: ((string | import("@smithy/types").Endpoint | import("@smithy/types").Provider<import("@smithy/types").Endpoint> | import("@smithy/types").EndpointV2 | import("@smithy/types").Provider<import("@smithy/types").EndpointV2>) & (string | import("@smithy/types").Provider<string> | import("@smithy/types").Endpoint | import("@smithy/types").Provider<import("@smithy/types").Endpoint> | import("@smithy/types").EndpointV2 | import("@smithy/types").Provider<import("@smithy/types").EndpointV2>)) | undefined;
31
33
  endpointProvider: (endpointParams: import("./endpoint/EndpointParameters").EndpointParameters, context?: {
32
34
  logger?: import("@smithy/types").Logger | undefined;
33
35
  }) => import("@smithy/types").EndpointV2;
34
36
  tls?: boolean | undefined;
35
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
36
- retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
37
37
  httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
38
38
  httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").ControlCatalogHttpAuthSchemeProvider;
39
39
  credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
@@ -26,13 +26,13 @@ export declare const getRuntimeConfig: (config: ControlCatalogClientConfig) => {
26
26
  logger: import("@smithy/types").Logger;
27
27
  extensions: import("./runtimeExtensions").RuntimeExtension[];
28
28
  defaultsMode: import("@smithy/smithy-client").DefaultsMode | import("@smithy/types").Provider<import("@smithy/smithy-client").DefaultsMode>;
29
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
30
+ retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
29
31
  endpoint?: string | import("@smithy/types").Endpoint | import("@smithy/types").Provider<import("@smithy/types").Endpoint> | import("@smithy/types").EndpointV2 | import("@smithy/types").Provider<import("@smithy/types").EndpointV2> | undefined;
30
32
  endpointProvider: (endpointParams: import("./endpoint/EndpointParameters").EndpointParameters, context?: {
31
33
  logger?: import("@smithy/types").Logger | undefined;
32
34
  }) => import("@smithy/types").EndpointV2;
33
35
  tls?: boolean | undefined;
34
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
35
- retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
36
36
  httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
37
37
  httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").ControlCatalogHttpAuthSchemeProvider;
38
38
  credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
@@ -1,8 +1,16 @@
1
1
  import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
2
+ import {
3
+ GetControlCommandInput,
4
+ GetControlCommandOutput,
5
+ } from "./commands/GetControlCommand";
2
6
  import {
3
7
  ListCommonControlsCommandInput,
4
8
  ListCommonControlsCommandOutput,
5
9
  } from "./commands/ListCommonControlsCommand";
10
+ import {
11
+ ListControlsCommandInput,
12
+ ListControlsCommandOutput,
13
+ } from "./commands/ListControlsCommand";
6
14
  import {
7
15
  ListDomainsCommandInput,
8
16
  ListDomainsCommandOutput,
@@ -13,6 +21,19 @@ import {
13
21
  } from "./commands/ListObjectivesCommand";
14
22
  import { ControlCatalogClient } from "./ControlCatalogClient";
15
23
  export interface ControlCatalog {
24
+ getControl(
25
+ args: GetControlCommandInput,
26
+ options?: __HttpHandlerOptions
27
+ ): Promise<GetControlCommandOutput>;
28
+ getControl(
29
+ args: GetControlCommandInput,
30
+ cb: (err: any, data?: GetControlCommandOutput) => void
31
+ ): void;
32
+ getControl(
33
+ args: GetControlCommandInput,
34
+ options: __HttpHandlerOptions,
35
+ cb: (err: any, data?: GetControlCommandOutput) => void
36
+ ): void;
16
37
  listCommonControls(): Promise<ListCommonControlsCommandOutput>;
17
38
  listCommonControls(
18
39
  args: ListCommonControlsCommandInput,
@@ -27,6 +48,20 @@ export interface ControlCatalog {
27
48
  options: __HttpHandlerOptions,
28
49
  cb: (err: any, data?: ListCommonControlsCommandOutput) => void
29
50
  ): void;
51
+ listControls(): Promise<ListControlsCommandOutput>;
52
+ listControls(
53
+ args: ListControlsCommandInput,
54
+ options?: __HttpHandlerOptions
55
+ ): Promise<ListControlsCommandOutput>;
56
+ listControls(
57
+ args: ListControlsCommandInput,
58
+ cb: (err: any, data?: ListControlsCommandOutput) => void
59
+ ): void;
60
+ listControls(
61
+ args: ListControlsCommandInput,
62
+ options: __HttpHandlerOptions,
63
+ cb: (err: any, data?: ListControlsCommandOutput) => void
64
+ ): void;
30
65
  listDomains(): Promise<ListDomainsCommandOutput>;
31
66
  listDomains(
32
67
  args: ListDomainsCommandInput,