Skip to content

Commit

Permalink
feat(client-config-service): This release adds ListConformancePackCom…
Browse files Browse the repository at this point in the history
…plianceScores 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.
  • Loading branch information
awstools committed Jul 27, 2022
1 parent 2a18f3a commit 6945e9e
Show file tree
Hide file tree
Showing 14 changed files with 795 additions and 136 deletions.
40 changes: 40 additions & 0 deletions clients/client-config-service/src/ConfigService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,11 @@ import {
ListAggregateDiscoveredResourcesCommandInput,
ListAggregateDiscoveredResourcesCommandOutput,
} from "./commands/ListAggregateDiscoveredResourcesCommand";
import {
ListConformancePackComplianceScoresCommand,
ListConformancePackComplianceScoresCommandInput,
ListConformancePackComplianceScoresCommandOutput,
} from "./commands/ListConformancePackComplianceScoresCommand";
import {
ListDiscoveredResourcesCommand,
ListDiscoveredResourcesCommandInput,
Expand Down Expand Up @@ -2858,6 +2863,41 @@ export class ConfigService extends ConfigServiceClient {
}
}

/**
* <p>Returns a list of conformance pack compliance scores.
* 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.
* 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
* compliance deviations in your conformance packs.</p>
*/
public listConformancePackComplianceScores(
args: ListConformancePackComplianceScoresCommandInput,
options?: __HttpHandlerOptions
): Promise<ListConformancePackComplianceScoresCommandOutput>;
public listConformancePackComplianceScores(
args: ListConformancePackComplianceScoresCommandInput,
cb: (err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void
): void;
public listConformancePackComplianceScores(
args: ListConformancePackComplianceScoresCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void
): void;
public listConformancePackComplianceScores(
args: ListConformancePackComplianceScoresCommandInput,
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void),
cb?: (err: any, data?: ListConformancePackComplianceScoresCommandOutput) => void
): Promise<ListConformancePackComplianceScoresCommandOutput> | void {
const command = new ListConformancePackComplianceScoresCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
this.send(command, optionsOrCb || {}, cb);
} else {
return this.send(command, optionsOrCb);
}
}

/**
* <p>Accepts a resource type and returns a list of resource
* identifiers for the resources of that type. A resource identifier
Expand Down
6 changes: 6 additions & 0 deletions clients/client-config-service/src/ConfigServiceClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,10 @@ import {
ListAggregateDiscoveredResourcesCommandInput,
ListAggregateDiscoveredResourcesCommandOutput,
} from "./commands/ListAggregateDiscoveredResourcesCommand";
import {
ListConformancePackComplianceScoresCommandInput,
ListConformancePackComplianceScoresCommandOutput,
} from "./commands/ListConformancePackComplianceScoresCommand";
import {
ListDiscoveredResourcesCommandInput,
ListDiscoveredResourcesCommandOutput,
Expand Down Expand Up @@ -434,6 +438,7 @@ export type ServiceInputTypes =
| GetResourceConfigHistoryCommandInput
| GetStoredQueryCommandInput
| ListAggregateDiscoveredResourcesCommandInput
| ListConformancePackComplianceScoresCommandInput
| ListDiscoveredResourcesCommandInput
| ListStoredQueriesCommandInput
| ListTagsForResourceCommandInput
Expand Down Expand Up @@ -524,6 +529,7 @@ export type ServiceOutputTypes =
| GetResourceConfigHistoryCommandOutput
| GetStoredQueryCommandOutput
| ListAggregateDiscoveredResourcesCommandOutput
| ListConformancePackComplianceScoresCommandOutput
| ListDiscoveredResourcesCommandOutput
| ListStoredQueriesCommandOutput
| ListTagsForResourceCommandOutput
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
// smithy-typescript generated code
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
import { Command as $Command } from "@aws-sdk/smithy-client";
import {
FinalizeHandlerArguments,
Handler,
HandlerExecutionContext,
HttpHandlerOptions as __HttpHandlerOptions,
MetadataBearer as __MetadataBearer,
MiddlewareStack,
SerdeContext as __SerdeContext,
} from "@aws-sdk/types";

import { ConfigServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConfigServiceClient";
import {
ListConformancePackComplianceScoresRequest,
ListConformancePackComplianceScoresRequestFilterSensitiveLog,
ListConformancePackComplianceScoresResponse,
ListConformancePackComplianceScoresResponseFilterSensitiveLog,
} from "../models/models_0";
import {
deserializeAws_json1_1ListConformancePackComplianceScoresCommand,
serializeAws_json1_1ListConformancePackComplianceScoresCommand,
} from "../protocols/Aws_json1_1";

export interface ListConformancePackComplianceScoresCommandInput extends ListConformancePackComplianceScoresRequest {}
export interface ListConformancePackComplianceScoresCommandOutput
extends ListConformancePackComplianceScoresResponse,
__MetadataBearer {}

/**
* <p>Returns a list of conformance pack compliance scores.
* 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.
* 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
* compliance deviations in your conformance packs.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
* import { ConfigServiceClient, ListConformancePackComplianceScoresCommand } from "@aws-sdk/client-config-service"; // ES Modules import
* // const { ConfigServiceClient, ListConformancePackComplianceScoresCommand } = require("@aws-sdk/client-config-service"); // CommonJS import
* const client = new ConfigServiceClient(config);
* const command = new ListConformancePackComplianceScoresCommand(input);
* const response = await client.send(command);
* ```
*
* @see {@link ListConformancePackComplianceScoresCommandInput} for command's `input` shape.
* @see {@link ListConformancePackComplianceScoresCommandOutput} for command's `response` shape.
* @see {@link ConfigServiceClientResolvedConfig | config} for ConfigServiceClient's `config` shape.
*
*/
export class ListConformancePackComplianceScoresCommand extends $Command<
ListConformancePackComplianceScoresCommandInput,
ListConformancePackComplianceScoresCommandOutput,
ConfigServiceClientResolvedConfig
> {
// Start section: command_properties
// End section: command_properties

constructor(readonly input: ListConformancePackComplianceScoresCommandInput) {
// Start section: command_constructor
super();
// End section: command_constructor
}

/**
* @internal
*/
resolveMiddleware(
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
configuration: ConfigServiceClientResolvedConfig,
options?: __HttpHandlerOptions
): Handler<ListConformancePackComplianceScoresCommandInput, ListConformancePackComplianceScoresCommandOutput> {
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));

