Skip to content

Commit 6945e9e

Browse files
author
awstools
committed
feat(client-config-service): This release adds ListConformancePackComplianceScores API to support the new compliance score feature, which provides a percentage of the number of compliant rule-resource combinations in a conformance pack compared to the number of total possible rule-resource combinations in the conformance pack.
1 parent 2a18f3a commit 6945e9e

14 files changed

+795
-136
lines changed

clients/client-config-service/src/ConfigService.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,11 @@ import {
311311
ListAggregateDiscoveredResourcesCommandInput,
312312
ListAggregateDiscoveredResourcesCommandOutput,
313313
} from "./commands/ListAggregateDiscoveredResourcesCommand";
314+
import {
315+
ListConformancePackComplianceScoresCommand,
316+
ListConformancePackComplianceScoresCommandInput,
317+
ListConformancePackComplianceScoresCommandOutput,
318+
} from "./commands/ListConformancePackComplianceScoresCommand";
314319
import {
315320
ListDiscoveredResourcesCommand,
316321
ListDiscoveredResourcesCommandInput,
@@ -2858,6 +2863,41 @@ export class ConfigService extends ConfigServiceClient {
28582863
}
28592864
}
28602865

2866+
/**
2867+
* <p>Returns a list of conformance pack compliance scores.
2868+
* A compliance score is the percentage of the number of compliant rule-resource combinations in a conformance pack compared to the number of total possible rule-resource combinations in the conformance pack.
2869+
* This metric provides you with a high-level view of the compliance state of your conformance packs, and can be used to identify, investigate, and understand
2870+
* compliance deviations in your conformance packs.</p>
2871+
*/
2872+
public listConformancePackComplianceScores(
2873+
args: ListConformancePackComplianceScoresCommandInput,
2874+
options?: __HttpHandlerOptions
2875+
): Promise<ListConformancePackComplianceScoresCommandOutput>;
2876+
public listConformancePackComplianceScores(
2877+
args: ListConformancePackComplianceScoresCommandInput,
2878+
cb: (err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void
2879+
): void;
2880+
public listConformancePackComplianceScores(
2881+
args: ListConformancePackComplianceScoresCommandInput,
2882+
options: __HttpHandlerOptions,
2883+
cb: (err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void
2884+
): void;
2885+
public listConformancePackComplianceScores(
2886+
args: ListConformancePackComplianceScoresCommandInput,
2887+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void),
2888+
cb?: (err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void
2889+
): Promise<ListConformancePackComplianceScoresCommandOutput> | void {
2890+
const command = new ListConformancePackComplianceScoresCommand(args);
2891+
if (typeof optionsOrCb === "function") {
2892+
this.send(command, optionsOrCb);
2893+
} else if (typeof cb === "function") {
2894+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
2895+
this.send(command, optionsOrCb || {}, cb);
2896+
} else {
2897+
return this.send(command, optionsOrCb);
2898+
}
2899+
}
2900+
28612901
/**
28622902
* <p>Accepts a resource type and returns a list of resource
28632903
* identifiers for the resources of that type. A resource identifier

clients/client-config-service/src/ConfigServiceClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,10 @@ import {
292292
ListAggregateDiscoveredResourcesCommandInput,
293293
ListAggregateDiscoveredResourcesCommandOutput,
294294
} from "./commands/ListAggregateDiscoveredResourcesCommand";
295+
import {
296+
ListConformancePackComplianceScoresCommandInput,
297+
ListConformancePackComplianceScoresCommandOutput,
298+
} from "./commands/ListConformancePackComplianceScoresCommand";
295299
import {
296300
ListDiscoveredResourcesCommandInput,
297301
ListDiscoveredResourcesCommandOutput,
@@ -434,6 +438,7 @@ export type ServiceInputTypes =
434438
| GetResourceConfigHistoryCommandInput
435439
| GetStoredQueryCommandInput
436440
| ListAggregateDiscoveredResourcesCommandInput
441+
| ListConformancePackComplianceScoresCommandInput
437442
| ListDiscoveredResourcesCommandInput
438443
| ListStoredQueriesCommandInput
439444
| ListTagsForResourceCommandInput
@@ -524,6 +529,7 @@ export type ServiceOutputTypes =
524529
| GetResourceConfigHistoryCommandOutput
525530
| GetStoredQueryCommandOutput
526531
| ListAggregateDiscoveredResourcesCommandOutput
532+
| ListConformancePackComplianceScoresCommandOutput
527533
| ListDiscoveredResourcesCommandOutput
528534
| ListStoredQueriesCommandOutput
529535
| ListTagsForResourceCommandOutput
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
// smithy-typescript generated code
2+
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
4+
import { Command as $Command } from "@aws-sdk/smithy-client";
5+
import {
6+
FinalizeHandlerArguments,
7+
Handler,
8+
HandlerExecutionContext,
9+
HttpHandlerOptions as __HttpHandlerOptions,
10+
MetadataBearer as __MetadataBearer,
11+
MiddlewareStack,
12+
SerdeContext as __SerdeContext,
13+
} from "@aws-sdk/types";
14+
15+
import { ConfigServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConfigServiceClient";
16+
import {
17+
ListConformancePackComplianceScoresRequest,
18+
ListConformancePackComplianceScoresRequestFilterSensitiveLog,
19+
ListConformancePackComplianceScoresResponse,
20+
ListConformancePackComplianceScoresResponseFilterSensitiveLog,
21+
} from "../models/models_0";
22+
import {
23+
deserializeAws_json1_1ListConformancePackComplianceScoresCommand,
24+
serializeAws_json1_1ListConformancePackComplianceScoresCommand,
25+
} from "../protocols/Aws_json1_1";
26+
27+
export interface ListConformancePackComplianceScoresCommandInput extends ListConformancePackComplianceScoresRequest {}
28+
export interface ListConformancePackComplianceScoresCommandOutput
29+
extends ListConformancePackComplianceScoresResponse,
30+
__MetadataBearer {}
31+
32+
/**
33+
* <p>Returns a list of conformance pack compliance scores.
34+
* A compliance score is the percentage of the number of compliant rule-resource combinations in a conformance pack compared to the number of total possible rule-resource combinations in the conformance pack.
35+
* This metric provides you with a high-level view of the compliance state of your conformance packs, and can be used to identify, investigate, and understand
36+
* compliance deviations in your conformance packs.</p>
37+
* @example
38+
* Use a bare-bones client and the command you need to make an API call.
39+
* ```javascript
40+
* import { ConfigServiceClient, ListConformancePackComplianceScoresCommand } from "@aws-sdk/client-config-service"; // ES Modules import
41+
* // const { ConfigServiceClient, ListConformancePackComplianceScoresCommand } = require("@aws-sdk/client-config-service"); // CommonJS import
42+
* const client = new ConfigServiceClient(config);
43+
* const command = new ListConformancePackComplianceScoresCommand(input);
44+
* const response = await client.send(command);
45+
* ```
46+
*
47+
* @see {@link ListConformancePackComplianceScoresCommandInput} for command's `input` shape.
48+
* @see {@link ListConformancePackComplianceScoresCommandOutput} for command's `response` shape.
49+
* @see {@link ConfigServiceClientResolvedConfig | config} for ConfigServiceClient's `config` shape.
50+
*
51+
*/
52+
export class ListConformancePackComplianceScoresCommand extends $Command<
53+
ListConformancePackComplianceScoresCommandInput,
54+
ListConformancePackComplianceScoresCommandOutput,
55+
ConfigServiceClientResolvedConfig
56+
> {
57+
// Start section: command_properties
58+
// End section: command_properties
59+
60+
constructor(readonly input: ListConformancePackComplianceScoresCommandInput) {
61+
// Start section: command_constructor
62+
super();
63+
// End section: command_constructor
64+
}
65+
66+
/**
67+
* @internal
68+
*/
69+
resolveMiddleware(
70+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
71+
configuration: ConfigServiceClientResolvedConfig,
72+
options?: __HttpHandlerOptions
73+
): Handler<ListConformancePackComplianceScoresCommandInput, ListConformancePackComplianceScoresCommandOutput> {
74+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
75+
76+
const stack = clientStack.concat(this.middlewareStack);
77+
78+
const { logger } = configuration;
79+
const clientName = "ConfigServiceClient";
80+
const commandName = "ListConformancePackComplianceScoresCommand";
81+
const handlerExecutionContext: HandlerExecutionContext = {
82+
logger,
83+
clientName,
84+
commandName,
85+
inputFilterSensitiveLog: ListConformancePackComplianceScoresRequestFilterSensitiveLog,
86+
outputFilterSensitiveLog: ListConformancePackComplianceScoresResponseFilterSensitiveLog,
87+
};
88+
const { requestHandler } = configuration;
89+
return stack.resolve(
90+
(request: FinalizeHandlerArguments<any>) =>
91+
requestHandler.handle(request.request as __HttpRequest, options || {}),
92+
handlerExecutionContext
93+
);
94+
}
95+
96+
private serialize(
97+
input: ListConformancePackComplianceScoresCommandInput,
98+
context: __SerdeContext
99+
): Promise<__HttpRequest> {
100+
return serializeAws_json1_1ListConformancePackComplianceScoresCommand(input, context);
101+
}
102+
103+
private deserialize(
104+
output: __HttpResponse,
105+
context: __SerdeContext
106+
): Promise<ListConformancePackComplianceScoresCommandOutput> {
107+
return deserializeAws_json1_1ListConformancePackComplianceScoresCommand(output, context);
108+
}
109+
110+
// Start section: command_body_extra
111+
// End section: command_body_extra
112+
}

clients/client-config-service/src/commands/PutConformancePackCommand.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ import {
1313
} from "@aws-sdk/types";
1414

1515
import { ConfigServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConfigServiceClient";
16-
import {
17-
PutConformancePackRequest,
18-
PutConformancePackRequestFilterSensitiveLog,
19-
PutConformancePackResponse,
20-
PutConformancePackResponseFilterSensitiveLog,
21-
} from "../models/models_0";
16+
import { PutConformancePackRequest, PutConformancePackRequestFilterSensitiveLog } from "../models/models_0";
17+
import { PutConformancePackResponse, PutConformancePackResponseFilterSensitiveLog } from "../models/models_1";
2218
import {
2319
deserializeAws_json1_1PutConformancePackCommand,
2420
serializeAws_json1_1PutConformancePackCommand,

clients/client-config-service/src/commands/PutDeliveryChannelCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
} from "@aws-sdk/types";
1414

1515
import { ConfigServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConfigServiceClient";
16-
import { PutDeliveryChannelRequest, PutDeliveryChannelRequestFilterSensitiveLog } from "../models/models_0";
16+
import { PutDeliveryChannelRequest, PutDeliveryChannelRequestFilterSensitiveLog } from "../models/models_1";
1717
import {
1818
deserializeAws_json1_1PutDeliveryChannelCommand,
1919
serializeAws_json1_1PutDeliveryChannelCommand,

clients/client-config-service/src/commands/PutEvaluationsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
PutEvaluationsRequestFilterSensitiveLog,
1919
PutEvaluationsResponse,
2020
PutEvaluationsResponseFilterSensitiveLog,
21-
} from "../models/models_0";
21+
} from "../models/models_1";
2222
import {
2323
deserializeAws_json1_1PutEvaluationsCommand,
2424
serializeAws_json1_1PutEvaluationsCommand,

clients/client-config-service/src/commands/PutExternalEvaluationCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
PutExternalEvaluationRequestFilterSensitiveLog,
1919
PutExternalEvaluationResponse,
2020
PutExternalEvaluationResponseFilterSensitiveLog,
21-
} from "../models/models_0";
21+
} from "../models/models_1";
2222
import {
2323
deserializeAws_json1_1PutExternalEvaluationCommand,
2424
serializeAws_json1_1PutExternalEvaluationCommand,

clients/client-config-service/src/commands/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ export * from "./GetOrganizationCustomRulePolicyCommand";
6161
export * from "./GetResourceConfigHistoryCommand";
6262
export * from "./GetStoredQueryCommand";
6363
export * from "./ListAggregateDiscoveredResourcesCommand";
64+
export * from "./ListConformancePackComplianceScoresCommand";
6465
export * from "./ListDiscoveredResourcesCommand";
6566
export * from "./ListStoredQueriesCommand";
6667
export * from "./ListTagsForResourceCommand";

0 commit comments

Comments
 (0)