import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { PutContactPolicyRequest, PutContactPolicyResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link PutContactPolicyCommand}. */ export interface PutContactPolicyCommandInput extends PutContactPolicyRequest { } /** * @public * * The output of {@link PutContactPolicyCommand}. */ export interface PutContactPolicyCommandOutput extends PutContactPolicyResult, __MetadataBearer { } declare const PutContactPolicyCommand_base: { new (input: PutContactPolicyCommandInput): import("@smithy/core/client").CommandImpl; new (input: PutContactPolicyCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Adds a resource policy to the specified contact or escalation plan. The resource policy * is used to share the contact or escalation plan using Resource Access Manager (RAM). For more information about cross-account sharing, see Setting up * cross-account functionality.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { SSMContactsClient, PutContactPolicyCommand } from "@aws-sdk/client-ssm-contacts"; // ES Modules import * // const { SSMContactsClient, PutContactPolicyCommand } = require("@aws-sdk/client-ssm-contacts"); // CommonJS import * // import type { SSMContactsClientConfig } from "@aws-sdk/client-ssm-contacts"; * const config = {}; // type is SSMContactsClientConfig * const client = new SSMContactsClient(config); * const input = { // PutContactPolicyRequest * ContactArn: "STRING_VALUE", // required * Policy: "STRING_VALUE", // required * }; * const command = new PutContactPolicyCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param PutContactPolicyCommandInput - {@link PutContactPolicyCommandInput} * @returns {@link PutContactPolicyCommandOutput} * @see {@link PutContactPolicyCommandInput} for command's `input` shape. * @see {@link PutContactPolicyCommandOutput} for command's `response` shape. * @see {@link SSMContactsClientResolvedConfig | config} for SSMContactsClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You don't have sufficient access to perform this operation.

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

Updating or deleting a resource causes an inconsistent state.

* * @throws {@link InternalServerException} (server fault) *

Unexpected error occurred while processing the request.

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

Request references a resource that doesn't exist.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an Amazon Web Services * service.

* * @throws {@link SSMContactsServiceException} *

Base exception class for all service exceptions from SSMContacts service.

* * * @public */ export declare class PutContactPolicyCommand extends PutContactPolicyCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutContactPolicyRequest; output: {}; }; sdk: { input: PutContactPolicyCommandInput; output: PutContactPolicyCommandOutput; }; }; }