sdk/resourcemanager/recoveryservices/armrecoveryservicesbackup/models.go (4,962 lines of code) (raw):
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armrecoveryservicesbackup
import "time"
// AzureBackupGoalFeatureSupportRequest - Azure backup goal feature specific request.
type AzureBackupGoalFeatureSupportRequest struct {
// REQUIRED; backup support feature type.
FeatureType *string
}
// GetFeatureSupportRequest implements the FeatureSupportRequestClassification interface for type AzureBackupGoalFeatureSupportRequest.
func (a *AzureBackupGoalFeatureSupportRequest) GetFeatureSupportRequest() *FeatureSupportRequest {
return &FeatureSupportRequest{
FeatureType: a.FeatureType,
}
}
// AzureBackupServerContainer - AzureBackupServer (DPMVenus) workload-specific protection container.
type AzureBackupServerContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Specifies whether the container is re-registrable.
CanReRegister *bool
// ID of container.
ContainerID *string
// Backup engine Agent version
DpmAgentVersion *string
// List of BackupEngines protecting the container
DpmServers []*string
// Extended Info of the container.
ExtendedInfo *DPMContainerExtendedInfo
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Number of protected items in the BackupEngine
ProtectedItemCount *int64
// Protection status of the container.
ProtectionStatus *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// To check if upgrade available
UpgradeAvailable *bool
}
// GetDpmContainer implements the DpmContainerClassification interface for type AzureBackupServerContainer.
func (a *AzureBackupServerContainer) GetDpmContainer() *DpmContainer {
return &DpmContainer{
BackupManagementType: a.BackupManagementType,
CanReRegister: a.CanReRegister,
ContainerID: a.ContainerID,
ContainerType: a.ContainerType,
DpmAgentVersion: a.DpmAgentVersion,
DpmServers: a.DpmServers,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
ProtectedItemCount: a.ProtectedItemCount,
ProtectionStatus: a.ProtectionStatus,
RegistrationStatus: a.RegistrationStatus,
UpgradeAvailable: a.UpgradeAvailable,
}
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureBackupServerContainer.
func (a *AzureBackupServerContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureBackupServerEngine - Backup engine type when Azure Backup Server is used to manage the backups.
type AzureBackupServerEngine struct {
// REQUIRED; Type of the backup engine.
BackupEngineType *BackupEngineType
// Backup agent version
AzureBackupAgentVersion *string
// ID of the backup engine.
BackupEngineID *string
// Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}
BackupEngineState *string
// Type of backup management for the backup engine.
BackupManagementType *BackupManagementType
// Flag indicating if the backup engine be registered, once already registered.
CanReRegister *bool
// Backup engine version
DpmVersion *string
// Extended info of the backupengine
ExtendedInfo *BackupEngineExtendedInfo
// Friendly name of the backup engine.
FriendlyName *string
// Backup status of the backup engine.
HealthStatus *string
// To check if backup agent upgrade available
IsAzureBackupAgentUpgradeAvailable *bool
// To check if backup engine upgrade available
IsDpmUpgradeAvailable *bool
// Registration status of the backup engine with the Recovery Services Vault.
RegistrationStatus *string
}
// GetBackupEngineBase implements the BackupEngineBaseClassification interface for type AzureBackupServerEngine.
func (a *AzureBackupServerEngine) GetBackupEngineBase() *BackupEngineBase {
return &BackupEngineBase{
AzureBackupAgentVersion: a.AzureBackupAgentVersion,
BackupEngineID: a.BackupEngineID,
BackupEngineState: a.BackupEngineState,
BackupEngineType: a.BackupEngineType,
BackupManagementType: a.BackupManagementType,
CanReRegister: a.CanReRegister,
DpmVersion: a.DpmVersion,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
IsAzureBackupAgentUpgradeAvailable: a.IsAzureBackupAgentUpgradeAvailable,
IsDpmUpgradeAvailable: a.IsDpmUpgradeAvailable,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureFileShareBackupRequest - AzureFileShare workload-specific backup request.
type AzureFileShareBackupRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Backup copy will expire after the time specified (UTC).
RecoveryPointExpiryTimeInUTC *time.Time
}
// GetBackupRequest implements the BackupRequestClassification interface for type AzureFileShareBackupRequest.
func (a *AzureFileShareBackupRequest) GetBackupRequest() *BackupRequest {
return &BackupRequest{
ObjectType: a.ObjectType,
}
}
// AzureFileShareProtectableItem - Protectable item for Azure Fileshare workloads.
type AzureFileShareProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// File Share type XSync or XSMB.
AzureFileShareType *AzureFileShareType
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.
ParentContainerFabricID *string
// Friendly name of container to which this protectable item belongs.
ParentContainerFriendlyName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Type of workload for the backup management
WorkloadType *string
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureFileShareProtectableItem.
func (a *AzureFileShareProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureFileShareProtectionPolicy - AzureStorage backup policy.
type AzureFileShareProtectionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
BackupManagementType *string
// Number of items associated with this policy.
ProtectedItemsCount *int32
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
// Retention policy with the details on backup copy retention ranges.
RetentionPolicy RetentionPolicyClassification
// Backup schedule specified as part of backup policy.
SchedulePolicy SchedulePolicyClassification
// TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
TimeZone *string
// Retention policy with the details on hardened backup copy retention ranges.
VaultRetentionPolicy *VaultRetentionPolicy
// Type of workload for the backup management
WorkLoadType *WorkloadType
}
// GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureFileShareProtectionPolicy.
func (a *AzureFileShareProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy {
return &ProtectionPolicy{
BackupManagementType: a.BackupManagementType,
ProtectedItemsCount: a.ProtectedItemsCount,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureFileShareProvisionILRRequest - Update snapshot Uri with the correct friendly Name of the source Azure file share.
type AzureFileShareProvisionILRRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Recovery point ID.
RecoveryPointID *string
// Source Storage account ARM Id
SourceResourceID *string
}
// GetILRRequest implements the ILRRequestClassification interface for type AzureFileShareProvisionILRRequest.
func (a *AzureFileShareProvisionILRRequest) GetILRRequest() *ILRRequest {
return &ILRRequest{
ObjectType: a.ObjectType,
}
}
// AzureFileShareRecoveryPoint - Azure File Share workload specific backup copy.
type AzureFileShareRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Contains Url to the snapshot of fileshare, if applicable
FileShareSnapshotURI *string
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Contains recovery point size
RecoveryPointSizeInGB *int32
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformation
// Time at which this backup copy was created.
RecoveryPointTime *time.Time
// Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.
RecoveryPointType *string
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureFileShareRecoveryPoint.
func (a *AzureFileShareRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureFileShareRestoreRequest - AzureFileShare Restore Request
type AzureFileShareRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Options to resolve copy conflicts.
CopyOptions *CopyOptions
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// List of Source Files/Folders(which need to recover) and TargetFolderPath details
RestoreFileSpecs []*RestoreFileSpecs
// Restore Type (FullShareRestore or ItemLevelRestore)
RestoreRequestType *RestoreRequestType
// Source storage account ARM Id
SourceResourceID *string
// Target File Share Details
TargetDetails *TargetAFSRestoreInfo
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureFileShareRestoreRequest.
func (a *AzureFileShareRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureFileshareProtectedItem - Azure File Share workload-specific backup item.
type AzureFileshareProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information with this backup item.
ExtendedInfo *AzureFileshareProtectedItemExtendedInfo
// Friendly name of the fileshare represented by this backup item.
FriendlyName *string
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Last backup operation status. Possible values: Healthy, Unhealthy.
LastBackupStatus *string
// Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Backup state of this backup item.
ProtectionState *ProtectionState
// Backup status of this backup item.
ProtectionStatus *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureFileshareProtectedItem.
func (a *AzureFileshareProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureFileshareProtectedItemExtendedInfo - Additional information about Azure File Share backup item.
type AzureFileshareProtectedItemExtendedInfo struct {
// The oldest backup copy available for this item in the service.
OldestRecoveryPoint *time.Time
// Indicates consistency of policy object and policy applied to this backup item.
PolicyState *string
// Number of available backup copies associated with this backup item.
RecoveryPointCount *int32
// READ-ONLY; Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted,
// Deleted}
ResourceState *string
// READ-ONLY; The resource state sync time for this backup item.
ResourceStateSyncTime *time.Time
}
// AzureIaaSClassicComputeVMContainer - IaaS VM workload-specific backup item representing a classic virtual machine.
type AzureIaaSClassicComputeVMContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// Resource group name of Recovery Services Vault.
ResourceGroup *string
// Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
VirtualMachineID *string
// Specifies whether the container represents a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
}
// GetIaaSVMContainer implements the IaaSVMContainerClassification interface for type AzureIaaSClassicComputeVMContainer.
func (a *AzureIaaSClassicComputeVMContainer) GetIaaSVMContainer() *IaaSVMContainer {
return &IaaSVMContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
ResourceGroup: a.ResourceGroup,
VirtualMachineID: a.VirtualMachineID,
VirtualMachineVersion: a.VirtualMachineVersion,
}
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureIaaSClassicComputeVMContainer.
func (a *AzureIaaSClassicComputeVMContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureIaaSClassicComputeVMProtectableItem - IaaS VM workload-specific backup item representing the Classic Compute VM.
type AzureIaaSClassicComputeVMProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Resource group name of Recovery Services Vault.
ResourceGroup *string
// Fully qualified ARM ID of the virtual machine.
VirtualMachineID *string
// Specifies whether the container represents a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
// Type of workload for the backup management
WorkloadType *string
}
// GetIaaSVMProtectableItem implements the IaaSVMProtectableItemClassification interface for type AzureIaaSClassicComputeVMProtectableItem.
func (a *AzureIaaSClassicComputeVMProtectableItem) GetIaaSVMProtectableItem() *IaaSVMProtectableItem {
return &IaaSVMProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ResourceGroup: a.ResourceGroup,
VirtualMachineID: a.VirtualMachineID,
VirtualMachineVersion: a.VirtualMachineVersion,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureIaaSClassicComputeVMProtectableItem.
func (a *AzureIaaSClassicComputeVMProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureIaaSClassicComputeVMProtectedItem - IaaS VM workload-specific backup item representing the Classic Compute VM.
type AzureIaaSClassicComputeVMProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo
// Extended Properties for Azure IaasVM Backup.
ExtendedProperties *ExtendedProperties
// Health details on this backup item.
HealthDetails []*AzureIaaSVMHealthDetails
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Last backup operation status.
LastBackupStatus *string
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Backup state of this backup item.
ProtectionState *ProtectionState
// Backup status of this backup item.
ProtectionStatus *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the VM represented by this backup item.
FriendlyName *string
// READ-ONLY; Health status of protected item.
HealthStatus *HealthStatus
// READ-ONLY; Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// READ-ONLY; Type of the policy used for protection
PolicyType *string
// READ-ONLY; Data ID of the protected item.
ProtectedItemDataID *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Fully qualified ARM ID of the virtual machine represented by this item.
VirtualMachineID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureIaaSVMProtectedItem implements the AzureIaaSVMProtectedItemClassification interface for type AzureIaaSClassicComputeVMProtectedItem.
func (a *AzureIaaSClassicComputeVMProtectedItem) GetAzureIaaSVMProtectedItem() *AzureIaaSVMProtectedItem {
return &AzureIaaSVMProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
ExtendedInfo: a.ExtendedInfo,
ExtendedProperties: a.ExtendedProperties,
FriendlyName: a.FriendlyName,
HealthDetails: a.HealthDetails,
HealthStatus: a.HealthStatus,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
KpisHealths: a.KpisHealths,
LastBackupStatus: a.LastBackupStatus,
LastBackupTime: a.LastBackupTime,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
PolicyType: a.PolicyType,
ProtectedItemDataID: a.ProtectedItemDataID,
ProtectedItemType: a.ProtectedItemType,
ProtectionState: a.ProtectionState,
ProtectionStatus: a.ProtectionStatus,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
VirtualMachineID: a.VirtualMachineID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureIaaSClassicComputeVMProtectedItem.
func (a *AzureIaaSClassicComputeVMProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureIaaSComputeVMContainer - IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.
type AzureIaaSComputeVMContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// Resource group name of Recovery Services Vault.
ResourceGroup *string
// Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
VirtualMachineID *string
// Specifies whether the container represents a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
}
// GetIaaSVMContainer implements the IaaSVMContainerClassification interface for type AzureIaaSComputeVMContainer.
func (a *AzureIaaSComputeVMContainer) GetIaaSVMContainer() *IaaSVMContainer {
return &IaaSVMContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
ResourceGroup: a.ResourceGroup,
VirtualMachineID: a.VirtualMachineID,
VirtualMachineVersion: a.VirtualMachineVersion,
}
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureIaaSComputeVMContainer.
func (a *AzureIaaSComputeVMContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureIaaSComputeVMProtectableItem - IaaS VM workload-specific backup item representing the Azure Resource Manager VM.
type AzureIaaSComputeVMProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Resource group name of Recovery Services Vault.
ResourceGroup *string
// Fully qualified ARM ID of the virtual machine.
VirtualMachineID *string
// Specifies whether the container represents a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
// Type of workload for the backup management
WorkloadType *string
}
// GetIaaSVMProtectableItem implements the IaaSVMProtectableItemClassification interface for type AzureIaaSComputeVMProtectableItem.
func (a *AzureIaaSComputeVMProtectableItem) GetIaaSVMProtectableItem() *IaaSVMProtectableItem {
return &IaaSVMProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ResourceGroup: a.ResourceGroup,
VirtualMachineID: a.VirtualMachineID,
VirtualMachineVersion: a.VirtualMachineVersion,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureIaaSComputeVMProtectableItem.
func (a *AzureIaaSComputeVMProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureIaaSComputeVMProtectedItem - IaaS VM workload-specific backup item representing the Azure Resource Manager VM.
type AzureIaaSComputeVMProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo
// Extended Properties for Azure IaasVM Backup.
ExtendedProperties *ExtendedProperties
// Health details on this backup item.
HealthDetails []*AzureIaaSVMHealthDetails
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Last backup operation status.
LastBackupStatus *string
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Backup state of this backup item.
ProtectionState *ProtectionState
// Backup status of this backup item.
ProtectionStatus *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the VM represented by this backup item.
FriendlyName *string
// READ-ONLY; Health status of protected item.
HealthStatus *HealthStatus
// READ-ONLY; Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// READ-ONLY; Type of the policy used for protection
PolicyType *string
// READ-ONLY; Data ID of the protected item.
ProtectedItemDataID *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Fully qualified ARM ID of the virtual machine represented by this item.
VirtualMachineID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureIaaSVMProtectedItem implements the AzureIaaSVMProtectedItemClassification interface for type AzureIaaSComputeVMProtectedItem.
func (a *AzureIaaSComputeVMProtectedItem) GetAzureIaaSVMProtectedItem() *AzureIaaSVMProtectedItem {
return &AzureIaaSVMProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
ExtendedInfo: a.ExtendedInfo,
ExtendedProperties: a.ExtendedProperties,
FriendlyName: a.FriendlyName,
HealthDetails: a.HealthDetails,
HealthStatus: a.HealthStatus,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
KpisHealths: a.KpisHealths,
LastBackupStatus: a.LastBackupStatus,
LastBackupTime: a.LastBackupTime,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
PolicyType: a.PolicyType,
ProtectedItemDataID: a.ProtectedItemDataID,
ProtectedItemType: a.ProtectedItemType,
ProtectionState: a.ProtectionState,
ProtectionStatus: a.ProtectionStatus,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
VirtualMachineID: a.VirtualMachineID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureIaaSComputeVMProtectedItem.
func (a *AzureIaaSComputeVMProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureIaaSVMErrorInfo - Azure IaaS VM workload-specific error information.
type AzureIaaSVMErrorInfo struct {
// READ-ONLY; Error code.
ErrorCode *int32
// READ-ONLY; Localized error string.
ErrorString *string
// READ-ONLY; Title: Typically, the entity that the error pertains to.
ErrorTitle *string
// READ-ONLY; List of localized recommendations for above error code.
Recommendations []*string
}
// AzureIaaSVMHealthDetails - Azure IaaS VM workload-specific Health Details.
type AzureIaaSVMHealthDetails struct {
// READ-ONLY; Health Code
Code *int32
// READ-ONLY; Health Message
Message *string
// READ-ONLY; Health Recommended Actions
Recommendations []*string
// READ-ONLY; Health Title
Title *string
}
// AzureIaaSVMJob - Azure IaaS VM workload-specific job object.
type AzureIaaSVMJob struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// Gets or sets the state/actions applicable on this job like cancel/retry.
ActionsInfo []*JobSupportedAction
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// Container name of the entity on which the current job is executing.
ContainerName *string
// Time elapsed during the execution of this job.
Duration *string
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// Error details on execution of this job.
ErrorDetails []*AzureIaaSVMErrorInfo
// Additional information for this job.
ExtendedInfo *AzureIaaSVMJobExtendedInfo
// Indicated that whether the job is adhoc(true) or scheduled(false)
IsUserTriggered *bool
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
// Specifies whether the backup item is a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
}
// GetJob implements the JobClassification interface for type AzureIaaSVMJob.
func (a *AzureIaaSVMJob) GetJob() *Job {
return &Job{
ActivityID: a.ActivityID,
BackupManagementType: a.BackupManagementType,
EndTime: a.EndTime,
EntityFriendlyName: a.EntityFriendlyName,
JobType: a.JobType,
Operation: a.Operation,
StartTime: a.StartTime,
Status: a.Status,
}
}
// AzureIaaSVMJobExtendedInfo - Azure IaaS VM workload-specific additional information for job.
type AzureIaaSVMJobExtendedInfo struct {
// Non localized error message on job execution.
DynamicErrorMessage *string
// Time remaining for execution of this job.
EstimatedRemainingDuration *string
// Job internal properties.
InternalPropertyBag map[string]*string
// Indicates progress of the job. Null if it has not started or completed.
ProgressPercentage *float64
// Job properties.
PropertyBag map[string]*string
// List of tasks associated with this job.
TasksList []*AzureIaaSVMJobTaskDetails
}
// AzureIaaSVMJobTaskDetails - Azure IaaS VM workload-specific job task details.
type AzureIaaSVMJobTaskDetails struct {
// Time elapsed for task.
Duration *string
// The end time.
EndTime *time.Time
// The instanceId.
InstanceID *string
// Progress of the task.
ProgressPercentage *float64
// The start time.
StartTime *time.Time
// The status.
Status *string
// Details about execution of the task. eg: number of bytes transferred etc
TaskExecutionDetails *string
// The task display name.
TaskID *string
}
// AzureIaaSVMJobV2 - Azure IaaS VM workload-specific job object.
type AzureIaaSVMJobV2 struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// Gets or sets the state/actions applicable on this job like cancel/retry.
ActionsInfo []*JobSupportedAction
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// Container name of the entity on which the current job is executing.
ContainerName *string
// Time elapsed during the execution of this job.
Duration *string
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// Error details on execution of this job.
ErrorDetails []*AzureIaaSVMErrorInfo
// Additional information for this job.
ExtendedInfo *AzureIaaSVMJobExtendedInfo
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
// Specifies whether the backup item is a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
}
// GetJob implements the JobClassification interface for type AzureIaaSVMJobV2.
func (a *AzureIaaSVMJobV2) GetJob() *Job {
return &Job{
ActivityID: a.ActivityID,
BackupManagementType: a.BackupManagementType,
EndTime: a.EndTime,
EntityFriendlyName: a.EntityFriendlyName,
JobType: a.JobType,
Operation: a.Operation,
StartTime: a.StartTime,
Status: a.Status,
}
}
// AzureIaaSVMProtectedItem - IaaS VM workload-specific backup item.
type AzureIaaSVMProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo
// Extended Properties for Azure IaasVM Backup.
ExtendedProperties *ExtendedProperties
// Health details on this backup item.
HealthDetails []*AzureIaaSVMHealthDetails
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Last backup operation status.
LastBackupStatus *string
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Backup state of this backup item.
ProtectionState *ProtectionState
// Backup status of this backup item.
ProtectionStatus *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the VM represented by this backup item.
FriendlyName *string
// READ-ONLY; Health status of protected item.
HealthStatus *HealthStatus
// READ-ONLY; Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// READ-ONLY; Type of the policy used for protection
PolicyType *string
// READ-ONLY; Data ID of the protected item.
ProtectedItemDataID *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Fully qualified ARM ID of the virtual machine represented by this item.
VirtualMachineID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureIaaSVMProtectedItem implements the AzureIaaSVMProtectedItemClassification interface for type AzureIaaSVMProtectedItem.
func (a *AzureIaaSVMProtectedItem) GetAzureIaaSVMProtectedItem() *AzureIaaSVMProtectedItem { return a }
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureIaaSVMProtectedItem.
func (a *AzureIaaSVMProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureIaaSVMProtectedItemExtendedInfo - Additional information on Azure IaaS VM specific backup item.
type AzureIaaSVMProtectedItemExtendedInfo struct {
// The latest backup copy available for this backup item in archive tier
NewestRecoveryPointInArchive *time.Time
// The oldest backup copy available for this backup item across all tiers.
OldestRecoveryPoint *time.Time
// The oldest backup copy available for this backup item in archive tier
OldestRecoveryPointInArchive *time.Time
// The oldest backup copy available for this backup item in vault tier
OldestRecoveryPointInVault *time.Time
// Specifies if backup policy associated with the backup item is inconsistent.
PolicyInconsistent *bool
// Number of backup copies available for this backup item.
RecoveryPointCount *int32
}
// AzureIaaSVMProtectionPolicy - IaaS VM workload-specific backup policy.
type AzureIaaSVMProtectionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
BackupManagementType *string
InstantRPDetails *InstantRPAdditionalDetails
// Instant RP retention policy range in days
InstantRpRetentionRangeInDays *int32
PolicyType *IAASVMPolicyType
// Number of items associated with this policy.
ProtectedItemsCount *int32
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
// Retention policy with the details on backup copy retention ranges.
RetentionPolicy RetentionPolicyClassification
// Backup schedule specified as part of backup policy.
SchedulePolicy SchedulePolicyClassification
SnapshotConsistencyType *IaasVMSnapshotConsistencyType
// 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 map[string]*TieringPolicy
// TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
TimeZone *string
}
// GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureIaaSVMProtectionPolicy.
func (a *AzureIaaSVMProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy {
return &ProtectionPolicy{
BackupManagementType: a.BackupManagementType,
ProtectedItemsCount: a.ProtectedItemsCount,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureRecoveryServiceVaultProtectionIntent - Azure Recovery Services Vault specific protection intent item.
type AzureRecoveryServiceVaultProtectionIntent struct {
// REQUIRED; backup protectionIntent type.
ProtectionIntentItemType *ProtectionIntentItemType
// Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId
ItemID *string
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Backup state of this backup item.
ProtectionState *ProtectionStatus
// ARM ID of the resource to be backed up.
SourceResourceID *string
}
// GetAzureRecoveryServiceVaultProtectionIntent implements the AzureRecoveryServiceVaultProtectionIntentClassification interface
// for type AzureRecoveryServiceVaultProtectionIntent.
func (a *AzureRecoveryServiceVaultProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent() *AzureRecoveryServiceVaultProtectionIntent {
return a
}
// GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureRecoveryServiceVaultProtectionIntent.
func (a *AzureRecoveryServiceVaultProtectionIntent) GetProtectionIntent() *ProtectionIntent {
return &ProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// AzureResourceProtectionIntent - IaaS VM specific backup protection intent item.
type AzureResourceProtectionIntent struct {
// REQUIRED; backup protectionIntent type.
ProtectionIntentItemType *ProtectionIntentItemType
// Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// Friendly name of the VM represented by this backup item.
FriendlyName *string
// ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId
ItemID *string
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Backup state of this backup item.
ProtectionState *ProtectionStatus
// ARM ID of the resource to be backed up.
SourceResourceID *string
}
// GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureResourceProtectionIntent.
func (a *AzureResourceProtectionIntent) GetProtectionIntent() *ProtectionIntent {
return &ProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// AzureSQLAGWorkloadContainerProtectionContainer - Container for SQL workloads under SQL Availability Group.
type AzureSQLAGWorkloadContainerProtectionContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Additional details of a workload container.
ExtendedInfo *AzureWorkloadContainerExtendedInfo
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Time stamp when this container was updated.
LastUpdatedTime *time.Time
// Re-Do Operation
OperationType *OperationType
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// ARM ID of the virtual machine represented by this Azure Workload Container
SourceResourceID *string
// Workload type for which registration was sent.
WorkloadType *WorkloadType
}
// GetAzureWorkloadContainer implements the AzureWorkloadContainerClassification interface for type AzureSQLAGWorkloadContainerProtectionContainer.
func (a *AzureSQLAGWorkloadContainerProtectionContainer) GetAzureWorkloadContainer() *AzureWorkloadContainer {
return &AzureWorkloadContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
LastUpdatedTime: a.LastUpdatedTime,
OperationType: a.OperationType,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
SourceResourceID: a.SourceResourceID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureSQLAGWorkloadContainerProtectionContainer.
func (a *AzureSQLAGWorkloadContainerProtectionContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureSQLContainer - Azure Sql workload-specific container.
type AzureSQLContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureSQLContainer.
func (a *AzureSQLContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureSQLProtectedItem - Azure SQL workload-specific backup item.
type AzureSQLProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureSQLProtectedItemExtendedInfo
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.
ProtectedItemDataID *string
// Backup state of the backed up item.
ProtectionState *ProtectedItemState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureSQLProtectedItem.
func (a *AzureSQLProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureSQLProtectedItemExtendedInfo - Additional information on Azure Sql specific protected item.
type AzureSQLProtectedItemExtendedInfo struct {
// The oldest backup copy available for this item in the service.
OldestRecoveryPoint *time.Time
// State of the backup policy associated with this backup item.
PolicyState *string
// Number of available backup copies associated with this backup item.
RecoveryPointCount *int32
}
// AzureSQLProtectionPolicy - Azure SQL workload-specific backup policy.
type AzureSQLProtectionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
BackupManagementType *string
// Number of items associated with this policy.
ProtectedItemsCount *int32
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
// Retention policy details.
RetentionPolicy RetentionPolicyClassification
}
// GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureSQLProtectionPolicy.
func (a *AzureSQLProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy {
return &ProtectionPolicy{
BackupManagementType: a.BackupManagementType,
ProtectedItemsCount: a.ProtectedItemsCount,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureStorageContainer - Azure Storage Account workload-specific container.
type AzureStorageContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Whether storage account lock is to be acquired for this container or not.
AcquireStorageAccountLock *AcquireStorageAccountLock
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Re-Do Operation
OperationType *OperationType
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Number of items backed up in this container.
ProtectedItemCount *int64
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// Resource group name of Recovery Services Vault.
ResourceGroup *string
// Fully qualified ARM url.
SourceResourceID *string
// Storage account version.
StorageAccountVersion *string
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureStorageContainer.
func (a *AzureStorageContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureStorageErrorInfo - Azure storage specific error information
type AzureStorageErrorInfo struct {
// Error code.
ErrorCode *int32
// Localized error string.
ErrorString *string
// List of localized recommendations for above error code.
Recommendations []*string
}
// AzureStorageJob - Azure storage specific job.
type AzureStorageJob struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// Gets or sets the state/actions applicable on this job like cancel/retry.
ActionsInfo []*JobSupportedAction
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// Time elapsed during the execution of this job.
Duration *string
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// Error details on execution of this job.
ErrorDetails []*AzureStorageErrorInfo
// Additional information about the job.
ExtendedInfo *AzureStorageJobExtendedInfo
// Indicated that whether the job is adhoc(true) or scheduled(false)
IsUserTriggered *bool
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
// Specifies friendly name of the storage account.
StorageAccountName *string
// Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.
StorageAccountVersion *string
}
// GetJob implements the JobClassification interface for type AzureStorageJob.
func (a *AzureStorageJob) GetJob() *Job {
return &Job{
ActivityID: a.ActivityID,
BackupManagementType: a.BackupManagementType,
EndTime: a.EndTime,
EntityFriendlyName: a.EntityFriendlyName,
JobType: a.JobType,
Operation: a.Operation,
StartTime: a.StartTime,
Status: a.Status,
}
}
// AzureStorageJobExtendedInfo - Azure Storage workload-specific additional information for job.
type AzureStorageJobExtendedInfo struct {
// Non localized error message on job execution.
DynamicErrorMessage *string
// Job properties.
PropertyBag map[string]*string
// List of tasks for this job
TasksList []*AzureStorageJobTaskDetails
}
// AzureStorageJobTaskDetails - Azure storage workload specific job task details.
type AzureStorageJobTaskDetails struct {
// The status.
Status *string
// The task display name.
TaskID *string
}
// AzureStorageProtectableContainer - Azure Storage-specific protectable containers
type AzureStorageProtectableContainer struct {
// REQUIRED; Type of the container. The value of this property for
// 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines
ProtectableContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Fabric Id of the container such as ARM Id.
ContainerID *string
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
}
// GetProtectableContainer implements the ProtectableContainerClassification interface for type AzureStorageProtectableContainer.
func (a *AzureStorageProtectableContainer) GetProtectableContainer() *ProtectableContainer {
return &ProtectableContainer{
BackupManagementType: a.BackupManagementType,
ContainerID: a.ContainerID,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableContainerType: a.ProtectableContainerType,
}
}
// AzureVMAppContainerProtectableContainer - Azure workload-specific container
type AzureVMAppContainerProtectableContainer struct {
// REQUIRED; Type of the container. The value of this property for
// 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines
ProtectableContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Fabric Id of the container such as ARM Id.
ContainerID *string
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
}
// GetProtectableContainer implements the ProtectableContainerClassification interface for type AzureVMAppContainerProtectableContainer.
func (a *AzureVMAppContainerProtectableContainer) GetProtectableContainer() *ProtectableContainer {
return &ProtectableContainer{
BackupManagementType: a.BackupManagementType,
ContainerID: a.ContainerID,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableContainerType: a.ProtectableContainerType,
}
}
// AzureVMAppContainerProtectionContainer - Container for SQL workloads under Azure Virtual Machines.
type AzureVMAppContainerProtectionContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Additional details of a workload container.
ExtendedInfo *AzureWorkloadContainerExtendedInfo
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Time stamp when this container was updated.
LastUpdatedTime *time.Time
// Re-Do Operation
OperationType *OperationType
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// ARM ID of the virtual machine represented by this Azure Workload Container
SourceResourceID *string
// Workload type for which registration was sent.
WorkloadType *WorkloadType
}
// GetAzureWorkloadContainer implements the AzureWorkloadContainerClassification interface for type AzureVMAppContainerProtectionContainer.
func (a *AzureVMAppContainerProtectionContainer) GetAzureWorkloadContainer() *AzureWorkloadContainer {
return &AzureWorkloadContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
LastUpdatedTime: a.LastUpdatedTime,
OperationType: a.OperationType,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
SourceResourceID: a.SourceResourceID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureVMAppContainerProtectionContainer.
func (a *AzureVMAppContainerProtectionContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureVMResourceFeatureSupportRequest - AzureResource(IaaS VM) Specific feature support request
type AzureVMResourceFeatureSupportRequest struct {
// REQUIRED; backup support feature type.
FeatureType *string
// SKUs (Premium/Managed etc) in case of IaasVM
VMSKU *string
// Size of the resource: VM size(A/D series etc) in case of IaasVM
VMSize *string
}
// GetFeatureSupportRequest implements the FeatureSupportRequestClassification interface for type AzureVMResourceFeatureSupportRequest.
func (a *AzureVMResourceFeatureSupportRequest) GetFeatureSupportRequest() *FeatureSupportRequest {
return &FeatureSupportRequest{
FeatureType: a.FeatureType,
}
}
// AzureVMResourceFeatureSupportResponse - Response for feature support requests for Azure IaasVm
type AzureVMResourceFeatureSupportResponse struct {
// Support status of feature
SupportStatus *SupportStatus
}
// AzureVMWorkloadItem - Azure VM workload-specific workload item.
type AzureVMWorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if workload item is auto-protectable
IsAutoProtectable *bool
// Name for instance or AG
ParentName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's to be protected
SubWorkloadItemCount *int32
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadItem.
func (a *AzureVMWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem { return a }
// GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadItem.
func (a *AzureVMWorkloadItem) GetWorkloadItem() *WorkloadItem {
return &WorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectionState: a.ProtectionState,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadProtectableItem - Azure VM workload-specific protectable item.
type AzureVMWorkloadProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadProtectableItem.
func (a *AzureVMWorkloadProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return a
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadProtectableItem.
func (a *AzureVMWorkloadProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadProtectedItem - Azure VM workload-specific protected item.
type AzureVMWorkloadProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Error details in last backup
LastBackupErrorDetail *ErrorDetail
// Last backup operation status. Possible values: Healthy, Unhealthy.
LastBackupStatus *LastBackupStatus
// Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// List of the nodes in case of distributed container.
NodesList []*DistributedNodesInfo
// 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
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Data ID of the protected item.
ProtectedItemDataSourceID *string
// Health status of the backup item, evaluated based on last heartbeat received
ProtectedItemHealthStatus *ProtectedItemHealthStatus
// Backup state of this backup item.
ProtectionState *ProtectionState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Host/Cluster Name for instance or AG
ServerName *string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the DB represented by this backup item.
FriendlyName *string
// READ-ONLY; Backup status of this backup item.
ProtectionStatus *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadProtectedItem.
func (a *AzureVMWorkloadProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem {
return a
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadProtectedItem.
func (a *AzureVMWorkloadProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadProtectedItemExtendedInfo - Additional information on Azure Workload for SQL specific backup item.
type AzureVMWorkloadProtectedItemExtendedInfo struct {
// The latest backup copy available for this backup item in archive tier
NewestRecoveryPointInArchive *time.Time
// The oldest backup copy available for this backup item across all tiers.
OldestRecoveryPoint *time.Time
// The oldest backup copy available for this backup item in archive tier
OldestRecoveryPointInArchive *time.Time
// The oldest backup copy available for this backup item in vault tier
OldestRecoveryPointInVault *time.Time
// Indicates consistency of policy object and policy applied to this backup item.
PolicyState *string
// Indicates consistency of policy object and policy applied to this backup item.
RecoveryModel *string
// Number of backup copies available for this backup item.
RecoveryPointCount *int32
}
// AzureVMWorkloadProtectionPolicy - Azure VM (Mercury) workload-specific backup policy.
type AzureVMWorkloadProtectionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
BackupManagementType *string
// Fix the policy inconsistency
MakePolicyConsistent *bool
// Number of items associated with this policy.
ProtectedItemsCount *int32
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
// Common settings for the backup management
Settings *Settings
// List of sub-protection policies which includes schedule and retention
SubProtectionPolicy []*SubProtectionPolicy
// Type of workload for the backup management
WorkLoadType *WorkloadType
}
// GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureVMWorkloadProtectionPolicy.
func (a *AzureVMWorkloadProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy {
return &ProtectionPolicy{
BackupManagementType: a.BackupManagementType,
ProtectedItemsCount: a.ProtectedItemsCount,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureVMWorkloadSAPAseDatabaseProtectableItem - Azure VM workload-specific protectable item representing SAP ASE Database.
type AzureVMWorkloadSAPAseDatabaseProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPAseDatabaseProtectableItem.
func (a *AzureVMWorkloadSAPAseDatabaseProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPAseDatabaseProtectableItem.
func (a *AzureVMWorkloadSAPAseDatabaseProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPAseDatabaseProtectedItem - Azure VM workload-specific protected item representing SAP ASE Database.
type AzureVMWorkloadSAPAseDatabaseProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Error details in last backup
LastBackupErrorDetail *ErrorDetail
// Last backup operation status. Possible values: Healthy, Unhealthy.
LastBackupStatus *LastBackupStatus
// Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// List of the nodes in case of distributed container.
NodesList []*DistributedNodesInfo
// 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
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Data ID of the protected item.
ProtectedItemDataSourceID *string
// Health status of the backup item, evaluated based on last heartbeat received
ProtectedItemHealthStatus *ProtectedItemHealthStatus
// Backup state of this backup item.
ProtectionState *ProtectionState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Host/Cluster Name for instance or AG
ServerName *string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the DB represented by this backup item.
FriendlyName *string
// READ-ONLY; Backup status of this backup item.
ProtectionStatus *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSAPAseDatabaseProtectedItem.
func (a *AzureVMWorkloadSAPAseDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem {
return &AzureVMWorkloadProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
KpisHealths: a.KpisHealths,
LastBackupErrorDetail: a.LastBackupErrorDetail,
LastBackupStatus: a.LastBackupStatus,
LastBackupTime: a.LastBackupTime,
LastRecoveryPoint: a.LastRecoveryPoint,
NodesList: a.NodesList,
ParentName: a.ParentName,
ParentType: a.ParentType,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemDataSourceID: a.ProtectedItemDataSourceID,
ProtectedItemHealthStatus: a.ProtectedItemHealthStatus,
ProtectedItemType: a.ProtectedItemType,
ProtectionState: a.ProtectionState,
ProtectionStatus: a.ProtectionStatus,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ServerName: a.ServerName,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSAPAseDatabaseProtectedItem.
func (a *AzureVMWorkloadSAPAseDatabaseProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPAseDatabaseWorkloadItem - Azure VM workload-specific workload item representing SAP ASE Database.
type AzureVMWorkloadSAPAseDatabaseWorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if workload item is auto-protectable
IsAutoProtectable *bool
// Name for instance or AG
ParentName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's to be protected
SubWorkloadItemCount *int32
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPAseDatabaseWorkloadItem.
func (a *AzureVMWorkloadSAPAseDatabaseWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem {
return &AzureVMWorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
ParentName: a.ParentName,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
SubWorkloadItemCount: a.SubWorkloadItemCount,
Subinquireditemcount: a.Subinquireditemcount,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPAseDatabaseWorkloadItem.
func (a *AzureVMWorkloadSAPAseDatabaseWorkloadItem) GetWorkloadItem() *WorkloadItem {
return &WorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectionState: a.ProtectionState,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPAseSystemProtectableItem - Azure VM workload-specific protectable item representing SAP ASE System.
type AzureVMWorkloadSAPAseSystemProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPAseSystemProtectableItem.
func (a *AzureVMWorkloadSAPAseSystemProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPAseSystemProtectableItem.
func (a *AzureVMWorkloadSAPAseSystemProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPAseSystemWorkloadItem - Azure VM workload-specific workload item representing SAP ASE System.
type AzureVMWorkloadSAPAseSystemWorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if workload item is auto-protectable
IsAutoProtectable *bool
// Name for instance or AG
ParentName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's to be protected
SubWorkloadItemCount *int32
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPAseSystemWorkloadItem.
func (a *AzureVMWorkloadSAPAseSystemWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem {
return &AzureVMWorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
ParentName: a.ParentName,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
SubWorkloadItemCount: a.SubWorkloadItemCount,
Subinquireditemcount: a.Subinquireditemcount,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPAseSystemWorkloadItem.
func (a *AzureVMWorkloadSAPAseSystemWorkloadItem) GetWorkloadItem() *WorkloadItem {
return &WorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectionState: a.ProtectionState,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaDBInstance - Azure VM workload-specific protectable item representing SAP HANA Dbinstance.
type AzureVMWorkloadSAPHanaDBInstance struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDBInstance.
func (a *AzureVMWorkloadSAPHanaDBInstance) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDBInstance.
func (a *AzureVMWorkloadSAPHanaDBInstance) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaDBInstanceProtectedItem - Azure VM workload-specific protected item representing SAP HANA DBInstance.
type AzureVMWorkloadSAPHanaDBInstanceProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Error details in last backup
LastBackupErrorDetail *ErrorDetail
// Last backup operation status. Possible values: Healthy, Unhealthy.
LastBackupStatus *LastBackupStatus
// Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// List of the nodes in case of distributed container.
NodesList []*DistributedNodesInfo
// 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
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Data ID of the protected item.
ProtectedItemDataSourceID *string
// Health status of the backup item, evaluated based on last heartbeat received
ProtectedItemHealthStatus *ProtectedItemHealthStatus
// Backup state of this backup item.
ProtectionState *ProtectionState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Host/Cluster Name for instance or AG
ServerName *string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the DB represented by this backup item.
FriendlyName *string
// READ-ONLY; Backup status of this backup item.
ProtectionStatus *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDBInstanceProtectedItem.
func (a *AzureVMWorkloadSAPHanaDBInstanceProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem {
return &AzureVMWorkloadProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
KpisHealths: a.KpisHealths,
LastBackupErrorDetail: a.LastBackupErrorDetail,
LastBackupStatus: a.LastBackupStatus,
LastBackupTime: a.LastBackupTime,
LastRecoveryPoint: a.LastRecoveryPoint,
NodesList: a.NodesList,
ParentName: a.ParentName,
ParentType: a.ParentType,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemDataSourceID: a.ProtectedItemDataSourceID,
ProtectedItemHealthStatus: a.ProtectedItemHealthStatus,
ProtectedItemType: a.ProtectedItemType,
ProtectionState: a.ProtectionState,
ProtectionStatus: a.ProtectionStatus,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ServerName: a.ServerName,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDBInstanceProtectedItem.
func (a *AzureVMWorkloadSAPHanaDBInstanceProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaDatabaseProtectableItem - Azure VM workload-specific protectable item representing SAP HANA Database.
type AzureVMWorkloadSAPHanaDatabaseProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectableItem.
func (a *AzureVMWorkloadSAPHanaDatabaseProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectableItem.
func (a *AzureVMWorkloadSAPHanaDatabaseProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaDatabaseProtectedItem - Azure VM workload-specific protected item representing SAP HANA Database.
type AzureVMWorkloadSAPHanaDatabaseProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Error details in last backup
LastBackupErrorDetail *ErrorDetail
// Last backup operation status. Possible values: Healthy, Unhealthy.
LastBackupStatus *LastBackupStatus
// Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// List of the nodes in case of distributed container.
NodesList []*DistributedNodesInfo
// 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
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Data ID of the protected item.
ProtectedItemDataSourceID *string
// Health status of the backup item, evaluated based on last heartbeat received
ProtectedItemHealthStatus *ProtectedItemHealthStatus
// Backup state of this backup item.
ProtectionState *ProtectionState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Host/Cluster Name for instance or AG
ServerName *string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the DB represented by this backup item.
FriendlyName *string
// READ-ONLY; Backup status of this backup item.
ProtectionStatus *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectedItem.
func (a *AzureVMWorkloadSAPHanaDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem {
return &AzureVMWorkloadProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
KpisHealths: a.KpisHealths,
LastBackupErrorDetail: a.LastBackupErrorDetail,
LastBackupStatus: a.LastBackupStatus,
LastBackupTime: a.LastBackupTime,
LastRecoveryPoint: a.LastRecoveryPoint,
NodesList: a.NodesList,
ParentName: a.ParentName,
ParentType: a.ParentType,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemDataSourceID: a.ProtectedItemDataSourceID,
ProtectedItemHealthStatus: a.ProtectedItemHealthStatus,
ProtectedItemType: a.ProtectedItemType,
ProtectionState: a.ProtectionState,
ProtectionStatus: a.ProtectionStatus,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ServerName: a.ServerName,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectedItem.
func (a *AzureVMWorkloadSAPHanaDatabaseProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaDatabaseWorkloadItem - Azure VM workload-specific workload item representing SAP HANA Database.
type AzureVMWorkloadSAPHanaDatabaseWorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if workload item is auto-protectable
IsAutoProtectable *bool
// Name for instance or AG
ParentName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's to be protected
SubWorkloadItemCount *int32
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseWorkloadItem.
func (a *AzureVMWorkloadSAPHanaDatabaseWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem {
return &AzureVMWorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
ParentName: a.ParentName,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
SubWorkloadItemCount: a.SubWorkloadItemCount,
Subinquireditemcount: a.Subinquireditemcount,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseWorkloadItem.
func (a *AzureVMWorkloadSAPHanaDatabaseWorkloadItem) GetWorkloadItem() *WorkloadItem {
return &WorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectionState: a.ProtectionState,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaHSRProtectableItem - Azure VM workload-specific protectable item representing HANA HSR.
type AzureVMWorkloadSAPHanaHSRProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaHSRProtectableItem.
func (a *AzureVMWorkloadSAPHanaHSRProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaHSRProtectableItem.
func (a *AzureVMWorkloadSAPHanaHSRProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaSystemProtectableItem - Azure VM workload-specific protectable item representing SAP HANA System.
type AzureVMWorkloadSAPHanaSystemProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaSystemProtectableItem.
func (a *AzureVMWorkloadSAPHanaSystemProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaSystemProtectableItem.
func (a *AzureVMWorkloadSAPHanaSystemProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSAPHanaSystemWorkloadItem - Azure VM workload-specific workload item representing SAP HANA System.
type AzureVMWorkloadSAPHanaSystemWorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if workload item is auto-protectable
IsAutoProtectable *bool
// Name for instance or AG
ParentName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's to be protected
SubWorkloadItemCount *int32
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPHanaSystemWorkloadItem.
func (a *AzureVMWorkloadSAPHanaSystemWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem {
return &AzureVMWorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
ParentName: a.ParentName,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
SubWorkloadItemCount: a.SubWorkloadItemCount,
Subinquireditemcount: a.Subinquireditemcount,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPHanaSystemWorkloadItem.
func (a *AzureVMWorkloadSAPHanaSystemWorkloadItem) GetWorkloadItem() *WorkloadItem {
return &WorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectionState: a.ProtectionState,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSQLAvailabilityGroupProtectableItem - Azure VM workload-specific protectable item representing SQL Availability
// Group.
type AzureVMWorkloadSQLAvailabilityGroupProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// List of the nodes in case of distributed container.
NodesList []*DistributedNodesInfo
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLAvailabilityGroupProtectableItem.
func (a *AzureVMWorkloadSQLAvailabilityGroupProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLAvailabilityGroupProtectableItem.
func (a *AzureVMWorkloadSQLAvailabilityGroupProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSQLDatabaseProtectableItem - Azure VM workload-specific protectable item representing SQL Database.
type AzureVMWorkloadSQLDatabaseProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectableItem.
func (a *AzureVMWorkloadSQLDatabaseProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectableItem.
func (a *AzureVMWorkloadSQLDatabaseProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSQLDatabaseProtectedItem - Azure VM workload-specific protected item representing SQL Database.
type AzureVMWorkloadSQLDatabaseProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information for this backup item.
ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Health details of different KPIs
KpisHealths map[string]*KPIResourceHealthDetails
// Error details in last backup
LastBackupErrorDetail *ErrorDetail
// Last backup operation status. Possible values: Healthy, Unhealthy.
LastBackupStatus *LastBackupStatus
// Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// List of the nodes in case of distributed container.
NodesList []*DistributedNodesInfo
// 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
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Data ID of the protected item.
ProtectedItemDataSourceID *string
// Health status of the backup item, evaluated based on last heartbeat received
ProtectedItemHealthStatus *ProtectedItemHealthStatus
// Backup state of this backup item.
ProtectionState *ProtectionState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Host/Cluster Name for instance or AG
ServerName *string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; Friendly name of the DB represented by this backup item.
FriendlyName *string
// READ-ONLY; Backup status of this backup item.
ProtectionStatus *string
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectedItem.
func (a *AzureVMWorkloadSQLDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem {
return &AzureVMWorkloadProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
ExtendedInfo: a.ExtendedInfo,
FriendlyName: a.FriendlyName,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
KpisHealths: a.KpisHealths,
LastBackupErrorDetail: a.LastBackupErrorDetail,
LastBackupStatus: a.LastBackupStatus,
LastBackupTime: a.LastBackupTime,
LastRecoveryPoint: a.LastRecoveryPoint,
NodesList: a.NodesList,
ParentName: a.ParentName,
ParentType: a.ParentType,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemDataSourceID: a.ProtectedItemDataSourceID,
ProtectedItemHealthStatus: a.ProtectedItemHealthStatus,
ProtectedItemType: a.ProtectedItemType,
ProtectionState: a.ProtectionState,
ProtectionStatus: a.ProtectionStatus,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ServerName: a.ServerName,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectedItem.
func (a *AzureVMWorkloadSQLDatabaseProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: a.BackupManagementType,
BackupSetName: a.BackupSetName,
ContainerName: a.ContainerName,
CreateMode: a.CreateMode,
DeferredDeleteTimeInUTC: a.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: a.DeferredDeleteTimeRemaining,
IsArchiveEnabled: a.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: a.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: a.IsRehydrate,
IsScheduledForDeferredDelete: a.IsScheduledForDeferredDelete,
LastRecoveryPoint: a.LastRecoveryPoint,
PolicyID: a.PolicyID,
PolicyName: a.PolicyName,
ProtectedItemType: a.ProtectedItemType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: a.SoftDeleteRetentionPeriodInDays,
SourceResourceID: a.SourceResourceID,
VaultID: a.VaultID,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSQLDatabaseWorkloadItem - Azure VM workload-specific workload item representing SQL Database.
type AzureVMWorkloadSQLDatabaseWorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if workload item is auto-protectable
IsAutoProtectable *bool
// Name for instance or AG
ParentName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's to be protected
SubWorkloadItemCount *int32
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSQLDatabaseWorkloadItem.
func (a *AzureVMWorkloadSQLDatabaseWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem {
return &AzureVMWorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
ParentName: a.ParentName,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
SubWorkloadItemCount: a.SubWorkloadItemCount,
Subinquireditemcount: a.Subinquireditemcount,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSQLDatabaseWorkloadItem.
func (a *AzureVMWorkloadSQLDatabaseWorkloadItem) GetWorkloadItem() *WorkloadItem {
return &WorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectionState: a.ProtectionState,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSQLInstanceProtectableItem - Azure VM workload-specific protectable item representing SQL Instance.
type AzureVMWorkloadSQLInstanceProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// Indicates if protectable item is auto-protectable
IsAutoProtectable *bool
// Indicates if protectable item is auto-protected
IsAutoProtected *bool
// Indicates if item is protectable
IsProtectable *bool
// Name for instance or AG
ParentName *string
// Parent Unique Name is added to provide the service formatted URI Name of the Parent Only Applicable for data bases where
// the parent would be either Instance or a SQL AG.
ParentUniqueName *string
// Pre-backup validation for protectable objects
Prebackupvalidation *PreBackupValidation
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// For instance or AG, indicates number of DB's to be protected
Subprotectableitemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLInstanceProtectableItem.
func (a *AzureVMWorkloadSQLInstanceProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem {
return &AzureVMWorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
IsAutoProtected: a.IsAutoProtected,
IsProtectable: a.IsProtectable,
ParentName: a.ParentName,
ParentUniqueName: a.ParentUniqueName,
Prebackupvalidation: a.Prebackupvalidation,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
Subinquireditemcount: a.Subinquireditemcount,
Subprotectableitemcount: a.Subprotectableitemcount,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLInstanceProtectableItem.
func (a *AzureVMWorkloadSQLInstanceProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectableItemType: a.ProtectableItemType,
ProtectionState: a.ProtectionState,
WorkloadType: a.WorkloadType,
}
}
// AzureVMWorkloadSQLInstanceWorkloadItem - Azure VM workload-specific workload item representing SQL Instance.
type AzureVMWorkloadSQLInstanceWorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Data Directory Paths for default directories
DataDirectoryPaths []*SQLDataDirectory
// Friendly name of the backup item.
FriendlyName *string
// Indicates if workload item is auto-protectable
IsAutoProtectable *bool
// Name for instance or AG
ParentName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Host/Cluster Name for instance or AG
ServerName *string
// For instance or AG, indicates number of DB's to be protected
SubWorkloadItemCount *int32
// For instance or AG, indicates number of DB's present
Subinquireditemcount *int32
// Type of workload for the backup management
WorkloadType *string
}
// GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSQLInstanceWorkloadItem.
func (a *AzureVMWorkloadSQLInstanceWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem {
return &AzureVMWorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
IsAutoProtectable: a.IsAutoProtectable,
ParentName: a.ParentName,
ProtectionState: a.ProtectionState,
ServerName: a.ServerName,
SubWorkloadItemCount: a.SubWorkloadItemCount,
Subinquireditemcount: a.Subinquireditemcount,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSQLInstanceWorkloadItem.
func (a *AzureVMWorkloadSQLInstanceWorkloadItem) GetWorkloadItem() *WorkloadItem {
return &WorkloadItem{
BackupManagementType: a.BackupManagementType,
FriendlyName: a.FriendlyName,
ProtectionState: a.ProtectionState,
WorkloadItemType: a.WorkloadItemType,
WorkloadType: a.WorkloadType,
}
}
// AzureWorkloadAutoProtectionIntent - Azure Recovery Services Vault specific protection intent item.
type AzureWorkloadAutoProtectionIntent struct {
// REQUIRED; backup protectionIntent type.
ProtectionIntentItemType *ProtectionIntentItemType
// Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId
ItemID *string
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Backup state of this backup item.
ProtectionState *ProtectionStatus
// ARM ID of the resource to be backed up.
SourceResourceID *string
}
// GetAzureRecoveryServiceVaultProtectionIntent implements the AzureRecoveryServiceVaultProtectionIntentClassification interface
// for type AzureWorkloadAutoProtectionIntent.
func (a *AzureWorkloadAutoProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent() *AzureRecoveryServiceVaultProtectionIntent {
return &AzureRecoveryServiceVaultProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// GetAzureWorkloadAutoProtectionIntent implements the AzureWorkloadAutoProtectionIntentClassification interface for type
// AzureWorkloadAutoProtectionIntent.
func (a *AzureWorkloadAutoProtectionIntent) GetAzureWorkloadAutoProtectionIntent() *AzureWorkloadAutoProtectionIntent {
return a
}
// GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureWorkloadAutoProtectionIntent.
func (a *AzureWorkloadAutoProtectionIntent) GetProtectionIntent() *ProtectionIntent {
return &ProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// AzureWorkloadBackupRequest - AzureWorkload workload-specific backup request.
type AzureWorkloadBackupRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Type of backup, viz. Full, Differential, Log or CopyOnlyFull
BackupType *BackupType
// Bool for Compression setting
EnableCompression *bool
// Backup copy will expire after the time specified (UTC).
RecoveryPointExpiryTimeInUTC *time.Time
}
// GetBackupRequest implements the BackupRequestClassification interface for type AzureWorkloadBackupRequest.
func (a *AzureWorkloadBackupRequest) GetBackupRequest() *BackupRequest {
return &BackupRequest{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadContainer - Container for the workloads running inside Azure Compute or Classic Compute.
type AzureWorkloadContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Additional details of a workload container.
ExtendedInfo *AzureWorkloadContainerExtendedInfo
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Time stamp when this container was updated.
LastUpdatedTime *time.Time
// Re-Do Operation
OperationType *OperationType
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// ARM ID of the virtual machine represented by this Azure Workload Container
SourceResourceID *string
// Workload type for which registration was sent.
WorkloadType *WorkloadType
}
// GetAzureWorkloadContainer implements the AzureWorkloadContainerClassification interface for type AzureWorkloadContainer.
func (a *AzureWorkloadContainer) GetAzureWorkloadContainer() *AzureWorkloadContainer { return a }
// GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureWorkloadContainer.
func (a *AzureWorkloadContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: a.BackupManagementType,
ContainerType: a.ContainerType,
FriendlyName: a.FriendlyName,
HealthStatus: a.HealthStatus,
ProtectableObjectType: a.ProtectableObjectType,
RegistrationStatus: a.RegistrationStatus,
}
}
// AzureWorkloadContainerAutoProtectionIntent - Azure workload specific protection intent item.
type AzureWorkloadContainerAutoProtectionIntent struct {
// REQUIRED; backup protectionIntent type.
ProtectionIntentItemType *ProtectionIntentItemType
// Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId
ItemID *string
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Backup state of this backup item.
ProtectionState *ProtectionStatus
// ARM ID of the resource to be backed up.
SourceResourceID *string
}
// GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureWorkloadContainerAutoProtectionIntent.
func (a *AzureWorkloadContainerAutoProtectionIntent) GetProtectionIntent() *ProtectionIntent {
return &ProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// AzureWorkloadContainerExtendedInfo - Extended information of the container.
type AzureWorkloadContainerExtendedInfo struct {
// Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.
HostServerName *string
// Inquiry Status for the container.
InquiryInfo *InquiryInfo
// List of the nodes in case of distributed container.
NodesList []*DistributedNodesInfo
}
// AzureWorkloadErrorInfo - Azure storage specific error information
type AzureWorkloadErrorInfo struct {
// Additional details for above error code.
AdditionalDetails *string
// Error code.
ErrorCode *int32
// Localized error string.
ErrorString *string
// Title: Typically, the entity that the error pertains to.
ErrorTitle *string
// List of localized recommendations for above error code.
Recommendations []*string
}
// AzureWorkloadJob - Azure storage specific job.
type AzureWorkloadJob struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// Gets or sets the state/actions applicable on this job like cancel/retry.
ActionsInfo []*JobSupportedAction
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// Time elapsed during the execution of this job.
Duration *string
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// Error details on execution of this job.
ErrorDetails []*AzureWorkloadErrorInfo
// Additional information about the job.
ExtendedInfo *AzureWorkloadJobExtendedInfo
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
// Workload type of the job
WorkloadType *string
}
// GetJob implements the JobClassification interface for type AzureWorkloadJob.
func (a *AzureWorkloadJob) GetJob() *Job {
return &Job{
ActivityID: a.ActivityID,
BackupManagementType: a.BackupManagementType,
EndTime: a.EndTime,
EntityFriendlyName: a.EntityFriendlyName,
JobType: a.JobType,
Operation: a.Operation,
StartTime: a.StartTime,
Status: a.Status,
}
}
// AzureWorkloadJobExtendedInfo - Azure VM workload-specific additional information for job.
type AzureWorkloadJobExtendedInfo struct {
// Non localized error message on job execution.
DynamicErrorMessage *string
// Job properties.
PropertyBag map[string]*string
// List of tasks for this job
TasksList []*AzureWorkloadJobTaskDetails
}
// AzureWorkloadJobTaskDetails - Azure VM workload specific job task details.
type AzureWorkloadJobTaskDetails struct {
// The status.
Status *string
// The task display name.
TaskID *string
}
// AzureWorkloadPointInTimeRecoveryPoint - Recovery point specific to PointInTime
type AzureWorkloadPointInTimeRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// List of log ranges
TimeRanges []*PointInTimeRange
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadPointInTimeRecoveryPoint implements the AzureWorkloadPointInTimeRecoveryPointClassification interface for
// type AzureWorkloadPointInTimeRecoveryPoint.
func (a *AzureWorkloadPointInTimeRecoveryPoint) GetAzureWorkloadPointInTimeRecoveryPoint() *AzureWorkloadPointInTimeRecoveryPoint {
return a
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadPointInTimeRecoveryPoint.
func (a *AzureWorkloadPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return &AzureWorkloadRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadPointInTimeRecoveryPoint.
func (a *AzureWorkloadPointInTimeRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadPointInTimeRestoreRequest - AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore
type AzureWorkloadPointInTimeRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// PointInTime value
PointInTime *time.Time
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadPointInTimeRestoreRequest.
func (a *AzureWorkloadPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadPointInTimeRestoreRequest.
func (a *AzureWorkloadPointInTimeRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadRecoveryPoint - Workload specific recovery point, specifically encapsulates full/diff recovery point
type AzureWorkloadRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadRecoveryPoint.
func (a *AzureWorkloadRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return a
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadRecoveryPoint.
func (a *AzureWorkloadRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadRestoreRequest - AzureWorkload-specific restore.
type AzureWorkloadRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadRestoreRequest.
func (a *AzureWorkloadRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return a
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadRestoreRequest.
func (a *AzureWorkloadRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSAPAsePointInTimeRecoveryPoint - Recovery point specific to PointInTime in SAPAse
type AzureWorkloadSAPAsePointInTimeRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// List of log ranges
TimeRanges []*PointInTimeRange
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadPointInTimeRecoveryPoint implements the AzureWorkloadPointInTimeRecoveryPointClassification interface for
// type AzureWorkloadSAPAsePointInTimeRecoveryPoint.
func (a *AzureWorkloadSAPAsePointInTimeRecoveryPoint) GetAzureWorkloadPointInTimeRecoveryPoint() *AzureWorkloadPointInTimeRecoveryPoint {
return &AzureWorkloadPointInTimeRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
TimeRanges: a.TimeRanges,
Type: a.Type,
}
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSAPAsePointInTimeRecoveryPoint.
func (a *AzureWorkloadSAPAsePointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return &AzureWorkloadRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSAPAsePointInTimeRecoveryPoint.
func (a *AzureWorkloadSAPAsePointInTimeRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadSAPAsePointInTimeRestoreRequest - AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log
// restore
type AzureWorkloadSAPAsePointInTimeRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// PointInTime value
PointInTime *time.Time
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPAsePointInTimeRestoreRequest.
func (a *AzureWorkloadSAPAsePointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSAPAseRestoreRequest implements the AzureWorkloadSAPAseRestoreRequestClassification interface for type
// AzureWorkloadSAPAsePointInTimeRestoreRequest.
func (a *AzureWorkloadSAPAsePointInTimeRestoreRequest) GetAzureWorkloadSAPAseRestoreRequest() *AzureWorkloadSAPAseRestoreRequest {
return &AzureWorkloadSAPAseRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPAsePointInTimeRestoreRequest.
func (a *AzureWorkloadSAPAsePointInTimeRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSAPAseRecoveryPoint - SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints
type AzureWorkloadSAPAseRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSAPAseRecoveryPoint.
func (a *AzureWorkloadSAPAseRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return &AzureWorkloadRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSAPAseRecoveryPoint.
func (a *AzureWorkloadSAPAseRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadSAPAseRestoreRequest - AzureWorkload SAP Ase-specific restore.
type AzureWorkloadSAPAseRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPAseRestoreRequest.
func (a *AzureWorkloadSAPAseRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSAPAseRestoreRequest implements the AzureWorkloadSAPAseRestoreRequestClassification interface for type
// AzureWorkloadSAPAseRestoreRequest.
func (a *AzureWorkloadSAPAseRestoreRequest) GetAzureWorkloadSAPAseRestoreRequest() *AzureWorkloadSAPAseRestoreRequest {
return a
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPAseRestoreRequest.
func (a *AzureWorkloadSAPAseRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSAPHanaPointInTimeRecoveryPoint - Recovery point specific to PointInTime in SAPHana
type AzureWorkloadSAPHanaPointInTimeRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// List of log ranges
TimeRanges []*PointInTimeRange
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadPointInTimeRecoveryPoint implements the AzureWorkloadPointInTimeRecoveryPointClassification interface for
// type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.
func (a *AzureWorkloadSAPHanaPointInTimeRecoveryPoint) GetAzureWorkloadPointInTimeRecoveryPoint() *AzureWorkloadPointInTimeRecoveryPoint {
return &AzureWorkloadPointInTimeRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
TimeRanges: a.TimeRanges,
Type: a.Type,
}
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.
func (a *AzureWorkloadSAPHanaPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return &AzureWorkloadRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.
func (a *AzureWorkloadSAPHanaPointInTimeRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadSAPHanaPointInTimeRestoreRequest - AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log
// restore
type AzureWorkloadSAPHanaPointInTimeRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// PointInTime value
PointInTime *time.Time
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSAPHanaPointInTimeRestoreRequest implements the AzureWorkloadSAPHanaPointInTimeRestoreRequestClassification
// interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadSAPHanaPointInTimeRestoreRequest() *AzureWorkloadSAPHanaPointInTimeRestoreRequest {
return a
}
// GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type
// AzureWorkloadSAPHanaPointInTimeRestoreRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest {
return &AzureWorkloadSAPHanaRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest - AzureWorkload SAP Hana-specific restore with integrated rehydration
// of recovery point.
type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// PointInTime value
PointInTime *time.Time
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// RP Rehydration Info
RecoveryPointRehydrationInfo *RecoveryPointRehydrationInfo
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSAPHanaPointInTimeRestoreRequest implements the AzureWorkloadSAPHanaPointInTimeRestoreRequestClassification
// interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSAPHanaPointInTimeRestoreRequest() *AzureWorkloadSAPHanaPointInTimeRestoreRequest {
return &AzureWorkloadSAPHanaPointInTimeRestoreRequest{
ObjectType: a.ObjectType,
PointInTime: a.PointInTime,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type
// AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest {
return &AzureWorkloadSAPHanaRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSAPHanaRecoveryPoint - SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints
type AzureWorkloadSAPHanaRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSAPHanaRecoveryPoint.
func (a *AzureWorkloadSAPHanaRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return &AzureWorkloadRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSAPHanaRecoveryPoint.
func (a *AzureWorkloadSAPHanaRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadSAPHanaRestoreRequest - AzureWorkload SAP Hana-specific restore.
type AzureWorkloadSAPHanaRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreRequest.
func (a *AzureWorkloadSAPHanaRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type
// AzureWorkloadSAPHanaRestoreRequest.
func (a *AzureWorkloadSAPHanaRestoreRequest) GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest {
return a
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreRequest.
func (a *AzureWorkloadSAPHanaRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSAPHanaRestoreWithRehydrateRequest - AzureWorkload SAP Hana-specific restore with integrated rehydration of
// recovery point.
type AzureWorkloadSAPHanaRestoreWithRehydrateRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// RP Rehydration Info
RecoveryPointRehydrationInfo *RecoveryPointRehydrationInfo
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreWithRehydrateRequest.
func (a *AzureWorkloadSAPHanaRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type
// AzureWorkloadSAPHanaRestoreWithRehydrateRequest.
func (a *AzureWorkloadSAPHanaRestoreWithRehydrateRequest) GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest {
return &AzureWorkloadSAPHanaRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreWithRehydrateRequest.
func (a *AzureWorkloadSAPHanaRestoreWithRehydrateRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSQLAutoProtectionIntent - Azure Workload SQL Auto Protection intent item.
type AzureWorkloadSQLAutoProtectionIntent struct {
// REQUIRED; backup protectionIntent type.
ProtectionIntentItemType *ProtectionIntentItemType
// Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId
ItemID *string
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Backup state of this backup item.
ProtectionState *ProtectionStatus
// ARM ID of the resource to be backed up.
SourceResourceID *string
// Workload item type of the item for which intent is to be set
WorkloadItemType *WorkloadItemType
}
// GetAzureRecoveryServiceVaultProtectionIntent implements the AzureRecoveryServiceVaultProtectionIntentClassification interface
// for type AzureWorkloadSQLAutoProtectionIntent.
func (a *AzureWorkloadSQLAutoProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent() *AzureRecoveryServiceVaultProtectionIntent {
return &AzureRecoveryServiceVaultProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// GetAzureWorkloadAutoProtectionIntent implements the AzureWorkloadAutoProtectionIntentClassification interface for type
// AzureWorkloadSQLAutoProtectionIntent.
func (a *AzureWorkloadSQLAutoProtectionIntent) GetAzureWorkloadAutoProtectionIntent() *AzureWorkloadAutoProtectionIntent {
return &AzureWorkloadAutoProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureWorkloadSQLAutoProtectionIntent.
func (a *AzureWorkloadSQLAutoProtectionIntent) GetProtectionIntent() *ProtectionIntent {
return &ProtectionIntent{
BackupManagementType: a.BackupManagementType,
ItemID: a.ItemID,
PolicyID: a.PolicyID,
ProtectionIntentItemType: a.ProtectionIntentItemType,
ProtectionState: a.ProtectionState,
SourceResourceID: a.SourceResourceID,
}
}
// AzureWorkloadSQLPointInTimeRecoveryPoint - Recovery point specific to PointInTime
type AzureWorkloadSQLPointInTimeRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Extended Info that provides data directory details. Will be populated in two cases: When a specific recovery point is accessed
// using GetRecoveryPoint Or when ListRecoveryPoints is called for Log RP
// only with ExtendedInfo query filter
ExtendedInfo *AzureWorkloadSQLRecoveryPointExtendedInfo
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// List of log ranges
TimeRanges []*PointInTimeRange
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.
func (a *AzureWorkloadSQLPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return &AzureWorkloadRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetAzureWorkloadSQLRecoveryPoint implements the AzureWorkloadSQLRecoveryPointClassification interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.
func (a *AzureWorkloadSQLPointInTimeRecoveryPoint) GetAzureWorkloadSQLRecoveryPoint() *AzureWorkloadSQLRecoveryPoint {
return &AzureWorkloadSQLRecoveryPoint{
ExtendedInfo: a.ExtendedInfo,
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.
func (a *AzureWorkloadSQLPointInTimeRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadSQLPointInTimeRestoreRequest - AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore
type AzureWorkloadSQLPointInTimeRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Data directory details
AlternateDirectoryPaths []*SQLDataDirectoryMapping
// SQL specific property where user can chose to set no-recovery when restore operation is tried
IsNonRecoverable *bool
// PointInTime value
PointInTime *time.Time
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Default option set to true. If this is set to false, alternate data directory must be provided
ShouldUseAlternateTargetLocation *bool
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSQLPointInTimeRestoreRequest implements the AzureWorkloadSQLPointInTimeRestoreRequestClassification interface
// for type AzureWorkloadSQLPointInTimeRestoreRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadSQLPointInTimeRestoreRequest() *AzureWorkloadSQLPointInTimeRestoreRequest {
return a
}
// GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest {
return &AzureWorkloadSQLRestoreRequest{
AlternateDirectoryPaths: a.AlternateDirectoryPaths,
IsNonRecoverable: a.IsNonRecoverable,
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ShouldUseAlternateTargetLocation: a.ShouldUseAlternateTargetLocation,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest - AzureWorkload SQL-specific restore with integrated rehydration
// of recovery point.
type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Data directory details
AlternateDirectoryPaths []*SQLDataDirectoryMapping
// SQL specific property where user can chose to set no-recovery when restore operation is tried
IsNonRecoverable *bool
// PointInTime value
PointInTime *time.Time
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// RP Rehydration Info
RecoveryPointRehydrationInfo *RecoveryPointRehydrationInfo
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Default option set to true. If this is set to false, alternate data directory must be provided
ShouldUseAlternateTargetLocation *bool
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSQLPointInTimeRestoreRequest implements the AzureWorkloadSQLPointInTimeRestoreRequestClassification interface
// for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSQLPointInTimeRestoreRequest() *AzureWorkloadSQLPointInTimeRestoreRequest {
return &AzureWorkloadSQLPointInTimeRestoreRequest{
AlternateDirectoryPaths: a.AlternateDirectoryPaths,
IsNonRecoverable: a.IsNonRecoverable,
ObjectType: a.ObjectType,
PointInTime: a.PointInTime,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ShouldUseAlternateTargetLocation: a.ShouldUseAlternateTargetLocation,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest {
return &AzureWorkloadSQLRestoreRequest{
AlternateDirectoryPaths: a.AlternateDirectoryPaths,
IsNonRecoverable: a.IsNonRecoverable,
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ShouldUseAlternateTargetLocation: a.ShouldUseAlternateTargetLocation,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.
func (a *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSQLRecoveryPoint - SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with
// extended info
type AzureWorkloadSQLRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Extended Info that provides data directory details. Will be populated in two cases: When a specific recovery point is accessed
// using GetRecoveryPoint Or when ListRecoveryPoints is called for Log RP
// only with ExtendedInfo query filter
ExtendedInfo *AzureWorkloadSQLRecoveryPointExtendedInfo
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// UTC time at which recovery point was created
RecoveryPointTimeInUTC *time.Time
// Type of restore point
Type *RestorePointType
}
// GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSQLRecoveryPoint.
func (a *AzureWorkloadSQLRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint {
return &AzureWorkloadRecoveryPoint{
ObjectType: a.ObjectType,
RecoveryPointMoveReadinessInfo: a.RecoveryPointMoveReadinessInfo,
RecoveryPointProperties: a.RecoveryPointProperties,
RecoveryPointTierDetails: a.RecoveryPointTierDetails,
RecoveryPointTimeInUTC: a.RecoveryPointTimeInUTC,
Type: a.Type,
}
}
// GetAzureWorkloadSQLRecoveryPoint implements the AzureWorkloadSQLRecoveryPointClassification interface for type AzureWorkloadSQLRecoveryPoint.
func (a *AzureWorkloadSQLRecoveryPoint) GetAzureWorkloadSQLRecoveryPoint() *AzureWorkloadSQLRecoveryPoint {
return a
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSQLRecoveryPoint.
func (a *AzureWorkloadSQLRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: a.ObjectType,
}
}
// AzureWorkloadSQLRecoveryPointExtendedInfo - Extended info class details
type AzureWorkloadSQLRecoveryPointExtendedInfo struct {
// List of data directory paths during restore operation.
DataDirectoryPaths []*SQLDataDirectory
// UTC time at which data directory info was captured
DataDirectoryTimeInUTC *time.Time
}
// AzureWorkloadSQLRestoreRequest - AzureWorkload SQL -specific restore. Specifically for full/diff restore
type AzureWorkloadSQLRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Data directory details
AlternateDirectoryPaths []*SQLDataDirectoryMapping
// SQL specific property where user can chose to set no-recovery when restore operation is tried
IsNonRecoverable *bool
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Default option set to true. If this is set to false, alternate data directory must be provided
ShouldUseAlternateTargetLocation *bool
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLRestoreRequest.
func (a *AzureWorkloadSQLRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLRestoreRequest.
func (a *AzureWorkloadSQLRestoreRequest) GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest {
return a
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLRestoreRequest.
func (a *AzureWorkloadSQLRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// AzureWorkloadSQLRestoreWithRehydrateRequest - AzureWorkload SQL-specific restore with integrated rehydration of recovery
// point
type AzureWorkloadSQLRestoreWithRehydrateRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Data directory details
AlternateDirectoryPaths []*SQLDataDirectoryMapping
// SQL specific property where user can chose to set no-recovery when restore operation is tried
IsNonRecoverable *bool
// Workload specific property bag.
PropertyBag map[string]*string
// Defines whether the current recovery mode is file restore or database restore
RecoveryMode *RecoveryMode
// RP Rehydration Info
RecoveryPointRehydrationInfo *RecoveryPointRehydrationInfo
// Type of this recovery.
RecoveryType *RecoveryType
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Default option set to true. If this is set to false, alternate data directory must be provided
ShouldUseAlternateTargetLocation *bool
// Additional details for snapshot recovery Currently used for snapshot for SAP Hana.
SnapshotRestoreParameters *SnapshotRestoreParameters
// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
SourceResourceID *string
// Details of target database
TargetInfo *TargetRestoreInfo
// Defines the Resource group of the Target VM
TargetResourceGroupName *string
// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// User Assigned managed identity details Currently used for snapshot.
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.
func (a *AzureWorkloadSQLRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest {
return &AzureWorkloadRestoreRequest{
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.
func (a *AzureWorkloadSQLRestoreWithRehydrateRequest) GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest {
return &AzureWorkloadSQLRestoreRequest{
AlternateDirectoryPaths: a.AlternateDirectoryPaths,
IsNonRecoverable: a.IsNonRecoverable,
ObjectType: a.ObjectType,
PropertyBag: a.PropertyBag,
RecoveryMode: a.RecoveryMode,
RecoveryType: a.RecoveryType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
ShouldUseAlternateTargetLocation: a.ShouldUseAlternateTargetLocation,
SnapshotRestoreParameters: a.SnapshotRestoreParameters,
SourceResourceID: a.SourceResourceID,
TargetInfo: a.TargetInfo,
TargetResourceGroupName: a.TargetResourceGroupName,
TargetVirtualMachineID: a.TargetVirtualMachineID,
UserAssignedManagedIdentityDetails: a.UserAssignedManagedIdentityDetails,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.
func (a *AzureWorkloadSQLRestoreWithRehydrateRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: a.ObjectType,
ResourceGuardOperationRequests: a.ResourceGuardOperationRequests,
}
}
// BEKDetails - BEK is bitlocker encryption key.
type BEKDetails struct {
// BEK data.
SecretData *string
// Secret is BEK.
SecretURL *string
// ID of the Key Vault where this Secret is stored.
SecretVaultID *string
}
// BMSBackupEngineQueryObject - Query parameters to fetch list of backup engines.
type BMSBackupEngineQueryObject struct {
// attribute to add extended info
Expand *string
}
// BMSBackupEnginesQueryObject - Query parameters to fetch list of backup engines.
type BMSBackupEnginesQueryObject struct {
// Backup management type for the backup engine.
BackupManagementType *BackupManagementType
// Attribute to add extended info.
Expand *string
// Friendly name of the backup engine.
FriendlyName *string
}
// BMSBackupSummariesQueryObject - Query parameters to fetch backup summaries.
type BMSBackupSummariesQueryObject struct {
// Backup management type for this container.
Type *Type
}
// BMSContainerQueryObject - The query filters that can be used with the list containers API.
type BMSContainerQueryObject struct {
// REQUIRED; Backup management type for this container.
BackupManagementType *BackupManagementType
// Backup engine name
BackupEngineName *string
// Type of container for filter
ContainerType *ContainerType
// Fabric name for filter
FabricName *string
// Friendly name of this container.
FriendlyName *string
// Status of registration of this container with the Recovery Services Vault.
Status *string
}
// BMSContainersInquiryQueryObject - The query filters that can be used with the inquire container API.
type BMSContainersInquiryQueryObject struct {
// Backup management type for this container.
BackupManagementType *BackupManagementType
// Workload type for this container.
WorkloadType *WorkloadType
}
// BMSPOQueryObject - Filters to list items that can be backed up.
type BMSPOQueryObject struct {
// Backup management type.
BackupManagementType *BackupManagementType
// Full name of the container whose Protectable Objects should be returned.
ContainerName *string
// Friendly name.
FriendlyName *string
// Backup status query parameter.
Status *string
// Workload type
WorkloadType *WorkloadType
}
// BMSRPQueryObject - Filters to list backup copies.
type BMSRPQueryObject struct {
// Backup copies created before this time.
EndDate *time.Time
// In Get Recovery Point, it tells whether extended information about recovery point is asked.
ExtendedInfo *bool
// Flag to indicate whether Soft Deleted RPs should be included/excluded from result.
IncludeSoftDeletedRP *bool
// Whether the RP can be moved to another tier
MoveReadyRPOnly *bool
// RestorePoint type
RestorePointQueryType *RestorePointQueryType
// Backup copies created after this time.
StartDate *time.Time
}
// BMSRefreshContainersQueryObject - The query filters that can be used with the refresh container API.
type BMSRefreshContainersQueryObject struct {
// Backup management type for this container.
BackupManagementType *BackupManagementType
}
// BMSWorkloadItemQueryObject - Filters to list items that can be backed up.
type BMSWorkloadItemQueryObject struct {
// Backup management type.
BackupManagementType *BackupManagementType
// Backup status query parameter.
ProtectionStatus *ProtectionStatus
// Workload Item type
WorkloadItemType *WorkloadItemType
// Workload type
WorkloadType *WorkloadType
}
// BackupEngineBase - The base backup engine class. All workload specific backup engines derive from this class.
type BackupEngineBase struct {
// REQUIRED; Type of the backup engine.
BackupEngineType *BackupEngineType
// Backup agent version
AzureBackupAgentVersion *string
// ID of the backup engine.
BackupEngineID *string
// Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}
BackupEngineState *string
// Type of backup management for the backup engine.
BackupManagementType *BackupManagementType
// Flag indicating if the backup engine be registered, once already registered.
CanReRegister *bool
// Backup engine version
DpmVersion *string
// Extended info of the backupengine
ExtendedInfo *BackupEngineExtendedInfo
// Friendly name of the backup engine.
FriendlyName *string
// Backup status of the backup engine.
HealthStatus *string
// To check if backup agent upgrade available
IsAzureBackupAgentUpgradeAvailable *bool
// To check if backup engine upgrade available
IsDpmUpgradeAvailable *bool
// Registration status of the backup engine with the Recovery Services Vault.
RegistrationStatus *string
}
// GetBackupEngineBase implements the BackupEngineBaseClassification interface for type BackupEngineBase.
func (b *BackupEngineBase) GetBackupEngineBase() *BackupEngineBase { return b }
// BackupEngineBaseResource - The base backup engine class. All workload specific backup engines derive from this class.
type BackupEngineBaseResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// BackupEngineBaseResource properties
Properties BackupEngineBaseClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// BackupEngineBaseResourceList - List of BackupEngineBase resources
type BackupEngineBaseResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*BackupEngineBaseResource
}
// BackupEngineExtendedInfo - Additional information on backup engine.
type BackupEngineExtendedInfo struct {
// Disk space currently available in the backup engine.
AvailableDiskSpace *float64
// Protected instances in the backup engine.
AzureProtectedInstances *int32
// Database name of backup engine.
DatabaseName *string
// Number of disks in the backup engine.
DiskCount *int32
// Number of protected items in the backup engine.
ProtectedItemsCount *int32
// Number of protected servers in the backup engine.
ProtectedServersCount *int32
// Last refresh time in the backup engine.
RefreshedAt *time.Time
// Disk space used in the backup engine.
UsedDiskSpace *float64
}
// BackupManagementUsage - Backup management usages of a vault.
type BackupManagementUsage struct {
// Current value of usage.
CurrentValue *int64
// Limit of usage.
Limit *int64
// Name of usage.
Name *NameInfo
// Next reset time of usage.
NextResetTime *time.Time
// Quota period of usage.
QuotaPeriod *string
// Unit of the usage.
Unit *UsagesUnit
}
// BackupManagementUsageList - Backup management usage for vault.
type BackupManagementUsageList struct {
// The list of backup management usages for the given vault.
Value []*BackupManagementUsage
}
// BackupRequest - Base class for backup request. Workload-specific backup requests are derived from this class.
type BackupRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetBackupRequest implements the BackupRequestClassification interface for type BackupRequest.
func (b *BackupRequest) GetBackupRequest() *BackupRequest { return b }
// BackupRequestResource - Base class for backup request. Workload-specific backup requests are derived from this class.
type BackupRequestResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// BackupRequestResource properties
Properties BackupRequestClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// BackupResourceConfig - The resource storage details.
type BackupResourceConfig struct {
// Opt in details of Cross Region Restore feature.
CrossRegionRestoreFlag *bool
// Vault Dedup state
DedupState *DedupState
// Storage type
StorageModelType *StorageType
// Storage type.
StorageType *StorageType
// Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.
StorageTypeState *StorageTypeState
// Vault x-cool state
XcoolState *XcoolState
}
// BackupResourceConfigResource - The resource storage details.
type BackupResourceConfigResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// BackupResourceConfigResource properties
Properties *BackupResourceConfig
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
type BackupResourceEncryptionConfig struct {
// Encryption At Rest Type
EncryptionAtRestType *EncryptionAtRestType
InfrastructureEncryptionState *InfrastructureEncryptionState
// Key Vault Key URI
KeyURI *string
LastUpdateStatus *LastUpdateStatus
// Key Vault Subscription Id
SubscriptionID *string
}
type BackupResourceEncryptionConfigExtended struct {
// Encryption At Rest Type
EncryptionAtRestType *EncryptionAtRestType
InfrastructureEncryptionState *InfrastructureEncryptionState
// Key Vault Key URI
KeyURI *string
LastUpdateStatus *LastUpdateStatus
// Key Vault Subscription Id
SubscriptionID *string
// bool to indicate whether to use system Assigned Identity or not
UseSystemAssignedIdentity *bool
// User Assigned Identity Id
UserAssignedIdentity *string
}
type BackupResourceEncryptionConfigExtendedResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// BackupResourceEncryptionConfigExtendedResource properties
Properties *BackupResourceEncryptionConfigExtended
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
type BackupResourceEncryptionConfigResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// BackupResourceEncryptionConfigResource properties
Properties *BackupResourceEncryptionConfig
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// BackupResourceVaultConfig - Backup resource vault config details.
type BackupResourceVaultConfig struct {
// Enabled or Disabled.
EnhancedSecurityState *EnhancedSecurityState
// This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault
IsSoftDeleteFeatureStateEditable *bool
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
// Soft Delete feature state
SoftDeleteFeatureState *SoftDeleteFeatureState
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// Storage type.
StorageModelType *StorageType
// Storage type.
StorageType *StorageType
// Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.
StorageTypeState *StorageTypeState
}
// BackupResourceVaultConfigResource - Backup resource vault config details.
type BackupResourceVaultConfigResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// BackupResourceVaultConfigResource properties
Properties *BackupResourceVaultConfig
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// BackupStatusRequest - BackupStatus request.
type BackupStatusRequest struct {
// Protectable Item Logical Name
PoLogicalName *string
// Entire ARM resource id of the resource
ResourceID *string
// Container Type - VM, SQLPaaS, DPM, AzureFileShare…
ResourceType *DataSourceType
}
// BackupStatusResponse - BackupStatus response.
type BackupStatusResponse struct {
// Specifies whether the storage account lock has been acquired or not
AcquireStorageAccountLock *AcquireStorageAccountLock
// Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.
ContainerName *string
// ErrorCode in case of intent failed
ErrorCode *string
// ErrorMessage in case of intent failed.
ErrorMessage *string
// Specifies the fabric name - Azure or AD
FabricName *FabricName
// Specifies the policy name which is used for protection
PolicyName *string
// Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.
ProtectedItemName *string
// Number of protected items
ProtectedItemsCount *int32
// Specifies whether the container is registered or not
ProtectionStatus *ProtectionStatus
// Container registration status
RegistrationStatus *string
// Specifies the arm resource id of the vault
VaultID *string
}
// ClientDiscoveryDisplay - Localized display information of an operation.
type ClientDiscoveryDisplay struct {
// Description of the operation having details of what operation is about.
Description *string
// Operations Name itself.
Operation *string
// Name of the provider for display purposes
Provider *string
// ResourceType for which this Operation can be performed.
Resource *string
}
// ClientDiscoveryForLogSpecification - Class to represent shoebox log specification in json client discovery.
type ClientDiscoveryForLogSpecification struct {
// blob duration of shoebox log specification
BlobDuration *string
// Localized display name
DisplayName *string
// Name for shoebox log specification.
Name *string
}
// ClientDiscoveryForProperties - Class to represent shoebox properties in json client discovery.
type ClientDiscoveryForProperties struct {
// Operation properties.
ServiceSpecification *ClientDiscoveryForServiceSpecification
}
// ClientDiscoveryForServiceSpecification - Class to represent shoebox service specification in json client discovery.
type ClientDiscoveryForServiceSpecification struct {
// List of log specifications of this operation.
LogSpecifications []*ClientDiscoveryForLogSpecification
}
// ClientDiscoveryResponse - Operations List response which contains list of available APIs.
type ClientDiscoveryResponse struct {
// Link to the next chunk of Response.
NextLink *string
// List of available operations.
Value []*ClientDiscoveryValueForSingleAPI
}
// ClientDiscoveryValueForSingleAPI - Available operation details.
type ClientDiscoveryValueForSingleAPI struct {
// Contains the localized display information for this particular operation
Display *ClientDiscoveryDisplay
// Name of the Operation.
Name *string
// The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX
Origin *string
// ShoeBox properties for the given operation.
Properties *ClientDiscoveryForProperties
}
// ClientScriptForConnect - Client script details for file / folder restore.
type ClientScriptForConnect struct {
// OS type - Windows, Linux etc. for which this file / folder restore client script works.
OSType *string
// File content of the client script for file / folder restore.
ScriptContent *string
// File extension of the client script for file / folder restore - .ps1 , .sh , etc.
ScriptExtension *string
// Mandatory suffix that should be added to the name of script that is given for download to user. If its null or empty then
// , ignore it.
ScriptNameSuffix *string
// URL of Executable from where to source the content. If this is not null then ScriptContent should not be used
URL *string
}
// ContainerIdentityInfo - Container identity information
type ContainerIdentityInfo struct {
// Protection container identity - AAD Tenant
AADTenantID *string
// Protection container identity - Audience
Audience *string
// Protection container identity - AAD Service Principal
ServicePrincipalClientID *string
// Unique name of the container
UniqueName *string
}
// DPMContainerExtendedInfo - Additional information of the DPMContainer.
type DPMContainerExtendedInfo struct {
// Last refresh time of the DPMContainer.
LastRefreshedAt *time.Time
}
// DPMProtectedItem - Additional information on Backup engine specific backup item.
type DPMProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Backup Management server protecting this backup item
BackupEngineName *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Extended info of the backup item.
ExtendedInfo *DPMProtectedItemExtendedInfo
// Friendly name of the managed item
FriendlyName *string
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Protection state of the backup engine
ProtectionState *ProtectedItemState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetProtectedItem implements the ProtectedItemClassification interface for type DPMProtectedItem.
func (d *DPMProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: d.BackupManagementType,
BackupSetName: d.BackupSetName,
ContainerName: d.ContainerName,
CreateMode: d.CreateMode,
DeferredDeleteTimeInUTC: d.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: d.DeferredDeleteTimeRemaining,
IsArchiveEnabled: d.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: d.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: d.IsRehydrate,
IsScheduledForDeferredDelete: d.IsScheduledForDeferredDelete,
LastRecoveryPoint: d.LastRecoveryPoint,
PolicyID: d.PolicyID,
PolicyName: d.PolicyName,
ProtectedItemType: d.ProtectedItemType,
ResourceGuardOperationRequests: d.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: d.SoftDeleteRetentionPeriodInDays,
SourceResourceID: d.SourceResourceID,
VaultID: d.VaultID,
WorkloadType: d.WorkloadType,
}
}
// DPMProtectedItemExtendedInfo - Additional information of DPM Protected item.
type DPMProtectedItemExtendedInfo struct {
// Used Disk storage in bytes.
DiskStorageUsedInBytes *string
// To check if backup item is collocated.
IsCollocated *bool
// To check if backup item is cloud protected.
IsPresentOnCloud *bool
// Last backup status information on backup item.
LastBackupStatus *string
// Last refresh time on backup item.
LastRefreshedAt *time.Time
// Oldest cloud recovery point time.
OldestRecoveryPoint *time.Time
// latest disk recovery point time.
OnPremiseLatestRecoveryPoint *time.Time
// Oldest disk recovery point time.
OnPremiseOldestRecoveryPoint *time.Time
// disk recovery point count.
OnPremiseRecoveryPointCount *int32
// Attribute to provide information on various DBs.
ProtectableObjectLoadPath map[string]*string
// To check if backup item is disk protected.
Protected *bool
// Protection group name of the backup item.
ProtectionGroupName *string
// cloud recovery point count.
RecoveryPointCount *int32
// total Disk storage in bytes.
TotalDiskStorageSizeInBytes *string
}
// DailyRetentionFormat - Daily retention format.
type DailyRetentionFormat struct {
// List of days of the month.
DaysOfTheMonth []*Day
}
// DailyRetentionSchedule - Daily retention schedule.
type DailyRetentionSchedule struct {
// Retention duration of retention Policy.
RetentionDuration *RetentionDuration
// Retention times of retention policy.
RetentionTimes []*time.Time
}
type DailySchedule struct {
// List of times of day this schedule has to be run.
ScheduleRunTimes []*time.Time
}
// Day of the week.
type Day struct {
// Date of the month
Date *int32
// Whether Date is last date of month
IsLast *bool
}
type DiskExclusionProperties struct {
// List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.
DiskLunList []*int32
// Flag to indicate whether DiskLunList is to be included/ excluded from backup.
IsInclusionList *bool
}
// DiskInformation - Disk information
type DiskInformation struct {
Lun *int32
Name *string
}
// DistributedNodesInfo - This is used to represent the various nodes of the distributed container.
type DistributedNodesInfo struct {
// Error Details if the Status is non-success.
ErrorDetail *ErrorDetail
// Name of the node under a distributed container.
NodeName *string
// ARM resource id of the node
SourceResourceID *string
// Status of this Node. Failed | Succeeded
Status *string
}
// DpmBackupEngine - Data Protection Manager (DPM) specific backup engine.
type DpmBackupEngine struct {
// REQUIRED; Type of the backup engine.
BackupEngineType *BackupEngineType
// Backup agent version
AzureBackupAgentVersion *string
// ID of the backup engine.
BackupEngineID *string
// Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}
BackupEngineState *string
// Type of backup management for the backup engine.
BackupManagementType *BackupManagementType
// Flag indicating if the backup engine be registered, once already registered.
CanReRegister *bool
// Backup engine version
DpmVersion *string
// Extended info of the backupengine
ExtendedInfo *BackupEngineExtendedInfo
// Friendly name of the backup engine.
FriendlyName *string
// Backup status of the backup engine.
HealthStatus *string
// To check if backup agent upgrade available
IsAzureBackupAgentUpgradeAvailable *bool
// To check if backup engine upgrade available
IsDpmUpgradeAvailable *bool
// Registration status of the backup engine with the Recovery Services Vault.
RegistrationStatus *string
}
// GetBackupEngineBase implements the BackupEngineBaseClassification interface for type DpmBackupEngine.
func (d *DpmBackupEngine) GetBackupEngineBase() *BackupEngineBase {
return &BackupEngineBase{
AzureBackupAgentVersion: d.AzureBackupAgentVersion,
BackupEngineID: d.BackupEngineID,
BackupEngineState: d.BackupEngineState,
BackupEngineType: d.BackupEngineType,
BackupManagementType: d.BackupManagementType,
CanReRegister: d.CanReRegister,
DpmVersion: d.DpmVersion,
ExtendedInfo: d.ExtendedInfo,
FriendlyName: d.FriendlyName,
HealthStatus: d.HealthStatus,
IsAzureBackupAgentUpgradeAvailable: d.IsAzureBackupAgentUpgradeAvailable,
IsDpmUpgradeAvailable: d.IsDpmUpgradeAvailable,
RegistrationStatus: d.RegistrationStatus,
}
}
// DpmContainer - DPM workload-specific protection container.
type DpmContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Specifies whether the container is re-registrable.
CanReRegister *bool
// ID of container.
ContainerID *string
// Backup engine Agent version
DpmAgentVersion *string
// List of BackupEngines protecting the container
DpmServers []*string
// Extended Info of the container.
ExtendedInfo *DPMContainerExtendedInfo
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Number of protected items in the BackupEngine
ProtectedItemCount *int64
// Protection status of the container.
ProtectionStatus *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// To check if upgrade available
UpgradeAvailable *bool
}
// GetDpmContainer implements the DpmContainerClassification interface for type DpmContainer.
func (d *DpmContainer) GetDpmContainer() *DpmContainer { return d }
// GetProtectionContainer implements the ProtectionContainerClassification interface for type DpmContainer.
func (d *DpmContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: d.BackupManagementType,
ContainerType: d.ContainerType,
FriendlyName: d.FriendlyName,
HealthStatus: d.HealthStatus,
ProtectableObjectType: d.ProtectableObjectType,
RegistrationStatus: d.RegistrationStatus,
}
}
// DpmErrorInfo - DPM workload-specific error information.
type DpmErrorInfo struct {
// Localized error string.
ErrorString *string
// List of localized recommendations for above error code.
Recommendations []*string
}
// DpmJob - DPM workload-specific job object.
type DpmJob struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// The state/actions applicable on this job like cancel/retry.
ActionsInfo []*JobSupportedAction
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// Name of cluster/server protecting current backup item, if any.
ContainerName *string
// Type of container.
ContainerType *string
// DPM server name managing the backup item or backup job.
DpmServerName *string
// Time elapsed for job.
Duration *string
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// The errors.
ErrorDetails []*DpmErrorInfo
// Additional information for this job.
ExtendedInfo *DpmJobExtendedInfo
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
// Type of backup item.
WorkloadType *string
}
// GetJob implements the JobClassification interface for type DpmJob.
func (d *DpmJob) GetJob() *Job {
return &Job{
ActivityID: d.ActivityID,
BackupManagementType: d.BackupManagementType,
EndTime: d.EndTime,
EntityFriendlyName: d.EntityFriendlyName,
JobType: d.JobType,
Operation: d.Operation,
StartTime: d.StartTime,
Status: d.Status,
}
}
// DpmJobExtendedInfo - Additional information on the DPM workload-specific job.
type DpmJobExtendedInfo struct {
// Non localized error message on job execution.
DynamicErrorMessage *string
// The job properties.
PropertyBag map[string]*string
// List of tasks associated with this job.
TasksList []*DpmJobTaskDetails
}
// DpmJobTaskDetails - DPM workload-specific job task details.
type DpmJobTaskDetails struct {
// Time elapsed for task.
Duration *string
// The end time.
EndTime *time.Time
// The start time.
StartTime *time.Time
// The status.
Status *string
// The task display name.
TaskID *string
}
// EncryptionDetails - Details needed if the VM was encrypted at the time of backup.
type EncryptionDetails struct {
// Identifies whether this backup copy represents an encrypted VM at the time of backup.
EncryptionEnabled *bool
// Key Url.
KekURL *string
// ID of Key Vault where KEK is stored.
KekVaultID *string
// Secret Url.
SecretKeyURL *string
// ID of Key Vault where Secret is stored.
SecretKeyVaultID *string
}
// ErrorAdditionalInfo - The resource management error additional info.
type ErrorAdditionalInfo struct {
// READ-ONLY; The additional info.
Info any
// READ-ONLY; The additional info type.
Type *string
}
// ErrorDetail - Error Detail class which encapsulates Code, Message and Recommendations.
type ErrorDetail struct {
// READ-ONLY; Error code.
Code *string
// READ-ONLY; Error Message related to the Code.
Message *string
// READ-ONLY; List of recommendation strings.
Recommendations []*string
}
// ExportJobsOperationResultInfo - This class is used to send blob details after exporting jobs.
type ExportJobsOperationResultInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// SAS key to access the blob. It expires in 15 mins.
BlobSasKey *string
// URL of the blob into which the serialized string of list of jobs is exported.
BlobURL *string
// SAS key to access the blob. It expires in 15 mins.
ExcelFileBlobSasKey *string
// URL of the blob into which the ExcelFile is uploaded.
ExcelFileBlobURL *string
}
// GetOperationResultInfoBase implements the OperationResultInfoBaseClassification interface for type ExportJobsOperationResultInfo.
func (e *ExportJobsOperationResultInfo) GetOperationResultInfoBase() *OperationResultInfoBase {
return &OperationResultInfoBase{
ObjectType: e.ObjectType,
}
}
// ExtendedLocation - The extended location of Recovery point where VM was present.
type ExtendedLocation struct {
// Name of the extended location.
Name *string
// Type of the extended location. Possible values include: 'EdgeZone'
Type *string
}
// ExtendedProperties - Extended Properties for Azure IaasVM Backup.
type ExtendedProperties struct {
// Extended Properties for Disk Exclusion.
DiskExclusionProperties *DiskExclusionProperties
// Linux VM name
LinuxVMApplicationName *string
}
// FeatureSupportRequest - Base class for feature request
type FeatureSupportRequest struct {
// REQUIRED; backup support feature type.
FeatureType *string
}
// GetFeatureSupportRequest implements the FeatureSupportRequestClassification interface for type FeatureSupportRequest.
func (f *FeatureSupportRequest) GetFeatureSupportRequest() *FeatureSupportRequest { return f }
// FetchTieringCostInfoForRehydrationRequest - Request parameters for fetching cost info of rehydration
type FetchTieringCostInfoForRehydrationRequest struct {
// REQUIRED; Name of the protected item container
ContainerName *string
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// REQUIRED; Name of the protectedItemName
ProtectedItemName *string
// REQUIRED; ID of the backup copy for rehydration cost info needs to be fetched.
RecoveryPointID *string
// REQUIRED; Rehydration Priority
RehydrationPriority *RehydrationPriority
// REQUIRED; Source tier for the request
SourceTierType *RecoveryPointTierType
// REQUIRED; target tier for the request
TargetTierType *RecoveryPointTierType
}
// GetFetchTieringCostInfoRequest implements the FetchTieringCostInfoRequestClassification interface for type FetchTieringCostInfoForRehydrationRequest.
func (f *FetchTieringCostInfoForRehydrationRequest) GetFetchTieringCostInfoRequest() *FetchTieringCostInfoRequest {
return &FetchTieringCostInfoRequest{
ObjectType: f.ObjectType,
SourceTierType: f.SourceTierType,
TargetTierType: f.TargetTierType,
}
}
// FetchTieringCostInfoRequest - Base class for tiering cost request. Specific cost request types are derived from this class.
type FetchTieringCostInfoRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// REQUIRED; Source tier for the request
SourceTierType *RecoveryPointTierType
// REQUIRED; target tier for the request
TargetTierType *RecoveryPointTierType
}
// GetFetchTieringCostInfoRequest implements the FetchTieringCostInfoRequestClassification interface for type FetchTieringCostInfoRequest.
func (f *FetchTieringCostInfoRequest) GetFetchTieringCostInfoRequest() *FetchTieringCostInfoRequest {
return f
}
// FetchTieringCostSavingsInfoForPolicyRequest - Request parameters for tiering cost info for policy
type FetchTieringCostSavingsInfoForPolicyRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// REQUIRED; Name of the backup policy for which the cost savings information is requested
PolicyName *string
// REQUIRED; Source tier for the request
SourceTierType *RecoveryPointTierType
// REQUIRED; target tier for the request
TargetTierType *RecoveryPointTierType
}
// GetFetchTieringCostInfoRequest implements the FetchTieringCostInfoRequestClassification interface for type FetchTieringCostSavingsInfoForPolicyRequest.
func (f *FetchTieringCostSavingsInfoForPolicyRequest) GetFetchTieringCostInfoRequest() *FetchTieringCostInfoRequest {
return &FetchTieringCostInfoRequest{
ObjectType: f.ObjectType,
SourceTierType: f.SourceTierType,
TargetTierType: f.TargetTierType,
}
}
// FetchTieringCostSavingsInfoForProtectedItemRequest - Request parameters for tiering cost info for protected item
type FetchTieringCostSavingsInfoForProtectedItemRequest struct {
// REQUIRED; Name of the protected item container
ContainerName *string
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// REQUIRED; Name of the protectedItemName
ProtectedItemName *string
// REQUIRED; Source tier for the request
SourceTierType *RecoveryPointTierType
// REQUIRED; target tier for the request
TargetTierType *RecoveryPointTierType
}
// GetFetchTieringCostInfoRequest implements the FetchTieringCostInfoRequestClassification interface for type FetchTieringCostSavingsInfoForProtectedItemRequest.
func (f *FetchTieringCostSavingsInfoForProtectedItemRequest) GetFetchTieringCostInfoRequest() *FetchTieringCostInfoRequest {
return &FetchTieringCostInfoRequest{
ObjectType: f.ObjectType,
SourceTierType: f.SourceTierType,
TargetTierType: f.TargetTierType,
}
}
// FetchTieringCostSavingsInfoForVaultRequest - Request parameters for tiering cost info for vault
type FetchTieringCostSavingsInfoForVaultRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// REQUIRED; Source tier for the request
SourceTierType *RecoveryPointTierType
// REQUIRED; target tier for the request
TargetTierType *RecoveryPointTierType
}
// GetFetchTieringCostInfoRequest implements the FetchTieringCostInfoRequestClassification interface for type FetchTieringCostSavingsInfoForVaultRequest.
func (f *FetchTieringCostSavingsInfoForVaultRequest) GetFetchTieringCostInfoRequest() *FetchTieringCostInfoRequest {
return &FetchTieringCostInfoRequest{
ObjectType: f.ObjectType,
SourceTierType: f.SourceTierType,
TargetTierType: f.TargetTierType,
}
}
// GenericContainer - Base class for generic container of backup items
type GenericContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Extended information (not returned in List container API calls)
ExtendedInformation *GenericContainerExtendedInfo
// Name of the container's fabric
FabricName *string
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type GenericContainer.
func (g *GenericContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: g.BackupManagementType,
ContainerType: g.ContainerType,
FriendlyName: g.FriendlyName,
HealthStatus: g.HealthStatus,
ProtectableObjectType: g.ProtectableObjectType,
RegistrationStatus: g.RegistrationStatus,
}
}
// GenericContainerExtendedInfo - Container extended information
type GenericContainerExtendedInfo struct {
// Container identity information
ContainerIdentityInfo *ContainerIdentityInfo
// Public key of container cert
RawCertData *string
// Azure Backup Service Endpoints for the container
ServiceEndpoints map[string]*string
}
// GenericProtectedItem - Base class for backup items.
type GenericProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Name of this backup item's fabric.
FabricName *string
// Friendly name of the container.
FriendlyName *string
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Indicates consistency of policy object and policy applied to this backup item.
PolicyState *string
// Data Plane Service ID of the protected item.
ProtectedItemID *int64
// Backup state of this backup item.
ProtectionState *ProtectionState
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// Loosely coupled (type, value) associations (example - parent of a protected item)
SourceAssociations map[string]*string
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetProtectedItem implements the ProtectedItemClassification interface for type GenericProtectedItem.
func (g *GenericProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: g.BackupManagementType,
BackupSetName: g.BackupSetName,
ContainerName: g.ContainerName,
CreateMode: g.CreateMode,
DeferredDeleteTimeInUTC: g.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: g.DeferredDeleteTimeRemaining,
IsArchiveEnabled: g.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: g.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: g.IsRehydrate,
IsScheduledForDeferredDelete: g.IsScheduledForDeferredDelete,
LastRecoveryPoint: g.LastRecoveryPoint,
PolicyID: g.PolicyID,
PolicyName: g.PolicyName,
ProtectedItemType: g.ProtectedItemType,
ResourceGuardOperationRequests: g.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: g.SoftDeleteRetentionPeriodInDays,
SourceResourceID: g.SourceResourceID,
VaultID: g.VaultID,
WorkloadType: g.WorkloadType,
}
}
// GenericProtectionPolicy - Azure VM (Mercury) workload-specific backup policy.
type GenericProtectionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
BackupManagementType *string
// Name of this policy's fabric.
FabricName *string
// Number of items associated with this policy.
ProtectedItemsCount *int32
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
// List of sub-protection policies which includes schedule and retention
SubProtectionPolicy []*SubProtectionPolicy
// TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
TimeZone *string
}
// GetProtectionPolicy implements the ProtectionPolicyClassification interface for type GenericProtectionPolicy.
func (g *GenericProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy {
return &ProtectionPolicy{
BackupManagementType: g.BackupManagementType,
ProtectedItemsCount: g.ProtectedItemsCount,
ResourceGuardOperationRequests: g.ResourceGuardOperationRequests,
}
}
// GenericRecoveryPoint - Generic backup copy.
type GenericRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Friendly name of the backup copy.
FriendlyName *string
// Additional information associated with this backup copy.
RecoveryPointAdditionalInfo *string
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Time at which this backup copy was created.
RecoveryPointTime *time.Time
// Type of the backup copy.
RecoveryPointType *string
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type GenericRecoveryPoint.
func (g *GenericRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: g.ObjectType,
}
}
// GetProtectedItemQueryObject - Filters to list backup items.
type GetProtectedItemQueryObject struct {
// Specifies if the additional information should be provided for this item.
Expand *string
}
type HourlySchedule struct {
// Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
Interval *int32
// To specify duration of the backup window
ScheduleWindowDuration *int32
// To specify start time of the backup window
ScheduleWindowStartTime *time.Time
}
// ILRRequest - Parameters to Provision ILR API.
type ILRRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetILRRequest implements the ILRRequestClassification interface for type ILRRequest.
func (i *ILRRequest) GetILRRequest() *ILRRequest { return i }
// ILRRequestResource - Parameters to Provision ILR API.
type ILRRequestResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// ILRRequestResource properties
Properties ILRRequestClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// IaaSVMContainer - IaaS VM workload-specific container.
type IaaSVMContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
// Resource group name of Recovery Services Vault.
ResourceGroup *string
// Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
VirtualMachineID *string
// Specifies whether the container represents a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
}
// GetIaaSVMContainer implements the IaaSVMContainerClassification interface for type IaaSVMContainer.
func (i *IaaSVMContainer) GetIaaSVMContainer() *IaaSVMContainer { return i }
// GetProtectionContainer implements the ProtectionContainerClassification interface for type IaaSVMContainer.
func (i *IaaSVMContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: i.BackupManagementType,
ContainerType: i.ContainerType,
FriendlyName: i.FriendlyName,
HealthStatus: i.HealthStatus,
ProtectableObjectType: i.ProtectableObjectType,
RegistrationStatus: i.RegistrationStatus,
}
}
// IaaSVMProtectableItem - IaaS VM workload-specific backup item.
type IaaSVMProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Resource group name of Recovery Services Vault.
ResourceGroup *string
// Fully qualified ARM ID of the virtual machine.
VirtualMachineID *string
// Specifies whether the container represents a Classic or an Azure Resource Manager VM.
VirtualMachineVersion *string
// Type of workload for the backup management
WorkloadType *string
}
// GetIaaSVMProtectableItem implements the IaaSVMProtectableItemClassification interface for type IaaSVMProtectableItem.
func (i *IaaSVMProtectableItem) GetIaaSVMProtectableItem() *IaaSVMProtectableItem { return i }
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type IaaSVMProtectableItem.
func (i *IaaSVMProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem {
return &WorkloadProtectableItem{
BackupManagementType: i.BackupManagementType,
FriendlyName: i.FriendlyName,
ProtectableItemType: i.ProtectableItemType,
ProtectionState: i.ProtectionState,
WorkloadType: i.WorkloadType,
}
}
// IaasVMBackupRequest - IaaS VM workload-specific backup request.
type IaasVMBackupRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Backup copy will expire after the time specified (UTC).
RecoveryPointExpiryTimeInUTC *time.Time
}
// GetBackupRequest implements the BackupRequestClassification interface for type IaasVMBackupRequest.
func (i *IaasVMBackupRequest) GetBackupRequest() *BackupRequest {
return &BackupRequest{
ObjectType: i.ObjectType,
}
}
// IaasVMILRRegistrationRequest - Restore files/folders from a backup copy of IaaS VM.
type IaasVMILRRegistrationRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// iSCSI initiator name.
InitiatorName *string
// ID of the IaaS VM backup copy from where the files/folders have to be restored.
RecoveryPointID *string
// Whether to renew existing registration with the iSCSI server.
RenewExistingRegistration *bool
// Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.
VirtualMachineID *string
}
// GetILRRequest implements the ILRRequestClassification interface for type IaasVMILRRegistrationRequest.
func (i *IaasVMILRRegistrationRequest) GetILRRequest() *ILRRequest {
return &ILRRequest{
ObjectType: i.ObjectType,
}
}
// IaasVMRecoveryPoint - IaaS VM workload specific backup copy.
type IaasVMRecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Extended location of the VM recovery point, should be null if VM is in public cloud
ExtendedLocation *ExtendedLocation
// Is the session to recover items from this backup copy still active.
IsInstantIlrSessionActive *bool
// Whether VM is with Managed Disks
IsManagedVirtualMachine *bool
// This flag denotes if any of the disks in the VM are using Private access network setting
IsPrivateAccessEnabledOnAnyDisk *bool
// Identifies whether the VM was encrypted when the backup copy is created.
IsSourceVMEncrypted *bool
// Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true.
KeyAndSecret *KeyAndSecretDetails
// OS type
OSType *string
// Original Storage Account Option
OriginalStorageAccountOption *bool
// Additional information associated with this backup copy.
RecoveryPointAdditionalInfo *string
// Disk configuration
RecoveryPointDiskConfiguration *RecoveryPointDiskConfiguration
// Eligibility of RP to be moved to another tier
RecoveryPointMoveReadinessInfo map[string]*RecoveryPointMoveReadinessInfo
// Properties of Recovery Point
RecoveryPointProperties *RecoveryPointProperties
// Recovery point tier information.
RecoveryPointTierDetails []*RecoveryPointTierInformationV2
// Time at which this backup copy was created.
RecoveryPointTime *time.Time
// Type of the backup copy.
RecoveryPointType *string
// Security Type of the Disk
SecurityType *string
// Storage type of the VM whose backup copy is created.
SourceVMStorageType *string
// Virtual Machine Size
VirtualMachineSize *string
// Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms
Zones []*string
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type IaasVMRecoveryPoint.
func (i *IaasVMRecoveryPoint) GetRecoveryPoint() *RecoveryPoint {
return &RecoveryPoint{
ObjectType: i.ObjectType,
}
}
// IaasVMRestoreRequest - IaaS VM workload-specific restore.
type IaasVMRestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.
AffinityGroup *string
// Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same cloud service
// as it was at the time of backup.
CreateNewCloudService *bool
// DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.
DiskEncryptionSetID *string
// Details needed if the VM was encrypted at the time of backup.
EncryptionDetails *EncryptionDetails
// Target extended location where the VM should be restored, should be null if restore is to be done in public cloud
ExtendedLocation *ExtendedLocation
// IaaS VM workload specific restore details for restores using managed identity.
IdentityBasedRestoreDetails *IdentityBasedRestoreDetails
// Managed Identity information required to access customer storage account.
IdentityInfo *IdentityInfo
// Original Storage Account Option
OriginalStorageAccountOption *bool
// ID of the backup copy to be recovered.
RecoveryPointID *string
// Type of this recovery.
RecoveryType *RecoveryType
// Region in which the virtual machine is restored.
Region *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// List of Disk LUNs for partial restore
RestoreDiskLunList []*int32
// Flag to denote of an Unmanaged disk VM should be restored with Managed disks.
RestoreWithManagedDisks *bool
// Stores Secured VM Details
SecuredVMDetails *SecuredVMDetails
// Fully qualified ARM ID of the VM which is being recovered.
SourceResourceID *string
// Fully qualified ARM ID of the storage account to which the VM has to be restored.
StorageAccountID *string
// Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be {VnetID}/Subnet/{SubnetName}
// and, for the Azure Resource Manager VMs it would be ARM resource ID used to
// represent the subnet.
SubnetID *string
// Specifies target network access settings for disks of VM to be restored,
TargetDiskNetworkAccessSettings *TargetDiskNetworkAccessSettings
// Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic Virtual
// Machines.
TargetDomainNameID *string
// This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts. For e.g.
// /subscriptions/{subId}/resourcegroups/{rg}
TargetResourceGroupID *string
// This is the complete ARM Id of the VM that will be created. For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// This is the virtual network Id of the vnet that will be attached to the virtual machine. User will be validated for join
// action permissions in the linked access.
VirtualNetworkID *string
// Target zone where the VM and its disks should be restored.
Zones []*string
}
// GetIaasVMRestoreRequest implements the IaasVMRestoreRequestClassification interface for type IaasVMRestoreRequest.
func (i *IaasVMRestoreRequest) GetIaasVMRestoreRequest() *IaasVMRestoreRequest { return i }
// GetRestoreRequest implements the RestoreRequestClassification interface for type IaasVMRestoreRequest.
func (i *IaasVMRestoreRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: i.ObjectType,
ResourceGuardOperationRequests: i.ResourceGuardOperationRequests,
}
}
// IaasVMRestoreWithRehydrationRequest - IaaS VM workload-specific restore with integrated rehydration of recovery point.
type IaasVMRestoreWithRehydrationRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.
AffinityGroup *string
// Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same cloud service
// as it was at the time of backup.
CreateNewCloudService *bool
// DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.
DiskEncryptionSetID *string
// Details needed if the VM was encrypted at the time of backup.
EncryptionDetails *EncryptionDetails
// Target extended location where the VM should be restored, should be null if restore is to be done in public cloud
ExtendedLocation *ExtendedLocation
// IaaS VM workload specific restore details for restores using managed identity.
IdentityBasedRestoreDetails *IdentityBasedRestoreDetails
// Managed Identity information required to access customer storage account.
IdentityInfo *IdentityInfo
// Original Storage Account Option
OriginalStorageAccountOption *bool
// ID of the backup copy to be recovered.
RecoveryPointID *string
// RP Rehydration Info
RecoveryPointRehydrationInfo *RecoveryPointRehydrationInfo
// Type of this recovery.
RecoveryType *RecoveryType
// Region in which the virtual machine is restored.
Region *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// List of Disk LUNs for partial restore
RestoreDiskLunList []*int32
// Flag to denote of an Unmanaged disk VM should be restored with Managed disks.
RestoreWithManagedDisks *bool
// Stores Secured VM Details
SecuredVMDetails *SecuredVMDetails
// Fully qualified ARM ID of the VM which is being recovered.
SourceResourceID *string
// Fully qualified ARM ID of the storage account to which the VM has to be restored.
StorageAccountID *string
// Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be {VnetID}/Subnet/{SubnetName}
// and, for the Azure Resource Manager VMs it would be ARM resource ID used to
// represent the subnet.
SubnetID *string
// Specifies target network access settings for disks of VM to be restored,
TargetDiskNetworkAccessSettings *TargetDiskNetworkAccessSettings
// Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic Virtual
// Machines.
TargetDomainNameID *string
// This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts. For e.g.
// /subscriptions/{subId}/resourcegroups/{rg}
TargetResourceGroupID *string
// This is the complete ARM Id of the VM that will be created. For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
TargetVirtualMachineID *string
// This is the virtual network Id of the vnet that will be attached to the virtual machine. User will be validated for join
// action permissions in the linked access.
VirtualNetworkID *string
// Target zone where the VM and its disks should be restored.
Zones []*string
}
// GetIaasVMRestoreRequest implements the IaasVMRestoreRequestClassification interface for type IaasVMRestoreWithRehydrationRequest.
func (i *IaasVMRestoreWithRehydrationRequest) GetIaasVMRestoreRequest() *IaasVMRestoreRequest {
return &IaasVMRestoreRequest{
AffinityGroup: i.AffinityGroup,
CreateNewCloudService: i.CreateNewCloudService,
DiskEncryptionSetID: i.DiskEncryptionSetID,
EncryptionDetails: i.EncryptionDetails,
ExtendedLocation: i.ExtendedLocation,
IdentityBasedRestoreDetails: i.IdentityBasedRestoreDetails,
IdentityInfo: i.IdentityInfo,
ObjectType: i.ObjectType,
OriginalStorageAccountOption: i.OriginalStorageAccountOption,
RecoveryPointID: i.RecoveryPointID,
RecoveryType: i.RecoveryType,
Region: i.Region,
ResourceGuardOperationRequests: i.ResourceGuardOperationRequests,
RestoreDiskLunList: i.RestoreDiskLunList,
RestoreWithManagedDisks: i.RestoreWithManagedDisks,
SecuredVMDetails: i.SecuredVMDetails,
SourceResourceID: i.SourceResourceID,
StorageAccountID: i.StorageAccountID,
SubnetID: i.SubnetID,
TargetDiskNetworkAccessSettings: i.TargetDiskNetworkAccessSettings,
TargetDomainNameID: i.TargetDomainNameID,
TargetResourceGroupID: i.TargetResourceGroupID,
TargetVirtualMachineID: i.TargetVirtualMachineID,
VirtualNetworkID: i.VirtualNetworkID,
Zones: i.Zones,
}
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type IaasVMRestoreWithRehydrationRequest.
func (i *IaasVMRestoreWithRehydrationRequest) GetRestoreRequest() *RestoreRequest {
return &RestoreRequest{
ObjectType: i.ObjectType,
ResourceGuardOperationRequests: i.ResourceGuardOperationRequests,
}
}
// IdentityBasedRestoreDetails - IaaS VM workload specific restore details for restores using managed identity
type IdentityBasedRestoreDetails struct {
// Gets the class type.
ObjectType *string
// Fully qualified ARM ID of the target storage account.
TargetStorageAccountID *string
}
// IdentityInfo - Encapsulates Managed Identity related information
type IdentityInfo struct {
// To differentiate if the managed identity is system assigned or user assigned
IsSystemAssignedIdentity *bool
// Managed Identity Resource Id Optional: Might not be required in the case of system assigned managed identity
ManagedIdentityResourceID *string
}
// InquiryInfo - Details about inquired protectable items under a given container.
type InquiryInfo struct {
// Error Details if the Status is non-success.
ErrorDetail *ErrorDetail
// Inquiry Details which will have workload specific details. For e.g. - For SQL and oracle this will contain different details.
InquiryDetails []*WorkloadInquiryDetails
// Inquiry Status for this container such as InProgress | Failed | Succeeded
Status *string
}
// InquiryValidation - Validation for inquired protectable items under a given container.
type InquiryValidation struct {
// Error Detail in case the status is non-success.
ErrorDetail *ErrorDetail
// Status for the Inquiry Validation.
Status *string
// READ-ONLY; Error Additional Detail in case the status is non-success.
AdditionalDetail *string
// READ-ONLY; Dictionary to store the count of ProtectableItems with key POType.
ProtectableItemCount any
}
// InstantItemRecoveryTarget - Target details for file / folder restore.
type InstantItemRecoveryTarget struct {
// List of client scripts.
ClientScripts []*ClientScriptForConnect
}
type InstantRPAdditionalDetails struct {
AzureBackupRGNamePrefix *string
AzureBackupRGNameSuffix *string
}
// Job - Defines workload agnostic properties for a job.
type Job struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
}
// GetJob implements the JobClassification interface for type Job.
func (j *Job) GetJob() *Job { return j }
// JobQueryObject - Filters to list the jobs.
type JobQueryObject struct {
// Type of backup management for the job.
BackupManagementType *BackupManagementType
// Job has ended at this time. Value is in UTC.
EndTime *time.Time
// JobID represents the job uniquely.
JobID *string
// Type of operation.
Operation *JobOperationType
// Job has started at this time. Value is in UTC.
StartTime *time.Time
// Status of the job.
Status *JobStatus
}
// JobResource - Defines workload agnostic properties for a job.
type JobResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// JobResource properties
Properties JobClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// JobResourceList - List of Job resources
type JobResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*JobResource
}
// KEKDetails - KEK is encryption key for BEK.
type KEKDetails struct {
// KEK data.
KeyBackupData *string
// Key is KEK.
KeyURL *string
// Key Vault ID where this Key is stored.
KeyVaultID *string
}
// KPIResourceHealthDetails - KPI Resource Health Details
type KPIResourceHealthDetails struct {
// Resource Health Status
ResourceHealthDetails []*ResourceHealthDetails
// Resource Health Status
ResourceHealthStatus *ResourceHealthStatus
}
// KeyAndSecretDetails - BEK is bitlocker key. KEK is encryption key for BEK If the VM was encrypted then we will store following
// details :
// 1. Secret(BEK) - Url + Backup Data + vaultId.
// 2. Key(KEK) - Url + Backup Data + vaultId.
// 3. EncryptionMechanism BEK and KEK can potentially have different vault ids.
type KeyAndSecretDetails struct {
// BEK is bitlocker encryption key.
BekDetails *BEKDetails
// Encryption mechanism: None/ SinglePass/ DoublePass
EncryptionMechanism *string
// KEK is encryption key for BEK.
KekDetails *KEKDetails
}
// ListRecoveryPointsRecommendedForMoveRequest Request
type ListRecoveryPointsRecommendedForMoveRequest struct {
// List of Recovery Points excluded from Move
ExcludedRPList []*string
// Gets the class type.
ObjectType *string
}
// LogSchedulePolicy - Log policy schedule.
type LogSchedulePolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
SchedulePolicyType *string
// Frequency of the log schedule operation of this policy in minutes.
ScheduleFrequencyInMins *int32
}
// GetSchedulePolicy implements the SchedulePolicyClassification interface for type LogSchedulePolicy.
func (l *LogSchedulePolicy) GetSchedulePolicy() *SchedulePolicy {
return &SchedulePolicy{
SchedulePolicyType: l.SchedulePolicyType,
}
}
// LongTermRetentionPolicy - Long term retention policy.
type LongTermRetentionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
RetentionPolicyType *string
// Daily retention schedule of the protection policy.
DailySchedule *DailyRetentionSchedule
// Monthly retention schedule of the protection policy.
MonthlySchedule *MonthlyRetentionSchedule
// Weekly retention schedule of the protection policy.
WeeklySchedule *WeeklyRetentionSchedule
// Yearly retention schedule of the protection policy.
YearlySchedule *YearlyRetentionSchedule
}
// GetRetentionPolicy implements the RetentionPolicyClassification interface for type LongTermRetentionPolicy.
func (l *LongTermRetentionPolicy) GetRetentionPolicy() *RetentionPolicy {
return &RetentionPolicy{
RetentionPolicyType: l.RetentionPolicyType,
}
}
// LongTermSchedulePolicy - Long term policy schedule.
type LongTermSchedulePolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
SchedulePolicyType *string
}
// GetSchedulePolicy implements the SchedulePolicyClassification interface for type LongTermSchedulePolicy.
func (l *LongTermSchedulePolicy) GetSchedulePolicy() *SchedulePolicy {
return &SchedulePolicy{
SchedulePolicyType: l.SchedulePolicyType,
}
}
// MABContainerHealthDetails - MAB workload-specific Health Details.
type MABContainerHealthDetails struct {
// Health Code
Code *int32
// Health Message
Message *string
// Health Recommended Actions
Recommendations []*string
// Health Title
Title *string
}
// MabContainer - Container with items backed up using MAB backup engine.
type MabContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Agent version of this container.
AgentVersion *string
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Can the container be registered one more time.
CanReRegister *bool
// Health state of mab container.
ContainerHealthState *string
// ContainerID represents the container.
ContainerID *int64
// Additional information for this container
ExtendedInfo *MabContainerExtendedInfo
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Health details on this mab container.
MabContainerHealthDetails []*MABContainerHealthDetails
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Number of items backed up in this container.
ProtectedItemCount *int64
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type MabContainer.
func (m *MabContainer) GetProtectionContainer() *ProtectionContainer {
return &ProtectionContainer{
BackupManagementType: m.BackupManagementType,
ContainerType: m.ContainerType,
FriendlyName: m.FriendlyName,
HealthStatus: m.HealthStatus,
ProtectableObjectType: m.ProtectableObjectType,
RegistrationStatus: m.RegistrationStatus,
}
}
// MabContainerExtendedInfo - Additional information of the container.
type MabContainerExtendedInfo struct {
// Type of backup items associated with this container.
BackupItemType *BackupItemType
// List of backup items associated with this container.
BackupItems []*string
// Latest backup status of this container.
LastBackupStatus *string
// Time stamp when this container was refreshed.
LastRefreshedAt *time.Time
// Backup policy associated with this container.
PolicyName *string
}
// MabErrorInfo - MAB workload-specific error information.
type MabErrorInfo struct {
// READ-ONLY; Localized error string.
ErrorString *string
// READ-ONLY; List of localized recommendations.
Recommendations []*string
}
// MabFileFolderProtectedItem - MAB workload-specific backup item.
type MabFileFolderProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Name of the computer associated with this backup item.
ComputerName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Sync time for deferred deletion in UTC
DeferredDeleteSyncTimeInUTC *int64
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Additional information with this backup item.
ExtendedInfo *MabFileFolderProtectedItemExtendedInfo
// Friendly name of this backup item.
FriendlyName *string
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Status of last backup operation.
LastBackupStatus *string
// Timestamp of the last backup operation on this backup item.
LastBackupTime *time.Time
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// Protected, ProtectionStopped, IRPending or ProtectionError
ProtectionState *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetProtectedItem implements the ProtectedItemClassification interface for type MabFileFolderProtectedItem.
func (m *MabFileFolderProtectedItem) GetProtectedItem() *ProtectedItem {
return &ProtectedItem{
BackupManagementType: m.BackupManagementType,
BackupSetName: m.BackupSetName,
ContainerName: m.ContainerName,
CreateMode: m.CreateMode,
DeferredDeleteTimeInUTC: m.DeferredDeleteTimeInUTC,
DeferredDeleteTimeRemaining: m.DeferredDeleteTimeRemaining,
IsArchiveEnabled: m.IsArchiveEnabled,
IsDeferredDeleteScheduleUpcoming: m.IsDeferredDeleteScheduleUpcoming,
IsRehydrate: m.IsRehydrate,
IsScheduledForDeferredDelete: m.IsScheduledForDeferredDelete,
LastRecoveryPoint: m.LastRecoveryPoint,
PolicyID: m.PolicyID,
PolicyName: m.PolicyName,
ProtectedItemType: m.ProtectedItemType,
ResourceGuardOperationRequests: m.ResourceGuardOperationRequests,
SoftDeleteRetentionPeriodInDays: m.SoftDeleteRetentionPeriodInDays,
SourceResourceID: m.SourceResourceID,
VaultID: m.VaultID,
WorkloadType: m.WorkloadType,
}
}
// MabFileFolderProtectedItemExtendedInfo - Additional information on the backed up item.
type MabFileFolderProtectedItemExtendedInfo struct {
// Last time when the agent data synced to service.
LastRefreshedAt *time.Time
// The oldest backup copy available.
OldestRecoveryPoint *time.Time
// Number of backup copies associated with the backup item.
RecoveryPointCount *int32
}
// MabJob - MAB workload-specific job.
type MabJob struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// The state/actions applicable on jobs like cancel/retry.
ActionsInfo []*JobSupportedAction
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// Time taken by job to run.
Duration *string
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// The errors.
ErrorDetails []*MabErrorInfo
// Additional information on the job.
ExtendedInfo *MabJobExtendedInfo
// Name of server protecting the DS.
MabServerName *string
// Server type of MAB container.
MabServerType *MabServerType
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
// Workload type of backup item.
WorkloadType *WorkloadType
}
// GetJob implements the JobClassification interface for type MabJob.
func (m *MabJob) GetJob() *Job {
return &Job{
ActivityID: m.ActivityID,
BackupManagementType: m.BackupManagementType,
EndTime: m.EndTime,
EntityFriendlyName: m.EntityFriendlyName,
JobType: m.JobType,
Operation: m.Operation,
StartTime: m.StartTime,
Status: m.Status,
}
}
// MabJobExtendedInfo - Additional information for the MAB workload-specific job.
type MabJobExtendedInfo struct {
// Non localized error message specific to this job.
DynamicErrorMessage *string
// The job properties.
PropertyBag map[string]*string
// List of tasks for this job.
TasksList []*MabJobTaskDetails
}
// MabJobTaskDetails - MAB workload-specific job task details.
type MabJobTaskDetails struct {
// Time elapsed for task.
Duration *string
// The end time.
EndTime *time.Time
// The start time.
StartTime *time.Time
// The status.
Status *string
// The task display name.
TaskID *string
}
// MabProtectionPolicy - Mab container-specific backup policy.
type MabProtectionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
BackupManagementType *string
// Number of items associated with this policy.
ProtectedItemsCount *int32
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
// Retention policy details.
RetentionPolicy RetentionPolicyClassification
// Backup schedule of backup policy.
SchedulePolicy SchedulePolicyClassification
}
// GetProtectionPolicy implements the ProtectionPolicyClassification interface for type MabProtectionPolicy.
func (m *MabProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy {
return &ProtectionPolicy{
BackupManagementType: m.BackupManagementType,
ProtectedItemsCount: m.ProtectedItemsCount,
ResourceGuardOperationRequests: m.ResourceGuardOperationRequests,
}
}
// MonthlyRetentionSchedule - Monthly retention schedule.
type MonthlyRetentionSchedule struct {
// Retention duration of retention Policy.
RetentionDuration *RetentionDuration
// Daily retention format for monthly retention policy.
RetentionScheduleDaily *DailyRetentionFormat
// Retention schedule format type for monthly retention policy.
RetentionScheduleFormatType *RetentionScheduleFormat
// Weekly retention format for monthly retention policy.
RetentionScheduleWeekly *WeeklyRetentionFormat
// Retention times of retention policy.
RetentionTimes []*time.Time
}
type MoveRPAcrossTiersRequest struct {
// Gets the class type.
ObjectType *string
// Source tier from where RP needs to be moved
SourceTierType *RecoveryPointTierType
// Target tier where RP needs to be moved
TargetTierType *RecoveryPointTierType
}
// NameInfo - The name of usage.
type NameInfo struct {
// Localized value of usage.
LocalizedValue *string
// Value of usage.
Value *string
}
// NewErrorResponse - The resource management error response.
type NewErrorResponse struct {
// The error object.
Error *NewErrorResponseError
}
// NewErrorResponseError - The error object.
type NewErrorResponseError struct {
// READ-ONLY; The error additional info.
AdditionalInfo []*ErrorAdditionalInfo
// READ-ONLY; The error code.
Code *string
// READ-ONLY; The error details.
Details []*NewErrorResponse
// READ-ONLY; The error message.
Message *string
// READ-ONLY; The error target.
Target *string
}
// OperationResultInfo - Operation result info.
type OperationResultInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// List of jobs created by this operation.
JobList []*string
}
// GetOperationResultInfoBase implements the OperationResultInfoBaseClassification interface for type OperationResultInfo.
func (o *OperationResultInfo) GetOperationResultInfoBase() *OperationResultInfoBase {
return &OperationResultInfoBase{
ObjectType: o.ObjectType,
}
}
// OperationResultInfoBase - Base class for operation result info.
type OperationResultInfoBase struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetOperationResultInfoBase implements the OperationResultInfoBaseClassification interface for type OperationResultInfoBase.
func (o *OperationResultInfoBase) GetOperationResultInfoBase() *OperationResultInfoBase { return o }
// OperationResultInfoBaseResource - Base class for operation result info.
type OperationResultInfoBaseResource struct {
// HTTP headers associated with this operation.
Headers map[string][]*string
// OperationResultInfoBaseResource operation
Operation OperationResultInfoBaseClassification
// HTTP Status Code of the operation.
StatusCode *HTTPStatusCode
}
// OperationStatus - Operation status.
type OperationStatus struct {
// Operation end time. Format: ISO-8601.
EndTime *time.Time
// Error information related to this operation.
Error *OperationStatusError
// ID of the operation.
ID *string
// Name of the operation.
Name *string
// Additional information associated with this operation.
Properties OperationStatusExtendedInfoClassification
// Operation start time. Format: ISO-8601.
StartTime *time.Time
// Operation status.
Status *OperationStatusValues
}
// OperationStatusError - Error information associated with operation status call.
type OperationStatusError struct {
// Error code of the operation failure.
Code *string
// Error message displayed if the operation failure.
Message *string
}
// OperationStatusExtendedInfo - Base class for additional information of operation status.
type OperationStatusExtendedInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusExtendedInfo.
func (o *OperationStatusExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo {
return o
}
// OperationStatusJobExtendedInfo - Operation status job extended info.
type OperationStatusJobExtendedInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// ID of the job created for this protected item.
JobID *string
}
// GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusJobExtendedInfo.
func (o *OperationStatusJobExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo {
return &OperationStatusExtendedInfo{
ObjectType: o.ObjectType,
}
}
// OperationStatusJobsExtendedInfo - Operation status extended info for list of jobs.
type OperationStatusJobsExtendedInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Stores all the failed jobs along with the corresponding error codes.
FailedJobsError map[string]*string
// IDs of the jobs created for the protected item.
JobIDs []*string
}
// GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusJobsExtendedInfo.
func (o *OperationStatusJobsExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo {
return &OperationStatusExtendedInfo{
ObjectType: o.ObjectType,
}
}
// OperationStatusProvisionILRExtendedInfo - Operation status extended info for ILR provision action.
type OperationStatusProvisionILRExtendedInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Target details for file / folder restore.
RecoveryTarget *InstantItemRecoveryTarget
}
// GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusProvisionILRExtendedInfo.
func (o *OperationStatusProvisionILRExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo {
return &OperationStatusExtendedInfo{
ObjectType: o.ObjectType,
}
}
// OperationStatusValidateOperationExtendedInfo - Operation status extended info for ValidateOperation action.
type OperationStatusValidateOperationExtendedInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Gets the validation operation response
ValidateOperationResponse *ValidateOperationResponse
}
// GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusValidateOperationExtendedInfo.
func (o *OperationStatusValidateOperationExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo {
return &OperationStatusExtendedInfo{
ObjectType: o.ObjectType,
}
}
// OperationWorkerResponse - This is the base class for operation result responses.
type OperationWorkerResponse struct {
// HTTP headers associated with this operation.
Headers map[string][]*string
// HTTP Status Code of the operation.
StatusCode *HTTPStatusCode
}
// PointInTimeRange - Provides details for log ranges
type PointInTimeRange struct {
// End time of the time range for log recovery.
EndTime *time.Time
// Start time of the time range for log recovery.
StartTime *time.Time
}
// PreBackupValidation - Pre-backup validation for Azure VM Workload provider.
type PreBackupValidation struct {
// Error code of protectable item
Code *string
// Message corresponding to the error code for the protectable item
Message *string
// Status of protectable item, i.e. InProgress,Succeeded,Failed
Status *InquiryStatus
}
// PreValidateEnableBackupRequest - Contract to validate if backup can be enabled on the given resource in a given vault and
// given configuration. It will validate followings
// 1. Vault capacity
// 2. VM is already protected
// 3. Any VM related configuration passed in properties.
type PreValidateEnableBackupRequest struct {
// Configuration of VM if any needs to be validated like OS type etc
Properties *string
// ARM Virtual Machine Id
ResourceID *string
// ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc
ResourceType *DataSourceType
// ARM id of the Recovery Services Vault
VaultID *string
}
// PreValidateEnableBackupResponse - Response contract for enable backup validation request
type PreValidateEnableBackupResponse struct {
// Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required for
// portal
ContainerName *string
// Response error code
ErrorCode *string
// Response error message
ErrorMessage *string
// Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal
ProtectedItemName *string
// Recommended action for user
Recommendation *string
// Validation Status
Status *ValidationStatus
}
// PrepareDataMoveRequest - Prepare DataMove Request
type PrepareDataMoveRequest struct {
// REQUIRED; DataMove Level
DataMoveLevel *DataMoveLevel
// REQUIRED; Target Region
TargetRegion *string
// REQUIRED; ARM Id of target vault
TargetResourceID *string
// Ignore the artifacts which are already moved.
IgnoreMoved *bool
// Source Container ArmIds This needs to be populated only if DataMoveLevel is set to container
SourceContainerArmIDs []*string
}
// PrepareDataMoveResponse - Prepare DataMove Response
type PrepareDataMoveResponse struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Co-relationId for move operation
CorrelationID *string
// Source Vault Properties
SourceVaultProperties map[string]*string
}
// GetVaultStorageConfigOperationResultResponse implements the VaultStorageConfigOperationResultResponseClassification interface
// for type PrepareDataMoveResponse.
func (p *PrepareDataMoveResponse) GetVaultStorageConfigOperationResultResponse() *VaultStorageConfigOperationResultResponse {
return &VaultStorageConfigOperationResultResponse{
ObjectType: p.ObjectType,
}
}
// PrivateEndpoint - The Private Endpoint network resource that is linked to the Private Endpoint connection
type PrivateEndpoint struct {
// Gets or sets id
ID *string
}
// PrivateEndpointConnection - Private Endpoint Connection Response Properties
type PrivateEndpointConnection struct {
// Group Ids for the Private Endpoint
GroupIDs []*VaultSubResourceType
// Gets or sets private endpoint associated with the private endpoint connection
PrivateEndpoint *PrivateEndpoint
// Gets or sets private link service connection state
PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState
// Gets or sets provisioning state of the private endpoint connection
ProvisioningState *ProvisioningState
}
// PrivateEndpointConnectionResource - Private Endpoint Connection Response Properties
type PrivateEndpointConnectionResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// PrivateEndpointConnectionResource properties
Properties *PrivateEndpointConnection
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// PrivateLinkServiceConnectionState - Private Link Service Connection State
type PrivateLinkServiceConnectionState struct {
// Gets or sets actions required
ActionsRequired *string
// Gets or sets description
Description *string
// Gets or sets the status
Status *PrivateEndpointConnectionStatus
}
// ProtectableContainer - Protectable Container Class.
type ProtectableContainer struct {
// REQUIRED; Type of the container. The value of this property for
// 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines
ProtectableContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Fabric Id of the container such as ARM Id.
ContainerID *string
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
}
// GetProtectableContainer implements the ProtectableContainerClassification interface for type ProtectableContainer.
func (p *ProtectableContainer) GetProtectableContainer() *ProtectableContainer { return p }
// ProtectableContainerResource - Protectable Container Class.
type ProtectableContainerResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// ProtectableContainerResource properties
Properties ProtectableContainerClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// ProtectableContainerResourceList - List of ProtectableContainer resources
type ProtectableContainerResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*ProtectableContainerResource
}
// ProtectedItem - Base class for backup items.
type ProtectedItem struct {
// REQUIRED; backup item type.
ProtectedItemType *string
// Name of the backup set the backup item belongs to
BackupSetName *string
// Unique name of container
ContainerName *string
// Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
CreateMode *CreateMode
// Time for deferred deletion in UTC
DeferredDeleteTimeInUTC *time.Time
// Time remaining before the DS marked for deferred delete is permanently deleted
DeferredDeleteTimeRemaining *string
// Flag to identify whether datasource is protected in archive
IsArchiveEnabled *bool
// Flag to identify whether the deferred deleted DS is to be purged soon
IsDeferredDeleteScheduleUpcoming *bool
// Flag to identify that deferred deleted DS is to be moved into Pause state
IsRehydrate *bool
// Flag to identify whether the DS is scheduled for deferred delete
IsScheduledForDeferredDelete *bool
// Timestamp when the last (latest) backup copy was created for this backup item.
LastRecoveryPoint *time.Time
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Name of the policy used for protection
PolicyName *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
// Soft delete retention period in days
SoftDeleteRetentionPeriodInDays *int32
// ARM ID of the resource to be backed up.
SourceResourceID *string
// READ-ONLY; Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// READ-ONLY; ID of the vault which protects this item
VaultID *string
// READ-ONLY; Type of workload this item represents.
WorkloadType *DataSourceType
}
// GetProtectedItem implements the ProtectedItemClassification interface for type ProtectedItem.
func (p *ProtectedItem) GetProtectedItem() *ProtectedItem { return p }
// ProtectedItemQueryObject - Filters to list backup items.
type ProtectedItemQueryObject struct {
// Backup Engine name
BackupEngineName *string
// Backup management type for the backed up item.
BackupManagementType *BackupManagementType
// Name of the backup set.
BackupSetName *string
// Name of the container.
ContainerName *string
// Name of the fabric.
FabricName *string
// Friendly name of protected item
FriendlyName *string
// Health State for the backed up item.
HealthState *HealthState
// Type of workload this item represents.
ItemType *DataSourceType
// Backup policy name associated with the backup item.
PolicyName *string
}
// ProtectedItemResource - Base class for backup items.
type ProtectedItemResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// ProtectedItemResource properties
Properties ProtectedItemClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// ProtectedItemResourceList - List of ProtectedItem resources
type ProtectedItemResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*ProtectedItemResource
}
// ProtectionContainer - Base class for container with backup items. Containers with specific workloads are derived from this
// class.
type ProtectionContainer struct {
// REQUIRED; Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines
// 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows
// machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer.
// 6. Azure workload Backup is VMAppContainer
ContainerType *ProtectableContainerType
// Type of backup management for the container.
BackupManagementType *BackupManagementType
// Friendly name of the container.
FriendlyName *string
// Status of health of the container.
HealthStatus *string
// Type of the protectable object associated with this container
ProtectableObjectType *string
// Status of registration of the container with the Recovery Services Vault.
RegistrationStatus *string
}
// GetProtectionContainer implements the ProtectionContainerClassification interface for type ProtectionContainer.
func (p *ProtectionContainer) GetProtectionContainer() *ProtectionContainer { return p }
// ProtectionContainerResource - Base class for container with backup items. Containers with specific workloads are derived
// from this class.
type ProtectionContainerResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// ProtectionContainerResource properties
Properties ProtectionContainerClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// ProtectionContainerResourceList - List of ProtectionContainer resources
type ProtectionContainerResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*ProtectionContainerResource
}
// ProtectionIntent - Base class for backup ProtectionIntent.
type ProtectionIntent struct {
// REQUIRED; backup protectionIntent type.
ProtectionIntentItemType *ProtectionIntentItemType
// Type of backup management for the backed up item.
BackupManagementType *BackupManagementType
// ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId
ItemID *string
// ID of the backup policy with which this item is backed up.
PolicyID *string
// Backup state of this backup item.
ProtectionState *ProtectionStatus
// ARM ID of the resource to be backed up.
SourceResourceID *string
}
// GetProtectionIntent implements the ProtectionIntentClassification interface for type ProtectionIntent.
func (p *ProtectionIntent) GetProtectionIntent() *ProtectionIntent { return p }
// ProtectionIntentQueryObject - Filters to list protection intent.
type ProtectionIntentQueryObject struct {
// Backup management type for the backed up item
BackupManagementType *BackupManagementType
// Item name of the intent
ItemName *string
// Type of workload this item represents
ItemType *IntentItemType
// Parent name of the intent
ParentName *string
}
// ProtectionIntentResource - Base class for backup ProtectionIntent.
type ProtectionIntentResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// ProtectionIntentResource properties
Properties ProtectionIntentClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// ProtectionIntentResourceList - List of ProtectionIntent resources
type ProtectionIntentResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*ProtectionIntentResource
}
// ProtectionPolicy - Base class for backup policy. Workload-specific backup policies are derived from this class.
type ProtectionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
BackupManagementType *string
// Number of items associated with this policy.
ProtectedItemsCount *int32
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
}
// GetProtectionPolicy implements the ProtectionPolicyClassification interface for type ProtectionPolicy.
func (p *ProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy { return p }
// ProtectionPolicyQueryObject - Filters the list backup policies API.
type ProtectionPolicyQueryObject struct {
// Backup management type for the backup policy.
BackupManagementType *BackupManagementType
// Fabric name for filter
FabricName *string
// Workload type for the backup policy.
WorkloadType *WorkloadType
}
// ProtectionPolicyResource - Base class for backup policy. Workload-specific backup policies are derived from this class.
type ProtectionPolicyResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// ProtectionPolicyResource properties
Properties ProtectionPolicyClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// ProtectionPolicyResourceList - List of ProtectionPolicy resources
type ProtectionPolicyResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*ProtectionPolicyResource
}
// RecoveryPoint - Base class for backup copies. Workload-specific backup copies are derived from this class.
type RecoveryPoint struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetRecoveryPoint implements the RecoveryPointClassification interface for type RecoveryPoint.
func (r *RecoveryPoint) GetRecoveryPoint() *RecoveryPoint { return r }
// RecoveryPointDiskConfiguration - Disk configuration
type RecoveryPointDiskConfiguration struct {
// Information of disks excluded from backup
ExcludedDiskList []*DiskInformation
// Information of disks included in backup
IncludedDiskList []*DiskInformation
// Number of disks attached to the VM
NumberOfDisksAttachedToVM *int32
// Number of disks included in backup
NumberOfDisksIncludedInBackup *int32
}
type RecoveryPointMoveReadinessInfo struct {
AdditionalInfo *string
IsReadyForMove *bool
}
// RecoveryPointProperties - Properties of Recovery Point
type RecoveryPointProperties struct {
// Expiry time of Recovery Point in UTC.
ExpiryTime *string
// Bool to indicate whether RP is in soft delete state or not
IsSoftDeleted *bool
// Rule name tagged on Recovery Point that governs life cycle
RuleName *string
}
// RecoveryPointRehydrationInfo - RP Rehydration Info
type RecoveryPointRehydrationInfo struct {
// Rehydration Priority
RehydrationPriority *RehydrationPriority
// How long the rehydrated RP should be kept Should be ISO8601 Duration format e.g. "P7D"
RehydrationRetentionDuration *string
}
// RecoveryPointResource - Base class for backup copies. Workload-specific backup copies are derived from this class.
type RecoveryPointResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// RecoveryPointResource properties
Properties RecoveryPointClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// RecoveryPointResourceList - List of RecoveryPoint resources
type RecoveryPointResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*RecoveryPointResource
}
// RecoveryPointTierInformation - Recovery point tier information.
type RecoveryPointTierInformation struct {
// Recovery point tier status.
ExtendedInfo map[string]*string
// Recovery point tier status.
Status *RecoveryPointTierStatus
// Recovery point tier type.
Type *RecoveryPointTierType
}
// RecoveryPointTierInformationV2 - RecoveryPoint Tier Information V2
type RecoveryPointTierInformationV2 struct {
// Recovery point tier status.
ExtendedInfo map[string]*string
// Recovery point tier status.
Status *RecoveryPointTierStatus
// Recovery point tier type.
Type *RecoveryPointTierType
}
// Resource - ARM Resource.
type Resource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
type ResourceGuardOperationDetail struct {
DefaultResourceRequest *string
VaultCriticalOperation *string
}
type ResourceGuardProxyBase struct {
// REQUIRED
ResourceGuardResourceID *string
Description *string
LastUpdatedTime *string
ResourceGuardOperationDetails []*ResourceGuardOperationDetail
}
type ResourceGuardProxyBaseResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// ResourceGuardProxyBaseResource properties
Properties *ResourceGuardProxyBase
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// ResourceGuardProxyBaseResourceList - List of ResourceGuardProxyBase resources
type ResourceGuardProxyBaseResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*ResourceGuardProxyBaseResource
}
// ResourceHealthDetails - Health Details for backup items.
type ResourceHealthDetails struct {
// READ-ONLY; Health Code
Code *int32
// READ-ONLY; Health Message
Message *string
// READ-ONLY; Health Recommended Actions
Recommendations []*string
// READ-ONLY; Health Title
Title *string
}
// ResourceList - Base for all lists of resources.
type ResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
}
// RestoreFileSpecs - Restore file specs like file path, type and target folder path info.
type RestoreFileSpecs struct {
// Indicates what the Path variable stands for
FileSpecType *string
// Source File/Folder path
Path *string
// Destination folder path in target FileShare
TargetFolderPath *string
}
// RestoreRequest - Base class for restore request. Workload-specific restore requests are derived from this class.
type RestoreRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// ResourceGuardOperationRequests on which LAC check will be performed
ResourceGuardOperationRequests []*string
}
// GetRestoreRequest implements the RestoreRequestClassification interface for type RestoreRequest.
func (r *RestoreRequest) GetRestoreRequest() *RestoreRequest { return r }
// RestoreRequestResource - Base class for restore request. Workload-specific restore requests are derived from this class.
type RestoreRequestResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// RestoreRequestResource properties
Properties RestoreRequestClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// RetentionDuration - Retention duration.
type RetentionDuration struct {
// Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when
// Count = 3 and DurationType = Weeks, retention duration will be three weeks.
Count *int32
// Retention duration type of retention policy.
DurationType *RetentionDurationType
}
// RetentionPolicy - Base class for retention policy.
type RetentionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
RetentionPolicyType *string
}
// GetRetentionPolicy implements the RetentionPolicyClassification interface for type RetentionPolicy.
func (r *RetentionPolicy) GetRetentionPolicy() *RetentionPolicy { return r }
// SQLDataDirectory info
type SQLDataDirectory struct {
// Logical name of the file
LogicalName *string
// File path
Path *string
// Type of data directory mapping
Type *SQLDataDirectoryType
}
// SQLDataDirectoryMapping - Encapsulates information regarding data directory
type SQLDataDirectoryMapping struct {
// Type of data directory mapping
MappingType *SQLDataDirectoryType
// Restore source logical name path
SourceLogicalName *string
// Restore source path
SourcePath *string
// Target path
TargetPath *string
}
// SchedulePolicy - Base class for backup schedule.
type SchedulePolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
SchedulePolicyType *string
}
// GetSchedulePolicy implements the SchedulePolicyClassification interface for type SchedulePolicy.
func (s *SchedulePolicy) GetSchedulePolicy() *SchedulePolicy { return s }
// SecuredVMDetails - Restore request parameters for Secured VMs
type SecuredVMDetails struct {
// Gets or Sets Disk Encryption Set Id for Secured VM OS Disk
SecuredVMOsDiskEncryptionSetID *string
}
// SecurityPinBase - Base class for get security pin request body
type SecurityPinBase struct {
// ResourceGuard Operation Requests
ResourceGuardOperationRequests []*string
}
// Settings - Common settings field for backup management
type Settings struct {
// Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider
// this flag.
IsCompression *bool
// SQL compression flag
Issqlcompression *bool
// TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
TimeZone *string
}
// SimpleRetentionPolicy - Simple policy retention.
type SimpleRetentionPolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
RetentionPolicyType *string
// Retention duration of the protection policy.
RetentionDuration *RetentionDuration
}
// GetRetentionPolicy implements the RetentionPolicyClassification interface for type SimpleRetentionPolicy.
func (s *SimpleRetentionPolicy) GetRetentionPolicy() *RetentionPolicy {
return &RetentionPolicy{
RetentionPolicyType: s.RetentionPolicyType,
}
}
// SimpleSchedulePolicy - Simple policy schedule.
type SimpleSchedulePolicy struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
SchedulePolicyType *string
// Hourly Schedule of this Policy
HourlySchedule *HourlySchedule
// List of days of week this schedule has to be run.
ScheduleRunDays []*DayOfWeek
// Frequency of the schedule operation of this policy.
ScheduleRunFrequency *ScheduleRunType
// List of times of day this schedule has to be run.
ScheduleRunTimes []*time.Time
// At every number weeks this schedule has to be run.
ScheduleWeeklyFrequency *int32
}
// GetSchedulePolicy implements the SchedulePolicyClassification interface for type SimpleSchedulePolicy.
func (s *SimpleSchedulePolicy) GetSchedulePolicy() *SchedulePolicy {
return &SchedulePolicy{
SchedulePolicyType: s.SchedulePolicyType,
}
}
// SimpleSchedulePolicyV2 - The V2 policy schedule for IaaS that supports hourly backups.
type SimpleSchedulePolicyV2 struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
SchedulePolicyType *string
// Daily schedule of this policy
DailySchedule *DailySchedule
// hourly schedule of this policy
HourlySchedule *HourlySchedule
// Frequency of the schedule operation of this policy.
ScheduleRunFrequency *ScheduleRunType
// Weekly schedule of this policy
WeeklySchedule *WeeklySchedule
}
// GetSchedulePolicy implements the SchedulePolicyClassification interface for type SimpleSchedulePolicyV2.
func (s *SimpleSchedulePolicyV2) GetSchedulePolicy() *SchedulePolicy {
return &SchedulePolicy{
SchedulePolicyType: s.SchedulePolicyType,
}
}
// SnapshotBackupAdditionalDetails - Snapshot Backup related fields for WorkloadType SaPHanaSystem
type SnapshotBackupAdditionalDetails struct {
InstantRPDetails *string
InstantRpRetentionRangeInDays *int32
// User assigned managed identity details
UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails
}
// SnapshotRestoreParameters - Encapsulates information regarding snapshot recovery for SAP Hana
type SnapshotRestoreParameters struct {
LogPointInTimeForDBRecovery *string
SkipAttachAndMount *bool
}
// SubProtectionPolicy - Sub-protection policy which includes schedule and retention
type SubProtectionPolicy struct {
// Type of backup policy type
PolicyType *PolicyType
// Retention policy with the details on backup copy retention ranges.
RetentionPolicy RetentionPolicyClassification
// Backup schedule specified as part of backup policy.
SchedulePolicy SchedulePolicyClassification
// Snapshot Backup related fields for WorkloadType SaPHanaSystem
SnapshotBackupAdditionalDetails *SnapshotBackupAdditionalDetails
// 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 map[string]*TieringPolicy
}
// TargetAFSRestoreInfo - Target Azure File Share Info.
type TargetAFSRestoreInfo struct {
// File share name
Name *string
// Target file share resource ARM ID
TargetResourceID *string
}
// TargetDiskNetworkAccessSettings - Specifies target network access settings for disks of VM to be restored.
type TargetDiskNetworkAccessSettings struct {
// Gets or sets the ARM resource ID of the target disk access to be used when TargetDiskNetworkAccessOption is set to TargetDiskNetworkAccessOption.UseNew
TargetDiskAccessID *string
// Network access settings to be used for restored disks
TargetDiskNetworkAccessOption *TargetDiskNetworkAccessOption
}
// TargetRestoreInfo - Details about target workload during restore operation.
type TargetRestoreInfo struct {
// Resource Id name of the container in which Target DataBase resides
ContainerID *string
// Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana
DatabaseName *string
// Can Overwrite if Target DataBase already exists
OverwriteOption *OverwriteOptions
// Target directory location for restore as files.
TargetDirectoryForFileRestore *string
}
// TieringCostInfo - Base class for tiering cost response
type TieringCostInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetTieringCostInfo implements the TieringCostInfoClassification interface for type TieringCostInfo.
func (t *TieringCostInfo) GetTieringCostInfo() *TieringCostInfo { return t }
// TieringCostRehydrationInfo - Response parameters for tiering cost info for rehydration
type TieringCostRehydrationInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// REQUIRED; Rehydration size in bytes
RehydrationSizeInBytes *int64
// REQUIRED; Source tier to target tier rehydration cost per GB per month
RetailRehydrationCostPerGBPerMonth *float64
}
// GetTieringCostInfo implements the TieringCostInfoClassification interface for type TieringCostRehydrationInfo.
func (t *TieringCostRehydrationInfo) GetTieringCostInfo() *TieringCostInfo {
return &TieringCostInfo{
ObjectType: t.ObjectType,
}
}
// TieringCostSavingInfo - Response parameters for tiering cost info for savings
type TieringCostSavingInfo struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// REQUIRED; Source tier retail cost per GB per month
RetailSourceTierCostPerGBPerMonth *float64
// REQUIRED; Target tier retail cost per GB per month
RetailTargetTierCostPerGBPerMonth *float64
// REQUIRED; Source tier size reduction in bytes after moving all the recommended backup points to target tier
SourceTierSizeReductionInBytes *int64
// REQUIRED; Target tier size increase in bytes after moving all the recommended backup points to target tier
TargetTierSizeIncreaseInBytes *int64
}
// GetTieringCostInfo implements the TieringCostInfoClassification interface for type TieringCostSavingInfo.
func (t *TieringCostSavingInfo) GetTieringCostInfo() *TieringCostInfo {
return &TieringCostInfo{
ObjectType: t.ObjectType,
}
}
// TieringPolicy - 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
type TieringPolicy struct {
// Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to
// TierAfter
Duration *int32
// Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
DurationType *RetentionDurationType
// 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
}
// TokenInformation - The token information details.
type TokenInformation struct {
// Expiry time of token.
ExpiryTimeInUTCTicks *int64
// Security PIN
SecurityPIN *string
// Token value.
Token *string
}
// TriggerDataMoveRequest - Trigger DataMove Request
type TriggerDataMoveRequest struct {
// REQUIRED; Correlation Id
CorrelationID *string
// REQUIRED; DataMove Level
DataMoveLevel *DataMoveLevel
// REQUIRED; Source Region
SourceRegion *string
// REQUIRED; ARM Id of source vault
SourceResourceID *string
// Pause GC
PauseGC *bool
// Source Container ArmIds
SourceContainerArmIDs []*string
}
// UnlockDeleteRequest - Request body of unlock delete API.
type UnlockDeleteRequest struct {
ResourceGuardOperationRequests []*string
ResourceToBeDeleted *string
}
// UnlockDeleteResponse - Response of Unlock Delete API.
type UnlockDeleteResponse struct {
// This is the time when unlock delete privileges will get expired.
UnlockDeleteExpiryTime *string
}
// UserAssignedIdentityProperties - User assigned managed identity properties
type UserAssignedIdentityProperties struct {
// The client ID of the assigned identity.
ClientID *string
// The principal ID of the assigned identity.
PrincipalID *string
}
// UserAssignedManagedIdentityDetails - User assigned managed identity details
type UserAssignedManagedIdentityDetails struct {
// The ARM id of the assigned identity.
IdentityArmID *string
// The name of the assigned identity.
IdentityName *string
// User assigned managed identity properties
UserAssignedIdentityProperties *UserAssignedIdentityProperties
}
// ValidateIaasVMRestoreOperationRequest - AzureRestoreValidation request.
type ValidateIaasVMRestoreOperationRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Sets restore request to be validated
RestoreRequest RestoreRequestClassification
}
// GetValidateOperationRequest implements the ValidateOperationRequestClassification interface for type ValidateIaasVMRestoreOperationRequest.
func (v *ValidateIaasVMRestoreOperationRequest) GetValidateOperationRequest() *ValidateOperationRequest {
return &ValidateOperationRequest{
ObjectType: v.ObjectType,
}
}
// GetValidateRestoreOperationRequest implements the ValidateRestoreOperationRequestClassification interface for type ValidateIaasVMRestoreOperationRequest.
func (v *ValidateIaasVMRestoreOperationRequest) GetValidateRestoreOperationRequest() *ValidateRestoreOperationRequest {
return &ValidateRestoreOperationRequest{
ObjectType: v.ObjectType,
RestoreRequest: v.RestoreRequest,
}
}
// ValidateOperationRequest - Base class for validate operation request.
type ValidateOperationRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetValidateOperationRequest implements the ValidateOperationRequestClassification interface for type ValidateOperationRequest.
func (v *ValidateOperationRequest) GetValidateOperationRequest() *ValidateOperationRequest { return v }
// ValidateOperationRequestResource - Base class for validate operation request.
type ValidateOperationRequestResource struct {
// REQUIRED; Recovery point ID.
ID *string
// REQUIRED; ValidateOperationRequestResource properties
Properties ValidateOperationRequestClassification
}
// ValidateOperationResponse - Base class for validate operation response.
type ValidateOperationResponse struct {
// Gets the validation result
ValidationResults []*ErrorDetail
}
type ValidateOperationsResponse struct {
// Base class for validate operation response.
ValidateOperationResponse *ValidateOperationResponse
}
// ValidateRestoreOperationRequest - AzureRestoreValidation request.
type ValidateRestoreOperationRequest struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
// Sets restore request to be validated
RestoreRequest RestoreRequestClassification
}
// GetValidateOperationRequest implements the ValidateOperationRequestClassification interface for type ValidateRestoreOperationRequest.
func (v *ValidateRestoreOperationRequest) GetValidateOperationRequest() *ValidateOperationRequest {
return &ValidateOperationRequest{
ObjectType: v.ObjectType,
}
}
// GetValidateRestoreOperationRequest implements the ValidateRestoreOperationRequestClassification interface for type ValidateRestoreOperationRequest.
func (v *ValidateRestoreOperationRequest) GetValidateRestoreOperationRequest() *ValidateRestoreOperationRequest {
return v
}
// VaultJob - Vault level Job
type VaultJob struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
JobType *string
// Gets or sets the state/actions applicable on this job like cancel/retry.
ActionsInfo []*JobSupportedAction
// ActivityId of job.
ActivityID *string
// Backup management type to execute the current job.
BackupManagementType *BackupManagementType
// Time elapsed during the execution of this job.
Duration *string
// The end time.
EndTime *time.Time
// Friendly name of the entity on which the current job is executing.
EntityFriendlyName *string
// Error details on execution of this job.
ErrorDetails []*VaultJobErrorInfo
// Additional information about the job.
ExtendedInfo *VaultJobExtendedInfo
// The operation name.
Operation *string
// The start time.
StartTime *time.Time
// Job status.
Status *string
}
// GetJob implements the JobClassification interface for type VaultJob.
func (v *VaultJob) GetJob() *Job {
return &Job{
ActivityID: v.ActivityID,
BackupManagementType: v.BackupManagementType,
EndTime: v.EndTime,
EntityFriendlyName: v.EntityFriendlyName,
JobType: v.JobType,
Operation: v.Operation,
StartTime: v.StartTime,
Status: v.Status,
}
}
// VaultJobErrorInfo - Vault Job specific error information
type VaultJobErrorInfo struct {
// Error code.
ErrorCode *int32
// Localized error string.
ErrorString *string
// List of localized recommendations for above error code.
Recommendations []*string
}
// VaultJobExtendedInfo - Vault Job for CMK - has CMK specific info.
type VaultJobExtendedInfo struct {
// Job properties.
PropertyBag map[string]*string
}
// VaultRetentionPolicy - Vault retention policy for AzureFileShare
type VaultRetentionPolicy struct {
// REQUIRED
SnapshotRetentionInDays *int32
// REQUIRED; Base class for retention policy.
VaultRetention RetentionPolicyClassification
}
// VaultStorageConfigOperationResultResponse - Operation result response for Vault Storage Config
type VaultStorageConfigOperationResultResponse struct {
// REQUIRED; This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
ObjectType *string
}
// GetVaultStorageConfigOperationResultResponse implements the VaultStorageConfigOperationResultResponseClassification interface
// for type VaultStorageConfigOperationResultResponse.
func (v *VaultStorageConfigOperationResultResponse) GetVaultStorageConfigOperationResultResponse() *VaultStorageConfigOperationResultResponse {
return v
}
// WeeklyRetentionFormat - Weekly retention format.
type WeeklyRetentionFormat struct {
// List of days of the week.
DaysOfTheWeek []*DayOfWeek
// List of weeks of month.
WeeksOfTheMonth []*WeekOfMonth
}
// WeeklyRetentionSchedule - Weekly retention schedule.
type WeeklyRetentionSchedule struct {
// List of days of week for weekly retention policy.
DaysOfTheWeek []*DayOfWeek
// Retention duration of retention Policy.
RetentionDuration *RetentionDuration
// Retention times of retention policy.
RetentionTimes []*time.Time
}
type WeeklySchedule struct {
ScheduleRunDays []*DayOfWeek
// List of times of day this schedule has to be run.
ScheduleRunTimes []*time.Time
}
// WorkloadInquiryDetails - Details of an inquired protectable item.
type WorkloadInquiryDetails struct {
// Inquiry validation such as permissions and other backup validations.
InquiryValidation *InquiryValidation
// Contains the protectable item Count inside this Container.
ItemCount *int64
// Type of the Workload such as SQL, Oracle etc.
Type *string
}
// WorkloadItem - Base class for backup item. Workload-specific backup items are derived from this class.
type WorkloadItem struct {
// REQUIRED; Type of the backup item.
WorkloadItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Type of workload for the backup management
WorkloadType *string
}
// GetWorkloadItem implements the WorkloadItemClassification interface for type WorkloadItem.
func (w *WorkloadItem) GetWorkloadItem() *WorkloadItem { return w }
// WorkloadItemResource - Base class for backup item. Workload-specific backup items are derived from this class.
type WorkloadItemResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// WorkloadItemResource properties
Properties WorkloadItemClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// WorkloadItemResourceList - List of WorkloadItem resources
type WorkloadItemResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*WorkloadItemResource
}
// WorkloadProtectableItem - Base class for backup item. Workload-specific backup items are derived from this class.
type WorkloadProtectableItem struct {
// REQUIRED; Type of the backup item.
ProtectableItemType *string
// Type of backup management to backup an item.
BackupManagementType *string
// Friendly name of the backup item.
FriendlyName *string
// State of the back up item.
ProtectionState *ProtectionStatus
// Type of workload for the backup management
WorkloadType *string
}
// GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type WorkloadProtectableItem.
func (w *WorkloadProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem { return w }
// WorkloadProtectableItemResource - Base class for backup item. Workload-specific backup items are derived from this class.
type WorkloadProtectableItemResource struct {
// Optional ETag.
ETag *string
// Resource location.
Location *string
// WorkloadProtectableItemResource properties
Properties WorkloadProtectableItemClassification
// Resource tags.
Tags map[string]*string
// READ-ONLY; Resource Id represents the complete path to the resource.
ID *string
// READ-ONLY; Resource name associated with the resource.
Name *string
// READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/…
Type *string
}
// WorkloadProtectableItemResourceList - List of WorkloadProtectableItem resources
type WorkloadProtectableItemResourceList struct {
// The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext()
// to fetch the next page if the total number of resources exceeds 200.
NextLink *string
// List of resources.
Value []*WorkloadProtectableItemResource
}
// YearlyRetentionSchedule - Yearly retention schedule.
type YearlyRetentionSchedule struct {
// List of months of year of yearly retention policy.
MonthsOfYear []*MonthOfYear
// Retention duration of retention Policy.
RetentionDuration *RetentionDuration
// Daily retention format for yearly retention policy.
RetentionScheduleDaily *DailyRetentionFormat
// Retention schedule format for yearly retention policy.
RetentionScheduleFormatType *RetentionScheduleFormat
// Weekly retention format for yearly retention policy.
RetentionScheduleWeekly *WeeklyRetentionFormat
// Retention times of retention policy.
RetentionTimes []*time.Time
}