import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ConfigServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConfigServiceClient"; import type { PutOrganizationConformancePackRequest, PutOrganizationConformancePackResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PutOrganizationConformancePackCommand}. */ export interface PutOrganizationConformancePackCommandInput extends PutOrganizationConformancePackRequest { } /** * @public * * The output of {@link PutOrganizationConformancePackCommand}. */ export interface PutOrganizationConformancePackCommandOutput extends PutOrganizationConformancePackResponse, __MetadataBearer { } declare const PutOrganizationConformancePackCommand_base: { new (input: PutOrganizationConformancePackCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: PutOrganizationConformancePackCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Deploys conformance packs across member accounts in an Amazon Web Services Organization. For information on how many organization conformance packs and how many Config rules you can have per account, * see * Service Limits * in the Config Developer Guide.

*

Only a management account and a delegated administrator can call this API. * When calling this API with a delegated administrator, you must ensure Organizations * ListDelegatedAdministrator permissions are added. An organization can have up to 3 delegated administrators.

* *

When you use PutOrganizationConformancePack to deploy conformance packs across * member accounts, the operation can create Config rules and remediation * actions without requiring config:PutConfigRule or * config:PutRemediationConfigurations permissions in member account * IAM policies.

*

This API uses the AWSServiceRoleForConfigConforms service-linked role in each * member account to create conformance pack resources. This service-linked role * includes the permissions to create Config rules and remediation * configurations, even if member account IAM policies explicitly deny these * actions.

*
*

This API enables organization service access for config-multiaccountsetup.amazonaws.com * through the EnableAWSServiceAccess action and creates a * service-linked role AWSServiceRoleForConfigMultiAccountSetup in the management or delegated administrator account of your organization. * The service-linked role is created only when the role does not exist in the caller account. * To use this API with delegated administrator, register a delegated administrator by calling Amazon Web Services Organization * register-delegate-admin for config-multiaccountsetup.amazonaws.com.

* *

Prerequisite: Ensure you call EnableAllFeatures API to enable all features in an organization.

*

You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. * If you provide both Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter.

*

Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS until the conformance pack is created or updated. * You cannot update a conformance pack while it is in this state.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ConfigServiceClient, PutOrganizationConformancePackCommand } from "@aws-sdk/client-config-service"; // ES Modules import * // const { ConfigServiceClient, PutOrganizationConformancePackCommand } = require("@aws-sdk/client-config-service"); // CommonJS import * // import type { ConfigServiceClientConfig } from "@aws-sdk/client-config-service"; * const config = {}; // type is ConfigServiceClientConfig * const client = new ConfigServiceClient(config); * const input = { // PutOrganizationConformancePackRequest * OrganizationConformancePackName: "STRING_VALUE", // required * TemplateS3Uri: "STRING_VALUE", * TemplateBody: "STRING_VALUE", * DeliveryS3Bucket: "STRING_VALUE", * DeliveryS3KeyPrefix: "STRING_VALUE", * ConformancePackInputParameters: [ // ConformancePackInputParameters * { // ConformancePackInputParameter * ParameterName: "STRING_VALUE", // required * ParameterValue: "STRING_VALUE", // required * }, * ], * ExcludedAccounts: [ // ExcludedAccounts * "STRING_VALUE", * ], * }; * const command = new PutOrganizationConformancePackCommand(input); * const response = await client.send(command); * // { // PutOrganizationConformancePackResponse * // OrganizationConformancePackArn: "STRING_VALUE", * // }; * * ``` * * @param PutOrganizationConformancePackCommandInput - {@link PutOrganizationConformancePackCommandInput} * @returns {@link PutOrganizationConformancePackCommandOutput} * @see {@link PutOrganizationConformancePackCommandInput} for command's `input` shape. * @see {@link PutOrganizationConformancePackCommandOutput} for command's `response` shape. * @see {@link ConfigServiceClientResolvedConfig | config} for ConfigServiceClient's `config` shape. * * @throws {@link InsufficientPermissionsException} (client fault) *

Indicates one of the following errors:

* * * @throws {@link MaxNumberOfOrganizationConformancePacksExceededException} (client fault) *

You have reached the limit of the number of organization conformance packs you can create in an account. For more information, see * Service Limits * in the Config Developer Guide.

* * @throws {@link NoAvailableOrganizationException} (client fault) *

Organization is no longer available.

* * @throws {@link OrganizationAccessDeniedException} (client fault) *

For PutConfigurationAggregator API, you can see this exception for the following reasons:

* *

For all OrganizationConfigRule and OrganizationConformancePack APIs, Config throws an exception if APIs are called from member accounts. All APIs must be called from organization management account.

* * @throws {@link OrganizationAllFeaturesNotEnabledException} (client fault) *

Config resource cannot be created because your organization does not have all features enabled.

* * @throws {@link OrganizationConformancePackTemplateValidationException} (client fault) *

You have specified a template that is not valid or supported.

* * @throws {@link ResourceInUseException} (client fault) *

You see this exception in the following cases:

* * * @throws {@link ValidationException} (client fault) *

The requested operation is not valid. You will see this exception if there are missing required fields or if the input value fails the validation.

*

For PutStoredQuery, one of the following errors:

* *

For DescribeConfigurationRecorders and DescribeConfigurationRecorderStatus, one of the following errors:

* *

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

* * * @throws {@link ConfigServiceServiceException} *

Base exception class for all service exceptions from ConfigService service.

* * * @public */ export declare class PutOrganizationConformancePackCommand extends PutOrganizationConformancePackCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutOrganizationConformancePackRequest; output: PutOrganizationConformancePackResponse; }; sdk: { input: PutOrganizationConformancePackCommandInput; output: PutOrganizationConformancePackCommandOutput; }; }; }