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 { PutResourceConfigRequest } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PutResourceConfigCommand}. */ export interface PutResourceConfigCommandInput extends PutResourceConfigRequest { } /** * @public * * The output of {@link PutResourceConfigCommand}. */ export interface PutResourceConfigCommandOutput extends __MetadataBearer { } declare const PutResourceConfigCommand_base: { new (input: PutResourceConfigCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: PutResourceConfigCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Records the configuration state for the resource provided in the request. * * The configuration state of a resource is represented in Config as Configuration Items. * Once this API records the configuration item, you can retrieve the list of configuration items for the custom resource type using existing Config APIs.

* *

The custom resource type must be registered with CloudFormation. This API accepts the configuration item registered with CloudFormation.

*

When you call this API, Config only stores configuration state of the resource provided in the request. This API does not change or remediate the configuration of the resource. *

*

Write-only schema properites are not recorded as part of the published configuration item.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ConfigServiceClient, PutResourceConfigCommand } from "@aws-sdk/client-config-service"; // ES Modules import * // const { ConfigServiceClient, PutResourceConfigCommand } = 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 = { // PutResourceConfigRequest * ResourceType: "STRING_VALUE", // required * SchemaVersionId: "STRING_VALUE", // required * ResourceId: "STRING_VALUE", // required * ResourceName: "STRING_VALUE", * Configuration: "STRING_VALUE", // required * Tags: { // Tags * "": "STRING_VALUE", * }, * }; * const command = new PutResourceConfigCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param PutResourceConfigCommandInput - {@link PutResourceConfigCommandInput} * @returns {@link PutResourceConfigCommandOutput} * @see {@link PutResourceConfigCommandInput} for command's `input` shape. * @see {@link PutResourceConfigCommandOutput} 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:

*
    *
  • *

    For PutConfigRule, the rule cannot be created because the IAM role assigned to Config lacks permissions to perform the config:Put* action.

    *
  • *
  • *

    For PutConfigRule, the Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.

    *
  • *
  • *

    For PutOrganizationConfigRule, organization Config rule cannot be created because you do not have permissions to call IAM GetRole action or create a service-linked role.

    *
  • *
  • *

    For PutConformancePack and PutOrganizationConformancePack, a conformance pack cannot be created because you do not have the following permissions:

    *
      *
    • *

      You do not have permission to call IAM GetRole action or create a service-linked role.

      *
    • *
    • *

      You do not have permission to read Amazon S3 bucket or call SSM:GetDocument.

      *
    • *
    *
  • *
  • *

    For PutServiceLinkedConfigurationRecorder, a service-linked configuration recorder cannot be created because you do not have the following permissions: IAM CreateServiceLinkedRole.

    *
  • *
* * @throws {@link MaxActiveResourcesExceededException} (client fault) *

You have reached the limit of active custom resource types in your account. There is a limit of 100,000. * Delete unused resources using DeleteResourceConfig * .

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

There is no configuration recorder running.

* * @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:

*
    *
  • *

    There are missing required fields.

    *
  • *
  • *

    The input value fails the validation.

    *
  • *
  • *

    You are trying to create more than 300 queries.

    *
  • *
*

For DescribeConfigurationRecorders and DescribeConfigurationRecorderStatus, one of the following errors:

*
    *
  • *

    You have specified more than one configuration recorder.

    *
  • *
  • *

    You have provided a service principal for service-linked configuration recorder that is not valid.

    *
  • *
*

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

*
    *
  • *

    Your configuraiton recorder has a recording strategy that does not allow the association or disassociation of resource types.

    *
  • *
  • *

    One or more of the specified resource types are already associated or disassociated with the configuration recorder.

    *
  • *
  • *

    For service-linked configuration recorders, the configuration recorder does not record one or more of the specified resource types.

    *
  • *
* * @throws {@link ConfigServiceServiceException} *

Base exception class for all service exceptions from ConfigService service.

* * * @public */ export declare class PutResourceConfigCommand extends PutResourceConfigCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutResourceConfigRequest; output: {}; }; sdk: { input: PutResourceConfigCommandInput; output: PutResourceConfigCommandOutput; }; }; }