import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ModifyDBClusterSnapshotAttributeMessage, ModifyDBClusterSnapshotAttributeResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link ModifyDBClusterSnapshotAttributeCommand}. */ export interface ModifyDBClusterSnapshotAttributeCommandInput extends ModifyDBClusterSnapshotAttributeMessage { } /** * @public * * The output of {@link ModifyDBClusterSnapshotAttributeCommand}. */ export interface ModifyDBClusterSnapshotAttributeCommandOutput extends ModifyDBClusterSnapshotAttributeResult, __MetadataBearer { } declare const ModifyDBClusterSnapshotAttributeCommand_base: { new (input: ModifyDBClusterSnapshotAttributeCommandInput): import("@smithy/core/client").CommandImpl; new (input: ModifyDBClusterSnapshotAttributeCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Adds an attribute and values to, or removes an attribute and values from, a manual cluster snapshot.

*

To share a manual cluster snapshot with other Amazon Web Services accounts, specify restore as the AttributeName, and use the ValuesToAdd parameter to add a list of IDs of the Amazon Web Services accounts that are authorized to restore the manual cluster snapshot. Use the value all to make the manual cluster snapshot public, which means that it can be copied or restored by all Amazon Web Services accounts. Do not add the all value for any manual cluster snapshots that contain private information that you don't want available to all Amazon Web Services accounts. If a manual cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized Amazon Web Services account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DocDBClient, ModifyDBClusterSnapshotAttributeCommand } from "@aws-sdk/client-docdb"; // ES Modules import * // const { DocDBClient, ModifyDBClusterSnapshotAttributeCommand } = require("@aws-sdk/client-docdb"); // CommonJS import * // import type { DocDBClientConfig } from "@aws-sdk/client-docdb"; * const config = {}; // type is DocDBClientConfig * const client = new DocDBClient(config); * const input = { // ModifyDBClusterSnapshotAttributeMessage * DBClusterSnapshotIdentifier: "STRING_VALUE", // required * AttributeName: "STRING_VALUE", // required * ValuesToAdd: [ // AttributeValueList * "STRING_VALUE", * ], * ValuesToRemove: [ * "STRING_VALUE", * ], * }; * const command = new ModifyDBClusterSnapshotAttributeCommand(input); * const response = await client.send(command); * // { // ModifyDBClusterSnapshotAttributeResult * // DBClusterSnapshotAttributesResult: { // DBClusterSnapshotAttributesResult * // DBClusterSnapshotIdentifier: "STRING_VALUE", * // DBClusterSnapshotAttributes: [ // DBClusterSnapshotAttributeList * // { // DBClusterSnapshotAttribute * // AttributeName: "STRING_VALUE", * // AttributeValues: [ // AttributeValueList * // "STRING_VALUE", * // ], * // }, * // ], * // }, * // }; * * ``` * * @param ModifyDBClusterSnapshotAttributeCommandInput - {@link ModifyDBClusterSnapshotAttributeCommandInput} * @returns {@link ModifyDBClusterSnapshotAttributeCommandOutput} * @see {@link ModifyDBClusterSnapshotAttributeCommandInput} for command's `input` shape. * @see {@link ModifyDBClusterSnapshotAttributeCommandOutput} for command's `response` shape. * @see {@link DocDBClientResolvedConfig | config} for DocDBClient's `config` shape. * * @throws {@link DBClusterSnapshotNotFoundFault} (client fault) *

* DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.

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

The provided value isn't a valid cluster snapshot state.

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

You have exceeded the maximum number of accounts that you can share a manual DB * snapshot with.

* * @throws {@link DocDBServiceException} *

Base exception class for all service exceptions from DocDB service.

* * * @public */ export declare class ModifyDBClusterSnapshotAttributeCommand extends ModifyDBClusterSnapshotAttributeCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: ModifyDBClusterSnapshotAttributeMessage; output: ModifyDBClusterSnapshotAttributeResult; }; sdk: { input: ModifyDBClusterSnapshotAttributeCommandInput; output: ModifyDBClusterSnapshotAttributeCommandOutput; }; }; }