diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/CHANGELOG.md b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/CHANGELOG.md index ac2f2d974c71..b79a6c7bda17 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/CHANGELOG.md +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/CHANGELOG.md @@ -1,9 +1,10 @@ # Release History -## 10.0.0 (2022-12-05) +## 10.0.0 (2023-01-16) **Features** + - Added operation group DeletedProtectionContainers - Added Interface AzureBackupGoalFeatureSupportRequest - Added Interface AzureBackupServerContainer - Added Interface AzureBackupServerEngine @@ -48,6 +49,9 @@ - Added Interface AzureVmWorkloadSAPHanaDatabaseProtectableItem - Added Interface AzureVmWorkloadSAPHanaDatabaseProtectedItem - Added Interface AzureVmWorkloadSAPHanaDatabaseWorkloadItem + - Added Interface AzureVmWorkloadSAPHanaDBInstance + - Added Interface AzureVmWorkloadSAPHanaDBInstanceProtectedItem + - Added Interface AzureVmWorkloadSAPHanaHSR - Added Interface AzureVmWorkloadSAPHanaSystemProtectableItem - Added Interface AzureVmWorkloadSAPHanaSystemWorkloadItem - Added Interface AzureVmWorkloadSQLAvailabilityGroupProtectableItem @@ -86,6 +90,8 @@ - Added Interface BackupResourceEncryptionConfigExtendedResource - Added Interface BackupResourceEncryptionConfigResource - Added Interface BackupResourceVaultConfigResource + - Added Interface DeletedProtectionContainersListNextOptionalParams + - Added Interface DeletedProtectionContainersListOptionalParams - Added Interface DpmBackupEngine - Added Interface DpmContainer - Added Interface DpmJob @@ -130,6 +136,7 @@ - Added Interface ProtectionIntentResourceList - Added Interface ProtectionPolicyResource - Added Interface ProtectionPolicyResourceList + - Added Interface RecoveryPointProperties - Added Interface RecoveryPointResource - Added Interface RecoveryPointResourceList - Added Interface RecoveryPointTierInformationV2 @@ -139,6 +146,7 @@ - Added Interface SimpleRetentionPolicy - Added Interface SimpleSchedulePolicy - Added Interface SimpleSchedulePolicyV2 + - Added Interface TieringPolicy - Added Interface ValidateIaasVMRestoreOperationRequest - Added Interface ValidateRestoreOperationRequest - Added Interface VaultJob @@ -146,6 +154,39 @@ - Added Interface WorkloadItemResourceList - Added Interface WorkloadProtectableItemResource - Added Interface WorkloadProtectableItemResourceList + - Added Type Alias DeletedProtectionContainersListNextResponse + - Added Type Alias DeletedProtectionContainersListResponse + - Added Type Alias ProtectableContainerType + - Added Type Alias TieringMode + - Interface AzureIaaSVMProtectedItemExtendedInfo has a new optional parameter newestRecoveryPointInArchive + - Interface AzureIaaSVMProtectedItemExtendedInfo has a new optional parameter oldestRecoveryPointInArchive + - Interface AzureIaaSVMProtectedItemExtendedInfo has a new optional parameter oldestRecoveryPointInVault + - Interface AzureVmWorkloadProtectedItemExtendedInfo has a new optional parameter newestRecoveryPointInArchive + - Interface AzureVmWorkloadProtectedItemExtendedInfo has a new optional parameter oldestRecoveryPointInArchive + - Interface AzureVmWorkloadProtectedItemExtendedInfo has a new optional parameter oldestRecoveryPointInVault + - Interface ProtectedItem has a new optional parameter softDeleteRetentionPeriod + - Interface SubProtectionPolicy has a new optional parameter tieringPolicy + - Added Enum KnownTieringMode + - Enum KnownBackupItemType has a new value SAPHanaDBInstance + - Enum KnownBackupType has a new value SnapshotCopyOnlyFull + - Enum KnownBackupType has a new value SnapshotFull + - Enum KnownContainerType has a new value HanaHSRContainer + - Enum KnownDataSourceType has a new value SAPHanaDBInstance + - Enum KnownPolicyType has a new value SnapshotCopyOnlyFull + - Enum KnownPolicyType has a new value SnapshotFull + - Enum KnownProtectedItemState has a new value BackupsSuspended + - Enum KnownProtectionState has a new value BackupsSuspended + - Enum KnownRestorePointQueryType has a new value SnapshotCopyOnlyFull + - Enum KnownRestorePointQueryType has a new value SnapshotFull + - Enum KnownRestorePointType has a new value SnapshotCopyOnlyFull + - Enum KnownRestorePointType has a new value SnapshotFull + - Enum KnownWorkloadItemType has a new value SAPHanaDBInstance + - Enum KnownWorkloadType has a new value SAPHanaDBInstance + - Added function getContinuationToken + +**Breaking Changes** + + - Operation ResourceGuardProxy.put has a new signature - Interface BackupEnginesListNextOptionalParams no longer has parameter filter - Interface BackupEnginesListNextOptionalParams no longer has parameter skipToken - Interface BackupJobsListNextOptionalParams no longer has parameter filter @@ -162,10 +203,12 @@ - Interface BackupWorkloadItemsListNextOptionalParams no longer has parameter skipToken - Interface ProtectableContainersListNextOptionalParams no longer has parameter filter - Interface RecoveryPointsListNextOptionalParams no longer has parameter filter - -**Breaking Changes** - - - Operation ResourceGuardProxy.put has a new signature + - Type of parameter protectedItemType of interface ProtectedItem is changed from "AzureFileShareProtectedItem" | "AzureIaaSVMProtectedItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "Microsoft.Sql/servers/databases" | "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" | "AzureVmWorkloadSQLDatabase" | "DPMProtectedItem" | "GenericProtectedItem" | "MabFileFolderProtectedItem" to "AzureFileShareProtectedItem" | "AzureIaaSVMProtectedItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "Microsoft.Sql/servers/databases" | "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" | "AzureVmWorkloadSAPHanaDBInstance" | "AzureVmWorkloadSQLDatabase" | "DPMProtectedItem" | "GenericProtectedItem" | "MabFileFolderProtectedItem" + - Type of parameter protectableItemType of interface WorkloadProtectableItem is changed from "AzureFileShare" | "IaaSVMProtectableItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "AzureVmWorkloadProtectableItem" | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance" to "AzureFileShare" | "IaaSVMProtectableItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "AzureVmWorkloadProtectableItem" | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" | "SAPHanaDBInstance" | "SAPHanaHSR" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance" + - Enum KnownContainerType no longer has value AzureWorkloadContainer + - Enum KnownContainerType no longer has value MicrosoftClassicComputeVirtualMachines + - Enum KnownContainerType no longer has value MicrosoftComputeVirtualMachines + ## 9.0.0 (2022-05-16) diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/LICENSE b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/LICENSE index 5d1d36e0af80..3a1d9b6f24f7 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/LICENSE +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2022 Microsoft +Copyright (c) 2023 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/_meta.json b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/_meta.json index 571b1bf25825..df5c7fece4e2 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/_meta.json +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/_meta.json @@ -1,8 +1,8 @@ { - "commit": "81562c6c057a510ddde50ff40720d254bd5f6dbf", + "commit": "00b98f1c5d70164e9bded8bc59f296d3bd3a4f62", "readme": "specification/recoveryservicesbackup/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\recoveryservicesbackup\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.4 --generate-sample=true", + "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/recoveryservicesbackup/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.5", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.5.2", - "use": "@autorest/typescript@6.0.0-rc.4" + "release_tool": "@azure-tools/js-sdk-release-tools@2.6.0", + "use": "@autorest/typescript@6.0.0-rc.5" } \ No newline at end of file diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/package.json b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/package.json index e02074d56a3a..d2ac6851cb37 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/package.json +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/package.json @@ -110,13 +110,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-recoveryservicesbackup?view=azure-node-preview" - } + "autoPublish": true } \ No newline at end of file diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/review/arm-recoveryservicesbackup.api.md b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/review/arm-recoveryservicesbackup.api.md index 32868ecd9013..8998529a9331 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/review/arm-recoveryservicesbackup.api.md +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/review/arm-recoveryservicesbackup.api.md @@ -85,6 +85,7 @@ export interface AzureFileShareProvisionILRRequest extends ILRRequest { export interface AzureFileShareRecoveryPoint extends RecoveryPoint { fileShareSnapshotUri?: string; objectType: "AzureFileShareRecoveryPoint"; + recoveryPointProperties?: RecoveryPointProperties; recoveryPointSizeInGB?: number; recoveryPointTime?: Date; recoveryPointType?: string; @@ -199,24 +200,27 @@ export interface AzureIaaSVMJobV2 extends Job { export interface AzureIaaSVMProtectedItem extends ProtectedItem { extendedInfo?: AzureIaaSVMProtectedItemExtendedInfo; extendedProperties?: ExtendedProperties; - friendlyName?: string; + readonly friendlyName?: string; healthDetails?: AzureIaaSVMHealthDetails[]; - healthStatus?: HealthStatus; + readonly healthStatus?: HealthStatus; kpisHealths?: { [propertyName: string]: KPIResourceHealthDetails; }; lastBackupStatus?: string; - lastBackupTime?: Date; - protectedItemDataId?: string; + readonly lastBackupTime?: Date; + readonly protectedItemDataId?: string; protectedItemType: "AzureIaaSVMProtectedItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines"; protectionState?: ProtectionState; protectionStatus?: string; - virtualMachineId?: string; + readonly virtualMachineId?: string; } // @public export interface AzureIaaSVMProtectedItemExtendedInfo { + newestRecoveryPointInArchive?: Date; oldestRecoveryPoint?: Date; + oldestRecoveryPointInArchive?: Date; + oldestRecoveryPointInVault?: Date; policyInconsistent?: boolean; recoveryPointCount?: number; } @@ -230,9 +234,13 @@ export interface AzureIaaSVMProtectionPolicy extends ProtectionPolicy { // (undocumented) instantRPDetails?: InstantRPAdditionalDetails; instantRpRetentionRangeInDays?: number; + // (undocumented) policyType?: IaasvmPolicyType; retentionPolicy?: RetentionPolicyUnion; schedulePolicy?: SchedulePolicyUnion; + tieringPolicy?: { + [propertyName: string]: TieringPolicy; + }; timeZone?: string; } @@ -372,19 +380,19 @@ export interface AzureVmWorkloadProtectableItem extends WorkloadProtectableItem parentName?: string; parentUniqueName?: string; prebackupvalidation?: PreBackupValidation; - protectableItemType: "AzureVmWorkloadProtectableItem" | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance"; + protectableItemType: "AzureVmWorkloadProtectableItem" | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" | "SAPHanaDBInstance" | "SAPHanaHSR" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance"; serverName?: string; subinquireditemcount?: number; subprotectableitemcount?: number; } // @public (undocumented) -export type AzureVmWorkloadProtectableItemUnion = AzureVmWorkloadProtectableItem | AzureVmWorkloadSAPAseSystemProtectableItem | AzureVmWorkloadSAPHanaDatabaseProtectableItem | AzureVmWorkloadSAPHanaSystemProtectableItem | AzureVmWorkloadSQLAvailabilityGroupProtectableItem | AzureVmWorkloadSQLDatabaseProtectableItem | AzureVmWorkloadSQLInstanceProtectableItem; +export type AzureVmWorkloadProtectableItemUnion = AzureVmWorkloadProtectableItem | AzureVmWorkloadSAPAseSystemProtectableItem | AzureVmWorkloadSAPHanaDatabaseProtectableItem | AzureVmWorkloadSAPHanaSystemProtectableItem | AzureVmWorkloadSAPHanaDBInstance | AzureVmWorkloadSAPHanaHSR | AzureVmWorkloadSQLAvailabilityGroupProtectableItem | AzureVmWorkloadSQLDatabaseProtectableItem | AzureVmWorkloadSQLInstanceProtectableItem; // @public export interface AzureVmWorkloadProtectedItem extends ProtectedItem { extendedInfo?: AzureVmWorkloadProtectedItemExtendedInfo; - friendlyName?: string; + readonly friendlyName?: string; kpisHealths?: { [propertyName: string]: KPIResourceHealthDetails; }; @@ -395,22 +403,25 @@ export interface AzureVmWorkloadProtectedItem extends ProtectedItem { parentType?: string; protectedItemDataSourceId?: string; protectedItemHealthStatus?: ProtectedItemHealthStatus; - protectedItemType: "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" | "AzureVmWorkloadSQLDatabase"; + protectedItemType: "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" | "AzureVmWorkloadSAPHanaDBInstance" | "AzureVmWorkloadSQLDatabase"; protectionState?: ProtectionState; - protectionStatus?: string; + readonly protectionStatus?: string; serverName?: string; } // @public export interface AzureVmWorkloadProtectedItemExtendedInfo { + newestRecoveryPointInArchive?: Date; oldestRecoveryPoint?: Date; + oldestRecoveryPointInArchive?: Date; + oldestRecoveryPointInVault?: Date; policyState?: string; recoveryModel?: string; recoveryPointCount?: number; } // @public (undocumented) -export type AzureVmWorkloadProtectedItemUnion = AzureVmWorkloadProtectedItem | AzureVmWorkloadSAPAseDatabaseProtectedItem | AzureVmWorkloadSAPHanaDatabaseProtectedItem | AzureVmWorkloadSQLDatabaseProtectedItem; +export type AzureVmWorkloadProtectedItemUnion = AzureVmWorkloadProtectedItem | AzureVmWorkloadSAPAseDatabaseProtectedItem | AzureVmWorkloadSAPHanaDatabaseProtectedItem | AzureVmWorkloadSAPHanaDBInstanceProtectedItem | AzureVmWorkloadSQLDatabaseProtectedItem; // @public export interface AzureVmWorkloadProtectionPolicy extends ProtectionPolicy { @@ -456,6 +467,21 @@ export interface AzureVmWorkloadSAPHanaDatabaseWorkloadItem extends AzureVmWorkl workloadItemType: "SAPHanaDatabase"; } +// @public +export interface AzureVmWorkloadSAPHanaDBInstance extends AzureVmWorkloadProtectableItem { + protectableItemType: "SAPHanaDBInstance"; +} + +// @public +export interface AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends AzureVmWorkloadProtectedItem { + protectedItemType: "AzureVmWorkloadSAPHanaDBInstance"; +} + +// @public +export interface AzureVmWorkloadSAPHanaHSR extends AzureVmWorkloadProtectableItem { + protectableItemType: "SAPHanaHSR"; +} + // @public export interface AzureVmWorkloadSAPHanaSystemProtectableItem extends AzureVmWorkloadProtectableItem { protectableItemType: "SAPHanaSystem"; @@ -593,6 +619,7 @@ export interface AzureWorkloadRecoveryPoint extends RecoveryPoint { recoveryPointMoveReadinessInfo?: { [propertyName: string]: RecoveryPointMoveReadinessInfo; }; + recoveryPointProperties?: RecoveryPointProperties; recoveryPointTierDetails?: RecoveryPointTierInformationV2[]; recoveryPointTimeInUTC?: Date; type?: RestorePointType; @@ -1385,6 +1412,26 @@ export type DayOfWeek = "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursda // @public export type DedupState = string; +// @public +export interface DeletedProtectionContainers { + list(resourceGroupName: string, vaultName: string, options?: DeletedProtectionContainersListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DeletedProtectionContainersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedProtectionContainersListNextResponse = ProtectionContainerResourceList; + +// @public +export interface DeletedProtectionContainersListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type DeletedProtectionContainersListResponse = ProtectionContainerResourceList; + // @public (undocumented) export interface DiskExclusionProperties { diskLunList?: number[]; @@ -1618,6 +1665,7 @@ export interface GenericRecoveryPoint extends RecoveryPoint { friendlyName?: string; objectType: "GenericRecoveryPoint"; recoveryPointAdditionalInfo?: string; + recoveryPointProperties?: RecoveryPointProperties; recoveryPointTime?: Date; recoveryPointType?: string; } @@ -1707,6 +1755,7 @@ export interface IaasVMRecoveryPoint extends RecoveryPoint { recoveryPointMoveReadinessInfo?: { [propertyName: string]: RecoveryPointMoveReadinessInfo; }; + recoveryPointProperties?: RecoveryPointProperties; recoveryPointTierDetails?: RecoveryPointTierInformationV2[]; recoveryPointTime?: Date; recoveryPointType?: string; @@ -1953,6 +2002,7 @@ export enum KnownBackupItemType { Invalid = "Invalid", SAPAseDatabase = "SAPAseDatabase", SAPHanaDatabase = "SAPHanaDatabase", + SAPHanaDBInstance = "SAPHanaDBInstance", Sharepoint = "Sharepoint", SQLDataBase = "SQLDataBase", Sqldb = "SQLDB", @@ -1981,23 +2031,23 @@ export enum KnownBackupType { Full = "Full", Incremental = "Incremental", Invalid = "Invalid", - Log = "Log" + Log = "Log", + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull", + SnapshotFull = "SnapshotFull" } // @public export enum KnownContainerType { AzureBackupServerContainer = "AzureBackupServerContainer", AzureSqlContainer = "AzureSqlContainer", - AzureWorkloadContainer = "AzureWorkloadContainer", Cluster = "Cluster", DPMContainer = "DPMContainer", GenericContainer = "GenericContainer", + HanaHSRContainer = "HanaHSRContainer", IaasVMContainer = "IaasVMContainer", IaasVMServiceContainer = "IaasVMServiceContainer", Invalid = "Invalid", MABContainer = "MABContainer", - MicrosoftClassicComputeVirtualMachines = "Microsoft.ClassicCompute/virtualMachines", - MicrosoftComputeVirtualMachines = "Microsoft.Compute/virtualMachines", SqlagWorkLoadContainer = "SQLAGWorkLoadContainer", StorageContainer = "StorageContainer", Unknown = "Unknown", @@ -2040,6 +2090,7 @@ export enum KnownDataSourceType { Invalid = "Invalid", SAPAseDatabase = "SAPAseDatabase", SAPHanaDatabase = "SAPHanaDatabase", + SAPHanaDBInstance = "SAPHanaDBInstance", Sharepoint = "Sharepoint", SQLDataBase = "SQLDataBase", Sqldb = "SQLDB", @@ -2214,7 +2265,9 @@ export enum KnownPolicyType { Full = "Full", Incremental = "Incremental", Invalid = "Invalid", - Log = "Log" + Log = "Log", + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull", + SnapshotFull = "SnapshotFull" } // @public @@ -2236,6 +2289,7 @@ export enum KnownProtectedItemHealthStatus { // @public export enum KnownProtectedItemState { + BackupsSuspended = "BackupsSuspended", Invalid = "Invalid", IRPending = "IRPending", Protected = "Protected", @@ -2256,6 +2310,7 @@ export enum KnownProtectionIntentItemType { // @public export enum KnownProtectionState { + BackupsSuspended = "BackupsSuspended", Invalid = "Invalid", IRPending = "IRPending", Protected = "Protected", @@ -2321,7 +2376,9 @@ export enum KnownRestorePointQueryType { FullAndDifferential = "FullAndDifferential", Incremental = "Incremental", Invalid = "Invalid", - Log = "Log" + Log = "Log", + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull", + SnapshotFull = "SnapshotFull" } // @public @@ -2330,7 +2387,9 @@ export enum KnownRestorePointType { Full = "Full", Incremental = "Incremental", Invalid = "Invalid", - Log = "Log" + Log = "Log", + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull", + SnapshotFull = "SnapshotFull" } // @public @@ -2403,6 +2462,14 @@ export enum KnownSupportStatus { Supported = "Supported" } +// @public +export enum KnownTieringMode { + DoNotTier = "DoNotTier", + Invalid = "Invalid", + TierAfter = "TierAfter", + TierRecommended = "TierRecommended" +} + // @public export enum KnownType { BackupProtectedItemCountSummary = "BackupProtectedItemCountSummary", @@ -2433,6 +2500,7 @@ export enum KnownWorkloadItemType { SAPAseDatabase = "SAPAseDatabase", SAPAseSystem = "SAPAseSystem", SAPHanaDatabase = "SAPHanaDatabase", + SAPHanaDBInstance = "SAPHanaDBInstance", SAPHanaSystem = "SAPHanaSystem", SQLDataBase = "SQLDataBase", SQLInstance = "SQLInstance" @@ -2449,6 +2517,7 @@ export enum KnownWorkloadType { Invalid = "Invalid", SAPAseDatabase = "SAPAseDatabase", SAPHanaDatabase = "SAPHanaDatabase", + SAPHanaDBInstance = "SAPHanaDBInstance", Sharepoint = "Sharepoint", SQLDataBase = "SQLDataBase", Sqldb = "SQLDB", @@ -2921,12 +2990,15 @@ export interface ProtectableContainersListOptionalParams extends coreClient.Oper // @public export type ProtectableContainersListResponse = ProtectableContainerResourceList; +// @public +export type ProtectableContainerType = "Invalid" | "Unknown" | "IaasVMContainer" | "IaasVMServiceContainer" | "DPMContainer" | "AzureBackupServerContainer" | "MABContainer" | "Cluster" | "AzureSqlContainer" | "Windows" | "VCenter" | "VMAppContainer" | "SQLAGWorkLoadContainer" | "StorageContainer" | "GenericContainer" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "AzureWorkloadContainer"; + // @public (undocumented) export type ProtectableContainerUnion = ProtectableContainer | AzureStorageProtectableContainer | AzureVMAppContainerProtectableContainer; // @public export interface ProtectedItem { - backupManagementType?: BackupManagementType; + readonly backupManagementType?: BackupManagementType; backupSetName?: string; containerName?: string; createMode?: CreateMode; @@ -2939,10 +3011,11 @@ export interface ProtectedItem { lastRecoveryPoint?: Date; policyId?: string; policyName?: string; - protectedItemType: "AzureFileShareProtectedItem" | "AzureIaaSVMProtectedItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "Microsoft.Sql/servers/databases" | "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" | "AzureVmWorkloadSQLDatabase" | "DPMProtectedItem" | "GenericProtectedItem" | "MabFileFolderProtectedItem"; + protectedItemType: "AzureFileShareProtectedItem" | "AzureIaaSVMProtectedItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "Microsoft.Sql/servers/databases" | "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" | "AzureVmWorkloadSAPHanaDBInstance" | "AzureVmWorkloadSQLDatabase" | "DPMProtectedItem" | "GenericProtectedItem" | "MabFileFolderProtectedItem"; resourceGuardOperationRequests?: string[]; + softDeleteRetentionPeriod?: number; sourceResourceId?: string; - workloadType?: DataSourceType; + readonly workloadType?: DataSourceType; } // @public @@ -3287,6 +3360,12 @@ export interface RecoveryPointMoveReadinessInfo { isReadyForMove?: boolean; } +// @public +export interface RecoveryPointProperties { + expiryTime?: string; + ruleName?: string; +} + // @public export interface RecoveryPointRehydrationInfo { rehydrationPriority?: RehydrationPriority; @@ -3420,6 +3499,8 @@ export class RecoveryServicesBackupClient extends coreClient.ServiceClient { // (undocumented) bMSPrepareDataMoveOperationResult: BMSPrepareDataMoveOperationResult; // (undocumented) + deletedProtectionContainers: DeletedProtectionContainers; + // (undocumented) exportJobsOperationResults: ExportJobsOperationResults; // (undocumented) featureSupport: FeatureSupport; @@ -3763,6 +3844,9 @@ export interface SubProtectionPolicy { policyType?: PolicyType; retentionPolicy?: RetentionPolicyUnion; schedulePolicy?: SchedulePolicyUnion; + tieringPolicy?: { + [propertyName: string]: TieringPolicy; + }; } // @public @@ -3782,6 +3866,16 @@ export interface TargetRestoreInfo { targetDirectoryForFileRestore?: string; } +// @public +export type TieringMode = string; + +// @public +export interface TieringPolicy { + duration?: number; + durationType?: RetentionDurationType; + tieringMode?: TieringMode; +} + // @public export interface TokenInformation { expiryTimeInUtcTicks?: number; @@ -3979,7 +4073,7 @@ export type WorkloadItemUnion = WorkloadItem | AzureVmWorkloadItemUnion; export interface WorkloadProtectableItem { backupManagementType?: string; friendlyName?: string; - protectableItemType: "AzureFileShare" | "IaaSVMProtectableItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "AzureVmWorkloadProtectableItem" | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance"; + protectableItemType: "AzureFileShare" | "IaaSVMProtectableItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines" | "AzureVmWorkloadProtectableItem" | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" | "SAPHanaDBInstance" | "SAPHanaHSR" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance"; protectionState?: ProtectionStatus; workloadType?: string; } diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/index.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/index.ts index 5db8bb2933d6..2e99f73fc0e7 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/index.ts +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/index.ts @@ -123,6 +123,7 @@ export type AzureVmWorkloadProtectedItemUnion = | AzureVmWorkloadProtectedItem | AzureVmWorkloadSAPAseDatabaseProtectedItem | AzureVmWorkloadSAPHanaDatabaseProtectedItem + | AzureVmWorkloadSAPHanaDBInstanceProtectedItem | AzureVmWorkloadSQLDatabaseProtectedItem; export type AzureWorkloadRecoveryPointUnion = | AzureWorkloadRecoveryPoint @@ -166,6 +167,8 @@ export type AzureVmWorkloadProtectableItemUnion = | AzureVmWorkloadSAPAseSystemProtectableItem | AzureVmWorkloadSAPHanaDatabaseProtectableItem | AzureVmWorkloadSAPHanaSystemProtectableItem + | AzureVmWorkloadSAPHanaDBInstance + | AzureVmWorkloadSAPHanaHSR | AzureVmWorkloadSQLAvailabilityGroupProtectableItem | AzureVmWorkloadSQLDatabaseProtectableItem | AzureVmWorkloadSQLInstanceProtectableItem; @@ -652,14 +655,21 @@ export interface ProtectedItem { | "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" + | "AzureVmWorkloadSAPHanaDBInstance" | "AzureVmWorkloadSQLDatabase" | "DPMProtectedItem" | "GenericProtectedItem" | "MabFileFolderProtectedItem"; - /** Type of backup management for the backed up item. */ - backupManagementType?: BackupManagementType; - /** Type of workload this item represents. */ - workloadType?: DataSourceType; + /** + * Type of backup management for the backed up item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly backupManagementType?: BackupManagementType; + /** + * Type of workload this item represents. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly workloadType?: DataSourceType; /** Unique name of container */ containerName?: string; /** ARM ID of the resource to be backed up. */ @@ -688,6 +698,8 @@ export interface ProtectedItem { isArchiveEnabled?: boolean; /** Name of the policy used for protection */ policyName?: string; + /** Soft delete retention period in days */ + softDeleteRetentionPeriod?: number; } /** Base class for backup copies. Workload-specific backup copies are derived from this class. */ @@ -961,6 +973,8 @@ export interface WorkloadProtectableItem { | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" + | "SAPHanaDBInstance" + | "SAPHanaHSR" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance"; @@ -1083,6 +1097,14 @@ export interface AzureFileshareProtectedItemExtendedInfo { readonly resourceStateSyncTime?: Date; } +/** Properties of Recovery Point */ +export interface RecoveryPointProperties { + /** Expiry time of Recovery Point in UTC. */ + expiryTime?: string; + /** Rule name tagged on Recovery Point that governs life cycle */ + ruleName?: string; +} + /** Restore file specs like file path, type and target folder path info. */ export interface RestoreFileSpecs { /** Source File/Folder path */ @@ -1122,6 +1144,12 @@ export interface SubProtectionPolicy { schedulePolicy?: SchedulePolicyUnion; /** Retention policy with the details on backup copy retention ranges. */ retentionPolicy?: RetentionPolicyUnion; + /** + * Tiering policy to automatically move RPs to another tier. + * Key is Target Tier, defined in RecoveryPointTierType enum. + * Tiering policy specifies the criteria to move RP to the target tier. + */ + tieringPolicy?: { [propertyName: string]: TieringPolicy }; } /** Base class for backup schedule. */ @@ -1140,10 +1168,40 @@ export interface RetentionPolicy { retentionPolicyType: "LongTermRetentionPolicy" | "SimpleRetentionPolicy"; } +/** + * Tiering Policy for a target tier. + * If the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier + */ +export interface TieringPolicy { + /** + * Tiering Mode to control automatic tiering of recovery points. Supported values are: + * 1. TierRecommended: Tier all recovery points recommended to be tiered + * 2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below. + * 3. DoNotTier: Do not tier any recovery points + */ + tieringMode?: TieringMode; + /** + * Number of days/weeks/months/years to retain backups in current tier before tiering. + * Used only if TieringMode is set to TierAfter + */ + duration?: number; + /** + * Retention duration type: days/weeks/months/years + * Used only if TieringMode is set to TierAfter + */ + durationType?: RetentionDurationType; +} + /** Additional information on Azure IaaS VM specific backup item. */ export interface AzureIaaSVMProtectedItemExtendedInfo { - /** The oldest backup copy available for this backup item. */ + /** The oldest backup copy available for this backup item across all tiers. */ oldestRecoveryPoint?: Date; + /** The oldest backup copy available for this backup item in vault tier */ + oldestRecoveryPointInVault?: Date; + /** The oldest backup copy available for this backup item in archive tier */ + oldestRecoveryPointInArchive?: Date; + /** The latest backup copy available for this backup item in archive tier */ + newestRecoveryPointInArchive?: Date; /** Number of backup copies available for this backup item. */ recoveryPointCount?: number; /** Specifies if backup policy associated with the backup item is inconsistent. */ @@ -1273,8 +1331,14 @@ export interface AzureStorageJobTaskDetails { /** Additional information on Azure Workload for SQL specific backup item. */ export interface AzureVmWorkloadProtectedItemExtendedInfo { - /** The oldest backup copy available for this backup item. */ + /** The oldest backup copy available for this backup item across all tiers. */ oldestRecoveryPoint?: Date; + /** The oldest backup copy available for this backup item in vault tier */ + oldestRecoveryPointInVault?: Date; + /** The oldest backup copy available for this backup item in archive tier */ + oldestRecoveryPointInArchive?: Date; + /** The latest backup copy available for this backup item in archive tier */ + newestRecoveryPointInArchive?: Date; /** Number of backup copies available for this backup item. */ recoveryPointCount?: number; /** Indicates consistency of policy object and policy applied to this backup item. */ @@ -2324,26 +2388,41 @@ export interface AzureIaaSVMProtectedItem extends ProtectedItem { | "AzureIaaSVMProtectedItem" | "Microsoft.ClassicCompute/virtualMachines" | "Microsoft.Compute/virtualMachines"; - /** Friendly name of the VM represented by this backup item. */ - friendlyName?: string; - /** Fully qualified ARM ID of the virtual machine represented by this item. */ - virtualMachineId?: string; + /** + * Friendly name of the VM represented by this backup item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly friendlyName?: string; + /** + * Fully qualified ARM ID of the virtual machine represented by this item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly virtualMachineId?: string; /** Backup status of this backup item. */ protectionStatus?: string; /** Backup state of this backup item. */ protectionState?: ProtectionState; - /** Health status of protected item. */ - healthStatus?: HealthStatus; + /** + * Health status of protected item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly healthStatus?: HealthStatus; /** Health details on this backup item. */ healthDetails?: AzureIaaSVMHealthDetails[]; /** Health details of different KPIs */ kpisHealths?: { [propertyName: string]: KPIResourceHealthDetails }; /** Last backup operation status. */ lastBackupStatus?: string; - /** Timestamp of the last backup operation on this backup item. */ - lastBackupTime?: Date; - /** Data ID of the protected item. */ - protectedItemDataId?: string; + /** + * Timestamp of the last backup operation on this backup item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastBackupTime?: Date; + /** + * Data ID of the protected item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly protectedItemDataId?: string; /** Additional information for this backup item. */ extendedInfo?: AzureIaaSVMProtectedItemExtendedInfo; /** Extended Properties for Azure IaasVM Backup. */ @@ -2369,17 +2448,24 @@ export interface AzureVmWorkloadProtectedItem extends ProtectedItem { | "AzureVmWorkloadProtectedItem" | "AzureVmWorkloadSAPAseDatabase" | "AzureVmWorkloadSAPHanaDatabase" + | "AzureVmWorkloadSAPHanaDBInstance" | "AzureVmWorkloadSQLDatabase"; - /** Friendly name of the DB represented by this backup item. */ - friendlyName?: string; + /** + * Friendly name of the DB represented by this backup item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly friendlyName?: string; /** Host/Cluster Name for instance or AG */ serverName?: string; /** Parent name of the DB such as Instance or Availability Group. */ parentName?: string; /** Parent type of protected item, example: for a DB, standalone server or distributed */ parentType?: string; - /** Backup status of this backup item. */ - protectionStatus?: string; + /** + * Backup status of this backup item. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly protectionStatus?: string; /** Backup state of this backup item. */ protectionState?: ProtectionState; /** Last backup operation status. Possible values: Healthy, Unhealthy. */ @@ -2462,6 +2548,8 @@ export interface AzureFileShareRecoveryPoint extends RecoveryPoint { fileShareSnapshotUri?: string; /** Contains recovery point size */ recoveryPointSizeInGB?: number; + /** Properties of Recovery Point */ + recoveryPointProperties?: RecoveryPointProperties; } /** Workload specific recovery point, specifically encapsulates full/diff recovery point */ @@ -2484,6 +2572,8 @@ export interface AzureWorkloadRecoveryPoint extends RecoveryPoint { recoveryPointMoveReadinessInfo?: { [propertyName: string]: RecoveryPointMoveReadinessInfo; }; + /** Properties of Recovery Point */ + recoveryPointProperties?: RecoveryPointProperties; } /** Generic backup copy. */ @@ -2498,6 +2588,8 @@ export interface GenericRecoveryPoint extends RecoveryPoint { recoveryPointTime?: Date; /** Additional information associated with this backup copy. */ recoveryPointAdditionalInfo?: string; + /** Properties of Recovery Point */ + recoveryPointProperties?: RecoveryPointProperties; } /** IaaS VM workload specific backup copy. */ @@ -2536,6 +2628,8 @@ export interface IaasVMRecoveryPoint extends RecoveryPoint { recoveryPointMoveReadinessInfo?: { [propertyName: string]: RecoveryPointMoveReadinessInfo; }; + /** Properties of Recovery Point */ + recoveryPointProperties?: RecoveryPointProperties; } /** AzureFileShare Restore Request */ @@ -2689,11 +2783,16 @@ export interface AzureIaaSVMProtectionPolicy extends ProtectionPolicy { schedulePolicy?: SchedulePolicyUnion; /** Retention policy with the details on backup copy retention ranges. */ retentionPolicy?: RetentionPolicyUnion; + /** + * Tiering policy to automatically move RPs to another tier + * Key is Target Tier, defined in RecoveryPointTierType enum. + * Tiering policy specifies the criteria to move RP to the target tier. + */ + tieringPolicy?: { [propertyName: string]: TieringPolicy }; /** Instant RP retention policy range in days */ instantRpRetentionRangeInDays?: number; /** TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". */ timeZone?: string; - /** Type of backup policy type */ policyType?: IaasvmPolicyType; } @@ -3141,6 +3240,8 @@ export interface AzureVmWorkloadProtectableItem | "SAPAseSystem" | "SAPHanaDatabase" | "SAPHanaSystem" + | "SAPHanaDBInstance" + | "SAPHanaHSR" | "SQLAvailabilityGroupContainer" | "SQLDataBase" | "SQLInstance"; @@ -3275,6 +3376,13 @@ export interface AzureVmWorkloadSAPHanaDatabaseProtectedItem protectedItemType: "AzureVmWorkloadSAPHanaDatabase"; } +/** Azure VM workload-specific protected item representing SAP HANA DBInstance. */ +export interface AzureVmWorkloadSAPHanaDBInstanceProtectedItem + extends AzureVmWorkloadProtectedItem { + /** Polymorphic discriminator, which specifies the different types this object can be */ + protectedItemType: "AzureVmWorkloadSAPHanaDBInstance"; +} + /** Azure VM workload-specific protected item representing SQL Database. */ export interface AzureVmWorkloadSQLDatabaseProtectedItem extends AzureVmWorkloadProtectedItem { @@ -3479,6 +3587,20 @@ export interface AzureVmWorkloadSAPHanaSystemProtectableItem protectableItemType: "SAPHanaSystem"; } +/** Azure VM workload-specific protectable item representing SAP HANA Dbinstance. */ +export interface AzureVmWorkloadSAPHanaDBInstance + extends AzureVmWorkloadProtectableItem { + /** Polymorphic discriminator, which specifies the different types this object can be */ + protectableItemType: "SAPHanaDBInstance"; +} + +/** Azure VM workload-specific protectable item representing SAP HANA Dbinstance. */ +export interface AzureVmWorkloadSAPHanaHSR + extends AzureVmWorkloadProtectableItem { + /** Polymorphic discriminator, which specifies the different types this object can be */ + protectableItemType: "SAPHanaHSR"; +} + /** Azure VM workload-specific protectable item representing SQL Availability Group. */ export interface AzureVmWorkloadSQLAvailabilityGroupProtectableItem extends AzureVmWorkloadProtectableItem { @@ -3704,7 +3826,9 @@ export enum KnownDataSourceType { /** SAPHanaDatabase */ SAPHanaDatabase = "SAPHanaDatabase", /** SAPAseDatabase */ - SAPAseDatabase = "SAPAseDatabase" + SAPAseDatabase = "SAPAseDatabase", + /** SAPHanaDBInstance */ + SAPHanaDBInstance = "SAPHanaDBInstance" } /** @@ -3726,7 +3850,8 @@ export enum KnownDataSourceType { * **SQLDataBase** \ * **AzureFileShare** \ * **SAPHanaDatabase** \ - * **SAPAseDatabase** + * **SAPAseDatabase** \ + * **SAPHanaDBInstance** */ export type DataSourceType = string; @@ -4180,72 +4305,6 @@ export enum KnownBackupEngineType { */ export type BackupEngineType = string; -/** Known values of {@link ContainerType} that the service accepts. */ -export enum KnownContainerType { - /** Invalid */ - Invalid = "Invalid", - /** Unknown */ - Unknown = "Unknown", - /** IaasVMContainer */ - IaasVMContainer = "IaasVMContainer", - /** IaasVMServiceContainer */ - IaasVMServiceContainer = "IaasVMServiceContainer", - /** DPMContainer */ - DPMContainer = "DPMContainer", - /** AzureBackupServerContainer */ - AzureBackupServerContainer = "AzureBackupServerContainer", - /** MABContainer */ - MABContainer = "MABContainer", - /** Cluster */ - Cluster = "Cluster", - /** AzureSqlContainer */ - AzureSqlContainer = "AzureSqlContainer", - /** Windows */ - Windows = "Windows", - /** VCenter */ - VCenter = "VCenter", - /** VMAppContainer */ - VMAppContainer = "VMAppContainer", - /** SqlagWorkLoadContainer */ - SqlagWorkLoadContainer = "SQLAGWorkLoadContainer", - /** StorageContainer */ - StorageContainer = "StorageContainer", - /** GenericContainer */ - GenericContainer = "GenericContainer", - /** MicrosoftClassicComputeVirtualMachines */ - MicrosoftClassicComputeVirtualMachines = "Microsoft.ClassicCompute/virtualMachines", - /** MicrosoftComputeVirtualMachines */ - MicrosoftComputeVirtualMachines = "Microsoft.Compute/virtualMachines", - /** AzureWorkloadContainer */ - AzureWorkloadContainer = "AzureWorkloadContainer" -} - -/** - * Defines values for ContainerType. \ - * {@link KnownContainerType} can be used interchangeably with ContainerType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Invalid** \ - * **Unknown** \ - * **IaasVMContainer** \ - * **IaasVMServiceContainer** \ - * **DPMContainer** \ - * **AzureBackupServerContainer** \ - * **MABContainer** \ - * **Cluster** \ - * **AzureSqlContainer** \ - * **Windows** \ - * **VCenter** \ - * **VMAppContainer** \ - * **SQLAGWorkLoadContainer** \ - * **StorageContainer** \ - * **GenericContainer** \ - * **Microsoft.ClassicCompute\/virtualMachines** \ - * **Microsoft.Compute\/virtualMachines** \ - * **AzureWorkloadContainer** - */ -export type ContainerType = string; - /** Known values of {@link ProtectionState} that the service accepts. */ export enum KnownProtectionState { /** Invalid */ @@ -4259,7 +4318,9 @@ export enum KnownProtectionState { /** ProtectionStopped */ ProtectionStopped = "ProtectionStopped", /** ProtectionPaused */ - ProtectionPaused = "ProtectionPaused" + ProtectionPaused = "ProtectionPaused", + /** BackupsSuspended */ + BackupsSuspended = "BackupsSuspended" } /** @@ -4272,7 +4333,8 @@ export enum KnownProtectionState { * **Protected** \ * **ProtectionError** \ * **ProtectionStopped** \ - * **ProtectionPaused** + * **ProtectionPaused** \ + * **BackupsSuspended** */ export type ProtectionState = string; @@ -4412,7 +4474,9 @@ export enum KnownWorkloadType { /** SAPHanaDatabase */ SAPHanaDatabase = "SAPHanaDatabase", /** SAPAseDatabase */ - SAPAseDatabase = "SAPAseDatabase" + SAPAseDatabase = "SAPAseDatabase", + /** SAPHanaDBInstance */ + SAPHanaDBInstance = "SAPHanaDBInstance" } /** @@ -4434,7 +4498,8 @@ export enum KnownWorkloadType { * **SQLDataBase** \ * **AzureFileShare** \ * **SAPHanaDatabase** \ - * **SAPAseDatabase** + * **SAPAseDatabase** \ + * **SAPHanaDBInstance** */ export type WorkloadType = string; @@ -4451,7 +4516,11 @@ export enum KnownPolicyType { /** CopyOnlyFull */ CopyOnlyFull = "CopyOnlyFull", /** Incremental */ - Incremental = "Incremental" + Incremental = "Incremental", + /** SnapshotFull */ + SnapshotFull = "SnapshotFull", + /** SnapshotCopyOnlyFull */ + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull" } /** @@ -4464,10 +4533,63 @@ export enum KnownPolicyType { * **Differential** \ * **Log** \ * **CopyOnlyFull** \ - * **Incremental** + * **Incremental** \ + * **SnapshotFull** \ + * **SnapshotCopyOnlyFull** */ export type PolicyType = string; +/** Known values of {@link TieringMode} that the service accepts. */ +export enum KnownTieringMode { + /** Invalid */ + Invalid = "Invalid", + /** TierRecommended */ + TierRecommended = "TierRecommended", + /** TierAfter */ + TierAfter = "TierAfter", + /** DoNotTier */ + DoNotTier = "DoNotTier" +} + +/** + * Defines values for TieringMode. \ + * {@link KnownTieringMode} can be used interchangeably with TieringMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Invalid** \ + * **TierRecommended** \ + * **TierAfter** \ + * **DoNotTier** + */ +export type TieringMode = string; + +/** Known values of {@link RetentionDurationType} that the service accepts. */ +export enum KnownRetentionDurationType { + /** Invalid */ + Invalid = "Invalid", + /** Days */ + Days = "Days", + /** Weeks */ + Weeks = "Weeks", + /** Months */ + Months = "Months", + /** Years */ + Years = "Years" +} + +/** + * Defines values for RetentionDurationType. \ + * {@link KnownRetentionDurationType} can be used interchangeably with RetentionDurationType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Invalid** \ + * **Days** \ + * **Weeks** \ + * **Months** \ + * **Years** + */ +export type RetentionDurationType = string; + /** Known values of {@link HealthStatus} that the service accepts. */ export enum KnownHealthStatus { /** Passed */ @@ -4526,7 +4648,9 @@ export enum KnownProtectedItemState { /** ProtectionStopped */ ProtectionStopped = "ProtectionStopped", /** ProtectionPaused */ - ProtectionPaused = "ProtectionPaused" + ProtectionPaused = "ProtectionPaused", + /** BackupsSuspended */ + BackupsSuspended = "BackupsSuspended" } /** @@ -4539,7 +4663,8 @@ export enum KnownProtectedItemState { * **Protected** \ * **ProtectionError** \ * **ProtectionStopped** \ - * **ProtectionPaused** + * **ProtectionPaused** \ + * **BackupsSuspended** */ export type ProtectedItemState = string; @@ -4605,7 +4730,11 @@ export enum KnownRestorePointType { /** Differential */ Differential = "Differential", /** Incremental */ - Incremental = "Incremental" + Incremental = "Incremental", + /** SnapshotFull */ + SnapshotFull = "SnapshotFull", + /** SnapshotCopyOnlyFull */ + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull" } /** @@ -4617,7 +4746,9 @@ export enum KnownRestorePointType { * **Full** \ * **Log** \ * **Differential** \ - * **Incremental** + * **Incremental** \ + * **SnapshotFull** \ + * **SnapshotCopyOnlyFull** */ export type RestorePointType = string; @@ -4699,7 +4830,11 @@ export enum KnownRestorePointQueryType { /** All */ All = "All", /** Incremental */ - Incremental = "Incremental" + Incremental = "Incremental", + /** SnapshotFull */ + SnapshotFull = "SnapshotFull", + /** SnapshotCopyOnlyFull */ + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull" } /** @@ -4713,37 +4848,12 @@ export enum KnownRestorePointQueryType { * **Differential** \ * **FullAndDifferential** \ * **All** \ - * **Incremental** + * **Incremental** \ + * **SnapshotFull** \ + * **SnapshotCopyOnlyFull** */ export type RestorePointQueryType = string; -/** Known values of {@link RetentionDurationType} that the service accepts. */ -export enum KnownRetentionDurationType { - /** Invalid */ - Invalid = "Invalid", - /** Days */ - Days = "Days", - /** Weeks */ - Weeks = "Weeks", - /** Months */ - Months = "Months", - /** Years */ - Years = "Years" -} - -/** - * Defines values for RetentionDurationType. \ - * {@link KnownRetentionDurationType} can be used interchangeably with RetentionDurationType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Invalid** \ - * **Days** \ - * **Weeks** \ - * **Months** \ - * **Years** - */ -export type RetentionDurationType = string; - /** Known values of {@link JobStatus} that the service accepts. */ export enum KnownJobStatus { /** Invalid */ @@ -5042,7 +5152,11 @@ export enum KnownBackupType { /** CopyOnlyFull */ CopyOnlyFull = "CopyOnlyFull", /** Incremental */ - Incremental = "Incremental" + Incremental = "Incremental", + /** SnapshotFull */ + SnapshotFull = "SnapshotFull", + /** SnapshotCopyOnlyFull */ + SnapshotCopyOnlyFull = "SnapshotCopyOnlyFull" } /** @@ -5055,7 +5169,9 @@ export enum KnownBackupType { * **Differential** \ * **Log** \ * **CopyOnlyFull** \ - * **Incremental** + * **Incremental** \ + * **SnapshotFull** \ + * **SnapshotCopyOnlyFull** */ export type BackupType = string; @@ -5074,7 +5190,9 @@ export enum KnownWorkloadItemType { /** SAPAseSystem */ SAPAseSystem = "SAPAseSystem", /** SAPAseDatabase */ - SAPAseDatabase = "SAPAseDatabase" + SAPAseDatabase = "SAPAseDatabase", + /** SAPHanaDBInstance */ + SAPHanaDBInstance = "SAPHanaDBInstance" } /** @@ -5088,7 +5206,8 @@ export enum KnownWorkloadItemType { * **SAPHanaSystem** \ * **SAPHanaDatabase** \ * **SAPAseSystem** \ - * **SAPAseDatabase** + * **SAPAseDatabase** \ + * **SAPHanaDBInstance** */ export type WorkloadItemType = string; @@ -5134,6 +5253,66 @@ export enum KnownIntentItemType { */ export type IntentItemType = string; +/** Known values of {@link ContainerType} that the service accepts. */ +export enum KnownContainerType { + /** Invalid */ + Invalid = "Invalid", + /** Unknown */ + Unknown = "Unknown", + /** IaasVMContainer */ + IaasVMContainer = "IaasVMContainer", + /** IaasVMServiceContainer */ + IaasVMServiceContainer = "IaasVMServiceContainer", + /** DPMContainer */ + DPMContainer = "DPMContainer", + /** AzureBackupServerContainer */ + AzureBackupServerContainer = "AzureBackupServerContainer", + /** MABContainer */ + MABContainer = "MABContainer", + /** Cluster */ + Cluster = "Cluster", + /** AzureSqlContainer */ + AzureSqlContainer = "AzureSqlContainer", + /** Windows */ + Windows = "Windows", + /** VCenter */ + VCenter = "VCenter", + /** VMAppContainer */ + VMAppContainer = "VMAppContainer", + /** SqlagWorkLoadContainer */ + SqlagWorkLoadContainer = "SQLAGWorkLoadContainer", + /** StorageContainer */ + StorageContainer = "StorageContainer", + /** GenericContainer */ + GenericContainer = "GenericContainer", + /** HanaHSRContainer */ + HanaHSRContainer = "HanaHSRContainer" +} + +/** + * Defines values for ContainerType. \ + * {@link KnownContainerType} can be used interchangeably with ContainerType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Invalid** \ + * **Unknown** \ + * **IaasVMContainer** \ + * **IaasVMServiceContainer** \ + * **DPMContainer** \ + * **AzureBackupServerContainer** \ + * **MABContainer** \ + * **Cluster** \ + * **AzureSqlContainer** \ + * **Windows** \ + * **VCenter** \ + * **VMAppContainer** \ + * **SQLAGWorkLoadContainer** \ + * **StorageContainer** \ + * **GenericContainer** \ + * **HanaHSRContainer** + */ +export type ContainerType = string; + /** Known values of {@link BackupItemType} that the service accepts. */ export enum KnownBackupItemType { /** Invalid */ @@ -5165,7 +5344,9 @@ export enum KnownBackupItemType { /** SAPHanaDatabase */ SAPHanaDatabase = "SAPHanaDatabase", /** SAPAseDatabase */ - SAPAseDatabase = "SAPAseDatabase" + SAPAseDatabase = "SAPAseDatabase", + /** SAPHanaDBInstance */ + SAPHanaDBInstance = "SAPHanaDBInstance" } /** @@ -5187,7 +5368,8 @@ export enum KnownBackupItemType { * **SQLDataBase** \ * **AzureFileShare** \ * **SAPHanaDatabase** \ - * **SAPAseDatabase** + * **SAPAseDatabase** \ + * **SAPHanaDBInstance** */ export type BackupItemType = string; @@ -5257,6 +5439,26 @@ export type HttpStatusCode = | "ServiceUnavailable" | "GatewayTimeout" | "HttpVersionNotSupported"; +/** Defines values for ProtectableContainerType. */ +export type ProtectableContainerType = + | "Invalid" + | "Unknown" + | "IaasVMContainer" + | "IaasVMServiceContainer" + | "DPMContainer" + | "AzureBackupServerContainer" + | "MABContainer" + | "Cluster" + | "AzureSqlContainer" + | "Windows" + | "VCenter" + | "VMAppContainer" + | "SQLAGWorkLoadContainer" + | "StorageContainer" + | "GenericContainer" + | "Microsoft.ClassicCompute/virtualMachines" + | "Microsoft.Compute/virtualMachines" + | "AzureWorkloadContainer"; /** Defines values for RecoveryPointTierType. */ export type RecoveryPointTierType = | "Invalid" @@ -5902,6 +6104,23 @@ export interface BackupProtectionContainersListNextOptionalParams /** Contains response data for the listNext operation. */ export type BackupProtectionContainersListNextResponse = ProtectionContainerResourceList; +/** Optional parameters. */ +export interface DeletedProtectionContainersListOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; +} + +/** Contains response data for the list operation. */ +export type DeletedProtectionContainersListResponse = ProtectionContainerResourceList; + +/** Optional parameters. */ +export interface DeletedProtectionContainersListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type DeletedProtectionContainersListNextResponse = ProtectionContainerResourceList; + /** Optional parameters. */ export interface SecurityPINsGetOptionalParams extends coreClient.OperationOptions { diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/mappers.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/mappers.ts index 6dbeaccbbfd8..8d62fe2dcceb 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/mappers.ts +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/mappers.ts @@ -1189,12 +1189,14 @@ export const ProtectedItem: coreClient.CompositeMapper = { }, backupManagementType: { serializedName: "backupManagementType", + readOnly: true, type: { name: "String" } }, workloadType: { serializedName: "workloadType", + readOnly: true, type: { name: "String" } @@ -1287,6 +1289,12 @@ export const ProtectedItem: coreClient.CompositeMapper = { type: { name: "String" } + }, + softDeleteRetentionPeriod: { + serializedName: "softDeleteRetentionPeriod", + type: { + name: "Number" + } } } } @@ -1799,7 +1807,27 @@ export const ProtectableContainer: coreClient.CompositeMapper = { serializedName: "protectableContainerType", required: true, type: { - name: "String" + name: "Enum", + allowedValues: [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ] } }, healthStatus: { @@ -1856,7 +1884,27 @@ export const ProtectionContainer: coreClient.CompositeMapper = { serializedName: "containerType", required: true, type: { - name: "String" + name: "Enum", + allowedValues: [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ] } }, protectableObjectType: { @@ -2314,6 +2362,27 @@ export const AzureFileshareProtectedItemExtendedInfo: coreClient.CompositeMapper } }; +export const RecoveryPointProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPointProperties", + modelProperties: { + expiryTime: { + serializedName: "expiryTime", + type: { + name: "String" + } + }, + ruleName: { + serializedName: "ruleName", + type: { + name: "String" + } + } + } + } +}; + export const RestoreFileSpecs: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2413,6 +2482,13 @@ export const SubProtectionPolicy: coreClient.CompositeMapper = { name: "Composite", className: "RetentionPolicy" } + }, + tieringPolicy: { + serializedName: "tieringPolicy", + type: { + name: "Dictionary", + value: { type: { name: "Composite", className: "TieringPolicy" } } + } } } } @@ -2460,6 +2536,33 @@ export const RetentionPolicy: coreClient.CompositeMapper = { } }; +export const TieringPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TieringPolicy", + modelProperties: { + tieringMode: { + serializedName: "tieringMode", + type: { + name: "String" + } + }, + duration: { + serializedName: "duration", + type: { + name: "Number" + } + }, + durationType: { + serializedName: "durationType", + type: { + name: "String" + } + } + } + } +}; + export const AzureIaaSVMProtectedItemExtendedInfo: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2471,6 +2574,24 @@ export const AzureIaaSVMProtectedItemExtendedInfo: coreClient.CompositeMapper = name: "DateTime" } }, + oldestRecoveryPointInVault: { + serializedName: "oldestRecoveryPointInVault", + type: { + name: "DateTime" + } + }, + oldestRecoveryPointInArchive: { + serializedName: "oldestRecoveryPointInArchive", + type: { + name: "DateTime" + } + }, + newestRecoveryPointInArchive: { + serializedName: "newestRecoveryPointInArchive", + type: { + name: "DateTime" + } + }, recoveryPointCount: { serializedName: "recoveryPointCount", type: { @@ -2833,6 +2954,24 @@ export const AzureVmWorkloadProtectedItemExtendedInfo: coreClient.CompositeMappe name: "DateTime" } }, + oldestRecoveryPointInVault: { + serializedName: "oldestRecoveryPointInVault", + type: { + name: "DateTime" + } + }, + oldestRecoveryPointInArchive: { + serializedName: "oldestRecoveryPointInArchive", + type: { + name: "DateTime" + } + }, + newestRecoveryPointInArchive: { + serializedName: "newestRecoveryPointInArchive", + type: { + name: "DateTime" + } + }, recoveryPointCount: { serializedName: "recoveryPointCount", type: { @@ -5865,12 +6004,14 @@ export const AzureIaaSVMProtectedItem: coreClient.CompositeMapper = { ...ProtectedItem.type.modelProperties, friendlyName: { serializedName: "friendlyName", + readOnly: true, type: { name: "String" } }, virtualMachineId: { serializedName: "virtualMachineId", + readOnly: true, type: { name: "String" } @@ -5889,6 +6030,7 @@ export const AzureIaaSVMProtectedItem: coreClient.CompositeMapper = { }, healthStatus: { serializedName: "healthStatus", + readOnly: true, type: { name: "String" } @@ -5922,12 +6064,14 @@ export const AzureIaaSVMProtectedItem: coreClient.CompositeMapper = { }, lastBackupTime: { serializedName: "lastBackupTime", + readOnly: true, type: { name: "DateTime" } }, protectedItemDataId: { serializedName: "protectedItemDataId", + readOnly: true, type: { name: "String" } @@ -5996,6 +6140,7 @@ export const AzureVmWorkloadProtectedItem: coreClient.CompositeMapper = { ...ProtectedItem.type.modelProperties, friendlyName: { serializedName: "friendlyName", + readOnly: true, type: { name: "String" } @@ -6020,6 +6165,7 @@ export const AzureVmWorkloadProtectedItem: coreClient.CompositeMapper = { }, protectionStatus: { serializedName: "protectionStatus", + readOnly: true, type: { name: "String" } @@ -6257,6 +6403,13 @@ export const AzureFileShareRecoveryPoint: coreClient.CompositeMapper = { type: { name: "Number" } + }, + recoveryPointProperties: { + serializedName: "recoveryPointProperties", + type: { + name: "Composite", + className: "RecoveryPointProperties" + } } } } @@ -6309,6 +6462,13 @@ export const AzureWorkloadRecoveryPoint: coreClient.CompositeMapper = { } } } + }, + recoveryPointProperties: { + serializedName: "recoveryPointProperties", + type: { + name: "Composite", + className: "RecoveryPointProperties" + } } } } @@ -6346,6 +6506,13 @@ export const GenericRecoveryPoint: coreClient.CompositeMapper = { type: { name: "String" } + }, + recoveryPointProperties: { + serializedName: "recoveryPointProperties", + type: { + name: "Composite", + className: "RecoveryPointProperties" + } } } } @@ -6468,6 +6635,13 @@ export const IaasVMRecoveryPoint: coreClient.CompositeMapper = { } } } + }, + recoveryPointProperties: { + serializedName: "recoveryPointProperties", + type: { + name: "Composite", + className: "RecoveryPointProperties" + } } } } @@ -6845,6 +7019,13 @@ export const AzureIaaSVMProtectionPolicy: coreClient.CompositeMapper = { className: "RetentionPolicy" } }, + tieringPolicy: { + serializedName: "tieringPolicy", + type: { + name: "Dictionary", + value: { type: { name: "Composite", className: "TieringPolicy" } } + } + }, instantRpRetentionRangeInDays: { serializedName: "instantRpRetentionRangeInDays", type: { @@ -8445,6 +8626,20 @@ export const AzureVmWorkloadSAPHanaDatabaseProtectedItem: coreClient.CompositeMa } }; +export const AzureVmWorkloadSAPHanaDBInstanceProtectedItem: coreClient.CompositeMapper = { + serializedName: "AzureVmWorkloadSAPHanaDBInstance", + type: { + name: "Composite", + className: "AzureVmWorkloadSAPHanaDBInstanceProtectedItem", + uberParent: "AzureVmWorkloadProtectedItem", + polymorphicDiscriminator: + AzureVmWorkloadProtectedItem.type.polymorphicDiscriminator, + modelProperties: { + ...AzureVmWorkloadProtectedItem.type.modelProperties + } + } +}; + export const AzureVmWorkloadSQLDatabaseProtectedItem: coreClient.CompositeMapper = { serializedName: "AzureVmWorkloadSQLDatabase", type: { @@ -8862,6 +9057,34 @@ export const AzureVmWorkloadSAPHanaSystemProtectableItem: coreClient.CompositeMa } }; +export const AzureVmWorkloadSAPHanaDBInstance: coreClient.CompositeMapper = { + serializedName: "SAPHanaDBInstance", + type: { + name: "Composite", + className: "AzureVmWorkloadSAPHanaDBInstance", + uberParent: "AzureVmWorkloadProtectableItem", + polymorphicDiscriminator: + AzureVmWorkloadProtectableItem.type.polymorphicDiscriminator, + modelProperties: { + ...AzureVmWorkloadProtectableItem.type.modelProperties + } + } +}; + +export const AzureVmWorkloadSAPHanaHSR: coreClient.CompositeMapper = { + serializedName: "SAPHanaHSR", + type: { + name: "Composite", + className: "AzureVmWorkloadSAPHanaHSR", + uberParent: "AzureVmWorkloadProtectableItem", + polymorphicDiscriminator: + AzureVmWorkloadProtectableItem.type.polymorphicDiscriminator, + modelProperties: { + ...AzureVmWorkloadProtectableItem.type.modelProperties + } + } +}; + export const AzureVmWorkloadSQLAvailabilityGroupProtectableItem: coreClient.CompositeMapper = { serializedName: "SQLAvailabilityGroupContainer", type: { @@ -9185,6 +9408,7 @@ export let discriminators = { "AzureIaaSVMProtectedItem.Microsoft.Compute/virtualMachines": AzureIaaSComputeVMProtectedItem, "AzureVmWorkloadProtectedItem.AzureVmWorkloadSAPAseDatabase": AzureVmWorkloadSAPAseDatabaseProtectedItem, "AzureVmWorkloadProtectedItem.AzureVmWorkloadSAPHanaDatabase": AzureVmWorkloadSAPHanaDatabaseProtectedItem, + "AzureVmWorkloadProtectedItem.AzureVmWorkloadSAPHanaDBInstance": AzureVmWorkloadSAPHanaDBInstanceProtectedItem, "AzureVmWorkloadProtectedItem.AzureVmWorkloadSQLDatabase": AzureVmWorkloadSQLDatabaseProtectedItem, "AzureWorkloadRecoveryPoint.AzureWorkloadPointInTimeRecoveryPoint": AzureWorkloadPointInTimeRecoveryPoint, "AzureWorkloadRecoveryPoint.AzureWorkloadSAPHanaRecoveryPoint": AzureWorkloadSAPHanaRecoveryPoint, @@ -9210,6 +9434,8 @@ export let discriminators = { "AzureVmWorkloadProtectableItem.SAPAseSystem": AzureVmWorkloadSAPAseSystemProtectableItem, "AzureVmWorkloadProtectableItem.SAPHanaDatabase": AzureVmWorkloadSAPHanaDatabaseProtectableItem, "AzureVmWorkloadProtectableItem.SAPHanaSystem": AzureVmWorkloadSAPHanaSystemProtectableItem, + "AzureVmWorkloadProtectableItem.SAPHanaDBInstance": AzureVmWorkloadSAPHanaDBInstance, + "AzureVmWorkloadProtectableItem.SAPHanaHSR": AzureVmWorkloadSAPHanaHSR, "AzureVmWorkloadProtectableItem.SQLAvailabilityGroupContainer": AzureVmWorkloadSQLAvailabilityGroupProtectableItem, "AzureVmWorkloadProtectableItem.SQLDataBase": AzureVmWorkloadSQLDatabaseProtectableItem, "AzureVmWorkloadProtectableItem.SQLInstance": AzureVmWorkloadSQLInstanceProtectableItem, diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/parameters.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/parameters.ts index 605e2bd4ecf9..645e4572a4db 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/parameters.ts +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/models/parameters.ts @@ -63,7 +63,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-03-01", + defaultValue: "2023-01-01", isConstant: true, serializedName: "api-version", type: { diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operations/deletedProtectionContainers.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operations/deletedProtectionContainers.ts new file mode 100644 index 000000000000..96541518f1b6 --- /dev/null +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operations/deletedProtectionContainers.ts @@ -0,0 +1,198 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { DeletedProtectionContainers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { RecoveryServicesBackupClient } from "../recoveryServicesBackupClient"; +import { + ProtectionContainerResource, + DeletedProtectionContainersListNextOptionalParams, + DeletedProtectionContainersListOptionalParams, + DeletedProtectionContainersListResponse, + DeletedProtectionContainersListNextResponse +} from "../models"; + +/// +/** Class containing DeletedProtectionContainers operations. */ +export class DeletedProtectionContainersImpl + implements DeletedProtectionContainers { + private readonly client: RecoveryServicesBackupClient; + + /** + * Initialize a new instance of the class DeletedProtectionContainers class. + * @param client Reference to the service client + */ + constructor(client: RecoveryServicesBackupClient) { + this.client = client; + } + + /** + * Lists the soft deleted containers registered to Recovery Services Vault. + * @param resourceGroupName The name of the resource group where the recovery services vault is + * present. + * @param vaultName The name of the recovery services vault. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + vaultName: string, + options?: DeletedProtectionContainersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, vaultName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + vaultName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + vaultName: string, + options?: DeletedProtectionContainersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: DeletedProtectionContainersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, vaultName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + vaultName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + vaultName: string, + options?: DeletedProtectionContainersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + vaultName, + options + )) { + yield* page; + } + } + + /** + * Lists the soft deleted containers registered to Recovery Services Vault. + * @param resourceGroupName The name of the resource group where the recovery services vault is + * present. + * @param vaultName The name of the recovery services vault. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + vaultName: string, + options?: DeletedProtectionContainersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group where the recovery services vault is + * present. + * @param vaultName The name of the recovery services vault. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + vaultName: string, + nextLink: string, + options?: DeletedProtectionContainersListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ProtectionContainerResourceList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.vaultName, + Parameters.resourceGroupName, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ProtectionContainerResourceList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.vaultName, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operations/index.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operations/index.ts index 154cc42aeb56..2437070aadd2 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operations/index.ts +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operations/index.ts @@ -50,6 +50,7 @@ export * from "./backupOperationStatuses"; export * from "./protectionPolicyOperationStatuses"; export * from "./backupProtectableItems"; export * from "./backupProtectionContainers"; +export * from "./deletedProtectionContainers"; export * from "./securityPINs"; export * from "./recoveryPointsRecommendedForMove"; export * from "./resourceGuardProxies"; diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operationsInterfaces/deletedProtectionContainers.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operationsInterfaces/deletedProtectionContainers.ts new file mode 100644 index 000000000000..b68304bb20dc --- /dev/null +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operationsInterfaces/deletedProtectionContainers.ts @@ -0,0 +1,30 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ProtectionContainerResource, + DeletedProtectionContainersListOptionalParams +} from "../models"; + +/// +/** Interface representing a DeletedProtectionContainers. */ +export interface DeletedProtectionContainers { + /** + * Lists the soft deleted containers registered to Recovery Services Vault. + * @param resourceGroupName The name of the resource group where the recovery services vault is + * present. + * @param vaultName The name of the recovery services vault. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + vaultName: string, + options?: DeletedProtectionContainersListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operationsInterfaces/index.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operationsInterfaces/index.ts index 154cc42aeb56..2437070aadd2 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operationsInterfaces/index.ts +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/operationsInterfaces/index.ts @@ -50,6 +50,7 @@ export * from "./backupOperationStatuses"; export * from "./protectionPolicyOperationStatuses"; export * from "./backupProtectableItems"; export * from "./backupProtectionContainers"; +export * from "./deletedProtectionContainers"; export * from "./securityPINs"; export * from "./recoveryPointsRecommendedForMove"; export * from "./resourceGuardProxies"; diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/recoveryServicesBackupClient.ts b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/recoveryServicesBackupClient.ts index 775daa505228..1f8003ef1489 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/recoveryServicesBackupClient.ts +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/src/recoveryServicesBackupClient.ts @@ -61,6 +61,7 @@ import { ProtectionPolicyOperationStatusesImpl, BackupProtectableItemsImpl, BackupProtectionContainersImpl, + DeletedProtectionContainersImpl, SecurityPINsImpl, RecoveryPointsRecommendedForMoveImpl, ResourceGuardProxiesImpl, @@ -111,6 +112,7 @@ import { ProtectionPolicyOperationStatuses, BackupProtectableItems, BackupProtectionContainers, + DeletedProtectionContainers, SecurityPINs, RecoveryPointsRecommendedForMove, ResourceGuardProxies, @@ -215,7 +217,7 @@ export class RecoveryServicesBackupClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2022-03-01"; + this.apiVersion = options.apiVersion || "2023-01-01"; this.backupResourceStorageConfigsNonCRR = new BackupResourceStorageConfigsNonCRRImpl( this ); @@ -282,6 +284,9 @@ export class RecoveryServicesBackupClient extends coreClient.ServiceClient { ); this.backupProtectableItems = new BackupProtectableItemsImpl(this); this.backupProtectionContainers = new BackupProtectionContainersImpl(this); + this.deletedProtectionContainers = new DeletedProtectionContainersImpl( + this + ); this.securityPINs = new SecurityPINsImpl(this); this.recoveryPointsRecommendedForMove = new RecoveryPointsRecommendedForMoveImpl( this @@ -679,6 +684,7 @@ export class RecoveryServicesBackupClient extends coreClient.ServiceClient { protectionPolicyOperationStatuses: ProtectionPolicyOperationStatuses; backupProtectableItems: BackupProtectableItems; backupProtectionContainers: BackupProtectionContainers; + deletedProtectionContainers: DeletedProtectionContainers; securityPINs: SecurityPINs; recoveryPointsRecommendedForMove: RecoveryPointsRecommendedForMove; resourceGuardProxies: ResourceGuardProxies; diff --git a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/tsconfig.json b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/tsconfig.json index a7e9eaf1a49b..3e6ae96443f3 100644 --- a/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/tsconfig.json +++ b/sdk/recoveryservicesbackup/arm-recoveryservicesbackup/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-recoveryservicesbackup": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"