import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { EnableSnapshotCopyMessage, EnableSnapshotCopyResult } from "../models/models_0"; import type { RedshiftClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link EnableSnapshotCopyCommand}. */ export interface EnableSnapshotCopyCommandInput extends EnableSnapshotCopyMessage { } /** * @public * * The output of {@link EnableSnapshotCopyCommand}. */ export interface EnableSnapshotCopyCommandOutput extends EnableSnapshotCopyResult, __MetadataBearer { } declare const EnableSnapshotCopyCommand_base: { new (input: EnableSnapshotCopyCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: EnableSnapshotCopyCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Enables the automatic copy of snapshots from one region to another region for a * specified cluster.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RedshiftClient, EnableSnapshotCopyCommand } from "@aws-sdk/client-redshift"; // ES Modules import * // const { RedshiftClient, EnableSnapshotCopyCommand } = require("@aws-sdk/client-redshift"); // CommonJS import * // import type { RedshiftClientConfig } from "@aws-sdk/client-redshift"; * const config = {}; // type is RedshiftClientConfig * const client = new RedshiftClient(config); * const input = { // EnableSnapshotCopyMessage * ClusterIdentifier: "STRING_VALUE", // required * DestinationRegion: "STRING_VALUE", // required * RetentionPeriod: Number("int"), * SnapshotCopyGrantName: "STRING_VALUE", * ManualSnapshotRetentionPeriod: Number("int"), * }; * const command = new EnableSnapshotCopyCommand(input); * const response = await client.send(command); * // { // EnableSnapshotCopyResult * // Cluster: { // Cluster * // ClusterIdentifier: "STRING_VALUE", * // NodeType: "STRING_VALUE", * // ClusterStatus: "STRING_VALUE", * // ClusterAvailabilityStatus: "STRING_VALUE", * // ModifyStatus: "STRING_VALUE", * // MasterUsername: "STRING_VALUE", * // DBName: "STRING_VALUE", * // Endpoint: { // Endpoint * // Address: "STRING_VALUE", * // Port: Number("int"), * // VpcEndpoints: [ // VpcEndpointsList * // { // VpcEndpoint * // VpcEndpointId: "STRING_VALUE", * // VpcId: "STRING_VALUE", * // NetworkInterfaces: [ // NetworkInterfaceList * // { // NetworkInterface * // NetworkInterfaceId: "STRING_VALUE", * // SubnetId: "STRING_VALUE", * // PrivateIpAddress: "STRING_VALUE", * // AvailabilityZone: "STRING_VALUE", * // Ipv6Address: "STRING_VALUE", * // }, * // ], * // }, * // ], * // }, * // ClusterCreateTime: new Date("TIMESTAMP"), * // AutomatedSnapshotRetentionPeriod: Number("int"), * // ManualSnapshotRetentionPeriod: Number("int"), * // ClusterSecurityGroups: [ // ClusterSecurityGroupMembershipList * // { // ClusterSecurityGroupMembership * // ClusterSecurityGroupName: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // VpcSecurityGroups: [ // VpcSecurityGroupMembershipList * // { // VpcSecurityGroupMembership * // VpcSecurityGroupId: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // ClusterParameterGroups: [ // ClusterParameterGroupStatusList * // { // ClusterParameterGroupStatus * // ParameterGroupName: "STRING_VALUE", * // ParameterApplyStatus: "STRING_VALUE", * // ClusterParameterStatusList: [ // ClusterParameterStatusList * // { // ClusterParameterStatus * // ParameterName: "STRING_VALUE", * // ParameterApplyStatus: "STRING_VALUE", * // ParameterApplyErrorDescription: "STRING_VALUE", * // }, * // ], * // }, * // ], * // ClusterSubnetGroupName: "STRING_VALUE", * // VpcId: "STRING_VALUE", * // AvailabilityZone: "STRING_VALUE", * // PreferredMaintenanceWindow: "STRING_VALUE", * // PendingModifiedValues: { // PendingModifiedValues * // MasterUserPassword: "STRING_VALUE", * // NodeType: "STRING_VALUE", * // NumberOfNodes: Number("int"), * // ClusterType: "STRING_VALUE", * // ClusterVersion: "STRING_VALUE", * // AutomatedSnapshotRetentionPeriod: Number("int"), * // ClusterIdentifier: "STRING_VALUE", * // PubliclyAccessible: true || false, * // EnhancedVpcRouting: true || false, * // MaintenanceTrackName: "STRING_VALUE", * // EncryptionType: "STRING_VALUE", * // }, * // ClusterVersion: "STRING_VALUE", * // AllowVersionUpgrade: true || false, * // NumberOfNodes: Number("int"), * // PubliclyAccessible: true || false, * // Encrypted: true || false, * // RestoreStatus: { // RestoreStatus * // Status: "STRING_VALUE", * // CurrentRestoreRateInMegaBytesPerSecond: Number("double"), * // SnapshotSizeInMegaBytes: Number("long"), * // ProgressInMegaBytes: Number("long"), * // ElapsedTimeInSeconds: Number("long"), * // EstimatedTimeToCompletionInSeconds: Number("long"), * // }, * // DataTransferProgress: { // DataTransferProgress * // Status: "STRING_VALUE", * // CurrentRateInMegaBytesPerSecond: Number("double"), * // TotalDataInMegaBytes: Number("long"), * // DataTransferredInMegaBytes: Number("long"), * // EstimatedTimeToCompletionInSeconds: Number("long"), * // ElapsedTimeInSeconds: Number("long"), * // }, * // HsmStatus: { // HsmStatus * // HsmClientCertificateIdentifier: "STRING_VALUE", * // HsmConfigurationIdentifier: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ClusterSnapshotCopyStatus: { // ClusterSnapshotCopyStatus * // DestinationRegion: "STRING_VALUE", * // RetentionPeriod: Number("long"), * // ManualSnapshotRetentionPeriod: Number("int"), * // SnapshotCopyGrantName: "STRING_VALUE", * // }, * // ClusterPublicKey: "STRING_VALUE", * // ClusterNodes: [ // ClusterNodesList * // { // ClusterNode * // NodeRole: "STRING_VALUE", * // PrivateIPAddress: "STRING_VALUE", * // PublicIPAddress: "STRING_VALUE", * // }, * // ], * // ElasticIpStatus: { // ElasticIpStatus * // ElasticIp: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ClusterRevisionNumber: "STRING_VALUE", * // Tags: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // KmsKeyId: "STRING_VALUE", * // EnhancedVpcRouting: true || false, * // IamRoles: [ // ClusterIamRoleList * // { // ClusterIamRole * // IamRoleArn: "STRING_VALUE", * // ApplyStatus: "STRING_VALUE", * // }, * // ], * // PendingActions: [ // PendingActionsList * // "STRING_VALUE", * // ], * // MaintenanceTrackName: "STRING_VALUE", * // ElasticResizeNumberOfNodeOptions: "STRING_VALUE", * // DeferredMaintenanceWindows: [ // DeferredMaintenanceWindowsList * // { // DeferredMaintenanceWindow * // DeferMaintenanceIdentifier: "STRING_VALUE", * // DeferMaintenanceStartTime: new Date("TIMESTAMP"), * // DeferMaintenanceEndTime: new Date("TIMESTAMP"), * // }, * // ], * // SnapshotScheduleIdentifier: "STRING_VALUE", * // SnapshotScheduleState: "MODIFYING" || "ACTIVE" || "FAILED", * // ExpectedNextSnapshotScheduleTime: new Date("TIMESTAMP"), * // ExpectedNextSnapshotScheduleTimeStatus: "STRING_VALUE", * // NextMaintenanceWindowStartTime: new Date("TIMESTAMP"), * // ResizeInfo: { // ResizeInfo * // ResizeType: "STRING_VALUE", * // AllowCancelResize: true || false, * // }, * // AvailabilityZoneRelocationStatus: "STRING_VALUE", * // ClusterNamespaceArn: "STRING_VALUE", * // TotalStorageCapacityInMegaBytes: Number("long"), * // AquaConfiguration: { // AquaConfiguration * // AquaStatus: "enabled" || "disabled" || "applying", * // AquaConfigurationStatus: "enabled" || "disabled" || "auto", * // }, * // DefaultIamRoleArn: "STRING_VALUE", * // ReservedNodeExchangeStatus: { // ReservedNodeExchangeStatus * // ReservedNodeExchangeRequestId: "STRING_VALUE", * // Status: "REQUESTED" || "PENDING" || "IN_PROGRESS" || "RETRYING" || "SUCCEEDED" || "FAILED", * // RequestTime: new Date("TIMESTAMP"), * // SourceReservedNodeId: "STRING_VALUE", * // SourceReservedNodeType: "STRING_VALUE", * // SourceReservedNodeCount: Number("int"), * // TargetReservedNodeOfferingId: "STRING_VALUE", * // TargetReservedNodeType: "STRING_VALUE", * // TargetReservedNodeCount: Number("int"), * // }, * // CustomDomainName: "STRING_VALUE", * // CustomDomainCertificateArn: "STRING_VALUE", * // CustomDomainCertificateExpiryDate: new Date("TIMESTAMP"), * // MasterPasswordSecretArn: "STRING_VALUE", * // MasterPasswordSecretKmsKeyId: "STRING_VALUE", * // IpAddressType: "STRING_VALUE", * // MultiAZ: "STRING_VALUE", * // MultiAZSecondary: { // SecondaryClusterInfo * // AvailabilityZone: "STRING_VALUE", * // ClusterNodes: [ * // { * // NodeRole: "STRING_VALUE", * // PrivateIPAddress: "STRING_VALUE", * // PublicIPAddress: "STRING_VALUE", * // }, * // ], * // }, * // LakehouseRegistrationStatus: "STRING_VALUE", * // CatalogArn: "STRING_VALUE", * // ExtraComputeForAutomaticOptimization: "STRING_VALUE", * // }, * // }; * * ``` * * @param EnableSnapshotCopyCommandInput - {@link EnableSnapshotCopyCommandInput} * @returns {@link EnableSnapshotCopyCommandOutput} * @see {@link EnableSnapshotCopyCommandInput} for command's `input` shape. * @see {@link EnableSnapshotCopyCommandOutput} for command's `response` shape. * @see {@link RedshiftClientResolvedConfig | config} for RedshiftClient's `config` shape. * * @throws {@link ClusterNotFoundFault} (client fault) *

The ClusterIdentifier parameter does not refer to an existing cluster. *

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

Cross-region snapshot copy was temporarily disabled. Try your request * again.

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

The request cannot be completed because a dependent service is throttling requests * made by Amazon Redshift on your behalf. Wait and retry the request.

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

The specified options are incompatible.

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

The specified cluster is not in the available state.

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

The retention period specified is either in the past or is not a valid value.

*

The value must be either -1 or an integer between 1 and 3,653.

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

The encryption key has exceeded its grant limit in Amazon Web Services KMS.

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

The cluster already has cross-region snapshot copy enabled.

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

The specified snapshot copy grant can't be found. Make sure that the name is typed * correctly and that the grant exists in the destination region.

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

Your account is not authorized to perform the requested operation.

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

The specified region is incorrect or does not exist.

* * @throws {@link RedshiftServiceException} *

Base exception class for all service exceptions from Redshift service.

* * * @public */ export declare class EnableSnapshotCopyCommand extends EnableSnapshotCopyCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: EnableSnapshotCopyMessage; output: EnableSnapshotCopyResult; }; sdk: { input: EnableSnapshotCopyCommandInput; output: EnableSnapshotCopyCommandOutput; }; }; }