diff --git a/clients/client-backup/README.md b/clients/client-backup/README.md index 9a2f793de88b..f83437bb8081 100644 --- a/clients/client-backup/README.md +++ b/clients/client-backup/README.md @@ -543,6 +543,14 @@ GetLegalHold [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/backup/command/GetLegalHoldCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/GetLegalHoldCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/GetLegalHoldCommandOutput/) + +
+ +GetRecoveryPointIndexDetails + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/backup/command/GetRecoveryPointIndexDetailsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/GetRecoveryPointIndexDetailsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/GetRecoveryPointIndexDetailsCommandOutput/) +
@@ -671,6 +679,14 @@ ListFrameworks [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/backup/command/ListFrameworksCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/ListFrameworksCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/ListFrameworksCommandOutput/) +
+
+ +ListIndexedRecoveryPoints + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/backup/command/ListIndexedRecoveryPointsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/ListIndexedRecoveryPointsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/ListIndexedRecoveryPointsCommandOutput/) +
@@ -895,6 +911,14 @@ UpdateGlobalSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/backup/command/UpdateGlobalSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/UpdateGlobalSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/UpdateGlobalSettingsCommandOutput/) +
+
+ +UpdateRecoveryPointIndexSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/backup/command/UpdateRecoveryPointIndexSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/UpdateRecoveryPointIndexSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-backup/Interface/UpdateRecoveryPointIndexSettingsCommandOutput/) +
diff --git a/clients/client-backup/src/Backup.ts b/clients/client-backup/src/Backup.ts index b8a317311fb9..0f1fb21449ce 100644 --- a/clients/client-backup/src/Backup.ts +++ b/clients/client-backup/src/Backup.ts @@ -213,6 +213,11 @@ import { GetLegalHoldCommandInput, GetLegalHoldCommandOutput, } from "./commands/GetLegalHoldCommand"; +import { + GetRecoveryPointIndexDetailsCommand, + GetRecoveryPointIndexDetailsCommandInput, + GetRecoveryPointIndexDetailsCommandOutput, +} from "./commands/GetRecoveryPointIndexDetailsCommand"; import { GetRecoveryPointRestoreMetadataCommand, GetRecoveryPointRestoreMetadataCommandInput, @@ -293,6 +298,11 @@ import { ListFrameworksCommandInput, ListFrameworksCommandOutput, } from "./commands/ListFrameworksCommand"; +import { + ListIndexedRecoveryPointsCommand, + ListIndexedRecoveryPointsCommandInput, + ListIndexedRecoveryPointsCommandOutput, +} from "./commands/ListIndexedRecoveryPointsCommand"; import { ListLegalHoldsCommand, ListLegalHoldsCommandInput, @@ -425,6 +435,11 @@ import { UpdateGlobalSettingsCommandInput, UpdateGlobalSettingsCommandOutput, } from "./commands/UpdateGlobalSettingsCommand"; +import { + UpdateRecoveryPointIndexSettingsCommand, + UpdateRecoveryPointIndexSettingsCommandInput, + UpdateRecoveryPointIndexSettingsCommandOutput, +} from "./commands/UpdateRecoveryPointIndexSettingsCommand"; import { UpdateRecoveryPointLifecycleCommand, UpdateRecoveryPointLifecycleCommandInput, @@ -494,6 +509,7 @@ const commands = { GetBackupVaultAccessPolicyCommand, GetBackupVaultNotificationsCommand, GetLegalHoldCommand, + GetRecoveryPointIndexDetailsCommand, GetRecoveryPointRestoreMetadataCommand, GetRestoreJobMetadataCommand, GetRestoreTestingInferredMetadataCommand, @@ -510,6 +526,7 @@ const commands = { ListCopyJobsCommand, ListCopyJobSummariesCommand, ListFrameworksCommand, + ListIndexedRecoveryPointsCommand, ListLegalHoldsCommand, ListProtectedResourcesCommand, ListProtectedResourcesByBackupVaultCommand, @@ -538,6 +555,7 @@ const commands = { UpdateBackupPlanCommand, UpdateFrameworkCommand, UpdateGlobalSettingsCommand, + UpdateRecoveryPointIndexSettingsCommand, UpdateRecoveryPointLifecycleCommand, UpdateRegionSettingsCommand, UpdateReportPlanCommand, @@ -1235,6 +1253,23 @@ export interface Backup { cb: (err: any, data?: GetLegalHoldCommandOutput) => void ): void; + /** + * @see {@link GetRecoveryPointIndexDetailsCommand} + */ + getRecoveryPointIndexDetails( + args: GetRecoveryPointIndexDetailsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getRecoveryPointIndexDetails( + args: GetRecoveryPointIndexDetailsCommandInput, + cb: (err: any, data?: GetRecoveryPointIndexDetailsCommandOutput) => void + ): void; + getRecoveryPointIndexDetails( + args: GetRecoveryPointIndexDetailsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetRecoveryPointIndexDetailsCommandOutput) => void + ): void; + /** * @see {@link GetRecoveryPointRestoreMetadataCommand} */ @@ -1501,6 +1536,24 @@ export interface Backup { cb: (err: any, data?: ListFrameworksCommandOutput) => void ): void; + /** + * @see {@link ListIndexedRecoveryPointsCommand} + */ + listIndexedRecoveryPoints(): Promise; + listIndexedRecoveryPoints( + args: ListIndexedRecoveryPointsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listIndexedRecoveryPoints( + args: ListIndexedRecoveryPointsCommandInput, + cb: (err: any, data?: ListIndexedRecoveryPointsCommandOutput) => void + ): void; + listIndexedRecoveryPoints( + args: ListIndexedRecoveryPointsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListIndexedRecoveryPointsCommandOutput) => void + ): void; + /** * @see {@link ListLegalHoldsCommand} */ @@ -1931,6 +1984,23 @@ export interface Backup { cb: (err: any, data?: UpdateGlobalSettingsCommandOutput) => void ): void; + /** + * @see {@link UpdateRecoveryPointIndexSettingsCommand} + */ + updateRecoveryPointIndexSettings( + args: UpdateRecoveryPointIndexSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateRecoveryPointIndexSettings( + args: UpdateRecoveryPointIndexSettingsCommandInput, + cb: (err: any, data?: UpdateRecoveryPointIndexSettingsCommandOutput) => void + ): void; + updateRecoveryPointIndexSettings( + args: UpdateRecoveryPointIndexSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRecoveryPointIndexSettingsCommandOutput) => void + ): void; + /** * @see {@link UpdateRecoveryPointLifecycleCommand} */ diff --git a/clients/client-backup/src/BackupClient.ts b/clients/client-backup/src/BackupClient.ts index e26151219a2b..4a72882c7d2a 100644 --- a/clients/client-backup/src/BackupClient.ts +++ b/clients/client-backup/src/BackupClient.ts @@ -164,6 +164,10 @@ import { GetBackupVaultNotificationsCommandOutput, } from "./commands/GetBackupVaultNotificationsCommand"; import { GetLegalHoldCommandInput, GetLegalHoldCommandOutput } from "./commands/GetLegalHoldCommand"; +import { + GetRecoveryPointIndexDetailsCommandInput, + GetRecoveryPointIndexDetailsCommandOutput, +} from "./commands/GetRecoveryPointIndexDetailsCommand"; import { GetRecoveryPointRestoreMetadataCommandInput, GetRecoveryPointRestoreMetadataCommandOutput, @@ -213,6 +217,10 @@ import { ListCopyJobSummariesCommandOutput, } from "./commands/ListCopyJobSummariesCommand"; import { ListFrameworksCommandInput, ListFrameworksCommandOutput } from "./commands/ListFrameworksCommand"; +import { + ListIndexedRecoveryPointsCommandInput, + ListIndexedRecoveryPointsCommandOutput, +} from "./commands/ListIndexedRecoveryPointsCommand"; import { ListLegalHoldsCommandInput, ListLegalHoldsCommandOutput } from "./commands/ListLegalHoldsCommand"; import { ListProtectedResourcesByBackupVaultCommandInput, @@ -283,6 +291,10 @@ import { UpdateGlobalSettingsCommandInput, UpdateGlobalSettingsCommandOutput, } from "./commands/UpdateGlobalSettingsCommand"; +import { + UpdateRecoveryPointIndexSettingsCommandInput, + UpdateRecoveryPointIndexSettingsCommandOutput, +} from "./commands/UpdateRecoveryPointIndexSettingsCommand"; import { UpdateRecoveryPointLifecycleCommandInput, UpdateRecoveryPointLifecycleCommandOutput, @@ -357,6 +369,7 @@ export type ServiceInputTypes = | GetBackupVaultAccessPolicyCommandInput | GetBackupVaultNotificationsCommandInput | GetLegalHoldCommandInput + | GetRecoveryPointIndexDetailsCommandInput | GetRecoveryPointRestoreMetadataCommandInput | GetRestoreJobMetadataCommandInput | GetRestoreTestingInferredMetadataCommandInput @@ -373,6 +386,7 @@ export type ServiceInputTypes = | ListCopyJobSummariesCommandInput | ListCopyJobsCommandInput | ListFrameworksCommandInput + | ListIndexedRecoveryPointsCommandInput | ListLegalHoldsCommandInput | ListProtectedResourcesByBackupVaultCommandInput | ListProtectedResourcesCommandInput @@ -401,6 +415,7 @@ export type ServiceInputTypes = | UpdateBackupPlanCommandInput | UpdateFrameworkCommandInput | UpdateGlobalSettingsCommandInput + | UpdateRecoveryPointIndexSettingsCommandInput | UpdateRecoveryPointLifecycleCommandInput | UpdateRegionSettingsCommandInput | UpdateReportPlanCommandInput @@ -453,6 +468,7 @@ export type ServiceOutputTypes = | GetBackupVaultAccessPolicyCommandOutput | GetBackupVaultNotificationsCommandOutput | GetLegalHoldCommandOutput + | GetRecoveryPointIndexDetailsCommandOutput | GetRecoveryPointRestoreMetadataCommandOutput | GetRestoreJobMetadataCommandOutput | GetRestoreTestingInferredMetadataCommandOutput @@ -469,6 +485,7 @@ export type ServiceOutputTypes = | ListCopyJobSummariesCommandOutput | ListCopyJobsCommandOutput | ListFrameworksCommandOutput + | ListIndexedRecoveryPointsCommandOutput | ListLegalHoldsCommandOutput | ListProtectedResourcesByBackupVaultCommandOutput | ListProtectedResourcesCommandOutput @@ -497,6 +514,7 @@ export type ServiceOutputTypes = | UpdateBackupPlanCommandOutput | UpdateFrameworkCommandOutput | UpdateGlobalSettingsCommandOutput + | UpdateRecoveryPointIndexSettingsCommandOutput | UpdateRecoveryPointLifecycleCommandOutput | UpdateRegionSettingsCommandOutput | UpdateReportPlanCommandOutput diff --git a/clients/client-backup/src/commands/CreateBackupPlanCommand.ts b/clients/client-backup/src/commands/CreateBackupPlanCommand.ts index 6f1b0b6d31c4..10e9528ab163 100644 --- a/clients/client-backup/src/commands/CreateBackupPlanCommand.ts +++ b/clients/client-backup/src/commands/CreateBackupPlanCommand.ts @@ -73,6 +73,13 @@ export interface CreateBackupPlanCommandOutput extends CreateBackupPlanOutput, _ * ], * EnableContinuousBackup: true || false, * ScheduleExpressionTimezone: "STRING_VALUE", + * IndexActions: [ // IndexActions + * { // IndexAction + * ResourceTypes: [ // ResourceTypes + * "STRING_VALUE", + * ], + * }, + * ], * }, * ], * AdvancedBackupSettings: [ // AdvancedBackupSettings diff --git a/clients/client-backup/src/commands/DescribeRecoveryPointCommand.ts b/clients/client-backup/src/commands/DescribeRecoveryPointCommand.ts index e9c051bad130..3f7954eb7e89 100644 --- a/clients/client-backup/src/commands/DescribeRecoveryPointCommand.ts +++ b/clients/client-backup/src/commands/DescribeRecoveryPointCommand.ts @@ -80,6 +80,8 @@ export interface DescribeRecoveryPointCommandOutput extends DescribeRecoveryPoin * // IsParent: true || false, * // ResourceName: "STRING_VALUE", * // VaultType: "BACKUP_VAULT" || "LOGICALLY_AIR_GAPPED_BACKUP_VAULT", + * // IndexStatus: "PENDING" || "ACTIVE" || "FAILED" || "DELETING", + * // IndexStatusMessage: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-backup/src/commands/GetBackupPlanCommand.ts b/clients/client-backup/src/commands/GetBackupPlanCommand.ts index 06048e55fa91..f63cef10a672 100644 --- a/clients/client-backup/src/commands/GetBackupPlanCommand.ts +++ b/clients/client-backup/src/commands/GetBackupPlanCommand.ts @@ -73,6 +73,13 @@ export interface GetBackupPlanCommandOutput extends GetBackupPlanOutput, __Metad * // ], * // EnableContinuousBackup: true || false, * // ScheduleExpressionTimezone: "STRING_VALUE", + * // IndexActions: [ // IndexActions + * // { // IndexAction + * // ResourceTypes: [ // ResourceTypes + * // "STRING_VALUE", + * // ], + * // }, + * // ], * // }, * // ], * // AdvancedBackupSettings: [ // AdvancedBackupSettings diff --git a/clients/client-backup/src/commands/GetBackupPlanFromJSONCommand.ts b/clients/client-backup/src/commands/GetBackupPlanFromJSONCommand.ts index 8e42c9c94f00..b2858813c9de 100644 --- a/clients/client-backup/src/commands/GetBackupPlanFromJSONCommand.ts +++ b/clients/client-backup/src/commands/GetBackupPlanFromJSONCommand.ts @@ -75,6 +75,13 @@ export interface GetBackupPlanFromJSONCommandOutput extends GetBackupPlanFromJSO * // ], * // EnableContinuousBackup: true || false, * // ScheduleExpressionTimezone: "STRING_VALUE", + * // IndexActions: [ // IndexActions + * // { // IndexAction + * // ResourceTypes: [ // ResourceTypes + * // "STRING_VALUE", + * // ], + * // }, + * // ], * // }, * // ], * // AdvancedBackupSettings: [ // AdvancedBackupSettings diff --git a/clients/client-backup/src/commands/GetBackupPlanFromTemplateCommand.ts b/clients/client-backup/src/commands/GetBackupPlanFromTemplateCommand.ts index 8ca284547a52..8a30ff632062 100644 --- a/clients/client-backup/src/commands/GetBackupPlanFromTemplateCommand.ts +++ b/clients/client-backup/src/commands/GetBackupPlanFromTemplateCommand.ts @@ -75,6 +75,13 @@ export interface GetBackupPlanFromTemplateCommandOutput extends GetBackupPlanFro * // ], * // EnableContinuousBackup: true || false, * // ScheduleExpressionTimezone: "STRING_VALUE", + * // IndexActions: [ // IndexActions + * // { // IndexAction + * // ResourceTypes: [ // ResourceTypes + * // "STRING_VALUE", + * // ], + * // }, + * // ], * // }, * // ], * // AdvancedBackupSettings: [ // AdvancedBackupSettings diff --git a/clients/client-backup/src/commands/GetRecoveryPointIndexDetailsCommand.ts b/clients/client-backup/src/commands/GetRecoveryPointIndexDetailsCommand.ts new file mode 100644 index 000000000000..0a6649208f98 --- /dev/null +++ b/clients/client-backup/src/commands/GetRecoveryPointIndexDetailsCommand.ts @@ -0,0 +1,120 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { BackupClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BackupClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetRecoveryPointIndexDetailsInput, GetRecoveryPointIndexDetailsOutput } from "../models/models_0"; +import { + de_GetRecoveryPointIndexDetailsCommand, + se_GetRecoveryPointIndexDetailsCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetRecoveryPointIndexDetailsCommand}. + */ +export interface GetRecoveryPointIndexDetailsCommandInput extends GetRecoveryPointIndexDetailsInput {} +/** + * @public + * + * The output of {@link GetRecoveryPointIndexDetailsCommand}. + */ +export interface GetRecoveryPointIndexDetailsCommandOutput + extends GetRecoveryPointIndexDetailsOutput, + __MetadataBearer {} + +/** + *

This operation returns the metadata and details specific to + * the backup index associated with the specified recovery point.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BackupClient, GetRecoveryPointIndexDetailsCommand } from "@aws-sdk/client-backup"; // ES Modules import + * // const { BackupClient, GetRecoveryPointIndexDetailsCommand } = require("@aws-sdk/client-backup"); // CommonJS import + * const client = new BackupClient(config); + * const input = { // GetRecoveryPointIndexDetailsInput + * BackupVaultName: "STRING_VALUE", // required + * RecoveryPointArn: "STRING_VALUE", // required + * }; + * const command = new GetRecoveryPointIndexDetailsCommand(input); + * const response = await client.send(command); + * // { // GetRecoveryPointIndexDetailsOutput + * // RecoveryPointArn: "STRING_VALUE", + * // BackupVaultArn: "STRING_VALUE", + * // SourceResourceArn: "STRING_VALUE", + * // IndexCreationDate: new Date("TIMESTAMP"), + * // IndexDeletionDate: new Date("TIMESTAMP"), + * // IndexCompletionDate: new Date("TIMESTAMP"), + * // IndexStatus: "PENDING" || "ACTIVE" || "FAILED" || "DELETING", + * // IndexStatusMessage: "STRING_VALUE", + * // TotalItemsIndexed: Number("long"), + * // }; + * + * ``` + * + * @param GetRecoveryPointIndexDetailsCommandInput - {@link GetRecoveryPointIndexDetailsCommandInput} + * @returns {@link GetRecoveryPointIndexDetailsCommandOutput} + * @see {@link GetRecoveryPointIndexDetailsCommandInput} for command's `input` shape. + * @see {@link GetRecoveryPointIndexDetailsCommandOutput} for command's `response` shape. + * @see {@link BackupClientResolvedConfig | config} for BackupClient's `config` shape. + * + * @throws {@link InvalidParameterValueException} (client fault) + *

Indicates that something is wrong with a parameter's value. For example, the value is + * out of range.

+ * + * @throws {@link MissingParameterValueException} (client fault) + *

Indicates that a required parameter is missing.

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

A resource that is required for the action doesn't exist.

+ * + * @throws {@link ServiceUnavailableException} (server fault) + *

The request failed due to a temporary failure of the server.

+ * + * @throws {@link BackupServiceException} + *

Base exception class for all service exceptions from Backup service.

+ * + * @public + */ +export class GetRecoveryPointIndexDetailsCommand extends $Command + .classBuilder< + GetRecoveryPointIndexDetailsCommandInput, + GetRecoveryPointIndexDetailsCommandOutput, + BackupClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BackupClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CryoControllerUserManager", "GetRecoveryPointIndexDetails", {}) + .n("BackupClient", "GetRecoveryPointIndexDetailsCommand") + .f(void 0, void 0) + .ser(se_GetRecoveryPointIndexDetailsCommand) + .de(de_GetRecoveryPointIndexDetailsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetRecoveryPointIndexDetailsInput; + output: GetRecoveryPointIndexDetailsOutput; + }; + sdk: { + input: GetRecoveryPointIndexDetailsCommandInput; + output: GetRecoveryPointIndexDetailsCommandOutput; + }; + }; +} diff --git a/clients/client-backup/src/commands/ListIndexedRecoveryPointsCommand.ts b/clients/client-backup/src/commands/ListIndexedRecoveryPointsCommand.ts new file mode 100644 index 000000000000..f77d83498ead --- /dev/null +++ b/clients/client-backup/src/commands/ListIndexedRecoveryPointsCommand.ts @@ -0,0 +1,125 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { BackupClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BackupClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListIndexedRecoveryPointsInput, ListIndexedRecoveryPointsOutput } from "../models/models_0"; +import { de_ListIndexedRecoveryPointsCommand, se_ListIndexedRecoveryPointsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListIndexedRecoveryPointsCommand}. + */ +export interface ListIndexedRecoveryPointsCommandInput extends ListIndexedRecoveryPointsInput {} +/** + * @public + * + * The output of {@link ListIndexedRecoveryPointsCommand}. + */ +export interface ListIndexedRecoveryPointsCommandOutput extends ListIndexedRecoveryPointsOutput, __MetadataBearer {} + +/** + *

This operation returns a list of recovery points that have an + * associated index, belonging to the specified account.

+ *

Optional parameters you can include are: MaxResults; + * NextToken; SourceResourceArns; CreatedBefore; CreatedAfter; + * and ResourceType.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BackupClient, ListIndexedRecoveryPointsCommand } from "@aws-sdk/client-backup"; // ES Modules import + * // const { BackupClient, ListIndexedRecoveryPointsCommand } = require("@aws-sdk/client-backup"); // CommonJS import + * const client = new BackupClient(config); + * const input = { // ListIndexedRecoveryPointsInput + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * SourceResourceArn: "STRING_VALUE", + * CreatedBefore: new Date("TIMESTAMP"), + * CreatedAfter: new Date("TIMESTAMP"), + * ResourceType: "STRING_VALUE", + * IndexStatus: "PENDING" || "ACTIVE" || "FAILED" || "DELETING", + * }; + * const command = new ListIndexedRecoveryPointsCommand(input); + * const response = await client.send(command); + * // { // ListIndexedRecoveryPointsOutput + * // IndexedRecoveryPoints: [ // IndexedRecoveryPointList + * // { // IndexedRecoveryPoint + * // RecoveryPointArn: "STRING_VALUE", + * // SourceResourceArn: "STRING_VALUE", + * // IamRoleArn: "STRING_VALUE", + * // BackupCreationDate: new Date("TIMESTAMP"), + * // ResourceType: "STRING_VALUE", + * // IndexCreationDate: new Date("TIMESTAMP"), + * // IndexStatus: "PENDING" || "ACTIVE" || "FAILED" || "DELETING", + * // IndexStatusMessage: "STRING_VALUE", + * // BackupVaultArn: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListIndexedRecoveryPointsCommandInput - {@link ListIndexedRecoveryPointsCommandInput} + * @returns {@link ListIndexedRecoveryPointsCommandOutput} + * @see {@link ListIndexedRecoveryPointsCommandInput} for command's `input` shape. + * @see {@link ListIndexedRecoveryPointsCommandOutput} for command's `response` shape. + * @see {@link BackupClientResolvedConfig | config} for BackupClient's `config` shape. + * + * @throws {@link InvalidParameterValueException} (client fault) + *

Indicates that something is wrong with a parameter's value. For example, the value is + * out of range.

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

A resource that is required for the action doesn't exist.

+ * + * @throws {@link ServiceUnavailableException} (server fault) + *

The request failed due to a temporary failure of the server.

+ * + * @throws {@link BackupServiceException} + *

Base exception class for all service exceptions from Backup service.

+ * + * @public + */ +export class ListIndexedRecoveryPointsCommand extends $Command + .classBuilder< + ListIndexedRecoveryPointsCommandInput, + ListIndexedRecoveryPointsCommandOutput, + BackupClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BackupClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CryoControllerUserManager", "ListIndexedRecoveryPoints", {}) + .n("BackupClient", "ListIndexedRecoveryPointsCommand") + .f(void 0, void 0) + .ser(se_ListIndexedRecoveryPointsCommand) + .de(de_ListIndexedRecoveryPointsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListIndexedRecoveryPointsInput; + output: ListIndexedRecoveryPointsOutput; + }; + sdk: { + input: ListIndexedRecoveryPointsCommandInput; + output: ListIndexedRecoveryPointsCommandOutput; + }; + }; +} diff --git a/clients/client-backup/src/commands/ListRecoveryPointsByBackupVaultCommand.ts b/clients/client-backup/src/commands/ListRecoveryPointsByBackupVaultCommand.ts index 4cdbe9118bf8..77920cfca2cf 100644 --- a/clients/client-backup/src/commands/ListRecoveryPointsByBackupVaultCommand.ts +++ b/clients/client-backup/src/commands/ListRecoveryPointsByBackupVaultCommand.ts @@ -93,6 +93,8 @@ export interface ListRecoveryPointsByBackupVaultCommandOutput * // IsParent: true || false, * // ResourceName: "STRING_VALUE", * // VaultType: "BACKUP_VAULT" || "LOGICALLY_AIR_GAPPED_BACKUP_VAULT", + * // IndexStatus: "PENDING" || "ACTIVE" || "FAILED" || "DELETING", + * // IndexStatusMessage: "STRING_VALUE", * // }, * // ], * // }; diff --git a/clients/client-backup/src/commands/ListRecoveryPointsByResourceCommand.ts b/clients/client-backup/src/commands/ListRecoveryPointsByResourceCommand.ts index 358e2760263d..14035208cb63 100644 --- a/clients/client-backup/src/commands/ListRecoveryPointsByResourceCommand.ts +++ b/clients/client-backup/src/commands/ListRecoveryPointsByResourceCommand.ts @@ -68,6 +68,8 @@ export interface ListRecoveryPointsByResourceCommandOutput * // ParentRecoveryPointArn: "STRING_VALUE", * // ResourceName: "STRING_VALUE", * // VaultType: "BACKUP_VAULT" || "LOGICALLY_AIR_GAPPED_BACKUP_VAULT", + * // IndexStatus: "PENDING" || "ACTIVE" || "FAILED" || "DELETING", + * // IndexStatusMessage: "STRING_VALUE", * // }, * // ], * // }; diff --git a/clients/client-backup/src/commands/StartBackupJobCommand.ts b/clients/client-backup/src/commands/StartBackupJobCommand.ts index 5eea4e9af550..9435f9cccac9 100644 --- a/clients/client-backup/src/commands/StartBackupJobCommand.ts +++ b/clients/client-backup/src/commands/StartBackupJobCommand.ts @@ -53,6 +53,7 @@ export interface StartBackupJobCommandOutput extends StartBackupJobOutput, __Met * BackupOptions: { // BackupOptions * "": "STRING_VALUE", * }, + * Index: "ENABLED" || "DISABLED", * }; * const command = new StartBackupJobCommand(input); * const response = await client.send(command); diff --git a/clients/client-backup/src/commands/UpdateBackupPlanCommand.ts b/clients/client-backup/src/commands/UpdateBackupPlanCommand.ts index 2e69422a08d9..3928f4260f48 100644 --- a/clients/client-backup/src/commands/UpdateBackupPlanCommand.ts +++ b/clients/client-backup/src/commands/UpdateBackupPlanCommand.ts @@ -70,6 +70,13 @@ export interface UpdateBackupPlanCommandOutput extends UpdateBackupPlanOutput, _ * ], * EnableContinuousBackup: true || false, * ScheduleExpressionTimezone: "STRING_VALUE", + * IndexActions: [ // IndexActions + * { // IndexAction + * ResourceTypes: [ // ResourceTypes + * "STRING_VALUE", + * ], + * }, + * ], * }, * ], * AdvancedBackupSettings: [ // AdvancedBackupSettings diff --git a/clients/client-backup/src/commands/UpdateRecoveryPointIndexSettingsCommand.ts b/clients/client-backup/src/commands/UpdateRecoveryPointIndexSettingsCommand.ts new file mode 100644 index 000000000000..1829e839cb73 --- /dev/null +++ b/clients/client-backup/src/commands/UpdateRecoveryPointIndexSettingsCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { BackupClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BackupClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateRecoveryPointIndexSettingsInput, UpdateRecoveryPointIndexSettingsOutput } from "../models/models_0"; +import { + de_UpdateRecoveryPointIndexSettingsCommand, + se_UpdateRecoveryPointIndexSettingsCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateRecoveryPointIndexSettingsCommand}. + */ +export interface UpdateRecoveryPointIndexSettingsCommandInput extends UpdateRecoveryPointIndexSettingsInput {} +/** + * @public + * + * The output of {@link UpdateRecoveryPointIndexSettingsCommand}. + */ +export interface UpdateRecoveryPointIndexSettingsCommandOutput + extends UpdateRecoveryPointIndexSettingsOutput, + __MetadataBearer {} + +/** + *

This operation updates the settings of a recovery point index.

+ *

Required: BackupVaultName, RecoveryPointArn, and IAMRoleArn

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { BackupClient, UpdateRecoveryPointIndexSettingsCommand } from "@aws-sdk/client-backup"; // ES Modules import + * // const { BackupClient, UpdateRecoveryPointIndexSettingsCommand } = require("@aws-sdk/client-backup"); // CommonJS import + * const client = new BackupClient(config); + * const input = { // UpdateRecoveryPointIndexSettingsInput + * BackupVaultName: "STRING_VALUE", // required + * RecoveryPointArn: "STRING_VALUE", // required + * IamRoleArn: "STRING_VALUE", + * Index: "ENABLED" || "DISABLED", // required + * }; + * const command = new UpdateRecoveryPointIndexSettingsCommand(input); + * const response = await client.send(command); + * // { // UpdateRecoveryPointIndexSettingsOutput + * // BackupVaultName: "STRING_VALUE", + * // RecoveryPointArn: "STRING_VALUE", + * // IndexStatus: "PENDING" || "ACTIVE" || "FAILED" || "DELETING", + * // Index: "ENABLED" || "DISABLED", + * // }; + * + * ``` + * + * @param UpdateRecoveryPointIndexSettingsCommandInput - {@link UpdateRecoveryPointIndexSettingsCommandInput} + * @returns {@link UpdateRecoveryPointIndexSettingsCommandOutput} + * @see {@link UpdateRecoveryPointIndexSettingsCommandInput} for command's `input` shape. + * @see {@link UpdateRecoveryPointIndexSettingsCommandOutput} for command's `response` shape. + * @see {@link BackupClientResolvedConfig | config} for BackupClient's `config` shape. + * + * @throws {@link InvalidParameterValueException} (client fault) + *

Indicates that something is wrong with a parameter's value. For example, the value is + * out of range.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

Indicates that something is wrong with the input to the request. For example, a + * parameter is of the wrong type.

+ * + * @throws {@link MissingParameterValueException} (client fault) + *

Indicates that a required parameter is missing.

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

A resource that is required for the action doesn't exist.

+ * + * @throws {@link ServiceUnavailableException} (server fault) + *

The request failed due to a temporary failure of the server.

+ * + * @throws {@link BackupServiceException} + *

Base exception class for all service exceptions from Backup service.

+ * + * @public + */ +export class UpdateRecoveryPointIndexSettingsCommand extends $Command + .classBuilder< + UpdateRecoveryPointIndexSettingsCommandInput, + UpdateRecoveryPointIndexSettingsCommandOutput, + BackupClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: BackupClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CryoControllerUserManager", "UpdateRecoveryPointIndexSettings", {}) + .n("BackupClient", "UpdateRecoveryPointIndexSettingsCommand") + .f(void 0, void 0) + .ser(se_UpdateRecoveryPointIndexSettingsCommand) + .de(de_UpdateRecoveryPointIndexSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateRecoveryPointIndexSettingsInput; + output: UpdateRecoveryPointIndexSettingsOutput; + }; + sdk: { + input: UpdateRecoveryPointIndexSettingsCommandInput; + output: UpdateRecoveryPointIndexSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-backup/src/commands/index.ts b/clients/client-backup/src/commands/index.ts index 91cacf2c0a78..e71351400ab9 100644 --- a/clients/client-backup/src/commands/index.ts +++ b/clients/client-backup/src/commands/index.ts @@ -41,6 +41,7 @@ export * from "./GetBackupSelectionCommand"; export * from "./GetBackupVaultAccessPolicyCommand"; export * from "./GetBackupVaultNotificationsCommand"; export * from "./GetLegalHoldCommand"; +export * from "./GetRecoveryPointIndexDetailsCommand"; export * from "./GetRecoveryPointRestoreMetadataCommand"; export * from "./GetRestoreJobMetadataCommand"; export * from "./GetRestoreTestingInferredMetadataCommand"; @@ -57,6 +58,7 @@ export * from "./ListBackupVaultsCommand"; export * from "./ListCopyJobSummariesCommand"; export * from "./ListCopyJobsCommand"; export * from "./ListFrameworksCommand"; +export * from "./ListIndexedRecoveryPointsCommand"; export * from "./ListLegalHoldsCommand"; export * from "./ListProtectedResourcesByBackupVaultCommand"; export * from "./ListProtectedResourcesCommand"; @@ -85,6 +87,7 @@ export * from "./UntagResourceCommand"; export * from "./UpdateBackupPlanCommand"; export * from "./UpdateFrameworkCommand"; export * from "./UpdateGlobalSettingsCommand"; +export * from "./UpdateRecoveryPointIndexSettingsCommand"; export * from "./UpdateRecoveryPointLifecycleCommand"; export * from "./UpdateRegionSettingsCommand"; export * from "./UpdateReportPlanCommand"; diff --git a/clients/client-backup/src/models/models_0.ts b/clients/client-backup/src/models/models_0.ts index c138392251c1..03860ad1018e 100644 --- a/clients/client-backup/src/models/models_0.ts +++ b/clients/client-backup/src/models/models_0.ts @@ -525,6 +525,30 @@ export interface CopyAction { DestinationBackupVaultArn: string | undefined; } +/** + *

This is an optional array within a BackupRule.

+ *

IndexAction consists of one ResourceTypes.

+ * @public + */ +export interface IndexAction { + /** + *

0 or 1 index action will be accepted for each BackupRule.

+ *

Valid values:

+ *
    + *
  • + *

    + * EBS for Amazon Elastic Block Store

    + *
  • + *
  • + *

    + * S3 for Amazon Simple Storage Service (Amazon S3)

    + *
  • + *
+ * @public + */ + ResourceTypes?: string[] | undefined; +} + /** *

Specifies a scheduled task used to back up a selection of resources.

* @public @@ -626,6 +650,16 @@ export interface BackupRule { * @public */ ScheduleExpressionTimezone?: string | undefined; + + /** + *

IndexActions is an array you use to specify how backup data should + * be indexed.

+ *

eEach BackupRule can have 0 or 1 IndexAction, as each backup can have up + * to one index associated with it.

+ *

Within the array is ResourceType. Only one will be accepted for each BackupRule.

+ * @public + */ + IndexActions?: IndexAction[] | undefined; } /** @@ -750,6 +784,25 @@ export interface BackupRuleInput { * @public */ ScheduleExpressionTimezone?: string | undefined; + + /** + *

There can up to one IndexAction in each BackupRule, as each backup + * can have 0 or 1 backup index associated with it.

+ *

Within the array is ResourceTypes. Only 1 resource type will + * be accepted for each BackupRule. Valid values:

+ *
    + *
  • + *

    + * EBS for Amazon Elastic Block Store

    + *
  • + *
  • + *

    + * S3 for Amazon Simple Storage Service (Amazon S3)

    + *
  • + *
+ * @public + */ + IndexActions?: IndexAction[] | undefined; } /** @@ -3965,6 +4018,22 @@ export interface DescribeRecoveryPointInput { BackupVaultAccountId?: string | undefined; } +/** + * @public + * @enum + */ +export const IndexStatus = { + ACTIVE: "ACTIVE", + DELETING: "DELETING", + FAILED: "FAILED", + PENDING: "PENDING", +} as const; + +/** + * @public + */ +export type IndexStatus = (typeof IndexStatus)[keyof typeof IndexStatus]; + /** * @public * @enum @@ -4206,6 +4275,25 @@ export interface DescribeRecoveryPointOutput { * @public */ VaultType?: VaultType | undefined; + + /** + *

This is the current status for the backup index associated with the specified recovery + * point.

+ *

Statuses are: PENDING | ACTIVE | FAILED | + * DELETING + *

+ *

A recovery point with an index that has the status of ACTIVE can be + * included in a search.

+ * @public + */ + IndexStatus?: IndexStatus | undefined; + + /** + *

A string in the form of a detailed message explaining the status of a backup index + * associated with the recovery point.

+ * @public + */ + IndexStatusMessage?: string | undefined; } /** @@ -5098,6 +5186,107 @@ export interface GetLegalHoldOutput { RecoveryPointSelection?: RecoveryPointSelection | undefined; } +/** + * @public + */ +export interface GetRecoveryPointIndexDetailsInput { + /** + *

The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the Region where they are + * created.

+ *

Accepted characters include lowercase letters, numbers, and hyphens.

+ * @public + */ + BackupVaultName: string | undefined; + + /** + *

An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

+ * @public + */ + RecoveryPointArn: string | undefined; +} + +/** + * @public + */ +export interface GetRecoveryPointIndexDetailsOutput { + /** + *

An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

+ * @public + */ + RecoveryPointArn?: string | undefined; + + /** + *

An ARN that uniquely identifies the backup vault where the recovery + * point index is stored.

+ *

For example, + * arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

+ * @public + */ + BackupVaultArn?: string | undefined; + + /** + *

A string of the Amazon Resource Name (ARN) that uniquely identifies + * the source resource.

+ * @public + */ + SourceResourceArn?: string | undefined; + + /** + *

The date and time that a backup index was created, in Unix format and Coordinated + * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

+ * @public + */ + IndexCreationDate?: Date | undefined; + + /** + *

The date and time that a backup index was deleted, in Unix format and Coordinated + * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

+ * @public + */ + IndexDeletionDate?: Date | undefined; + + /** + *

The date and time that a backup index finished creation, in Unix format and Coordinated + * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

+ * @public + */ + IndexCompletionDate?: Date | undefined; + + /** + *

This is the current status for the backup index associated + * with the specified recovery point.

+ *

Statuses are: PENDING | ACTIVE | FAILED | DELETING + *

+ *

A recovery point with an index that has the status of ACTIVE + * can be included in a search.

+ * @public + */ + IndexStatus?: IndexStatus | undefined; + + /** + *

A detailed message explaining the status of a backup index associated + * with the recovery point.

+ * @public + */ + IndexStatusMessage?: string | undefined; + + /** + *

Count of items within the backup index associated with the + * recovery point.

+ * @public + */ + TotalItemsIndexed?: number | undefined; +} + /** * @public */ @@ -6549,6 +6738,190 @@ export interface ListFrameworksOutput { NextToken?: string | undefined; } +/** + * @public + */ +export interface ListIndexedRecoveryPointsInput { + /** + *

The next item following a partial list of returned recovery points.

+ *

For example, if a request + * is made to return MaxResults number of indexed recovery points, NextToken + * allows you to return more items in your list starting at the location pointed to by the + * next token.

+ * @public + */ + NextToken?: string | undefined; + + /** + *

The maximum number of resource list items to be returned.

+ * @public + */ + MaxResults?: number | undefined; + + /** + *

A string of the Amazon Resource Name (ARN) that uniquely identifies + * the source resource.

+ * @public + */ + SourceResourceArn?: string | undefined; + + /** + *

Returns only indexed recovery points that were created before the + * specified date.

+ * @public + */ + CreatedBefore?: Date | undefined; + + /** + *

Returns only indexed recovery points that were created after the + * specified date.

+ * @public + */ + CreatedAfter?: Date | undefined; + + /** + *

Returns a list of indexed recovery points for the specified + * resource type(s).

+ *

Accepted values include:

+ *
    + *
  • + *

    + * EBS for Amazon Elastic Block Store

    + *
  • + *
  • + *

    + * S3 for Amazon Simple Storage Service (Amazon S3)

    + *
  • + *
+ * @public + */ + ResourceType?: string | undefined; + + /** + *

Include this parameter to filter the returned list by + * the indicated statuses.

+ *

Accepted values: PENDING | ACTIVE | FAILED | DELETING + *

+ *

A recovery point with an index that has the status of ACTIVE + * can be included in a search.

+ * @public + */ + IndexStatus?: IndexStatus | undefined; +} + +/** + *

This is a recovery point that has an associated backup index.

+ *

Only recovery points with a backup index can be + * included in a search.

+ * @public + */ +export interface IndexedRecoveryPoint { + /** + *

An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45 + *

+ * @public + */ + RecoveryPointArn?: string | undefined; + + /** + *

A string of the Amazon Resource Name (ARN) that uniquely identifies + * the source resource.

+ * @public + */ + SourceResourceArn?: string | undefined; + + /** + *

This specifies the IAM role ARN used for this operation.

+ *

For example, arn:aws:iam::123456789012:role/S3Access

+ * @public + */ + IamRoleArn?: string | undefined; + + /** + *

The date and time that a backup was created, in Unix format and Coordinated + * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

+ * @public + */ + BackupCreationDate?: Date | undefined; + + /** + *

The resource type of the indexed recovery point.

+ *
    + *
  • + *

    + * EBS for Amazon Elastic Block Store

    + *
  • + *
  • + *

    + * S3 for Amazon Simple Storage Service (Amazon S3)

    + *
  • + *
+ * @public + */ + ResourceType?: string | undefined; + + /** + *

The date and time that a backup index was created, in Unix format and Coordinated + * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

+ * @public + */ + IndexCreationDate?: Date | undefined; + + /** + *

This is the current status for the backup index associated + * with the specified recovery point.

+ *

Statuses are: PENDING | ACTIVE | FAILED | DELETING + *

+ *

A recovery point with an index that has the status of ACTIVE + * can be included in a search.

+ * @public + */ + IndexStatus?: IndexStatus | undefined; + + /** + *

A string in the form of a detailed message explaining the status of a backup index associated + * with the recovery point.

+ * @public + */ + IndexStatusMessage?: string | undefined; + + /** + *

An ARN that uniquely identifies the backup vault where the recovery + * point index is stored.

+ *

For example, + * arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

+ * @public + */ + BackupVaultArn?: string | undefined; +} + +/** + * @public + */ +export interface ListIndexedRecoveryPointsOutput { + /** + *

This is a list of recovery points that have an + * associated index, belonging to the specified account.

+ * @public + */ + IndexedRecoveryPoints?: IndexedRecoveryPoint[] | undefined; + + /** + *

The next item following a partial list of returned recovery points.

+ *

For example, if a request + * is made to return MaxResults number of indexed recovery points, NextToken + * allows you to return more items in your list starting at the location pointed to by the + * next token.

+ * @public + */ + NextToken?: string | undefined; +} + /** * @public */ @@ -7114,6 +7487,25 @@ export interface RecoveryPointByBackupVault { * @public */ VaultType?: VaultType | undefined; + + /** + *

This is the current status for the backup index associated + * with the specified recovery point.

+ *

Statuses are: PENDING | ACTIVE | FAILED | + * DELETING + *

+ *

A recovery point with an index that has the status of ACTIVE + * can be included in a search.

+ * @public + */ + IndexStatus?: IndexStatus | undefined; + + /** + *

A string in the form of a detailed message explaining the status of a backup index associated + * with the recovery point.

+ * @public + */ + IndexStatusMessage?: string | undefined; } /** @@ -7340,6 +7732,24 @@ export interface RecoveryPointByResource { * @public */ VaultType?: VaultType | undefined; + + /** + *

This is the current status for the backup index associated + * with the specified recovery point.

+ *

Statuses are: PENDING | ACTIVE | FAILED | DELETING + *

+ *

A recovery point with an index that has the status of ACTIVE + * can be included in a search.

+ * @public + */ + IndexStatus?: IndexStatus | undefined; + + /** + *

A string in the form of a detailed message explaining the status of a backup index + * associated with the recovery point.

+ * @public + */ + IndexStatusMessage?: string | undefined; } /** @@ -8486,6 +8896,20 @@ export interface PutRestoreValidationResultInput { ValidationStatusMessage?: string | undefined; } +/** + * @public + * @enum + */ +export const Index = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type Index = (typeof Index)[keyof typeof Index]; + /** * @public */ @@ -8579,6 +9003,29 @@ export interface StartBackupJobInput { * @public */ BackupOptions?: Record | undefined; + + /** + *

Include this parameter to enable index creation if your backup + * job has a resource type that supports backup indexes.

+ *

Resource types that support backup indexes include:

+ *
    + *
  • + *

    + * EBS for Amazon Elastic Block Store

    + *
  • + *
  • + *

    + * S3 for Amazon Simple Storage Service (Amazon S3)

    + *
  • + *
+ *

Index can have 1 of 2 possible values, either ENABLED or + * DISABLED.

+ *

To create a backup index for an eligible ACTIVE recovery point + * that does not yet have a backup index, set value to ENABLED.

+ *

To delete a backup index, set value to DISABLED.

+ * @public + */ + Index?: Index | undefined; } /** @@ -9131,6 +9578,85 @@ export interface UpdateGlobalSettingsInput { GlobalSettings?: Record | undefined; } +/** + * @public + */ +export interface UpdateRecoveryPointIndexSettingsInput { + /** + *

The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the Region where they are + * created.

+ *

Accepted characters include lowercase letters, numbers, and hyphens.

+ * @public + */ + BackupVaultName: string | undefined; + + /** + *

An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

+ * @public + */ + RecoveryPointArn: string | undefined; + + /** + *

This specifies the IAM role ARN used for this operation.

+ *

For example, arn:aws:iam::123456789012:role/S3Access

+ * @public + */ + IamRoleArn?: string | undefined; + + /** + *

Index can have 1 of 2 possible values, either ENABLED or + * DISABLED.

+ *

To create a backup index for an eligible ACTIVE recovery point + * that does not yet have a backup index, set value to ENABLED.

+ *

To delete a backup index, set value to DISABLED.

+ * @public + */ + Index: Index | undefined; +} + +/** + * @public + */ +export interface UpdateRecoveryPointIndexSettingsOutput { + /** + *

The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the Region where they are + * created.

+ * @public + */ + BackupVaultName?: string | undefined; + + /** + *

An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

+ * @public + */ + RecoveryPointArn?: string | undefined; + + /** + *

This is the current status for the backup index associated + * with the specified recovery point.

+ *

Statuses are: PENDING | ACTIVE | FAILED | DELETING + *

+ *

A recovery point with an index that has the status of ACTIVE + * can be included in a search.

+ * @public + */ + IndexStatus?: IndexStatus | undefined; + + /** + *

Index can have 1 of 2 possible values, either ENABLED or + * DISABLED.

+ *

A value of ENABLED means a backup index for an eligible ACTIVE + * recovery point has been created.

+ *

A value of DISABLED means a backup index was deleted.

+ * @public + */ + Index?: Index | undefined; +} + /** * @public */ diff --git a/clients/client-backup/src/pagination/ListIndexedRecoveryPointsPaginator.ts b/clients/client-backup/src/pagination/ListIndexedRecoveryPointsPaginator.ts new file mode 100644 index 000000000000..413376405be6 --- /dev/null +++ b/clients/client-backup/src/pagination/ListIndexedRecoveryPointsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { BackupClient } from "../BackupClient"; +import { + ListIndexedRecoveryPointsCommand, + ListIndexedRecoveryPointsCommandInput, + ListIndexedRecoveryPointsCommandOutput, +} from "../commands/ListIndexedRecoveryPointsCommand"; +import { BackupPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListIndexedRecoveryPoints: ( + config: BackupPaginationConfiguration, + input: ListIndexedRecoveryPointsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + BackupPaginationConfiguration, + ListIndexedRecoveryPointsCommandInput, + ListIndexedRecoveryPointsCommandOutput +>(BackupClient, ListIndexedRecoveryPointsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-backup/src/pagination/index.ts b/clients/client-backup/src/pagination/index.ts index 2c6684518a27..0c2d21c0f698 100644 --- a/clients/client-backup/src/pagination/index.ts +++ b/clients/client-backup/src/pagination/index.ts @@ -10,6 +10,7 @@ export * from "./ListBackupVaultsPaginator"; export * from "./ListCopyJobSummariesPaginator"; export * from "./ListCopyJobsPaginator"; export * from "./ListFrameworksPaginator"; +export * from "./ListIndexedRecoveryPointsPaginator"; export * from "./ListLegalHoldsPaginator"; export * from "./ListProtectedResourcesByBackupVaultPaginator"; export * from "./ListProtectedResourcesPaginator"; diff --git a/clients/client-backup/src/protocols/Aws_restJson1.ts b/clients/client-backup/src/protocols/Aws_restJson1.ts index a6bb94c3611f..21b36a775da8 100644 --- a/clients/client-backup/src/protocols/Aws_restJson1.ts +++ b/clients/client-backup/src/protocols/Aws_restJson1.ts @@ -139,6 +139,10 @@ import { GetBackupVaultNotificationsCommandOutput, } from "../commands/GetBackupVaultNotificationsCommand"; import { GetLegalHoldCommandInput, GetLegalHoldCommandOutput } from "../commands/GetLegalHoldCommand"; +import { + GetRecoveryPointIndexDetailsCommandInput, + GetRecoveryPointIndexDetailsCommandOutput, +} from "../commands/GetRecoveryPointIndexDetailsCommand"; import { GetRecoveryPointRestoreMetadataCommandInput, GetRecoveryPointRestoreMetadataCommandOutput, @@ -188,6 +192,10 @@ import { ListCopyJobSummariesCommandOutput, } from "../commands/ListCopyJobSummariesCommand"; import { ListFrameworksCommandInput, ListFrameworksCommandOutput } from "../commands/ListFrameworksCommand"; +import { + ListIndexedRecoveryPointsCommandInput, + ListIndexedRecoveryPointsCommandOutput, +} from "../commands/ListIndexedRecoveryPointsCommand"; import { ListLegalHoldsCommandInput, ListLegalHoldsCommandOutput } from "../commands/ListLegalHoldsCommand"; import { ListProtectedResourcesByBackupVaultCommandInput, @@ -258,6 +266,10 @@ import { UpdateGlobalSettingsCommandInput, UpdateGlobalSettingsCommandOutput, } from "../commands/UpdateGlobalSettingsCommand"; +import { + UpdateRecoveryPointIndexSettingsCommandInput, + UpdateRecoveryPointIndexSettingsCommandOutput, +} from "../commands/UpdateRecoveryPointIndexSettingsCommand"; import { UpdateRecoveryPointLifecycleCommandInput, UpdateRecoveryPointLifecycleCommandOutput, @@ -302,6 +314,8 @@ import { DependencyFailureException, Framework, FrameworkControl, + IndexAction, + IndexedRecoveryPoint, InvalidParameterValueException, InvalidRequestException, InvalidResourceStateException, @@ -1113,6 +1127,23 @@ export const se_GetLegalHoldCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetRecoveryPointIndexDetailsCommand + */ +export const se_GetRecoveryPointIndexDetailsCommand = async ( + input: GetRecoveryPointIndexDetailsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}/index"); + b.p("BackupVaultName", () => input.BackupVaultName!, "{BackupVaultName}", false); + b.p("RecoveryPointArn", () => input.RecoveryPointArn!, "{RecoveryPointArn}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetRecoveryPointRestoreMetadataCommand */ @@ -1444,6 +1475,30 @@ export const se_ListFrameworksCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListIndexedRecoveryPointsCommand + */ +export const se_ListIndexedRecoveryPointsCommand = async ( + input: ListIndexedRecoveryPointsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/indexes/recovery-point"); + const query: any = map({ + [_nT]: [, input[_NT]!], + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + [_sRA]: [, input[_SRA]!], + [_cB]: [() => input.CreatedBefore !== void 0, () => __serializeDateTime(input[_CB]!).toString()], + [_cA]: [() => input.CreatedAfter !== void 0, () => __serializeDateTime(input[_CA]!).toString()], + [_rT]: [, input[_RT]!], + [_iS]: [, input[_IS]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListLegalHoldsCommand */ @@ -1583,8 +1638,8 @@ export const se_ListReportJobsCommand = async ( b.bp("/audit/report-jobs"); const query: any = map({ [_RPN]: [, input[_BRPN]!], - [_CB]: [() => input.ByCreationBefore !== void 0, () => __serializeDateTime(input[_BCByr]!).toString()], - [_CA]: [() => input.ByCreationAfter !== void 0, () => __serializeDateTime(input[_BCAyr]!).toString()], + [_CBr]: [() => input.ByCreationBefore !== void 0, () => __serializeDateTime(input[_BCByr]!).toString()], + [_CAr]: [() => input.ByCreationAfter !== void 0, () => __serializeDateTime(input[_BCAyr]!).toString()], [_St]: [, input[_BSyt]!], [_MR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], [_NT]: [, input[_NT]!], @@ -1867,6 +1922,7 @@ export const se_StartBackupJobCommand = async ( CompleteWindowMinutes: [], IamRoleArn: [], IdempotencyToken: [], + Index: [], Lifecycle: (_) => _json(_), RecoveryPointTags: (_) => _json(_), ResourceArn: [], @@ -2086,6 +2142,31 @@ export const se_UpdateGlobalSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateRecoveryPointIndexSettingsCommand + */ +export const se_UpdateRecoveryPointIndexSettingsCommand = async ( + input: UpdateRecoveryPointIndexSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}/index"); + b.p("BackupVaultName", () => input.BackupVaultName!, "{BackupVaultName}", false); + b.p("RecoveryPointArn", () => input.RecoveryPointArn!, "{RecoveryPointArn}", false); + let body: any; + body = JSON.stringify( + take(input, { + IamRoleArn: [], + Index: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateRecoveryPointLifecycleCommand */ @@ -2835,6 +2916,8 @@ export const de_DescribeRecoveryPointCommand = async ( CreationDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), EncryptionKeyArn: __expectString, IamRoleArn: __expectString, + IndexStatus: __expectString, + IndexStatusMessage: __expectString, IsEncrypted: __expectBoolean, IsParent: __expectBoolean, LastRestoreTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), @@ -3185,6 +3268,35 @@ export const de_GetLegalHoldCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetRecoveryPointIndexDetailsCommand + */ +export const de_GetRecoveryPointIndexDetailsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + BackupVaultArn: __expectString, + IndexCompletionDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + IndexCreationDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + IndexDeletionDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + IndexStatus: __expectString, + IndexStatusMessage: __expectString, + RecoveryPointArn: __expectString, + SourceResourceArn: __expectString, + TotalItemsIndexed: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetRecoveryPointRestoreMetadataCommand */ @@ -3537,6 +3649,28 @@ export const de_ListFrameworksCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListIndexedRecoveryPointsCommand + */ +export const de_ListIndexedRecoveryPointsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + IndexedRecoveryPoints: (_) => de_IndexedRecoveryPointList(_, context), + NextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListLegalHoldsCommand */ @@ -4119,6 +4253,30 @@ export const de_UpdateGlobalSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateRecoveryPointIndexSettingsCommand + */ +export const de_UpdateRecoveryPointIndexSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + BackupVaultName: __expectString, + Index: __expectString, + IndexStatus: __expectString, + RecoveryPointArn: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1UpdateRecoveryPointLifecycleCommand */ @@ -4566,6 +4724,10 @@ const se_DateRange = (input: DateRange, context: __SerdeContext): any => { // se_GlobalSettings omitted. +// se_IndexAction omitted. + +// se_IndexActions omitted. + // se_KeyValue omitted. // se_KeyValueList omitted. @@ -4603,6 +4765,8 @@ const se_RecoveryPointSelection = (input: RecoveryPointSelection, context: __Ser // se_ResourceTypeOptInPreference omitted. +// se_ResourceTypes omitted. + // se_RestoreTestingPlanForCreate omitted. // se_RestoreTestingPlanForUpdate omitted. @@ -4967,6 +5131,39 @@ const de_FrameworkList = (output: any, context: __SerdeContext): Framework[] => // de_GlobalSettings omitted. +// de_IndexAction omitted. + +// de_IndexActions omitted. + +/** + * deserializeAws_restJson1IndexedRecoveryPoint + */ +const de_IndexedRecoveryPoint = (output: any, context: __SerdeContext): IndexedRecoveryPoint => { + return take(output, { + BackupCreationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + BackupVaultArn: __expectString, + IamRoleArn: __expectString, + IndexCreationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + IndexStatus: __expectString, + IndexStatusMessage: __expectString, + RecoveryPointArn: __expectString, + ResourceType: __expectString, + SourceResourceArn: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1IndexedRecoveryPointList + */ +const de_IndexedRecoveryPointList = (output: any, context: __SerdeContext): IndexedRecoveryPoint[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_IndexedRecoveryPoint(entry, context); + }); + return retVal; +}; + // de_KeyValue omitted. // de_KeyValueList omitted. @@ -5047,6 +5244,8 @@ const de_RecoveryPointByBackupVault = (output: any, context: __SerdeContext): Re CreationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), EncryptionKeyArn: __expectString, IamRoleArn: __expectString, + IndexStatus: __expectString, + IndexStatusMessage: __expectString, IsEncrypted: __expectBoolean, IsParent: __expectBoolean, LastRestoreTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), @@ -5084,6 +5283,8 @@ const de_RecoveryPointByResource = (output: any, context: __SerdeContext): Recov BackupVaultName: __expectString, CreationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), EncryptionKeyArn: __expectString, + IndexStatus: __expectString, + IndexStatusMessage: __expectString, IsParent: __expectBoolean, ParentRecoveryPointArn: __expectString, RecoveryPointArn: __expectString, @@ -5409,10 +5610,13 @@ const _BSyt = "ByStatus"; const _BVAI = "BackupVaultAccountId"; const _BVN = "BackupVaultName"; const _BVT = "ByVaultType"; -const _CA = "CreationAfter"; -const _CB = "CreationBefore"; +const _CA = "CreatedAfter"; +const _CAr = "CreationAfter"; +const _CB = "CreatedBefore"; +const _CBr = "CreationBefore"; const _CD = "CancelDescription"; const _ID = "IncludeDeleted"; +const _IS = "IndexStatus"; const _MBAWSBO = "ManagedByAWSBackupOnly"; const _MC = "MessageCategory"; const _MR = "MaxResults"; @@ -5422,6 +5626,7 @@ const _RPN = "ReportPlanName"; const _RRID = "RetainRecordInDays"; const _RT = "ResourceType"; const _S = "State"; +const _SRA = "SourceResourceArn"; const _St = "Status"; const _VI = "VersionId"; const _aI = "accountId"; @@ -5435,6 +5640,7 @@ const _cBo = "completeBefore"; const _cD = "cancelDescription"; const _dVA = "destinationVaultArn"; const _iD = "includeDeleted"; +const _iS = "indexStatus"; const _mBAWSBO = "managedByAWSBackupOnly"; const _mC = "messageCategory"; const _mR = "maxResults"; @@ -5448,6 +5654,7 @@ const _rRID = "retainRecordInDays"; const _rT = "resourceType"; const _rTPA = "restoreTestingPlanArn"; const _s = "state"; +const _sRA = "sourceResourceArn"; const _sh = "shared"; const _st = "status"; const _vI = "versionId"; diff --git a/codegen/sdk-codegen/aws-models/backup.json b/codegen/sdk-codegen/aws-models/backup.json index 7f744bf96694..644f3c412a1c 100644 --- a/codegen/sdk-codegen/aws-models/backup.json +++ b/codegen/sdk-codegen/aws-models/backup.json @@ -743,6 +743,12 @@ "traits": { "smithy.api#documentation": "

The timezone in which the schedule expression is set. By default, \n ScheduleExpressions are in UTC. You can modify this to a specified timezone.

" } + }, + "IndexActions": { + "target": "com.amazonaws.backup#IndexActions", + "traits": { + "smithy.api#documentation": "

IndexActions is an array you use to specify how backup data should \n be indexed.

\n

eEach BackupRule can have 0 or 1 IndexAction, as each backup can have up \n to one index associated with it.

\n

Within the array is ResourceType. Only one will be accepted for each BackupRule.

" + } } }, "traits": { @@ -813,6 +819,12 @@ "traits": { "smithy.api#documentation": "

The timezone in which the schedule expression is set. By default, \n ScheduleExpressions are in UTC. You can modify this to a specified timezone.

" } + }, + "IndexActions": { + "target": "com.amazonaws.backup#IndexActions", + "traits": { + "smithy.api#documentation": "

There can up to one IndexAction in each BackupRule, as each backup \n can have 0 or 1 backup index associated with it.

\n

Within the array is ResourceTypes. Only 1 resource type will \n be accepted for each BackupRule. Valid values:

\n
    \n
  • \n

    \n EBS for Amazon Elastic Block Store

    \n
  • \n
  • \n

    \n S3 for Amazon Simple Storage Service (Amazon S3)

    \n
  • \n
" + } } }, "traits": { @@ -2850,6 +2862,9 @@ { "target": "com.amazonaws.backup#GetLegalHold" }, + { + "target": "com.amazonaws.backup#GetRecoveryPointIndexDetails" + }, { "target": "com.amazonaws.backup#GetRecoveryPointRestoreMetadata" }, @@ -2898,6 +2913,9 @@ { "target": "com.amazonaws.backup#ListFrameworks" }, + { + "target": "com.amazonaws.backup#ListIndexedRecoveryPoints" + }, { "target": "com.amazonaws.backup#ListLegalHolds" }, @@ -2982,6 +3000,9 @@ { "target": "com.amazonaws.backup#UpdateGlobalSettings" }, + { + "target": "com.amazonaws.backup#UpdateRecoveryPointIndexSettings" + }, { "target": "com.amazonaws.backup#UpdateRecoveryPointLifecycle" }, @@ -5475,6 +5496,18 @@ "traits": { "smithy.api#documentation": "

The type of vault in which the described recovery point is stored.

" } + }, + "IndexStatus": { + "target": "com.amazonaws.backup#IndexStatus", + "traits": { + "smithy.api#documentation": "

This is the current status for the backup index associated with the specified recovery\n point.

\n

Statuses are: PENDING | ACTIVE | FAILED |\n DELETING\n

\n

A recovery point with an index that has the status of ACTIVE can be\n included in a search.

" + } + }, + "IndexStatusMessage": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

A string in the form of a detailed message explaining the status of a backup index\n associated with the recovery point.

" + } } }, "traits": { @@ -6717,6 +6750,124 @@ "smithy.api#output": {} } }, + "com.amazonaws.backup#GetRecoveryPointIndexDetails": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#GetRecoveryPointIndexDetailsInput" + }, + "output": { + "target": "com.amazonaws.backup#GetRecoveryPointIndexDetailsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#MissingParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation returns the metadata and details specific to \n the backup index associated with the specified recovery point.

", + "smithy.api#http": { + "method": "GET", + "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}/index", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.backup#GetRecoveryPointIndexDetailsInput": { + "type": "structure", + "members": { + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

The name of a logical container where backups are stored. Backup vaults are identified\n by names that are unique to the account used to create them and the Region where they are\n created.

\n

Accepted characters include lowercase letters, numbers, and hyphens.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RecoveryPointArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.backup#GetRecoveryPointIndexDetailsOutput": { + "type": "structure", + "members": { + "RecoveryPointArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + } + }, + "BackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

An ARN that uniquely identifies the backup vault where the recovery \n point index is stored.

\n

For example,\n arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

" + } + }, + "SourceResourceArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

A string of the Amazon Resource Name (ARN) that uniquely identifies \n the source resource.

" + } + }, + "IndexCreationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that a backup index was created, in Unix format and Coordinated\n Universal Time (UTC). The value of CreationDate is accurate to milliseconds.\n For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n AM.

" + } + }, + "IndexDeletionDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that a backup index was deleted, in Unix format and Coordinated\n Universal Time (UTC). The value of CreationDate is accurate to milliseconds.\n For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n AM.

" + } + }, + "IndexCompletionDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that a backup index finished creation, in Unix format and Coordinated\n Universal Time (UTC). The value of CreationDate is accurate to milliseconds.\n For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n AM.

" + } + }, + "IndexStatus": { + "target": "com.amazonaws.backup#IndexStatus", + "traits": { + "smithy.api#documentation": "

This is the current status for the backup index associated \n with the specified recovery point.

\n

Statuses are: PENDING | ACTIVE | FAILED | DELETING\n

\n

A recovery point with an index that has the status of ACTIVE \n can be included in a search.

" + } + }, + "IndexStatusMessage": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

A detailed message explaining the status of a backup index associated \n with the recovery point.

" + } + }, + "TotalItemsIndexed": { + "target": "com.amazonaws.backup#Long", + "traits": { + "smithy.api#documentation": "

Count of items within the backup index associated with the \n recovery point.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.backup#GetRecoveryPointRestoreMetadata": { "type": "operation", "input": { @@ -7133,6 +7284,140 @@ "com.amazonaws.backup#IAMRoleArn": { "type": "string" }, + "com.amazonaws.backup#Index": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.backup#IndexAction": { + "type": "structure", + "members": { + "ResourceTypes": { + "target": "com.amazonaws.backup#ResourceTypes", + "traits": { + "smithy.api#documentation": "

0 or 1 index action will be accepted for each BackupRule.

\n

Valid values:

\n
    \n
  • \n

    \n EBS for Amazon Elastic Block Store

    \n
  • \n
  • \n

    \n S3 for Amazon Simple Storage Service (Amazon S3)

    \n
  • \n
" + } + } + }, + "traits": { + "smithy.api#documentation": "

This is an optional array within a BackupRule.

\n

IndexAction consists of one ResourceTypes.

" + } + }, + "com.amazonaws.backup#IndexActions": { + "type": "list", + "member": { + "target": "com.amazonaws.backup#IndexAction" + } + }, + "com.amazonaws.backup#IndexStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + } + } + }, + "com.amazonaws.backup#IndexedRecoveryPoint": { + "type": "structure", + "members": { + "RecoveryPointArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45\n

" + } + }, + "SourceResourceArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

A string of the Amazon Resource Name (ARN) that uniquely identifies \n the source resource.

" + } + }, + "IamRoleArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

This specifies the IAM role ARN used for this operation.

\n

For example, arn:aws:iam::123456789012:role/S3Access

" + } + }, + "BackupCreationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that a backup was created, in Unix format and Coordinated\n Universal Time (UTC). The value of CreationDate is accurate to milliseconds.\n For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n AM.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.backup#ResourceType", + "traits": { + "smithy.api#documentation": "

The resource type of the indexed recovery point.

\n
    \n
  • \n

    \n EBS for Amazon Elastic Block Store

    \n
  • \n
  • \n

    \n S3 for Amazon Simple Storage Service (Amazon S3)

    \n
  • \n
" + } + }, + "IndexCreationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that a backup index was created, in Unix format and Coordinated\n Universal Time (UTC). The value of CreationDate is accurate to milliseconds.\n For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n AM.

" + } + }, + "IndexStatus": { + "target": "com.amazonaws.backup#IndexStatus", + "traits": { + "smithy.api#documentation": "

This is the current status for the backup index associated \n with the specified recovery point.

\n

Statuses are: PENDING | ACTIVE | FAILED | DELETING\n

\n

A recovery point with an index that has the status of ACTIVE \n can be included in a search.

" + } + }, + "IndexStatusMessage": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

A string in the form of a detailed message explaining the status of a backup index associated \n with the recovery point.

" + } + }, + "BackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

An ARN that uniquely identifies the backup vault where the recovery \n point index is stored.

\n

For example,\n arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This is a recovery point that has an associated backup index.

\n

Only recovery points with a backup index can be \n included in a search.

" + } + }, + "com.amazonaws.backup#IndexedRecoveryPointList": { + "type": "list", + "member": { + "target": "com.amazonaws.backup#IndexedRecoveryPoint" + } + }, "com.amazonaws.backup#InvalidParameterValueException": { "type": "structure", "members": { @@ -8422,6 +8707,118 @@ "smithy.api#output": {} } }, + "com.amazonaws.backup#ListIndexedRecoveryPoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#ListIndexedRecoveryPointsInput" + }, + "output": { + "target": "com.amazonaws.backup#ListIndexedRecoveryPointsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation returns a list of recovery points that have an \n associated index, belonging to the specified account.

\n

Optional parameters you can include are: MaxResults; \n NextToken; SourceResourceArns; CreatedBefore; CreatedAfter; \n and ResourceType.

", + "smithy.api#http": { + "method": "GET", + "uri": "/indexes/recovery-point", + "code": 200 + }, + "smithy.api#idempotent": {}, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IndexedRecoveryPoints", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.backup#ListIndexedRecoveryPointsInput": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The next item following a partial list of returned recovery points.

\n

For example, if a request\n is made to return MaxResults number of indexed recovery points, NextToken\n allows you to return more items in your list starting at the location pointed to by the\n next token.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.backup#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of resource list items to be returned.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "SourceResourceArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

A string of the Amazon Resource Name (ARN) that uniquely identifies \n the source resource.

", + "smithy.api#httpQuery": "sourceResourceArn" + } + }, + "CreatedBefore": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

Returns only indexed recovery points that were created before the \n specified date.

", + "smithy.api#httpQuery": "createdBefore" + } + }, + "CreatedAfter": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

Returns only indexed recovery points that were created after the \n specified date.

", + "smithy.api#httpQuery": "createdAfter" + } + }, + "ResourceType": { + "target": "com.amazonaws.backup#ResourceType", + "traits": { + "smithy.api#documentation": "

Returns a list of indexed recovery points for the specified \n resource type(s).

\n

Accepted values include:

\n
    \n
  • \n

    \n EBS for Amazon Elastic Block Store

    \n
  • \n
  • \n

    \n S3 for Amazon Simple Storage Service (Amazon S3)

    \n
  • \n
", + "smithy.api#httpQuery": "resourceType" + } + }, + "IndexStatus": { + "target": "com.amazonaws.backup#IndexStatus", + "traits": { + "smithy.api#documentation": "

Include this parameter to filter the returned list by \n the indicated statuses.

\n

Accepted values: PENDING | ACTIVE | FAILED | DELETING\n

\n

A recovery point with an index that has the status of ACTIVE \n can be included in a search.

", + "smithy.api#httpQuery": "indexStatus" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.backup#ListIndexedRecoveryPointsOutput": { + "type": "structure", + "members": { + "IndexedRecoveryPoints": { + "target": "com.amazonaws.backup#IndexedRecoveryPointList", + "traits": { + "smithy.api#documentation": "

This is a list of recovery points that have an \n associated index, belonging to the specified account.

" + } + }, + "NextToken": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The next item following a partial list of returned recovery points.

\n

For example, if a request\n is made to return MaxResults number of indexed recovery points, NextToken\n allows you to return more items in your list starting at the location pointed to by the\n next token.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.backup#ListLegalHolds": { "type": "operation", "input": { @@ -10316,6 +10713,18 @@ "traits": { "smithy.api#documentation": "

The type of vault in which the described recovery point is stored.

" } + }, + "IndexStatus": { + "target": "com.amazonaws.backup#IndexStatus", + "traits": { + "smithy.api#documentation": "

This is the current status for the backup index associated \n with the specified recovery point.

\n

Statuses are: PENDING | ACTIVE | FAILED |\n DELETING\n

\n

A recovery point with an index that has the status of ACTIVE \n can be included in a search.

" + } + }, + "IndexStatusMessage": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

A string in the form of a detailed message explaining the status of a backup index associated \n with the recovery point.

" + } } }, "traits": { @@ -10397,6 +10806,18 @@ "traits": { "smithy.api#documentation": "

The type of vault in which the described recovery point is \n stored.

" } + }, + "IndexStatus": { + "target": "com.amazonaws.backup#IndexStatus", + "traits": { + "smithy.api#documentation": "

This is the current status for the backup index associated \n with the specified recovery point.

\n

Statuses are: PENDING | ACTIVE | FAILED | DELETING\n

\n

A recovery point with an index that has the status of ACTIVE \n can be included in a search.

" + } + }, + "IndexStatusMessage": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

A string in the form of a detailed message explaining the status of a backup index\n associated with the recovery point.

" + } } }, "traits": { @@ -11851,6 +12272,12 @@ "traits": { "smithy.api#documentation": "

The backup option for a selected resource. This option is only available for\n Windows Volume Shadow Copy Service (VSS) backup jobs.

\n

Valid values: Set to \"WindowsVSS\":\"enabled\" to enable the\n WindowsVSS backup option and create a Windows VSS backup. Set to\n \"WindowsVSS\"\"disabled\" to create a regular backup. The\n WindowsVSS option is not enabled by default.

" } + }, + "Index": { + "target": "com.amazonaws.backup#Index", + "traits": { + "smithy.api#documentation": "

Include this parameter to enable index creation if your backup \n job has a resource type that supports backup indexes.

\n

Resource types that support backup indexes include:

\n
    \n
  • \n

    \n EBS for Amazon Elastic Block Store

    \n
  • \n
  • \n

    \n S3 for Amazon Simple Storage Service (Amazon S3)

    \n
  • \n
\n

Index can have 1 of 2 possible values, either ENABLED or \n DISABLED.

\n

To create a backup index for an eligible ACTIVE recovery point \n that does not yet have a backup index, set value to ENABLED.

\n

To delete a backup index, set value to DISABLED.

" + } } }, "traits": { @@ -12621,6 +13048,110 @@ "smithy.api#input": {} } }, + "com.amazonaws.backup#UpdateRecoveryPointIndexSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#UpdateRecoveryPointIndexSettingsInput" + }, + "output": { + "target": "com.amazonaws.backup#UpdateRecoveryPointIndexSettingsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#InvalidRequestException" + }, + { + "target": "com.amazonaws.backup#MissingParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation updates the settings of a recovery point index.

\n

Required: BackupVaultName, RecoveryPointArn, and IAMRoleArn

", + "smithy.api#http": { + "method": "POST", + "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}/index", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.backup#UpdateRecoveryPointIndexSettingsInput": { + "type": "structure", + "members": { + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

The name of a logical container where backups are stored. Backup vaults are identified\n by names that are unique to the account used to create them and the Region where they are\n created.

\n

Accepted characters include lowercase letters, numbers, and hyphens.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RecoveryPointArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "IamRoleArn": { + "target": "com.amazonaws.backup#IAMRoleArn", + "traits": { + "smithy.api#documentation": "

This specifies the IAM role ARN used for this operation.

\n

For example, arn:aws:iam::123456789012:role/S3Access

" + } + }, + "Index": { + "target": "com.amazonaws.backup#Index", + "traits": { + "smithy.api#documentation": "

Index can have 1 of 2 possible values, either ENABLED or \n DISABLED.

\n

To create a backup index for an eligible ACTIVE recovery point \n that does not yet have a backup index, set value to ENABLED.

\n

To delete a backup index, set value to DISABLED.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.backup#UpdateRecoveryPointIndexSettingsOutput": { + "type": "structure", + "members": { + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

The name of a logical container where backups are stored. Backup vaults are identified\n by names that are unique to the account used to create them and the Region where they are\n created.

" + } + }, + "RecoveryPointArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + } + }, + "IndexStatus": { + "target": "com.amazonaws.backup#IndexStatus", + "traits": { + "smithy.api#documentation": "

This is the current status for the backup index associated \n with the specified recovery point.

\n

Statuses are: PENDING | ACTIVE | FAILED | DELETING\n

\n

A recovery point with an index that has the status of ACTIVE \n can be included in a search.

" + } + }, + "Index": { + "target": "com.amazonaws.backup#Index", + "traits": { + "smithy.api#documentation": "

Index can have 1 of 2 possible values, either ENABLED or\n DISABLED.

\n

A value of ENABLED means a backup index for an eligible ACTIVE\n recovery point has been created.

\n

A value of DISABLED means a backup index was deleted.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.backup#UpdateRecoveryPointLifecycle": { "type": "operation", "input": {