const stack = clientStack.concat(this.middlewareStack);

const { logger } = configuration;
const clientName = "ConfigServiceClient";
const commandName = "ListConformancePackComplianceScoresCommand";
const handlerExecutionContext: HandlerExecutionContext = {
logger,
clientName,
commandName,
inputFilterSensitiveLog: ListConformancePackComplianceScoresRequestFilterSensitiveLog,
outputFilterSensitiveLog: ListConformancePackComplianceScoresResponseFilterSensitiveLog,
};
const { requestHandler } = configuration;
return stack.resolve(
(request: FinalizeHandlerArguments<any>) =>
requestHandler.handle(request.request as __HttpRequest, options || {}),
handlerExecutionContext
);
}

private serialize(
input: ListConformancePackComplianceScoresCommandInput,
context: __SerdeContext
): Promise<__HttpRequest> {
return serializeAws_json1_1ListConformancePackComplianceScoresCommand(input, context);
}

private deserialize(
output: __HttpResponse,
context: __SerdeContext
): Promise<ListConformancePackComplianceScoresCommandOutput> {
return deserializeAws_json1_1ListConformancePackComplianceScoresCommand(output, context);
}

// Start section: command_body_extra
// End section: command_body_extra
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,8 @@ import {
} from "@aws-sdk/types";

import { ConfigServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConfigServiceClient";
import {
PutConformancePackRequest,
PutConformancePackRequestFilterSensitiveLog,
PutConformancePackResponse,
PutConformancePackResponseFilterSensitiveLog,
} from "../models/models_0";
import { PutConformancePackRequest, PutConformancePackRequestFilterSensitiveLog } from "../models/models_0";
import { PutConformancePackResponse, PutConformancePackResponseFilterSensitiveLog } from "../models/models_1";
import {
deserializeAws_json1_1PutConformancePackCommand,
serializeAws_json1_1PutConformancePackCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
} from "@aws-sdk/types";

import { ConfigServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConfigServiceClient";
import { PutDeliveryChannelRequest, PutDeliveryChannelRequestFilterSensitiveLog } from "../models/models_0";
import { PutDeliveryChannelRequest, PutDeliveryChannelRequestFilterSensitiveLog } from "../models/models_1";
import {
deserializeAws_json1_1PutDeliveryChannelCommand,
serializeAws_json1_1PutDeliveryChannelCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
PutEvaluationsRequestFilterSensitiveLog,
PutEvaluationsResponse,
PutEvaluationsResponseFilterSensitiveLog,
} from "../models/models_0";
} from "../models/models_1";
import {
deserializeAws_json1_1PutEvaluationsCommand,
serializeAws_json1_1PutEvaluationsCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
PutExternalEvaluationRequestFilterSensitiveLog,
PutExternalEvaluationResponse,
PutExternalEvaluationResponseFilterSensitiveLog,
} from "../models/models_0";
} from "../models/models_1";
import {
deserializeAws_json1_1PutExternalEvaluationCommand,
serializeAws_json1_1PutExternalEvaluationCommand,
Expand Down
1 change: 1 addition & 0 deletions clients/client-config-service/src/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ export * from "./GetOrganizationCustomRulePolicyCommand";
export * from "./GetResourceConfigHistoryCommand";
export * from "./GetStoredQueryCommand";
export * from "./ListAggregateDiscoveredResourcesCommand";
export * from "./ListConformancePackComplianceScoresCommand";
export * from "./ListDiscoveredResourcesCommand";
export * from "./ListStoredQueriesCommand";
export * from "./ListTagsForResourceCommand";
Expand Down

0 comments on commit 6945e9e

Please sign in to comment.