armrecoveryservicesbackup

package module
v2.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2023 License: MIT Imports: 14 Imported by: 20

README

Azure Recovery Services Backup Module for Go

PkgGoDev

The armrecoveryservicesbackup module provides operations for working with Azure Recovery Services Backup.

Source code

Getting started

Prerequisites

  • an Azure subscription
  • Go 1.18 or above (You could download and install the latest version of Go from here. It will replace the existing Go on your machine. If you want to install multiple Go versions on the same machine, you could refer this doc.)

Install the package

This project uses Go modules for versioning and dependency management.

Install the Azure Recovery Services Backup module:

go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservicesbackup

Authorization

When creating a client, you will need to provide a credential for authenticating with Azure Recovery Services Backup. The azidentity module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.

cred, err := azidentity.NewDefaultAzureCredential(nil)

For more information on authentication, please see the documentation for azidentity at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity.

Client Factory

Azure Recovery Services Backup module consists of one or more clients. We provide a client factory which could be used to create any client in this module.

clientFactory, err := armrecoveryservicesbackup.NewClientFactory(<subscription ID>, cred, nil)

You can use ClientOptions in package github.com/Azure/azure-sdk-for-go/sdk/azcore/arm to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for azcore at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore.

options := arm.ClientOptions {
    ClientOptions: azcore.ClientOptions {
        Cloud: cloud.AzureChina,
    },
}
clientFactory, err := armrecoveryservicesbackup.NewClientFactory(<subscription ID>, cred, &options)

Clients

A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory.

client := clientFactory.NewClient()

Provide Feedback

If you encounter bugs or have suggestions, please open an issue and assign the Recovery Services Backup label.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcquireStorageAccountLock

type AcquireStorageAccountLock string

AcquireStorageAccountLock - Whether storage account lock is to be acquired for this container or not.

const (
	AcquireStorageAccountLockAcquire    AcquireStorageAccountLock = "Acquire"
	AcquireStorageAccountLockNotAcquire AcquireStorageAccountLock = "NotAcquire"
)

func PossibleAcquireStorageAccountLockValues

func PossibleAcquireStorageAccountLockValues() []AcquireStorageAccountLock

PossibleAcquireStorageAccountLockValues returns the possible values for the AcquireStorageAccountLock const type.

type AzureBackupGoalFeatureSupportRequest

type AzureBackupGoalFeatureSupportRequest struct {
	// REQUIRED; backup support feature type.
	FeatureType *string
}

AzureBackupGoalFeatureSupportRequest - Azure backup goal feature specific request.

func (*AzureBackupGoalFeatureSupportRequest) GetFeatureSupportRequest

func (a *AzureBackupGoalFeatureSupportRequest) GetFeatureSupportRequest() *FeatureSupportRequest

GetFeatureSupportRequest implements the FeatureSupportRequestClassification interface for type AzureBackupGoalFeatureSupportRequest.

func (AzureBackupGoalFeatureSupportRequest) MarshalJSON

func (a AzureBackupGoalFeatureSupportRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureBackupGoalFeatureSupportRequest.

func (*AzureBackupGoalFeatureSupportRequest) UnmarshalJSON

func (a *AzureBackupGoalFeatureSupportRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupGoalFeatureSupportRequest.

type AzureBackupServerContainer

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
}

AzureBackupServerContainer - AzureBackupServer (DPMVenus) workload-specific protection container.

func (*AzureBackupServerContainer) GetDpmContainer

func (a *AzureBackupServerContainer) GetDpmContainer() *DpmContainer

GetDpmContainer implements the DpmContainerClassification interface for type AzureBackupServerContainer.

func (*AzureBackupServerContainer) GetProtectionContainer

func (a *AzureBackupServerContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureBackupServerContainer.

func (AzureBackupServerContainer) MarshalJSON

func (a AzureBackupServerContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureBackupServerContainer.

func (*AzureBackupServerContainer) UnmarshalJSON

func (a *AzureBackupServerContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupServerContainer.

type AzureBackupServerEngine

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
}

AzureBackupServerEngine - Backup engine type when Azure Backup Server is used to manage the backups.

func (*AzureBackupServerEngine) GetBackupEngineBase

func (a *AzureBackupServerEngine) GetBackupEngineBase() *BackupEngineBase

GetBackupEngineBase implements the BackupEngineBaseClassification interface for type AzureBackupServerEngine.

func (AzureBackupServerEngine) MarshalJSON

func (a AzureBackupServerEngine) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureBackupServerEngine.

func (*AzureBackupServerEngine) UnmarshalJSON

func (a *AzureBackupServerEngine) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupServerEngine.

type AzureFileShareBackupRequest

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
}

AzureFileShareBackupRequest - AzureFileShare workload-specific backup request.

func (*AzureFileShareBackupRequest) GetBackupRequest

func (a *AzureFileShareBackupRequest) GetBackupRequest() *BackupRequest

GetBackupRequest implements the BackupRequestClassification interface for type AzureFileShareBackupRequest.

func (AzureFileShareBackupRequest) MarshalJSON

func (a AzureFileShareBackupRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileShareBackupRequest.

func (*AzureFileShareBackupRequest) UnmarshalJSON

func (a *AzureFileShareBackupRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileShareBackupRequest.

type AzureFileShareProtectableItem

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
}

AzureFileShareProtectableItem - Protectable item for Azure Fileshare workloads.

func (*AzureFileShareProtectableItem) GetWorkloadProtectableItem

func (a *AzureFileShareProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureFileShareProtectableItem.

func (AzureFileShareProtectableItem) MarshalJSON

func (a AzureFileShareProtectableItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileShareProtectableItem.

func (*AzureFileShareProtectableItem) UnmarshalJSON

func (a *AzureFileShareProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileShareProtectableItem.

type AzureFileShareProtectionPolicy

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

	// Type of workload for the backup management
	WorkLoadType *WorkloadType
}

AzureFileShareProtectionPolicy - AzureStorage backup policy.

func (*AzureFileShareProtectionPolicy) GetProtectionPolicy

func (a *AzureFileShareProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy

GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureFileShareProtectionPolicy.

func (AzureFileShareProtectionPolicy) MarshalJSON

func (a AzureFileShareProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileShareProtectionPolicy.

func (*AzureFileShareProtectionPolicy) UnmarshalJSON

func (a *AzureFileShareProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileShareProtectionPolicy.

type AzureFileShareProvisionILRRequest

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
}

AzureFileShareProvisionILRRequest - Update snapshot Uri with the correct friendly Name of the source Azure file share.

func (*AzureFileShareProvisionILRRequest) GetILRRequest

func (a *AzureFileShareProvisionILRRequest) GetILRRequest() *ILRRequest

GetILRRequest implements the ILRRequestClassification interface for type AzureFileShareProvisionILRRequest.

func (AzureFileShareProvisionILRRequest) MarshalJSON

func (a AzureFileShareProvisionILRRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileShareProvisionILRRequest.

func (*AzureFileShareProvisionILRRequest) UnmarshalJSON

func (a *AzureFileShareProvisionILRRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileShareProvisionILRRequest.

type AzureFileShareRecoveryPoint

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

	// 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
}

AzureFileShareRecoveryPoint - Azure File Share workload specific backup copy.

func (*AzureFileShareRecoveryPoint) GetRecoveryPoint

func (a *AzureFileShareRecoveryPoint) GetRecoveryPoint() *RecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureFileShareRecoveryPoint.

func (AzureFileShareRecoveryPoint) MarshalJSON

func (a AzureFileShareRecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileShareRecoveryPoint.

func (*AzureFileShareRecoveryPoint) UnmarshalJSON

func (a *AzureFileShareRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileShareRecoveryPoint.

type AzureFileShareRestoreRequest

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

	// 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
}

AzureFileShareRestoreRequest - AzureFileShare Restore Request

func (*AzureFileShareRestoreRequest) GetRestoreRequest

func (a *AzureFileShareRestoreRequest) GetRestoreRequest() *RestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureFileShareRestoreRequest.

func (AzureFileShareRestoreRequest) MarshalJSON

func (a AzureFileShareRestoreRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileShareRestoreRequest.

func (*AzureFileShareRestoreRequest) UnmarshalJSON

func (a *AzureFileShareRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileShareRestoreRequest.

type AzureFileShareType

type AzureFileShareType string

AzureFileShareType - File Share type XSync or XSMB.

const (
	AzureFileShareTypeInvalid AzureFileShareType = "Invalid"
	AzureFileShareTypeXSMB    AzureFileShareType = "XSMB"
	AzureFileShareTypeXSync   AzureFileShareType = "XSync"
)

func PossibleAzureFileShareTypeValues

func PossibleAzureFileShareTypeValues() []AzureFileShareType

PossibleAzureFileShareTypeValues returns the possible values for the AzureFileShareType const type.

type AzureFileshareProtectedItem

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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

AzureFileshareProtectedItem - Azure File Share workload-specific backup item.

func (*AzureFileshareProtectedItem) GetProtectedItem

func (a *AzureFileshareProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureFileshareProtectedItem.

func (AzureFileshareProtectedItem) MarshalJSON

func (a AzureFileshareProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileshareProtectedItem.

func (*AzureFileshareProtectedItem) UnmarshalJSON

func (a *AzureFileshareProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileshareProtectedItem.

type AzureFileshareProtectedItemExtendedInfo

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
}

AzureFileshareProtectedItemExtendedInfo - Additional information about Azure File Share backup item.

func (AzureFileshareProtectedItemExtendedInfo) MarshalJSON

func (a AzureFileshareProtectedItemExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileshareProtectedItemExtendedInfo.

func (*AzureFileshareProtectedItemExtendedInfo) UnmarshalJSON

func (a *AzureFileshareProtectedItemExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileshareProtectedItemExtendedInfo.

type AzureIaaSClassicComputeVMContainer

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
}

AzureIaaSClassicComputeVMContainer - IaaS VM workload-specific backup item representing a classic virtual machine.

func (*AzureIaaSClassicComputeVMContainer) GetIaaSVMContainer

func (a *AzureIaaSClassicComputeVMContainer) GetIaaSVMContainer() *IaaSVMContainer

GetIaaSVMContainer implements the IaaSVMContainerClassification interface for type AzureIaaSClassicComputeVMContainer.

func (*AzureIaaSClassicComputeVMContainer) GetProtectionContainer

func (a *AzureIaaSClassicComputeVMContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureIaaSClassicComputeVMContainer.

func (AzureIaaSClassicComputeVMContainer) MarshalJSON

func (a AzureIaaSClassicComputeVMContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSClassicComputeVMContainer.

func (*AzureIaaSClassicComputeVMContainer) UnmarshalJSON

func (a *AzureIaaSClassicComputeVMContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSClassicComputeVMContainer.

type AzureIaaSClassicComputeVMProtectableItem

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
}

AzureIaaSClassicComputeVMProtectableItem - IaaS VM workload-specific backup item representing the Classic Compute VM.

func (*AzureIaaSClassicComputeVMProtectableItem) GetIaaSVMProtectableItem

func (a *AzureIaaSClassicComputeVMProtectableItem) GetIaaSVMProtectableItem() *IaaSVMProtectableItem

GetIaaSVMProtectableItem implements the IaaSVMProtectableItemClassification interface for type AzureIaaSClassicComputeVMProtectableItem.

func (*AzureIaaSClassicComputeVMProtectableItem) GetWorkloadProtectableItem

func (a *AzureIaaSClassicComputeVMProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureIaaSClassicComputeVMProtectableItem.

func (AzureIaaSClassicComputeVMProtectableItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureIaaSClassicComputeVMProtectableItem.

func (*AzureIaaSClassicComputeVMProtectableItem) UnmarshalJSON

func (a *AzureIaaSClassicComputeVMProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSClassicComputeVMProtectableItem.

type AzureIaaSClassicComputeVMProtectedItem

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
	SoftDeleteRetentionPeriod *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; Data ID of the protected item.
	ProtectedItemDataID *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
}

AzureIaaSClassicComputeVMProtectedItem - IaaS VM workload-specific backup item representing the Classic Compute VM.

func (*AzureIaaSClassicComputeVMProtectedItem) GetAzureIaaSVMProtectedItem

func (a *AzureIaaSClassicComputeVMProtectedItem) GetAzureIaaSVMProtectedItem() *AzureIaaSVMProtectedItem

GetAzureIaaSVMProtectedItem implements the AzureIaaSVMProtectedItemClassification interface for type AzureIaaSClassicComputeVMProtectedItem.

func (*AzureIaaSClassicComputeVMProtectedItem) GetProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureIaaSClassicComputeVMProtectedItem.

func (AzureIaaSClassicComputeVMProtectedItem) MarshalJSON

func (a AzureIaaSClassicComputeVMProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSClassicComputeVMProtectedItem.

func (*AzureIaaSClassicComputeVMProtectedItem) UnmarshalJSON

func (a *AzureIaaSClassicComputeVMProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSClassicComputeVMProtectedItem.

type AzureIaaSComputeVMContainer

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
}

AzureIaaSComputeVMContainer - IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.

func (*AzureIaaSComputeVMContainer) GetIaaSVMContainer

func (a *AzureIaaSComputeVMContainer) GetIaaSVMContainer() *IaaSVMContainer

GetIaaSVMContainer implements the IaaSVMContainerClassification interface for type AzureIaaSComputeVMContainer.

func (*AzureIaaSComputeVMContainer) GetProtectionContainer

func (a *AzureIaaSComputeVMContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureIaaSComputeVMContainer.

func (AzureIaaSComputeVMContainer) MarshalJSON

func (a AzureIaaSComputeVMContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSComputeVMContainer.

func (*AzureIaaSComputeVMContainer) UnmarshalJSON

func (a *AzureIaaSComputeVMContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSComputeVMContainer.

type AzureIaaSComputeVMProtectableItem

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
}

AzureIaaSComputeVMProtectableItem - IaaS VM workload-specific backup item representing the Azure Resource Manager VM.

func (*AzureIaaSComputeVMProtectableItem) GetIaaSVMProtectableItem

func (a *AzureIaaSComputeVMProtectableItem) GetIaaSVMProtectableItem() *IaaSVMProtectableItem

GetIaaSVMProtectableItem implements the IaaSVMProtectableItemClassification interface for type AzureIaaSComputeVMProtectableItem.

func (*AzureIaaSComputeVMProtectableItem) GetWorkloadProtectableItem

func (a *AzureIaaSComputeVMProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureIaaSComputeVMProtectableItem.

func (AzureIaaSComputeVMProtectableItem) MarshalJSON

func (a AzureIaaSComputeVMProtectableItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSComputeVMProtectableItem.

func (*AzureIaaSComputeVMProtectableItem) UnmarshalJSON

func (a *AzureIaaSComputeVMProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSComputeVMProtectableItem.

type AzureIaaSComputeVMProtectedItem

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
	SoftDeleteRetentionPeriod *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; Data ID of the protected item.
	ProtectedItemDataID *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
}

AzureIaaSComputeVMProtectedItem - IaaS VM workload-specific backup item representing the Azure Resource Manager VM.

func (*AzureIaaSComputeVMProtectedItem) GetAzureIaaSVMProtectedItem

func (a *AzureIaaSComputeVMProtectedItem) GetAzureIaaSVMProtectedItem() *AzureIaaSVMProtectedItem

GetAzureIaaSVMProtectedItem implements the AzureIaaSVMProtectedItemClassification interface for type AzureIaaSComputeVMProtectedItem.

func (*AzureIaaSComputeVMProtectedItem) GetProtectedItem

func (a *AzureIaaSComputeVMProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureIaaSComputeVMProtectedItem.

func (AzureIaaSComputeVMProtectedItem) MarshalJSON

func (a AzureIaaSComputeVMProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSComputeVMProtectedItem.

func (*AzureIaaSComputeVMProtectedItem) UnmarshalJSON

func (a *AzureIaaSComputeVMProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSComputeVMProtectedItem.

type AzureIaaSVMErrorInfo

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
}

AzureIaaSVMErrorInfo - Azure IaaS VM workload-specific error information.

func (AzureIaaSVMErrorInfo) MarshalJSON

func (a AzureIaaSVMErrorInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMErrorInfo.

func (*AzureIaaSVMErrorInfo) UnmarshalJSON

func (a *AzureIaaSVMErrorInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMErrorInfo.

type AzureIaaSVMHealthDetails

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
}

AzureIaaSVMHealthDetails - Azure IaaS VM workload-specific Health Details.

func (AzureIaaSVMHealthDetails) MarshalJSON

func (a AzureIaaSVMHealthDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMHealthDetails.

func (*AzureIaaSVMHealthDetails) UnmarshalJSON

func (a *AzureIaaSVMHealthDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMHealthDetails.

type AzureIaaSVMJob

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
}

AzureIaaSVMJob - Azure IaaS VM workload-specific job object.

func (*AzureIaaSVMJob) GetJob

func (a *AzureIaaSVMJob) GetJob() *Job

GetJob implements the JobClassification interface for type AzureIaaSVMJob.

func (AzureIaaSVMJob) MarshalJSON

func (a AzureIaaSVMJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMJob.

func (*AzureIaaSVMJob) UnmarshalJSON

func (a *AzureIaaSVMJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMJob.

type AzureIaaSVMJobExtendedInfo

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
}

AzureIaaSVMJobExtendedInfo - Azure IaaS VM workload-specific additional information for job.

func (AzureIaaSVMJobExtendedInfo) MarshalJSON

func (a AzureIaaSVMJobExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMJobExtendedInfo.

func (*AzureIaaSVMJobExtendedInfo) UnmarshalJSON

func (a *AzureIaaSVMJobExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMJobExtendedInfo.

type AzureIaaSVMJobTaskDetails

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
}

AzureIaaSVMJobTaskDetails - Azure IaaS VM workload-specific job task details.

func (AzureIaaSVMJobTaskDetails) MarshalJSON

func (a AzureIaaSVMJobTaskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMJobTaskDetails.

func (*AzureIaaSVMJobTaskDetails) UnmarshalJSON

func (a *AzureIaaSVMJobTaskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMJobTaskDetails.

type AzureIaaSVMJobV2

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
}

AzureIaaSVMJobV2 - Azure IaaS VM workload-specific job object.

func (*AzureIaaSVMJobV2) GetJob

func (a *AzureIaaSVMJobV2) GetJob() *Job

GetJob implements the JobClassification interface for type AzureIaaSVMJobV2.

func (AzureIaaSVMJobV2) MarshalJSON

func (a AzureIaaSVMJobV2) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMJobV2.

func (*AzureIaaSVMJobV2) UnmarshalJSON

func (a *AzureIaaSVMJobV2) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMJobV2.

type AzureIaaSVMProtectedItem

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
	SoftDeleteRetentionPeriod *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; Data ID of the protected item.
	ProtectedItemDataID *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
}

AzureIaaSVMProtectedItem - IaaS VM workload-specific backup item.

func (*AzureIaaSVMProtectedItem) GetAzureIaaSVMProtectedItem

func (a *AzureIaaSVMProtectedItem) GetAzureIaaSVMProtectedItem() *AzureIaaSVMProtectedItem

GetAzureIaaSVMProtectedItem implements the AzureIaaSVMProtectedItemClassification interface for type AzureIaaSVMProtectedItem.

func (*AzureIaaSVMProtectedItem) GetProtectedItem

func (a *AzureIaaSVMProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureIaaSVMProtectedItem.

func (AzureIaaSVMProtectedItem) MarshalJSON

func (a AzureIaaSVMProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMProtectedItem.

func (*AzureIaaSVMProtectedItem) UnmarshalJSON

func (a *AzureIaaSVMProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMProtectedItem.

type AzureIaaSVMProtectedItemClassification

type AzureIaaSVMProtectedItemClassification interface {
	ProtectedItemClassification
	// GetAzureIaaSVMProtectedItem returns the AzureIaaSVMProtectedItem content of the underlying type.
	GetAzureIaaSVMProtectedItem() *AzureIaaSVMProtectedItem
}

AzureIaaSVMProtectedItemClassification provides polymorphic access to related types. Call the interface's GetAzureIaaSVMProtectedItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureIaaSClassicComputeVMProtectedItem, *AzureIaaSComputeVMProtectedItem, *AzureIaaSVMProtectedItem

type AzureIaaSVMProtectedItemExtendedInfo

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
}

AzureIaaSVMProtectedItemExtendedInfo - Additional information on Azure IaaS VM specific backup item.

func (AzureIaaSVMProtectedItemExtendedInfo) MarshalJSON

func (a AzureIaaSVMProtectedItemExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMProtectedItemExtendedInfo.

func (*AzureIaaSVMProtectedItemExtendedInfo) UnmarshalJSON

func (a *AzureIaaSVMProtectedItemExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMProtectedItemExtendedInfo.

type AzureIaaSVMProtectionPolicy

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

	// 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
}

AzureIaaSVMProtectionPolicy - IaaS VM workload-specific backup policy.

func (*AzureIaaSVMProtectionPolicy) GetProtectionPolicy

func (a *AzureIaaSVMProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy

GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureIaaSVMProtectionPolicy.

func (AzureIaaSVMProtectionPolicy) MarshalJSON

func (a AzureIaaSVMProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureIaaSVMProtectionPolicy.

func (*AzureIaaSVMProtectionPolicy) UnmarshalJSON

func (a *AzureIaaSVMProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureIaaSVMProtectionPolicy.

type AzureRecoveryServiceVaultProtectionIntent

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
}

AzureRecoveryServiceVaultProtectionIntent - Azure Recovery Services Vault specific protection intent item.

func (*AzureRecoveryServiceVaultProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent

func (a *AzureRecoveryServiceVaultProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent() *AzureRecoveryServiceVaultProtectionIntent

GetAzureRecoveryServiceVaultProtectionIntent implements the AzureRecoveryServiceVaultProtectionIntentClassification interface for type AzureRecoveryServiceVaultProtectionIntent.

func (*AzureRecoveryServiceVaultProtectionIntent) GetProtectionIntent

GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureRecoveryServiceVaultProtectionIntent.

func (AzureRecoveryServiceVaultProtectionIntent) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureRecoveryServiceVaultProtectionIntent.

func (*AzureRecoveryServiceVaultProtectionIntent) UnmarshalJSON

func (a *AzureRecoveryServiceVaultProtectionIntent) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureRecoveryServiceVaultProtectionIntent.

type AzureRecoveryServiceVaultProtectionIntentClassification

type AzureRecoveryServiceVaultProtectionIntentClassification interface {
	ProtectionIntentClassification
	// GetAzureRecoveryServiceVaultProtectionIntent returns the AzureRecoveryServiceVaultProtectionIntent content of the underlying type.
	GetAzureRecoveryServiceVaultProtectionIntent() *AzureRecoveryServiceVaultProtectionIntent
}

AzureRecoveryServiceVaultProtectionIntentClassification provides polymorphic access to related types. Call the interface's GetAzureRecoveryServiceVaultProtectionIntent() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureRecoveryServiceVaultProtectionIntent, *AzureWorkloadAutoProtectionIntent, *AzureWorkloadSQLAutoProtectionIntent

type AzureResourceProtectionIntent

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
}

AzureResourceProtectionIntent - IaaS VM specific backup protection intent item.

func (*AzureResourceProtectionIntent) GetProtectionIntent

func (a *AzureResourceProtectionIntent) GetProtectionIntent() *ProtectionIntent

GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureResourceProtectionIntent.

func (AzureResourceProtectionIntent) MarshalJSON

func (a AzureResourceProtectionIntent) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureResourceProtectionIntent.

func (*AzureResourceProtectionIntent) UnmarshalJSON

func (a *AzureResourceProtectionIntent) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceProtectionIntent.

type AzureSQLAGWorkloadContainerProtectionContainer

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
}

AzureSQLAGWorkloadContainerProtectionContainer - Container for SQL workloads under SQL Availability Group.

func (*AzureSQLAGWorkloadContainerProtectionContainer) GetAzureWorkloadContainer

GetAzureWorkloadContainer implements the AzureWorkloadContainerClassification interface for type AzureSQLAGWorkloadContainerProtectionContainer.

func (*AzureSQLAGWorkloadContainerProtectionContainer) GetProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureSQLAGWorkloadContainerProtectionContainer.

func (AzureSQLAGWorkloadContainerProtectionContainer) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureSQLAGWorkloadContainerProtectionContainer.

func (*AzureSQLAGWorkloadContainerProtectionContainer) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type AzureSQLAGWorkloadContainerProtectionContainer.

type AzureSQLContainer

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
}

AzureSQLContainer - Azure Sql workload-specific container.

func (*AzureSQLContainer) GetProtectionContainer

func (a *AzureSQLContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureSQLContainer.

func (AzureSQLContainer) MarshalJSON

func (a AzureSQLContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureSQLContainer.

func (*AzureSQLContainer) UnmarshalJSON

func (a *AzureSQLContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureSQLContainer.

type AzureSQLProtectedItem

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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

AzureSQLProtectedItem - Azure SQL workload-specific backup item.

func (*AzureSQLProtectedItem) GetProtectedItem

func (a *AzureSQLProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureSQLProtectedItem.

func (AzureSQLProtectedItem) MarshalJSON

func (a AzureSQLProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureSQLProtectedItem.

func (*AzureSQLProtectedItem) UnmarshalJSON

func (a *AzureSQLProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureSQLProtectedItem.

type AzureSQLProtectedItemExtendedInfo

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
}

AzureSQLProtectedItemExtendedInfo - Additional information on Azure Sql specific protected item.

func (AzureSQLProtectedItemExtendedInfo) MarshalJSON

func (a AzureSQLProtectedItemExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureSQLProtectedItemExtendedInfo.

func (*AzureSQLProtectedItemExtendedInfo) UnmarshalJSON

func (a *AzureSQLProtectedItemExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureSQLProtectedItemExtendedInfo.

type AzureSQLProtectionPolicy

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
}

AzureSQLProtectionPolicy - Azure SQL workload-specific backup policy.

func (*AzureSQLProtectionPolicy) GetProtectionPolicy

func (a *AzureSQLProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy

GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureSQLProtectionPolicy.

func (AzureSQLProtectionPolicy) MarshalJSON

func (a AzureSQLProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureSQLProtectionPolicy.

func (*AzureSQLProtectionPolicy) UnmarshalJSON

func (a *AzureSQLProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureSQLProtectionPolicy.

type AzureStorageContainer

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

	// 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
}

AzureStorageContainer - Azure Storage Account workload-specific container.

func (*AzureStorageContainer) GetProtectionContainer

func (a *AzureStorageContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureStorageContainer.

func (AzureStorageContainer) MarshalJSON

func (a AzureStorageContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureStorageContainer.

func (*AzureStorageContainer) UnmarshalJSON

func (a *AzureStorageContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureStorageContainer.

type AzureStorageErrorInfo

type AzureStorageErrorInfo struct {
	// Error code.
	ErrorCode *int32

	// Localized error string.
	ErrorString *string

	// List of localized recommendations for above error code.
	Recommendations []*string
}

AzureStorageErrorInfo - Azure storage specific error information

func (AzureStorageErrorInfo) MarshalJSON

func (a AzureStorageErrorInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureStorageErrorInfo.

func (*AzureStorageErrorInfo) UnmarshalJSON

func (a *AzureStorageErrorInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureStorageErrorInfo.

type AzureStorageJob

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
}

AzureStorageJob - Azure storage specific job.

func (*AzureStorageJob) GetJob

func (a *AzureStorageJob) GetJob() *Job

GetJob implements the JobClassification interface for type AzureStorageJob.

func (AzureStorageJob) MarshalJSON

func (a AzureStorageJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureStorageJob.

func (*AzureStorageJob) UnmarshalJSON

func (a *AzureStorageJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureStorageJob.

type AzureStorageJobExtendedInfo

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
}

AzureStorageJobExtendedInfo - Azure Storage workload-specific additional information for job.

func (AzureStorageJobExtendedInfo) MarshalJSON

func (a AzureStorageJobExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureStorageJobExtendedInfo.

func (*AzureStorageJobExtendedInfo) UnmarshalJSON

func (a *AzureStorageJobExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureStorageJobExtendedInfo.

type AzureStorageJobTaskDetails

type AzureStorageJobTaskDetails struct {
	// The status.
	Status *string

	// The task display name.
	TaskID *string
}

AzureStorageJobTaskDetails - Azure storage workload specific job task details.

func (AzureStorageJobTaskDetails) MarshalJSON

func (a AzureStorageJobTaskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureStorageJobTaskDetails.

func (*AzureStorageJobTaskDetails) UnmarshalJSON

func (a *AzureStorageJobTaskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureStorageJobTaskDetails.

type AzureStorageProtectableContainer

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
}

AzureStorageProtectableContainer - Azure Storage-specific protectable containers

func (*AzureStorageProtectableContainer) GetProtectableContainer

func (a *AzureStorageProtectableContainer) GetProtectableContainer() *ProtectableContainer

GetProtectableContainer implements the ProtectableContainerClassification interface for type AzureStorageProtectableContainer.

func (AzureStorageProtectableContainer) MarshalJSON

func (a AzureStorageProtectableContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureStorageProtectableContainer.

func (*AzureStorageProtectableContainer) UnmarshalJSON

func (a *AzureStorageProtectableContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureStorageProtectableContainer.

type AzureVMAppContainerProtectableContainer

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
}

AzureVMAppContainerProtectableContainer - Azure workload-specific container

func (*AzureVMAppContainerProtectableContainer) GetProtectableContainer

func (a *AzureVMAppContainerProtectableContainer) GetProtectableContainer() *ProtectableContainer

GetProtectableContainer implements the ProtectableContainerClassification interface for type AzureVMAppContainerProtectableContainer.

func (AzureVMAppContainerProtectableContainer) MarshalJSON

func (a AzureVMAppContainerProtectableContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMAppContainerProtectableContainer.

func (*AzureVMAppContainerProtectableContainer) UnmarshalJSON

func (a *AzureVMAppContainerProtectableContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMAppContainerProtectableContainer.

type AzureVMAppContainerProtectionContainer

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
}

AzureVMAppContainerProtectionContainer - Container for SQL workloads under Azure Virtual Machines.

func (*AzureVMAppContainerProtectionContainer) GetAzureWorkloadContainer

func (a *AzureVMAppContainerProtectionContainer) GetAzureWorkloadContainer() *AzureWorkloadContainer

GetAzureWorkloadContainer implements the AzureWorkloadContainerClassification interface for type AzureVMAppContainerProtectionContainer.

func (*AzureVMAppContainerProtectionContainer) GetProtectionContainer

func (a *AzureVMAppContainerProtectionContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureVMAppContainerProtectionContainer.

func (AzureVMAppContainerProtectionContainer) MarshalJSON

func (a AzureVMAppContainerProtectionContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMAppContainerProtectionContainer.

func (*AzureVMAppContainerProtectionContainer) UnmarshalJSON

func (a *AzureVMAppContainerProtectionContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMAppContainerProtectionContainer.

type AzureVMResourceFeatureSupportRequest

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
}

AzureVMResourceFeatureSupportRequest - AzureResource(IaaS VM) Specific feature support request

func (*AzureVMResourceFeatureSupportRequest) GetFeatureSupportRequest

func (a *AzureVMResourceFeatureSupportRequest) GetFeatureSupportRequest() *FeatureSupportRequest

GetFeatureSupportRequest implements the FeatureSupportRequestClassification interface for type AzureVMResourceFeatureSupportRequest.

func (AzureVMResourceFeatureSupportRequest) MarshalJSON

func (a AzureVMResourceFeatureSupportRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMResourceFeatureSupportRequest.

func (*AzureVMResourceFeatureSupportRequest) UnmarshalJSON

func (a *AzureVMResourceFeatureSupportRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMResourceFeatureSupportRequest.

type AzureVMResourceFeatureSupportResponse

type AzureVMResourceFeatureSupportResponse struct {
	// Support status of feature
	SupportStatus *SupportStatus
}

AzureVMResourceFeatureSupportResponse - Response for feature support requests for Azure IaasVm

func (AzureVMResourceFeatureSupportResponse) MarshalJSON

func (a AzureVMResourceFeatureSupportResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMResourceFeatureSupportResponse.

func (*AzureVMResourceFeatureSupportResponse) UnmarshalJSON

func (a *AzureVMResourceFeatureSupportResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMResourceFeatureSupportResponse.

type AzureVMWorkloadItem

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
}

AzureVMWorkloadItem - Azure VM workload-specific workload item.

func (*AzureVMWorkloadItem) GetAzureVMWorkloadItem

func (a *AzureVMWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem

GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadItem.

func (*AzureVMWorkloadItem) GetWorkloadItem

func (a *AzureVMWorkloadItem) GetWorkloadItem() *WorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadItem.

func (AzureVMWorkloadItem) MarshalJSON

func (a AzureVMWorkloadItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadItem.

func (*AzureVMWorkloadItem) UnmarshalJSON

func (a *AzureVMWorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadItem.

type AzureVMWorkloadItemClassification

type AzureVMWorkloadItemClassification interface {
	WorkloadItemClassification
	// GetAzureVMWorkloadItem returns the AzureVMWorkloadItem content of the underlying type.
	GetAzureVMWorkloadItem() *AzureVMWorkloadItem
}

AzureVMWorkloadItemClassification provides polymorphic access to related types. Call the interface's GetAzureVMWorkloadItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureVMWorkloadItem, *AzureVMWorkloadSAPAseDatabaseWorkloadItem, *AzureVMWorkloadSAPAseSystemWorkloadItem, *AzureVMWorkloadSAPHanaDatabaseWorkloadItem, - *AzureVMWorkloadSAPHanaSystemWorkloadItem, *AzureVMWorkloadSQLDatabaseWorkloadItem, *AzureVMWorkloadSQLInstanceWorkloadItem

type AzureVMWorkloadProtectableItem

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

	// 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
}

AzureVMWorkloadProtectableItem - Azure VM workload-specific protectable item.

func (*AzureVMWorkloadProtectableItem) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadProtectableItem.

func (*AzureVMWorkloadProtectableItem) GetWorkloadProtectableItem

func (a *AzureVMWorkloadProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadProtectableItem.

func (AzureVMWorkloadProtectableItem) MarshalJSON

func (a AzureVMWorkloadProtectableItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadProtectableItem.

func (*AzureVMWorkloadProtectableItem) UnmarshalJSON

func (a *AzureVMWorkloadProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadProtectableItem.

type AzureVMWorkloadProtectableItemClassification

type AzureVMWorkloadProtectableItemClassification interface {
	WorkloadProtectableItemClassification
	// GetAzureVMWorkloadProtectableItem returns the AzureVMWorkloadProtectableItem content of the underlying type.
	GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem
}

AzureVMWorkloadProtectableItemClassification provides polymorphic access to related types. Call the interface's GetAzureVMWorkloadProtectableItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureVMWorkloadProtectableItem, *AzureVMWorkloadSAPAseSystemProtectableItem, *AzureVMWorkloadSAPHanaDBInstance, *AzureVMWorkloadSAPHanaDatabaseProtectableItem, - *AzureVMWorkloadSAPHanaHSR, *AzureVMWorkloadSAPHanaSystemProtectableItem, *AzureVMWorkloadSQLAvailabilityGroupProtectableItem, - *AzureVMWorkloadSQLDatabaseProtectableItem, *AzureVMWorkloadSQLInstanceProtectableItem

type AzureVMWorkloadProtectedItem

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

	// 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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

AzureVMWorkloadProtectedItem - Azure VM workload-specific protected item.

func (*AzureVMWorkloadProtectedItem) GetAzureVMWorkloadProtectedItem

func (a *AzureVMWorkloadProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem

GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadProtectedItem.

func (*AzureVMWorkloadProtectedItem) GetProtectedItem

func (a *AzureVMWorkloadProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadProtectedItem.

func (AzureVMWorkloadProtectedItem) MarshalJSON

func (a AzureVMWorkloadProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadProtectedItem.

func (*AzureVMWorkloadProtectedItem) UnmarshalJSON

func (a *AzureVMWorkloadProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadProtectedItem.

type AzureVMWorkloadProtectedItemClassification

type AzureVMWorkloadProtectedItemClassification interface {
	ProtectedItemClassification
	// GetAzureVMWorkloadProtectedItem returns the AzureVMWorkloadProtectedItem content of the underlying type.
	GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem
}

AzureVMWorkloadProtectedItemClassification provides polymorphic access to related types. Call the interface's GetAzureVMWorkloadProtectedItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureVMWorkloadProtectedItem, *AzureVMWorkloadSAPAseDatabaseProtectedItem, *AzureVMWorkloadSAPHanaDBInstanceProtectedItem, - *AzureVMWorkloadSAPHanaDatabaseProtectedItem, *AzureVMWorkloadSQLDatabaseProtectedItem

type AzureVMWorkloadProtectedItemExtendedInfo

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
}

AzureVMWorkloadProtectedItemExtendedInfo - Additional information on Azure Workload for SQL specific backup item.

func (AzureVMWorkloadProtectedItemExtendedInfo) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadProtectedItemExtendedInfo.

func (*AzureVMWorkloadProtectedItemExtendedInfo) UnmarshalJSON

func (a *AzureVMWorkloadProtectedItemExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadProtectedItemExtendedInfo.

type AzureVMWorkloadProtectionPolicy

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
}

AzureVMWorkloadProtectionPolicy - Azure VM (Mercury) workload-specific backup policy.

func (*AzureVMWorkloadProtectionPolicy) GetProtectionPolicy

func (a *AzureVMWorkloadProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy

GetProtectionPolicy implements the ProtectionPolicyClassification interface for type AzureVMWorkloadProtectionPolicy.

func (AzureVMWorkloadProtectionPolicy) MarshalJSON

func (a AzureVMWorkloadProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadProtectionPolicy.

func (*AzureVMWorkloadProtectionPolicy) UnmarshalJSON

func (a *AzureVMWorkloadProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadProtectionPolicy.

type AzureVMWorkloadSAPAseDatabaseProtectedItem

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

	// 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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

AzureVMWorkloadSAPAseDatabaseProtectedItem - Azure VM workload-specific protected item representing SAP ASE Database.

func (*AzureVMWorkloadSAPAseDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem

func (a *AzureVMWorkloadSAPAseDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem

GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSAPAseDatabaseProtectedItem.

func (*AzureVMWorkloadSAPAseDatabaseProtectedItem) GetProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSAPAseDatabaseProtectedItem.

func (AzureVMWorkloadSAPAseDatabaseProtectedItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPAseDatabaseProtectedItem.

func (*AzureVMWorkloadSAPAseDatabaseProtectedItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPAseDatabaseProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPAseDatabaseProtectedItem.

type AzureVMWorkloadSAPAseDatabaseWorkloadItem

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
}

AzureVMWorkloadSAPAseDatabaseWorkloadItem - Azure VM workload-specific workload item representing SAP ASE Database.

func (*AzureVMWorkloadSAPAseDatabaseWorkloadItem) GetAzureVMWorkloadItem

GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPAseDatabaseWorkloadItem.

func (*AzureVMWorkloadSAPAseDatabaseWorkloadItem) GetWorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPAseDatabaseWorkloadItem.

func (AzureVMWorkloadSAPAseDatabaseWorkloadItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPAseDatabaseWorkloadItem.

func (*AzureVMWorkloadSAPAseDatabaseWorkloadItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPAseDatabaseWorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPAseDatabaseWorkloadItem.

type AzureVMWorkloadSAPAseSystemProtectableItem

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

	// 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
}

AzureVMWorkloadSAPAseSystemProtectableItem - Azure VM workload-specific protectable item representing SAP ASE System.

func (*AzureVMWorkloadSAPAseSystemProtectableItem) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadSAPAseSystemProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPAseSystemProtectableItem.

func (*AzureVMWorkloadSAPAseSystemProtectableItem) GetWorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPAseSystemProtectableItem.

func (AzureVMWorkloadSAPAseSystemProtectableItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPAseSystemProtectableItem.

func (*AzureVMWorkloadSAPAseSystemProtectableItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPAseSystemProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPAseSystemProtectableItem.

type AzureVMWorkloadSAPAseSystemWorkloadItem

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
}

AzureVMWorkloadSAPAseSystemWorkloadItem - Azure VM workload-specific workload item representing SAP ASE System.

func (*AzureVMWorkloadSAPAseSystemWorkloadItem) GetAzureVMWorkloadItem

func (a *AzureVMWorkloadSAPAseSystemWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem

GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPAseSystemWorkloadItem.

func (*AzureVMWorkloadSAPAseSystemWorkloadItem) GetWorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPAseSystemWorkloadItem.

func (AzureVMWorkloadSAPAseSystemWorkloadItem) MarshalJSON

func (a AzureVMWorkloadSAPAseSystemWorkloadItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPAseSystemWorkloadItem.

func (*AzureVMWorkloadSAPAseSystemWorkloadItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPAseSystemWorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPAseSystemWorkloadItem.

type AzureVMWorkloadSAPHanaDBInstance

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

	// 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
}

AzureVMWorkloadSAPHanaDBInstance - Azure VM workload-specific protectable item representing SAP HANA Dbinstance.

func (*AzureVMWorkloadSAPHanaDBInstance) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadSAPHanaDBInstance) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDBInstance.

func (*AzureVMWorkloadSAPHanaDBInstance) GetWorkloadProtectableItem

func (a *AzureVMWorkloadSAPHanaDBInstance) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDBInstance.

func (AzureVMWorkloadSAPHanaDBInstance) MarshalJSON

func (a AzureVMWorkloadSAPHanaDBInstance) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaDBInstance.

func (*AzureVMWorkloadSAPHanaDBInstance) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaDBInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaDBInstance.

type AzureVMWorkloadSAPHanaDBInstanceProtectedItem

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

	// 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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

AzureVMWorkloadSAPHanaDBInstanceProtectedItem - Azure VM workload-specific protected item representing SAP HANA DBInstance.

func (*AzureVMWorkloadSAPHanaDBInstanceProtectedItem) GetAzureVMWorkloadProtectedItem

GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDBInstanceProtectedItem.

func (*AzureVMWorkloadSAPHanaDBInstanceProtectedItem) GetProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDBInstanceProtectedItem.

func (AzureVMWorkloadSAPHanaDBInstanceProtectedItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaDBInstanceProtectedItem.

func (*AzureVMWorkloadSAPHanaDBInstanceProtectedItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaDBInstanceProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaDBInstanceProtectedItem.

type AzureVMWorkloadSAPHanaDatabaseProtectableItem

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

	// 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
}

AzureVMWorkloadSAPHanaDatabaseProtectableItem - Azure VM workload-specific protectable item representing SAP HANA Database.

func (*AzureVMWorkloadSAPHanaDatabaseProtectableItem) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadSAPHanaDatabaseProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectableItem.

func (*AzureVMWorkloadSAPHanaDatabaseProtectableItem) GetWorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectableItem.

func (AzureVMWorkloadSAPHanaDatabaseProtectableItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaDatabaseProtectableItem.

func (*AzureVMWorkloadSAPHanaDatabaseProtectableItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaDatabaseProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaDatabaseProtectableItem.

type AzureVMWorkloadSAPHanaDatabaseProtectedItem

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

	// 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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

AzureVMWorkloadSAPHanaDatabaseProtectedItem - Azure VM workload-specific protected item representing SAP HANA Database.

func (*AzureVMWorkloadSAPHanaDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem

func (a *AzureVMWorkloadSAPHanaDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem

GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectedItem.

func (*AzureVMWorkloadSAPHanaDatabaseProtectedItem) GetProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseProtectedItem.

func (AzureVMWorkloadSAPHanaDatabaseProtectedItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaDatabaseProtectedItem.

func (*AzureVMWorkloadSAPHanaDatabaseProtectedItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaDatabaseProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaDatabaseProtectedItem.

type AzureVMWorkloadSAPHanaDatabaseWorkloadItem

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
}

AzureVMWorkloadSAPHanaDatabaseWorkloadItem - Azure VM workload-specific workload item representing SAP HANA Database.

func (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem) GetAzureVMWorkloadItem

GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseWorkloadItem.

func (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem) GetWorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPHanaDatabaseWorkloadItem.

func (AzureVMWorkloadSAPHanaDatabaseWorkloadItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaDatabaseWorkloadItem.

func (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaDatabaseWorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaDatabaseWorkloadItem.

type AzureVMWorkloadSAPHanaHSR

type AzureVMWorkloadSAPHanaHSR 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

	// 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
}

AzureVMWorkloadSAPHanaHSR - Azure VM workload-specific protectable item representing SAP HANA Dbinstance.

func (*AzureVMWorkloadSAPHanaHSR) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadSAPHanaHSR) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaHSR.

func (*AzureVMWorkloadSAPHanaHSR) GetWorkloadProtectableItem

func (a *AzureVMWorkloadSAPHanaHSR) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaHSR.

func (AzureVMWorkloadSAPHanaHSR) MarshalJSON

func (a AzureVMWorkloadSAPHanaHSR) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaHSR.

func (*AzureVMWorkloadSAPHanaHSR) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaHSR) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaHSR.

type AzureVMWorkloadSAPHanaSystemProtectableItem

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

	// 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
}

AzureVMWorkloadSAPHanaSystemProtectableItem - Azure VM workload-specific protectable item representing SAP HANA System.

func (*AzureVMWorkloadSAPHanaSystemProtectableItem) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadSAPHanaSystemProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaSystemProtectableItem.

func (*AzureVMWorkloadSAPHanaSystemProtectableItem) GetWorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSAPHanaSystemProtectableItem.

func (AzureVMWorkloadSAPHanaSystemProtectableItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaSystemProtectableItem.

func (*AzureVMWorkloadSAPHanaSystemProtectableItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaSystemProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaSystemProtectableItem.

type AzureVMWorkloadSAPHanaSystemWorkloadItem

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
}

AzureVMWorkloadSAPHanaSystemWorkloadItem - Azure VM workload-specific workload item representing SAP HANA System.

func (*AzureVMWorkloadSAPHanaSystemWorkloadItem) GetAzureVMWorkloadItem

GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSAPHanaSystemWorkloadItem.

func (*AzureVMWorkloadSAPHanaSystemWorkloadItem) GetWorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSAPHanaSystemWorkloadItem.

func (AzureVMWorkloadSAPHanaSystemWorkloadItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSAPHanaSystemWorkloadItem.

func (*AzureVMWorkloadSAPHanaSystemWorkloadItem) UnmarshalJSON

func (a *AzureVMWorkloadSAPHanaSystemWorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSAPHanaSystemWorkloadItem.

type AzureVMWorkloadSQLAvailabilityGroupProtectableItem

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

	// 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
}

AzureVMWorkloadSQLAvailabilityGroupProtectableItem - Azure VM workload-specific protectable item representing SQL Availability Group.

func (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem) GetAzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLAvailabilityGroupProtectableItem.

func (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem) GetWorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLAvailabilityGroupProtectableItem.

func (AzureVMWorkloadSQLAvailabilityGroupProtectableItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSQLAvailabilityGroupProtectableItem.

func (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSQLAvailabilityGroupProtectableItem.

type AzureVMWorkloadSQLDatabaseProtectableItem

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

	// 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
}

AzureVMWorkloadSQLDatabaseProtectableItem - Azure VM workload-specific protectable item representing SQL Database.

func (*AzureVMWorkloadSQLDatabaseProtectableItem) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadSQLDatabaseProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectableItem.

func (*AzureVMWorkloadSQLDatabaseProtectableItem) GetWorkloadProtectableItem

func (a *AzureVMWorkloadSQLDatabaseProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectableItem.

func (AzureVMWorkloadSQLDatabaseProtectableItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSQLDatabaseProtectableItem.

func (*AzureVMWorkloadSQLDatabaseProtectableItem) UnmarshalJSON

func (a *AzureVMWorkloadSQLDatabaseProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSQLDatabaseProtectableItem.

type AzureVMWorkloadSQLDatabaseProtectedItem

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

	// 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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

AzureVMWorkloadSQLDatabaseProtectedItem - Azure VM workload-specific protected item representing SQL Database.

func (*AzureVMWorkloadSQLDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem

func (a *AzureVMWorkloadSQLDatabaseProtectedItem) GetAzureVMWorkloadProtectedItem() *AzureVMWorkloadProtectedItem

GetAzureVMWorkloadProtectedItem implements the AzureVMWorkloadProtectedItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectedItem.

func (*AzureVMWorkloadSQLDatabaseProtectedItem) GetProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type AzureVMWorkloadSQLDatabaseProtectedItem.

func (AzureVMWorkloadSQLDatabaseProtectedItem) MarshalJSON

func (a AzureVMWorkloadSQLDatabaseProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSQLDatabaseProtectedItem.

func (*AzureVMWorkloadSQLDatabaseProtectedItem) UnmarshalJSON

func (a *AzureVMWorkloadSQLDatabaseProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSQLDatabaseProtectedItem.

type AzureVMWorkloadSQLDatabaseWorkloadItem

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
}

AzureVMWorkloadSQLDatabaseWorkloadItem - Azure VM workload-specific workload item representing SQL Database.

func (*AzureVMWorkloadSQLDatabaseWorkloadItem) GetAzureVMWorkloadItem

func (a *AzureVMWorkloadSQLDatabaseWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem

GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSQLDatabaseWorkloadItem.

func (*AzureVMWorkloadSQLDatabaseWorkloadItem) GetWorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSQLDatabaseWorkloadItem.

func (AzureVMWorkloadSQLDatabaseWorkloadItem) MarshalJSON

func (a AzureVMWorkloadSQLDatabaseWorkloadItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSQLDatabaseWorkloadItem.

func (*AzureVMWorkloadSQLDatabaseWorkloadItem) UnmarshalJSON

func (a *AzureVMWorkloadSQLDatabaseWorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSQLDatabaseWorkloadItem.

type AzureVMWorkloadSQLInstanceProtectableItem

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

	// 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
}

AzureVMWorkloadSQLInstanceProtectableItem - Azure VM workload-specific protectable item representing SQL Instance.

func (*AzureVMWorkloadSQLInstanceProtectableItem) GetAzureVMWorkloadProtectableItem

func (a *AzureVMWorkloadSQLInstanceProtectableItem) GetAzureVMWorkloadProtectableItem() *AzureVMWorkloadProtectableItem

GetAzureVMWorkloadProtectableItem implements the AzureVMWorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLInstanceProtectableItem.

func (*AzureVMWorkloadSQLInstanceProtectableItem) GetWorkloadProtectableItem

func (a *AzureVMWorkloadSQLInstanceProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type AzureVMWorkloadSQLInstanceProtectableItem.

func (AzureVMWorkloadSQLInstanceProtectableItem) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSQLInstanceProtectableItem.

func (*AzureVMWorkloadSQLInstanceProtectableItem) UnmarshalJSON

func (a *AzureVMWorkloadSQLInstanceProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSQLInstanceProtectableItem.

type AzureVMWorkloadSQLInstanceWorkloadItem

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
}

AzureVMWorkloadSQLInstanceWorkloadItem - Azure VM workload-specific workload item representing SQL Instance.

func (*AzureVMWorkloadSQLInstanceWorkloadItem) GetAzureVMWorkloadItem

func (a *AzureVMWorkloadSQLInstanceWorkloadItem) GetAzureVMWorkloadItem() *AzureVMWorkloadItem

GetAzureVMWorkloadItem implements the AzureVMWorkloadItemClassification interface for type AzureVMWorkloadSQLInstanceWorkloadItem.

func (*AzureVMWorkloadSQLInstanceWorkloadItem) GetWorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type AzureVMWorkloadSQLInstanceWorkloadItem.

func (AzureVMWorkloadSQLInstanceWorkloadItem) MarshalJSON

func (a AzureVMWorkloadSQLInstanceWorkloadItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureVMWorkloadSQLInstanceWorkloadItem.

func (*AzureVMWorkloadSQLInstanceWorkloadItem) UnmarshalJSON

func (a *AzureVMWorkloadSQLInstanceWorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureVMWorkloadSQLInstanceWorkloadItem.

type AzureWorkloadAutoProtectionIntent

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
}

AzureWorkloadAutoProtectionIntent - Azure Recovery Services Vault specific protection intent item.

func (*AzureWorkloadAutoProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent

func (a *AzureWorkloadAutoProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent() *AzureRecoveryServiceVaultProtectionIntent

GetAzureRecoveryServiceVaultProtectionIntent implements the AzureRecoveryServiceVaultProtectionIntentClassification interface for type AzureWorkloadAutoProtectionIntent.

func (*AzureWorkloadAutoProtectionIntent) GetAzureWorkloadAutoProtectionIntent

func (a *AzureWorkloadAutoProtectionIntent) GetAzureWorkloadAutoProtectionIntent() *AzureWorkloadAutoProtectionIntent

GetAzureWorkloadAutoProtectionIntent implements the AzureWorkloadAutoProtectionIntentClassification interface for type AzureWorkloadAutoProtectionIntent.

func (*AzureWorkloadAutoProtectionIntent) GetProtectionIntent

func (a *AzureWorkloadAutoProtectionIntent) GetProtectionIntent() *ProtectionIntent

GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureWorkloadAutoProtectionIntent.

func (AzureWorkloadAutoProtectionIntent) MarshalJSON

func (a AzureWorkloadAutoProtectionIntent) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadAutoProtectionIntent.

func (*AzureWorkloadAutoProtectionIntent) UnmarshalJSON

func (a *AzureWorkloadAutoProtectionIntent) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadAutoProtectionIntent.

type AzureWorkloadAutoProtectionIntentClassification

type AzureWorkloadAutoProtectionIntentClassification interface {
	AzureRecoveryServiceVaultProtectionIntentClassification
	// GetAzureWorkloadAutoProtectionIntent returns the AzureWorkloadAutoProtectionIntent content of the underlying type.
	GetAzureWorkloadAutoProtectionIntent() *AzureWorkloadAutoProtectionIntent
}

AzureWorkloadAutoProtectionIntentClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadAutoProtectionIntent() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadAutoProtectionIntent, *AzureWorkloadSQLAutoProtectionIntent

type AzureWorkloadBackupRequest

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
}

AzureWorkloadBackupRequest - AzureWorkload workload-specific backup request.

func (*AzureWorkloadBackupRequest) GetBackupRequest

func (a *AzureWorkloadBackupRequest) GetBackupRequest() *BackupRequest

GetBackupRequest implements the BackupRequestClassification interface for type AzureWorkloadBackupRequest.

func (AzureWorkloadBackupRequest) MarshalJSON

func (a AzureWorkloadBackupRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadBackupRequest.

func (*AzureWorkloadBackupRequest) UnmarshalJSON

func (a *AzureWorkloadBackupRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadBackupRequest.

type AzureWorkloadContainer

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
}

AzureWorkloadContainer - Container for the workloads running inside Azure Compute or Classic Compute.

func (*AzureWorkloadContainer) GetAzureWorkloadContainer

func (a *AzureWorkloadContainer) GetAzureWorkloadContainer() *AzureWorkloadContainer

GetAzureWorkloadContainer implements the AzureWorkloadContainerClassification interface for type AzureWorkloadContainer.

func (*AzureWorkloadContainer) GetProtectionContainer

func (a *AzureWorkloadContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type AzureWorkloadContainer.

func (AzureWorkloadContainer) MarshalJSON

func (a AzureWorkloadContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadContainer.

func (*AzureWorkloadContainer) UnmarshalJSON

func (a *AzureWorkloadContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadContainer.

type AzureWorkloadContainerAutoProtectionIntent

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
}

AzureWorkloadContainerAutoProtectionIntent - Azure workload specific protection intent item.

func (*AzureWorkloadContainerAutoProtectionIntent) GetProtectionIntent

GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureWorkloadContainerAutoProtectionIntent.

func (AzureWorkloadContainerAutoProtectionIntent) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadContainerAutoProtectionIntent.

func (*AzureWorkloadContainerAutoProtectionIntent) UnmarshalJSON

func (a *AzureWorkloadContainerAutoProtectionIntent) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadContainerAutoProtectionIntent.

type AzureWorkloadContainerClassification

type AzureWorkloadContainerClassification interface {
	ProtectionContainerClassification
	// GetAzureWorkloadContainer returns the AzureWorkloadContainer content of the underlying type.
	GetAzureWorkloadContainer() *AzureWorkloadContainer
}

AzureWorkloadContainerClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadContainer() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureSQLAGWorkloadContainerProtectionContainer, *AzureVMAppContainerProtectionContainer, *AzureWorkloadContainer

type AzureWorkloadContainerExtendedInfo

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
}

AzureWorkloadContainerExtendedInfo - Extended information of the container.

func (AzureWorkloadContainerExtendedInfo) MarshalJSON

func (a AzureWorkloadContainerExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadContainerExtendedInfo.

func (*AzureWorkloadContainerExtendedInfo) UnmarshalJSON

func (a *AzureWorkloadContainerExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadContainerExtendedInfo.

type AzureWorkloadErrorInfo

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
}

AzureWorkloadErrorInfo - Azure storage specific error information

func (AzureWorkloadErrorInfo) MarshalJSON

func (a AzureWorkloadErrorInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadErrorInfo.

func (*AzureWorkloadErrorInfo) UnmarshalJSON

func (a *AzureWorkloadErrorInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadErrorInfo.

type AzureWorkloadJob

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
}

AzureWorkloadJob - Azure storage specific job.

func (*AzureWorkloadJob) GetJob

func (a *AzureWorkloadJob) GetJob() *Job

GetJob implements the JobClassification interface for type AzureWorkloadJob.

func (AzureWorkloadJob) MarshalJSON

func (a AzureWorkloadJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadJob.

func (*AzureWorkloadJob) UnmarshalJSON

func (a *AzureWorkloadJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadJob.

type AzureWorkloadJobExtendedInfo

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
}

AzureWorkloadJobExtendedInfo - Azure VM workload-specific additional information for job.

func (AzureWorkloadJobExtendedInfo) MarshalJSON

func (a AzureWorkloadJobExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadJobExtendedInfo.

func (*AzureWorkloadJobExtendedInfo) UnmarshalJSON

func (a *AzureWorkloadJobExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadJobExtendedInfo.

type AzureWorkloadJobTaskDetails

type AzureWorkloadJobTaskDetails struct {
	// The status.
	Status *string

	// The task display name.
	TaskID *string
}

AzureWorkloadJobTaskDetails - Azure VM workload specific job task details.

func (AzureWorkloadJobTaskDetails) MarshalJSON

func (a AzureWorkloadJobTaskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadJobTaskDetails.

func (*AzureWorkloadJobTaskDetails) UnmarshalJSON

func (a *AzureWorkloadJobTaskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadJobTaskDetails.

type AzureWorkloadPointInTimeRecoveryPoint

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
}

AzureWorkloadPointInTimeRecoveryPoint - Recovery point specific to PointInTime

func (*AzureWorkloadPointInTimeRecoveryPoint) GetAzureWorkloadPointInTimeRecoveryPoint

func (a *AzureWorkloadPointInTimeRecoveryPoint) GetAzureWorkloadPointInTimeRecoveryPoint() *AzureWorkloadPointInTimeRecoveryPoint

GetAzureWorkloadPointInTimeRecoveryPoint implements the AzureWorkloadPointInTimeRecoveryPointClassification interface for type AzureWorkloadPointInTimeRecoveryPoint.

func (*AzureWorkloadPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint

func (a *AzureWorkloadPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint

GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadPointInTimeRecoveryPoint.

func (*AzureWorkloadPointInTimeRecoveryPoint) GetRecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadPointInTimeRecoveryPoint.

func (AzureWorkloadPointInTimeRecoveryPoint) MarshalJSON

func (a AzureWorkloadPointInTimeRecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadPointInTimeRecoveryPoint.

func (*AzureWorkloadPointInTimeRecoveryPoint) UnmarshalJSON

func (a *AzureWorkloadPointInTimeRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadPointInTimeRecoveryPoint.

type AzureWorkloadPointInTimeRecoveryPointClassification

type AzureWorkloadPointInTimeRecoveryPointClassification interface {
	AzureWorkloadRecoveryPointClassification
	// GetAzureWorkloadPointInTimeRecoveryPoint returns the AzureWorkloadPointInTimeRecoveryPoint content of the underlying type.
	GetAzureWorkloadPointInTimeRecoveryPoint() *AzureWorkloadPointInTimeRecoveryPoint
}

AzureWorkloadPointInTimeRecoveryPointClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadPointInTimeRecoveryPoint() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadPointInTimeRecoveryPoint, *AzureWorkloadSAPHanaPointInTimeRecoveryPoint

type AzureWorkloadPointInTimeRestoreRequest

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

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadPointInTimeRestoreRequest - AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore

func (*AzureWorkloadPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest

func (a *AzureWorkloadPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadPointInTimeRestoreRequest.

func (*AzureWorkloadPointInTimeRestoreRequest) GetRestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadPointInTimeRestoreRequest.

func (AzureWorkloadPointInTimeRestoreRequest) MarshalJSON

func (a AzureWorkloadPointInTimeRestoreRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadPointInTimeRestoreRequest.

func (*AzureWorkloadPointInTimeRestoreRequest) UnmarshalJSON

func (a *AzureWorkloadPointInTimeRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadPointInTimeRestoreRequest.

type AzureWorkloadRecoveryPoint

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
}

AzureWorkloadRecoveryPoint - Workload specific recovery point, specifically encapsulates full/diff recovery point

func (*AzureWorkloadRecoveryPoint) GetAzureWorkloadRecoveryPoint

func (a *AzureWorkloadRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint

GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadRecoveryPoint.

func (*AzureWorkloadRecoveryPoint) GetRecoveryPoint

func (a *AzureWorkloadRecoveryPoint) GetRecoveryPoint() *RecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadRecoveryPoint.

func (AzureWorkloadRecoveryPoint) MarshalJSON

func (a AzureWorkloadRecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadRecoveryPoint.

func (*AzureWorkloadRecoveryPoint) UnmarshalJSON

func (a *AzureWorkloadRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadRecoveryPoint.

type AzureWorkloadRecoveryPointClassification

type AzureWorkloadRecoveryPointClassification interface {
	RecoveryPointClassification
	// GetAzureWorkloadRecoveryPoint returns the AzureWorkloadRecoveryPoint content of the underlying type.
	GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint
}

AzureWorkloadRecoveryPointClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadRecoveryPoint() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadPointInTimeRecoveryPoint, *AzureWorkloadRecoveryPoint, *AzureWorkloadSAPHanaPointInTimeRecoveryPoint, *AzureWorkloadSAPHanaRecoveryPoint, - *AzureWorkloadSQLPointInTimeRecoveryPoint, *AzureWorkloadSQLRecoveryPoint

type AzureWorkloadRestoreRequest

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

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadRestoreRequest - AzureWorkload-specific restore.

func (*AzureWorkloadRestoreRequest) GetAzureWorkloadRestoreRequest

func (a *AzureWorkloadRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadRestoreRequest.

func (*AzureWorkloadRestoreRequest) GetRestoreRequest

func (a *AzureWorkloadRestoreRequest) GetRestoreRequest() *RestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadRestoreRequest.

func (AzureWorkloadRestoreRequest) MarshalJSON

func (a AzureWorkloadRestoreRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadRestoreRequest.

func (*AzureWorkloadRestoreRequest) UnmarshalJSON

func (a *AzureWorkloadRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadRestoreRequest.

type AzureWorkloadRestoreRequestClassification

type AzureWorkloadRestoreRequestClassification interface {
	RestoreRequestClassification
	// GetAzureWorkloadRestoreRequest returns the AzureWorkloadRestoreRequest content of the underlying type.
	GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest
}

AzureWorkloadRestoreRequestClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadRestoreRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadPointInTimeRestoreRequest, *AzureWorkloadRestoreRequest, *AzureWorkloadSAPHanaPointInTimeRestoreRequest, - *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest, *AzureWorkloadSAPHanaRestoreRequest, *AzureWorkloadSAPHanaRestoreWithRehydrateRequest, - *AzureWorkloadSQLPointInTimeRestoreRequest, *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest, *AzureWorkloadSQLRestoreRequest, - *AzureWorkloadSQLRestoreWithRehydrateRequest

type AzureWorkloadSAPHanaPointInTimeRecoveryPoint

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
}

AzureWorkloadSAPHanaPointInTimeRecoveryPoint - Recovery point specific to PointInTime in SAPHana

func (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint) GetAzureWorkloadPointInTimeRecoveryPoint

func (a *AzureWorkloadSAPHanaPointInTimeRecoveryPoint) GetAzureWorkloadPointInTimeRecoveryPoint() *AzureWorkloadPointInTimeRecoveryPoint

GetAzureWorkloadPointInTimeRecoveryPoint implements the AzureWorkloadPointInTimeRecoveryPointClassification interface for type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.

func (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint

GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.

func (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint) GetRecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.

func (AzureWorkloadSAPHanaPointInTimeRecoveryPoint) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.

func (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint) UnmarshalJSON

func (a *AzureWorkloadSAPHanaPointInTimeRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSAPHanaPointInTimeRecoveryPoint.

type AzureWorkloadSAPHanaPointInTimeRestoreRequest

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

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSAPHanaPointInTimeRestoreRequest - AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore

func (*AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadSAPHanaPointInTimeRestoreRequest

func (a *AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadSAPHanaPointInTimeRestoreRequest() *AzureWorkloadSAPHanaPointInTimeRestoreRequest

GetAzureWorkloadSAPHanaPointInTimeRestoreRequest implements the AzureWorkloadSAPHanaPointInTimeRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadSAPHanaRestoreRequest

func (a *AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest

GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreRequest) GetRestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.

func (AzureWorkloadSAPHanaPointInTimeRestoreRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreRequest) UnmarshalJSON

func (a *AzureWorkloadSAPHanaPointInTimeRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSAPHanaPointInTimeRestoreRequest.

type AzureWorkloadSAPHanaPointInTimeRestoreRequestClassification

type AzureWorkloadSAPHanaPointInTimeRestoreRequestClassification interface {
	AzureWorkloadSAPHanaRestoreRequestClassification
	// GetAzureWorkloadSAPHanaPointInTimeRestoreRequest returns the AzureWorkloadSAPHanaPointInTimeRestoreRequest content of the underlying type.
	GetAzureWorkloadSAPHanaPointInTimeRestoreRequest() *AzureWorkloadSAPHanaPointInTimeRestoreRequest
}

AzureWorkloadSAPHanaPointInTimeRestoreRequestClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadSAPHanaPointInTimeRestoreRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadSAPHanaPointInTimeRestoreRequest, *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest

type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest

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

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest - AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.

func (*AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSAPHanaPointInTimeRestoreRequest

GetAzureWorkloadSAPHanaPointInTimeRestoreRequest implements the AzureWorkloadSAPHanaPointInTimeRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSAPHanaRestoreRequest

GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) GetRestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.

func (AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.

type AzureWorkloadSAPHanaRecoveryPoint

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
}

AzureWorkloadSAPHanaRecoveryPoint - SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints

func (*AzureWorkloadSAPHanaRecoveryPoint) GetAzureWorkloadRecoveryPoint

func (a *AzureWorkloadSAPHanaRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint

GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSAPHanaRecoveryPoint.

func (*AzureWorkloadSAPHanaRecoveryPoint) GetRecoveryPoint

func (a *AzureWorkloadSAPHanaRecoveryPoint) GetRecoveryPoint() *RecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSAPHanaRecoveryPoint.

func (AzureWorkloadSAPHanaRecoveryPoint) MarshalJSON

func (a AzureWorkloadSAPHanaRecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSAPHanaRecoveryPoint.

func (*AzureWorkloadSAPHanaRecoveryPoint) UnmarshalJSON

func (a *AzureWorkloadSAPHanaRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSAPHanaRecoveryPoint.

type AzureWorkloadSAPHanaRestoreRequest

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

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSAPHanaRestoreRequest - AzureWorkload SAP Hana-specific restore.

func (*AzureWorkloadSAPHanaRestoreRequest) GetAzureWorkloadRestoreRequest

func (a *AzureWorkloadSAPHanaRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreRequest.

func (*AzureWorkloadSAPHanaRestoreRequest) GetAzureWorkloadSAPHanaRestoreRequest

func (a *AzureWorkloadSAPHanaRestoreRequest) GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest

GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreRequest.

func (*AzureWorkloadSAPHanaRestoreRequest) GetRestoreRequest

func (a *AzureWorkloadSAPHanaRestoreRequest) GetRestoreRequest() *RestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreRequest.

func (AzureWorkloadSAPHanaRestoreRequest) MarshalJSON

func (a AzureWorkloadSAPHanaRestoreRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSAPHanaRestoreRequest.

func (*AzureWorkloadSAPHanaRestoreRequest) UnmarshalJSON

func (a *AzureWorkloadSAPHanaRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSAPHanaRestoreRequest.

type AzureWorkloadSAPHanaRestoreRequestClassification

type AzureWorkloadSAPHanaRestoreRequestClassification interface {
	AzureWorkloadRestoreRequestClassification
	// GetAzureWorkloadSAPHanaRestoreRequest returns the AzureWorkloadSAPHanaRestoreRequest content of the underlying type.
	GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest
}

AzureWorkloadSAPHanaRestoreRequestClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadSAPHanaRestoreRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadSAPHanaPointInTimeRestoreRequest, *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest, *AzureWorkloadSAPHanaRestoreRequest, - *AzureWorkloadSAPHanaRestoreWithRehydrateRequest

type AzureWorkloadSAPHanaRestoreWithRehydrateRequest

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

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSAPHanaRestoreWithRehydrateRequest - AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.

func (*AzureWorkloadSAPHanaRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreWithRehydrateRequest.

func (*AzureWorkloadSAPHanaRestoreWithRehydrateRequest) GetAzureWorkloadSAPHanaRestoreRequest

func (a *AzureWorkloadSAPHanaRestoreWithRehydrateRequest) GetAzureWorkloadSAPHanaRestoreRequest() *AzureWorkloadSAPHanaRestoreRequest

GetAzureWorkloadSAPHanaRestoreRequest implements the AzureWorkloadSAPHanaRestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreWithRehydrateRequest.

func (*AzureWorkloadSAPHanaRestoreWithRehydrateRequest) GetRestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSAPHanaRestoreWithRehydrateRequest.

func (AzureWorkloadSAPHanaRestoreWithRehydrateRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSAPHanaRestoreWithRehydrateRequest.

func (*AzureWorkloadSAPHanaRestoreWithRehydrateRequest) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSAPHanaRestoreWithRehydrateRequest.

type AzureWorkloadSQLAutoProtectionIntent

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
}

AzureWorkloadSQLAutoProtectionIntent - Azure Workload SQL Auto Protection intent item.

func (*AzureWorkloadSQLAutoProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent

func (a *AzureWorkloadSQLAutoProtectionIntent) GetAzureRecoveryServiceVaultProtectionIntent() *AzureRecoveryServiceVaultProtectionIntent

GetAzureRecoveryServiceVaultProtectionIntent implements the AzureRecoveryServiceVaultProtectionIntentClassification interface for type AzureWorkloadSQLAutoProtectionIntent.

func (*AzureWorkloadSQLAutoProtectionIntent) GetAzureWorkloadAutoProtectionIntent

func (a *AzureWorkloadSQLAutoProtectionIntent) GetAzureWorkloadAutoProtectionIntent() *AzureWorkloadAutoProtectionIntent

GetAzureWorkloadAutoProtectionIntent implements the AzureWorkloadAutoProtectionIntentClassification interface for type AzureWorkloadSQLAutoProtectionIntent.

func (*AzureWorkloadSQLAutoProtectionIntent) GetProtectionIntent

func (a *AzureWorkloadSQLAutoProtectionIntent) GetProtectionIntent() *ProtectionIntent

GetProtectionIntent implements the ProtectionIntentClassification interface for type AzureWorkloadSQLAutoProtectionIntent.

func (AzureWorkloadSQLAutoProtectionIntent) MarshalJSON

func (a AzureWorkloadSQLAutoProtectionIntent) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLAutoProtectionIntent.

func (*AzureWorkloadSQLAutoProtectionIntent) UnmarshalJSON

func (a *AzureWorkloadSQLAutoProtectionIntent) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLAutoProtectionIntent.

type AzureWorkloadSQLPointInTimeRecoveryPoint

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
}

AzureWorkloadSQLPointInTimeRecoveryPoint - Recovery point specific to PointInTime

func (*AzureWorkloadSQLPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint

func (a *AzureWorkloadSQLPointInTimeRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint

GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.

func (*AzureWorkloadSQLPointInTimeRecoveryPoint) GetAzureWorkloadSQLRecoveryPoint

func (a *AzureWorkloadSQLPointInTimeRecoveryPoint) GetAzureWorkloadSQLRecoveryPoint() *AzureWorkloadSQLRecoveryPoint

GetAzureWorkloadSQLRecoveryPoint implements the AzureWorkloadSQLRecoveryPointClassification interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.

func (*AzureWorkloadSQLPointInTimeRecoveryPoint) GetRecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.

func (AzureWorkloadSQLPointInTimeRecoveryPoint) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.

func (*AzureWorkloadSQLPointInTimeRecoveryPoint) UnmarshalJSON

func (a *AzureWorkloadSQLPointInTimeRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLPointInTimeRecoveryPoint.

type AzureWorkloadSQLPointInTimeRestoreRequest

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

	// Default option set to true. If this is set to false, alternate data directory must be provided
	ShouldUseAlternateTargetLocation *bool

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSQLPointInTimeRestoreRequest - AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore

func (*AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest

func (a *AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreRequest.

func (*AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadSQLPointInTimeRestoreRequest

func (a *AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadSQLPointInTimeRestoreRequest() *AzureWorkloadSQLPointInTimeRestoreRequest

GetAzureWorkloadSQLPointInTimeRestoreRequest implements the AzureWorkloadSQLPointInTimeRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreRequest.

func (*AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadSQLRestoreRequest

func (a *AzureWorkloadSQLPointInTimeRestoreRequest) GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest

GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreRequest.

func (*AzureWorkloadSQLPointInTimeRestoreRequest) GetRestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreRequest.

func (AzureWorkloadSQLPointInTimeRestoreRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLPointInTimeRestoreRequest.

func (*AzureWorkloadSQLPointInTimeRestoreRequest) UnmarshalJSON

func (a *AzureWorkloadSQLPointInTimeRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLPointInTimeRestoreRequest.

type AzureWorkloadSQLPointInTimeRestoreRequestClassification

type AzureWorkloadSQLPointInTimeRestoreRequestClassification interface {
	AzureWorkloadSQLRestoreRequestClassification
	// GetAzureWorkloadSQLPointInTimeRestoreRequest returns the AzureWorkloadSQLPointInTimeRestoreRequest content of the underlying type.
	GetAzureWorkloadSQLPointInTimeRestoreRequest() *AzureWorkloadSQLPointInTimeRestoreRequest
}

AzureWorkloadSQLPointInTimeRestoreRequestClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadSQLPointInTimeRestoreRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadSQLPointInTimeRestoreRequest, *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest

type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest

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

	// Default option set to true. If this is set to false, alternate data directory must be provided
	ShouldUseAlternateTargetLocation *bool

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest - AzureWorkload SQL-specific restore with integrated rehydration of recovery point.

func (*AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSQLPointInTimeRestoreRequest

GetAzureWorkloadSQLPointInTimeRestoreRequest implements the AzureWorkloadSQLPointInTimeRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetAzureWorkloadSQLRestoreRequest

GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) GetRestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.

func (AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.

func (*AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.

type AzureWorkloadSQLRecoveryPoint

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
}

AzureWorkloadSQLRecoveryPoint - SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info

func (*AzureWorkloadSQLRecoveryPoint) GetAzureWorkloadRecoveryPoint

func (a *AzureWorkloadSQLRecoveryPoint) GetAzureWorkloadRecoveryPoint() *AzureWorkloadRecoveryPoint

GetAzureWorkloadRecoveryPoint implements the AzureWorkloadRecoveryPointClassification interface for type AzureWorkloadSQLRecoveryPoint.

func (*AzureWorkloadSQLRecoveryPoint) GetAzureWorkloadSQLRecoveryPoint

func (a *AzureWorkloadSQLRecoveryPoint) GetAzureWorkloadSQLRecoveryPoint() *AzureWorkloadSQLRecoveryPoint

GetAzureWorkloadSQLRecoveryPoint implements the AzureWorkloadSQLRecoveryPointClassification interface for type AzureWorkloadSQLRecoveryPoint.

func (*AzureWorkloadSQLRecoveryPoint) GetRecoveryPoint

func (a *AzureWorkloadSQLRecoveryPoint) GetRecoveryPoint() *RecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type AzureWorkloadSQLRecoveryPoint.

func (AzureWorkloadSQLRecoveryPoint) MarshalJSON

func (a AzureWorkloadSQLRecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLRecoveryPoint.

func (*AzureWorkloadSQLRecoveryPoint) UnmarshalJSON

func (a *AzureWorkloadSQLRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLRecoveryPoint.

type AzureWorkloadSQLRecoveryPointClassification

type AzureWorkloadSQLRecoveryPointClassification interface {
	AzureWorkloadRecoveryPointClassification
	// GetAzureWorkloadSQLRecoveryPoint returns the AzureWorkloadSQLRecoveryPoint content of the underlying type.
	GetAzureWorkloadSQLRecoveryPoint() *AzureWorkloadSQLRecoveryPoint
}

AzureWorkloadSQLRecoveryPointClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadSQLRecoveryPoint() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadSQLPointInTimeRecoveryPoint, *AzureWorkloadSQLRecoveryPoint

type AzureWorkloadSQLRecoveryPointExtendedInfo

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
}

AzureWorkloadSQLRecoveryPointExtendedInfo - Extended info class details

func (AzureWorkloadSQLRecoveryPointExtendedInfo) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLRecoveryPointExtendedInfo.

func (*AzureWorkloadSQLRecoveryPointExtendedInfo) UnmarshalJSON

func (a *AzureWorkloadSQLRecoveryPointExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLRecoveryPointExtendedInfo.

type AzureWorkloadSQLRestoreRequest

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

	// Default option set to true. If this is set to false, alternate data directory must be provided
	ShouldUseAlternateTargetLocation *bool

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSQLRestoreRequest - AzureWorkload SQL -specific restore. Specifically for full/diff restore

func (*AzureWorkloadSQLRestoreRequest) GetAzureWorkloadRestoreRequest

func (a *AzureWorkloadSQLRestoreRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLRestoreRequest.

func (*AzureWorkloadSQLRestoreRequest) GetAzureWorkloadSQLRestoreRequest

func (a *AzureWorkloadSQLRestoreRequest) GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest

GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLRestoreRequest.

func (*AzureWorkloadSQLRestoreRequest) GetRestoreRequest

func (a *AzureWorkloadSQLRestoreRequest) GetRestoreRequest() *RestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLRestoreRequest.

func (AzureWorkloadSQLRestoreRequest) MarshalJSON

func (a AzureWorkloadSQLRestoreRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLRestoreRequest.

func (*AzureWorkloadSQLRestoreRequest) UnmarshalJSON

func (a *AzureWorkloadSQLRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLRestoreRequest.

type AzureWorkloadSQLRestoreRequestClassification

type AzureWorkloadSQLRestoreRequestClassification interface {
	AzureWorkloadRestoreRequestClassification
	// GetAzureWorkloadSQLRestoreRequest returns the AzureWorkloadSQLRestoreRequest content of the underlying type.
	GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest
}

AzureWorkloadSQLRestoreRequestClassification provides polymorphic access to related types. Call the interface's GetAzureWorkloadSQLRestoreRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureWorkloadSQLPointInTimeRestoreRequest, *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest, *AzureWorkloadSQLRestoreRequest, - *AzureWorkloadSQLRestoreWithRehydrateRequest

type AzureWorkloadSQLRestoreWithRehydrateRequest

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

	// Default option set to true. If this is set to false, alternate data directory must be provided
	ShouldUseAlternateTargetLocation *bool

	// Fully qualified ARM ID of the VM on which workload that was running is being recovered.
	SourceResourceID *string

	// Details of target database
	TargetInfo *TargetRestoreInfo

	// This is the complete ARM Id of the target VM For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}
	TargetVirtualMachineID *string
}

AzureWorkloadSQLRestoreWithRehydrateRequest - AzureWorkload SQL-specific restore with integrated rehydration of recovery point

func (*AzureWorkloadSQLRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest

func (a *AzureWorkloadSQLRestoreWithRehydrateRequest) GetAzureWorkloadRestoreRequest() *AzureWorkloadRestoreRequest

GetAzureWorkloadRestoreRequest implements the AzureWorkloadRestoreRequestClassification interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.

func (*AzureWorkloadSQLRestoreWithRehydrateRequest) GetAzureWorkloadSQLRestoreRequest

func (a *AzureWorkloadSQLRestoreWithRehydrateRequest) GetAzureWorkloadSQLRestoreRequest() *AzureWorkloadSQLRestoreRequest

GetAzureWorkloadSQLRestoreRequest implements the AzureWorkloadSQLRestoreRequestClassification interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.

func (*AzureWorkloadSQLRestoreWithRehydrateRequest) GetRestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.

func (AzureWorkloadSQLRestoreWithRehydrateRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.

func (*AzureWorkloadSQLRestoreWithRehydrateRequest) UnmarshalJSON

func (a *AzureWorkloadSQLRestoreWithRehydrateRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureWorkloadSQLRestoreWithRehydrateRequest.

type BEKDetails

type BEKDetails struct {
	// BEK data.
	SecretData *string

	// Secret is BEK.
	SecretURL *string

	// ID of the Key Vault where this Secret is stored.
	SecretVaultID *string
}

BEKDetails - BEK is bitlocker encryption key.

func (BEKDetails) MarshalJSON

func (b BEKDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BEKDetails.

func (*BEKDetails) UnmarshalJSON

func (b *BEKDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BEKDetails.

type BMSBackupEngineQueryObject

type BMSBackupEngineQueryObject struct {
	// attribute to add extended info
	Expand *string
}

BMSBackupEngineQueryObject - Query parameters to fetch list of backup engines.

func (BMSBackupEngineQueryObject) MarshalJSON

func (b BMSBackupEngineQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSBackupEngineQueryObject.

func (*BMSBackupEngineQueryObject) UnmarshalJSON

func (b *BMSBackupEngineQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSBackupEngineQueryObject.

type BMSBackupEnginesQueryObject

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
}

BMSBackupEnginesQueryObject - Query parameters to fetch list of backup engines.

func (BMSBackupEnginesQueryObject) MarshalJSON

func (b BMSBackupEnginesQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSBackupEnginesQueryObject.

func (*BMSBackupEnginesQueryObject) UnmarshalJSON

func (b *BMSBackupEnginesQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSBackupEnginesQueryObject.

type BMSBackupSummariesQueryObject

type BMSBackupSummariesQueryObject struct {
	// Backup management type for this container.
	Type *Type
}

BMSBackupSummariesQueryObject - Query parameters to fetch backup summaries.

func (BMSBackupSummariesQueryObject) MarshalJSON

func (b BMSBackupSummariesQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSBackupSummariesQueryObject.

func (*BMSBackupSummariesQueryObject) UnmarshalJSON

func (b *BMSBackupSummariesQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSBackupSummariesQueryObject.

type BMSContainerQueryObject

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
}

BMSContainerQueryObject - The query filters that can be used with the list containers API.

func (BMSContainerQueryObject) MarshalJSON

func (b BMSContainerQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSContainerQueryObject.

func (*BMSContainerQueryObject) UnmarshalJSON

func (b *BMSContainerQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSContainerQueryObject.

type BMSContainersInquiryQueryObject

type BMSContainersInquiryQueryObject struct {
	// Backup management type for this container.
	BackupManagementType *BackupManagementType

	// Workload type for this container.
	WorkloadType *WorkloadType
}

BMSContainersInquiryQueryObject - The query filters that can be used with the inquire container API.

func (BMSContainersInquiryQueryObject) MarshalJSON

func (b BMSContainersInquiryQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSContainersInquiryQueryObject.

func (*BMSContainersInquiryQueryObject) UnmarshalJSON

func (b *BMSContainersInquiryQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSContainersInquiryQueryObject.

type BMSPOQueryObject

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
}

BMSPOQueryObject - Filters to list items that can be backed up.

func (BMSPOQueryObject) MarshalJSON

func (b BMSPOQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSPOQueryObject.

func (*BMSPOQueryObject) UnmarshalJSON

func (b *BMSPOQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSPOQueryObject.

type BMSPrepareDataMoveOperationResultClient

type BMSPrepareDataMoveOperationResultClient struct {
	// contains filtered or unexported fields
}

BMSPrepareDataMoveOperationResultClient contains the methods for the BMSPrepareDataMoveOperationResult group. Don't use this type directly, use NewBMSPrepareDataMoveOperationResultClient() instead.

func NewBMSPrepareDataMoveOperationResultClient

func NewBMSPrepareDataMoveOperationResultClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BMSPrepareDataMoveOperationResultClient, error)

NewBMSPrepareDataMoveOperationResultClient creates a new instance of BMSPrepareDataMoveOperationResultClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BMSPrepareDataMoveOperationResultClient) Get

Get - Fetches Operation Result for Prepare Data Move If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BMSPrepareDataMoveOperationResultClientGetOptions contains the optional parameters for the BMSPrepareDataMoveOperationResultClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBMSPrepareDataMoveOperationResultClient().Get(ctx, "source-rsv", "sourceRG", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservicesbackup.BMSPrepareDataMoveOperationResultClientGetResponse{
// 	                            VaultStorageConfigOperationResultResponseClassification: &armrecoveryservicesbackup.PrepareDataMoveResponse{
// 		ObjectType: to.Ptr("PrepareDataMoveResponse"),
// 	},
// 	                        }
Output:

type BMSPrepareDataMoveOperationResultClientGetOptions

type BMSPrepareDataMoveOperationResultClientGetOptions struct {
}

BMSPrepareDataMoveOperationResultClientGetOptions contains the optional parameters for the BMSPrepareDataMoveOperationResultClient.Get method.

type BMSPrepareDataMoveOperationResultClientGetResponse

type BMSPrepareDataMoveOperationResultClientGetResponse struct {
	VaultStorageConfigOperationResultResponseClassification
}

BMSPrepareDataMoveOperationResultClientGetResponse contains the response from method BMSPrepareDataMoveOperationResultClient.Get.

func (*BMSPrepareDataMoveOperationResultClientGetResponse) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type BMSPrepareDataMoveOperationResultClientGetResponse.

type BMSRPQueryObject

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
}

BMSRPQueryObject - Filters to list backup copies.

func (BMSRPQueryObject) MarshalJSON

func (b BMSRPQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSRPQueryObject.

func (*BMSRPQueryObject) UnmarshalJSON

func (b *BMSRPQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSRPQueryObject.

type BMSRefreshContainersQueryObject

type BMSRefreshContainersQueryObject struct {
	// Backup management type for this container.
	BackupManagementType *BackupManagementType
}

BMSRefreshContainersQueryObject - The query filters that can be used with the refresh container API.

func (BMSRefreshContainersQueryObject) MarshalJSON

func (b BMSRefreshContainersQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSRefreshContainersQueryObject.

func (*BMSRefreshContainersQueryObject) UnmarshalJSON

func (b *BMSRefreshContainersQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSRefreshContainersQueryObject.

type BMSWorkloadItemQueryObject

type BMSWorkloadItemQueryObject struct {
	// Backup management type.
	BackupManagementType *BackupManagementType

	// Backup status query parameter.
	ProtectionStatus *ProtectionStatus

	// Workload Item type
	WorkloadItemType *WorkloadItemType

	// Workload type
	WorkloadType *WorkloadType
}

BMSWorkloadItemQueryObject - Filters to list items that can be backed up.

func (BMSWorkloadItemQueryObject) MarshalJSON

func (b BMSWorkloadItemQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BMSWorkloadItemQueryObject.

func (*BMSWorkloadItemQueryObject) UnmarshalJSON

func (b *BMSWorkloadItemQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BMSWorkloadItemQueryObject.

type BackupEngineBase

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
}

BackupEngineBase - The base backup engine class. All workload specific backup engines derive from this class.

func (*BackupEngineBase) GetBackupEngineBase

func (b *BackupEngineBase) GetBackupEngineBase() *BackupEngineBase

GetBackupEngineBase implements the BackupEngineBaseClassification interface for type BackupEngineBase.

func (BackupEngineBase) MarshalJSON

func (b BackupEngineBase) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupEngineBase.

func (*BackupEngineBase) UnmarshalJSON

func (b *BackupEngineBase) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupEngineBase.

type BackupEngineBaseClassification

type BackupEngineBaseClassification interface {
	// GetBackupEngineBase returns the BackupEngineBase content of the underlying type.
	GetBackupEngineBase() *BackupEngineBase
}

BackupEngineBaseClassification provides polymorphic access to related types. Call the interface's GetBackupEngineBase() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureBackupServerEngine, *BackupEngineBase, *DpmBackupEngine

type BackupEngineBaseResource

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
}

BackupEngineBaseResource - The base backup engine class. All workload specific backup engines derive from this class.

func (BackupEngineBaseResource) MarshalJSON

func (b BackupEngineBaseResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupEngineBaseResource.

func (*BackupEngineBaseResource) UnmarshalJSON

func (b *BackupEngineBaseResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupEngineBaseResource.

type BackupEngineBaseResourceList

type BackupEngineBaseResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*BackupEngineBaseResource
}

BackupEngineBaseResourceList - List of BackupEngineBase resources

func (BackupEngineBaseResourceList) MarshalJSON

func (b BackupEngineBaseResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupEngineBaseResourceList.

func (*BackupEngineBaseResourceList) UnmarshalJSON

func (b *BackupEngineBaseResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupEngineBaseResourceList.

type BackupEngineExtendedInfo

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
}

BackupEngineExtendedInfo - Additional information on backup engine.

func (BackupEngineExtendedInfo) MarshalJSON

func (b BackupEngineExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupEngineExtendedInfo.

func (*BackupEngineExtendedInfo) UnmarshalJSON

func (b *BackupEngineExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupEngineExtendedInfo.

type BackupEngineType

type BackupEngineType string

BackupEngineType - Type of the backup engine.

const (
	BackupEngineTypeAzureBackupServerEngine BackupEngineType = "AzureBackupServerEngine"
	BackupEngineTypeDpmBackupEngine         BackupEngineType = "DpmBackupEngine"
	BackupEngineTypeInvalid                 BackupEngineType = "Invalid"
)

func PossibleBackupEngineTypeValues

func PossibleBackupEngineTypeValues() []BackupEngineType

PossibleBackupEngineTypeValues returns the possible values for the BackupEngineType const type.

type BackupEnginesClient

type BackupEnginesClient struct {
	// contains filtered or unexported fields
}

BackupEnginesClient contains the methods for the BackupEngines group. Don't use this type directly, use NewBackupEnginesClient() instead.

func NewBackupEnginesClient

func NewBackupEnginesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupEnginesClient, error)

NewBackupEnginesClient creates a new instance of BackupEnginesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupEnginesClient) Get

func (client *BackupEnginesClient) Get(ctx context.Context, vaultName string, resourceGroupName string, backupEngineName string, options *BackupEnginesClientGetOptions) (BackupEnginesClientGetResponse, error)

Get - Returns backup management server registered to Recovery Services Vault. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • backupEngineName - Name of the backup management server.
  • options - BackupEnginesClientGetOptions contains the optional parameters for the BackupEnginesClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Dpm/BackupEngines_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupEnginesClient().Get(ctx, "testVault", "testRG", "testServer", &armrecoveryservicesbackup.BackupEnginesClientGetOptions{Filter: nil,
	SkipToken: nil,
})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupEngineBaseResource = armrecoveryservicesbackup.BackupEngineBaseResource{
// 	Name: to.Ptr("testServer"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupEngines"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer"),
// 	Properties: &armrecoveryservicesbackup.DpmBackupEngine{
// 		AzureBackupAgentVersion: to.Ptr("2.0.9532.0"),
// 		BackupEngineState: to.Ptr("Active"),
// 		BackupEngineType: to.Ptr(armrecoveryservicesbackup.BackupEngineTypeDpmBackupEngine),
// 		DpmVersion: to.Ptr("5.1.348.0"),
// 		ExtendedInfo: &armrecoveryservicesbackup.BackupEngineExtendedInfo{
// 			AvailableDiskSpace: to.Ptr[float64](50),
// 			DiskCount: to.Ptr[int32](5),
// 			ProtectedItemsCount: to.Ptr[int32](35),
// 			ProtectedServersCount: to.Ptr[int32](21),
// 			UsedDiskSpace: to.Ptr[float64](20),
// 		},
// 		FriendlyName: to.Ptr("testServer"),
// 		IsAzureBackupAgentUpgradeAvailable: to.Ptr(false),
// 		IsDpmUpgradeAvailable: to.Ptr(false),
// 		RegistrationStatus: to.Ptr("Registered"),
// 	},
// }
Output:

func (*BackupEnginesClient) NewListPager

func (client *BackupEnginesClient) NewListPager(vaultName string, resourceGroupName string, options *BackupEnginesClientListOptions) *runtime.Pager[BackupEnginesClientListResponse]

NewListPager - Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupEnginesClientListOptions contains the optional parameters for the BackupEnginesClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Dpm/BackupEngines_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupEnginesClient().NewListPager("testVault", "testRG", &armrecoveryservicesbackup.BackupEnginesClientListOptions{Filter: nil,
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.BackupEngineBaseResourceList = armrecoveryservicesbackup.BackupEngineBaseResourceList{
	// 	Value: []*armrecoveryservicesbackup.BackupEngineBaseResource{
	// 		{
	// 			Name: to.Ptr("testServer1"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupEngines"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1"),
	// 			Properties: &armrecoveryservicesbackup.DpmBackupEngine{
	// 				AzureBackupAgentVersion: to.Ptr("2.0.9532.0"),
	// 				BackupEngineState: to.Ptr("Active"),
	// 				BackupEngineType: to.Ptr(armrecoveryservicesbackup.BackupEngineTypeDpmBackupEngine),
	// 				DpmVersion: to.Ptr("5.1.348.0"),
	// 				ExtendedInfo: &armrecoveryservicesbackup.BackupEngineExtendedInfo{
	// 					AvailableDiskSpace: to.Ptr[float64](50),
	// 					DiskCount: to.Ptr[int32](5),
	// 					ProtectedItemsCount: to.Ptr[int32](35),
	// 					ProtectedServersCount: to.Ptr[int32](21),
	// 					UsedDiskSpace: to.Ptr[float64](20),
	// 				},
	// 				FriendlyName: to.Ptr("testServer1"),
	// 				IsAzureBackupAgentUpgradeAvailable: to.Ptr(false),
	// 				IsDpmUpgradeAvailable: to.Ptr(false),
	// 				RegistrationStatus: to.Ptr("Registered"),
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("testServer5"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupEngines"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5"),
	// 			Properties: &armrecoveryservicesbackup.DpmBackupEngine{
	// 				AzureBackupAgentVersion: to.Ptr("2.0.9530.0"),
	// 				BackupEngineState: to.Ptr("Active"),
	// 				BackupEngineType: to.Ptr(armrecoveryservicesbackup.BackupEngineTypeDpmBackupEngine),
	// 				DpmVersion: to.Ptr("5.1.348.0"),
	// 				ExtendedInfo: &armrecoveryservicesbackup.BackupEngineExtendedInfo{
	// 					AvailableDiskSpace: to.Ptr[float64](50),
	// 					DiskCount: to.Ptr[int32](5),
	// 					ProtectedItemsCount: to.Ptr[int32](35),
	// 					ProtectedServersCount: to.Ptr[int32](21),
	// 					UsedDiskSpace: to.Ptr[float64](20),
	// 				},
	// 				FriendlyName: to.Ptr("testServer5"),
	// 				IsAzureBackupAgentUpgradeAvailable: to.Ptr(false),
	// 				IsDpmUpgradeAvailable: to.Ptr(false),
	// 				RegistrationStatus: to.Ptr("Registered"),
	// 			},
	// 	}},
	// }
}
Output:

type BackupEnginesClientGetOptions

type BackupEnginesClientGetOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupEnginesClientGetOptions contains the optional parameters for the BackupEnginesClient.Get method.

type BackupEnginesClientGetResponse

type BackupEnginesClientGetResponse struct {
	BackupEngineBaseResource
}

BackupEnginesClientGetResponse contains the response from method BackupEnginesClient.Get.

type BackupEnginesClientListOptions

type BackupEnginesClientListOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupEnginesClientListOptions contains the optional parameters for the BackupEnginesClient.NewListPager method.

type BackupEnginesClientListResponse

type BackupEnginesClientListResponse struct {
	BackupEngineBaseResourceList
}

BackupEnginesClientListResponse contains the response from method BackupEnginesClient.NewListPager.

type BackupItemType

type BackupItemType string

BackupItemType - Type of backup items associated with this container.

const (
	BackupItemTypeAzureFileShare    BackupItemType = "AzureFileShare"
	BackupItemTypeAzureSQLDb        BackupItemType = "AzureSqlDb"
	BackupItemTypeClient            BackupItemType = "Client"
	BackupItemTypeExchange          BackupItemType = "Exchange"
	BackupItemTypeFileFolder        BackupItemType = "FileFolder"
	BackupItemTypeGenericDataSource BackupItemType = "GenericDataSource"
	BackupItemTypeInvalid           BackupItemType = "Invalid"
	BackupItemTypeSAPAseDatabase    BackupItemType = "SAPAseDatabase"
	BackupItemTypeSAPHanaDBInstance BackupItemType = "SAPHanaDBInstance"
	BackupItemTypeSAPHanaDatabase   BackupItemType = "SAPHanaDatabase"
	BackupItemTypeSQLDB             BackupItemType = "SQLDB"
	BackupItemTypeSQLDataBase       BackupItemType = "SQLDataBase"
	BackupItemTypeSharepoint        BackupItemType = "Sharepoint"
	BackupItemTypeSystemState       BackupItemType = "SystemState"
	BackupItemTypeVM                BackupItemType = "VM"
	BackupItemTypeVMwareVM          BackupItemType = "VMwareVM"
)

func PossibleBackupItemTypeValues

func PossibleBackupItemTypeValues() []BackupItemType

PossibleBackupItemTypeValues returns the possible values for the BackupItemType const type.

type BackupJobsClient

type BackupJobsClient struct {
	// contains filtered or unexported fields
}

BackupJobsClient contains the methods for the BackupJobs group. Don't use this type directly, use NewBackupJobsClient() instead.

func NewBackupJobsClient

func NewBackupJobsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupJobsClient, error)

NewBackupJobsClient creates a new instance of BackupJobsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupJobsClient) NewListPager

func (client *BackupJobsClient) NewListPager(vaultName string, resourceGroupName string, options *BackupJobsClientListOptions) *runtime.Pager[BackupJobsClientListResponse]

NewListPager - Provides a pageable list of jobs.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupJobsClientListOptions contains the optional parameters for the BackupJobsClient.NewListPager method.
Example (ListAllJobs)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/ListJobs.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupJobsClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupJobsClientListOptions{Filter: nil,
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.JobResourceList = armrecoveryservicesbackup.JobResourceList{
	// 	Value: []*armrecoveryservicesbackup.JobResource{
	// 		{
	// 			Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupJobs"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSVMJob{
	// 				ActivityID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
	// 				EntityFriendlyName: to.Ptr("testvm"),
	// 				JobType: to.Ptr("AzureIaaSVMJob"),
	// 				Operation: to.Ptr("Backup"),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:31:07.014604Z"); return t}()),
	// 				Status: to.Ptr("InProgress"),
	// 				Duration: to.Ptr("PT12.4272909S"),
	// 				VirtualMachineVersion: to.Ptr("Compute"),
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupJobs"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSVMJob{
	// 				ActivityID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
	// 				EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:31:03.7553376Z"); return t}()),
	// 				EntityFriendlyName: to.Ptr("testvm"),
	// 				JobType: to.Ptr("AzureIaaSVMJob"),
	// 				Operation: to.Ptr("ConfigureBackup"),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:30:32.4487085Z"); return t}()),
	// 				Status: to.Ptr("Completed"),
	// 				Duration: to.Ptr("PT31.3066291S"),
	// 				VirtualMachineVersion: to.Ptr("Compute"),
	// 			},
	// 	}},
	// }
}
Output:

Example (ListJobsWithFilters)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/ListJobsWithAllSupportedFilters.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupJobsClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupJobsClientListOptions{Filter: to.Ptr("startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'"),
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.JobResourceList = armrecoveryservicesbackup.JobResourceList{
	// 	Value: []*armrecoveryservicesbackup.JobResource{
	// 		{
	// 			Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupJobs"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSVMJob{
	// 				ActivityID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
	// 				EntityFriendlyName: to.Ptr("testvm"),
	// 				JobType: to.Ptr("AzureIaaSVMJob"),
	// 				Operation: to.Ptr("Backup"),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:31:07.014604Z"); return t}()),
	// 				Status: to.Ptr("InProgress"),
	// 				Duration: to.Ptr("PT12.4272909S"),
	// 				VirtualMachineVersion: to.Ptr("Compute"),
	// 			},
	// 	}},
	// }
}
Output:

Example (ListJobsWithTimeFilter)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupJobsClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupJobsClientListOptions{Filter: to.Ptr("startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'"),
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.JobResourceList = armrecoveryservicesbackup.JobResourceList{
	// 	Value: []*armrecoveryservicesbackup.JobResource{
	// 		{
	// 			Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupJobs"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSVMJob{
	// 				ActivityID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
	// 				EntityFriendlyName: to.Ptr("testvm"),
	// 				JobType: to.Ptr("AzureIaaSVMJob"),
	// 				Operation: to.Ptr("Backup"),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:31:07.014604Z"); return t}()),
	// 				Status: to.Ptr("InProgress"),
	// 				Duration: to.Ptr("PT12.4272909S"),
	// 				VirtualMachineVersion: to.Ptr("Compute"),
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupJobs"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSVMJob{
	// 				ActivityID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
	// 				EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:31:03.7553376Z"); return t}()),
	// 				EntityFriendlyName: to.Ptr("testvm"),
	// 				JobType: to.Ptr("AzureIaaSVMJob"),
	// 				Operation: to.Ptr("ConfigureBackup"),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:30:32.4487085Z"); return t}()),
	// 				Status: to.Ptr("Completed"),
	// 				Duration: to.Ptr("PT31.3066291S"),
	// 				VirtualMachineVersion: to.Ptr("Compute"),
	// 			},
	// 	}},
	// }
}
Output:

type BackupJobsClientListOptions

type BackupJobsClientListOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupJobsClientListOptions contains the optional parameters for the BackupJobsClient.NewListPager method.

type BackupJobsClientListResponse

type BackupJobsClientListResponse struct {
	JobResourceList
}

BackupJobsClientListResponse contains the response from method BackupJobsClient.NewListPager.

type BackupManagementType

type BackupManagementType string

BackupManagementType - Backup management type to execute the current job.

const (
	BackupManagementTypeAzureBackupServer BackupManagementType = "AzureBackupServer"
	BackupManagementTypeAzureIaasVM       BackupManagementType = "AzureIaasVM"
	BackupManagementTypeAzureSQL          BackupManagementType = "AzureSql"
	BackupManagementTypeAzureStorage      BackupManagementType = "AzureStorage"
	BackupManagementTypeAzureWorkload     BackupManagementType = "AzureWorkload"
	BackupManagementTypeDPM               BackupManagementType = "DPM"
	BackupManagementTypeDefaultBackup     BackupManagementType = "DefaultBackup"
	BackupManagementTypeInvalid           BackupManagementType = "Invalid"
	BackupManagementTypeMAB               BackupManagementType = "MAB"
)

func PossibleBackupManagementTypeValues

func PossibleBackupManagementTypeValues() []BackupManagementType

PossibleBackupManagementTypeValues returns the possible values for the BackupManagementType const type.

type BackupManagementUsage

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
}

BackupManagementUsage - Backup management usages of a vault.

func (BackupManagementUsage) MarshalJSON

func (b BackupManagementUsage) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupManagementUsage.

func (*BackupManagementUsage) UnmarshalJSON

func (b *BackupManagementUsage) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupManagementUsage.

type BackupManagementUsageList

type BackupManagementUsageList struct {
	// The list of backup management usages for the given vault.
	Value []*BackupManagementUsage
}

BackupManagementUsageList - Backup management usage for vault.

func (BackupManagementUsageList) MarshalJSON

func (b BackupManagementUsageList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupManagementUsageList.

func (*BackupManagementUsageList) UnmarshalJSON

func (b *BackupManagementUsageList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupManagementUsageList.

type BackupOperationResultsClient

type BackupOperationResultsClient struct {
	// contains filtered or unexported fields
}

BackupOperationResultsClient contains the methods for the BackupOperationResults group. Don't use this type directly, use NewBackupOperationResultsClient() instead.

func NewBackupOperationResultsClient

func NewBackupOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupOperationResultsClient, error)

NewBackupOperationResultsClient creates a new instance of BackupOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupOperationResultsClient) Get

Get - Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is part of the Location header of the operation response. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • operationID - OperationID which represents the operation.
  • options - BackupOperationResultsClientGetOptions contains the optional parameters for the BackupOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewBackupOperationResultsClient().Get(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type BackupOperationResultsClientGetOptions

type BackupOperationResultsClientGetOptions struct {
}

BackupOperationResultsClientGetOptions contains the optional parameters for the BackupOperationResultsClient.Get method.

type BackupOperationResultsClientGetResponse

type BackupOperationResultsClientGetResponse struct {
}

BackupOperationResultsClientGetResponse contains the response from method BackupOperationResultsClient.Get.

type BackupOperationStatusesClient

type BackupOperationStatusesClient struct {
	// contains filtered or unexported fields
}

BackupOperationStatusesClient contains the methods for the BackupOperationStatuses group. Don't use this type directly, use NewBackupOperationStatusesClient() instead.

func NewBackupOperationStatusesClient

func NewBackupOperationStatusesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupOperationStatusesClient, error)

NewBackupOperationStatusesClient creates a new instance of BackupOperationStatusesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupOperationStatusesClient) Get

Get - Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs when the operation is complete. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • operationID - OperationID which represents the operation.
  • options - BackupOperationStatusesClientGetOptions contains the optional parameters for the BackupOperationStatusesClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupOperationStatusesClient().Get(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatus = armrecoveryservicesbackup.OperationStatus{
// 	Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T00:00:00.00000Z"); return t}()),
// 	ID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T06:52:53.886027Z"); return t}()),
// 	Status: to.Ptr(armrecoveryservicesbackup.OperationStatusValuesInProgress),
// }
Output:

type BackupOperationStatusesClientGetOptions

type BackupOperationStatusesClientGetOptions struct {
}

BackupOperationStatusesClientGetOptions contains the optional parameters for the BackupOperationStatusesClient.Get method.

type BackupOperationStatusesClientGetResponse

type BackupOperationStatusesClientGetResponse struct {
	OperationStatus
}

BackupOperationStatusesClientGetResponse contains the response from method BackupOperationStatusesClient.Get.

type BackupPoliciesClient

type BackupPoliciesClient struct {
	// contains filtered or unexported fields
}

BackupPoliciesClient contains the methods for the BackupPolicies group. Don't use this type directly, use NewBackupPoliciesClient() instead.

func NewBackupPoliciesClient

func NewBackupPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupPoliciesClient, error)

NewBackupPoliciesClient creates a new instance of BackupPoliciesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupPoliciesClient) NewListPager

func (client *BackupPoliciesClient) NewListPager(vaultName string, resourceGroupName string, options *BackupPoliciesClientListOptions) *runtime.Pager[BackupPoliciesClientListResponse]

NewListPager - Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch scoped results.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupPoliciesClientListOptions contains the optional parameters for the BackupPoliciesClient.NewListPager method.
Example (ListProtectionPoliciesWithBackupManagementTypeFilterAsAzureIaasVm)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/BackupPolicies_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupPoliciesClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupPoliciesClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureIaasVM'")})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectionPolicyResourceList = armrecoveryservicesbackup.ProtectionPolicyResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectionPolicyResource{
	// 		{
	// 			Name: to.Ptr("DefaultPolicy"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
	// 				BackupManagementType: to.Ptr("AzureIaasVM"),
	// 				ProtectedItemsCount: to.Ptr[int32](0),
	// 				RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
	// 					RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
	// 					DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
	// 						RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
	// 							Count: to.Ptr[int32](30),
	// 							DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
	// 						},
	// 						RetentionTimes: []*time.Time{
	// 							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-05T19:00:00Z"); return t}())},
	// 						},
	// 					},
	// 					SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
	// 						SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
	// 						ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
	// 						ScheduleRunTimes: []*time.Time{
	// 							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-05T19:00:00Z"); return t}())},
	// 							ScheduleWeeklyFrequency: to.Ptr[int32](0),
	// 						},
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("testPolicy1"),
	// 					Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
	// 					ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
	// 					Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
	// 						BackupManagementType: to.Ptr("AzureIaasVM"),
	// 						ProtectedItemsCount: to.Ptr[int32](0),
	// 						RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
	// 							RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
	// 							DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
	// 								RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
	// 									Count: to.Ptr[int32](1),
	// 									DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
	// 								},
	// 								RetentionTimes: []*time.Time{
	// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
	// 								},
	// 							},
	// 							SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
	// 								SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
	// 								ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
	// 								ScheduleRunTimes: []*time.Time{
	// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
	// 									ScheduleWeeklyFrequency: to.Ptr[int32](0),
	// 								},
	// 								TimeZone: to.Ptr("Pacific Standard Time"),
	// 							},
	// 					}},
	// 				}
}
Output:

Example (ListProtectionPoliciesWithBackupManagementTypeFilterAsAzureIaasVmWithBothV1AndV2Policies)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupPoliciesClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupPoliciesClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureIaasVM'")})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectionPolicyResourceList = armrecoveryservicesbackup.ProtectionPolicyResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectionPolicyResource{
	// 		{
	// 			Name: to.Ptr("DefaultPolicy"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
	// 				BackupManagementType: to.Ptr("AzureIaasVM"),
	// 				ProtectedItemsCount: to.Ptr[int32](0),
	// 				RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
	// 					RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
	// 					DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
	// 						RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
	// 							Count: to.Ptr[int32](30),
	// 							DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
	// 						},
	// 						RetentionTimes: []*time.Time{
	// 							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-05T19:00:00Z"); return t}())},
	// 						},
	// 					},
	// 					SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
	// 						SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
	// 						ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
	// 						ScheduleRunTimes: []*time.Time{
	// 							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-05T19:00:00Z"); return t}())},
	// 							ScheduleWeeklyFrequency: to.Ptr[int32](0),
	// 						},
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("testPolicy1"),
	// 					Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
	// 					ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
	// 					Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
	// 						BackupManagementType: to.Ptr("AzureIaasVM"),
	// 						ProtectedItemsCount: to.Ptr[int32](0),
	// 						RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
	// 							RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
	// 							DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
	// 								RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
	// 									Count: to.Ptr[int32](1),
	// 									DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
	// 								},
	// 								RetentionTimes: []*time.Time{
	// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
	// 								},
	// 							},
	// 							SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
	// 								SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
	// 								ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
	// 								ScheduleRunTimes: []*time.Time{
	// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
	// 									ScheduleWeeklyFrequency: to.Ptr[int32](0),
	// 								},
	// 								TimeZone: to.Ptr("Pacific Standard Time"),
	// 							},
	// 						},
	// 						{
	// 							Name: to.Ptr("v2-daily-policy"),
	// 							Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
	// 							ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy"),
	// 							Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
	// 								BackupManagementType: to.Ptr("AzureIaasVM"),
	// 								ProtectedItemsCount: to.Ptr[int32](0),
	// 								RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
	// 									RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
	// 									DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
	// 										RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
	// 											Count: to.Ptr[int32](1),
	// 											DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
	// 										},
	// 										RetentionTimes: []*time.Time{
	// 											to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
	// 										},
	// 									},
	// 									SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicyV2{
	// 										SchedulePolicyType: to.Ptr("SimpleSchedulePolicyV2"),
	// 										DailySchedule: &armrecoveryservicesbackup.DailySchedule{
	// 											ScheduleRunTimes: []*time.Time{
	// 												to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
	// 											},
	// 											ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
	// 										},
	// 										TimeZone: to.Ptr("Pacific Standard Time"),
	// 									},
	// 							}},
	// 						}
}
Output:

Example (ListProtectionPoliciesWithBackupManagementTypeFilterAsAzureWorkload)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/BackupPolicies_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupPoliciesClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupPoliciesClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureWorkload'")})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectionPolicyResourceList = armrecoveryservicesbackup.ProtectionPolicyResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectionPolicyResource{
	// 		{
	// 			Name: to.Ptr("HourlyLogBackup"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup"),
	// 			Properties: &armrecoveryservicesbackup.AzureVMWorkloadProtectionPolicy{
	// 				BackupManagementType: to.Ptr("AzureWorkload"),
	// 				ProtectedItemsCount: to.Ptr[int32](0),
	// 				Settings: &armrecoveryservicesbackup.Settings{
	// 					Issqlcompression: to.Ptr(false),
	// 					TimeZone: to.Ptr("UTC"),
	// 				},
	// 				SubProtectionPolicy: []*armrecoveryservicesbackup.SubProtectionPolicy{
	// 					{
	// 						PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeFull),
	// 						RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
	// 							RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
	// 							DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
	// 								RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
	// 									Count: to.Ptr[int32](30),
	// 									DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
	// 								},
	// 								RetentionTimes: []*time.Time{
	// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-05T19:00:00Z"); return t}())},
	// 								},
	// 							},
	// 							SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
	// 								SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
	// 								ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
	// 								ScheduleRunTimes: []*time.Time{
	// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-05T19:00:00Z"); return t}())},
	// 									ScheduleWeeklyFrequency: to.Ptr[int32](0),
	// 								},
	// 							},
	// 							{
	// 								PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeLog),
	// 								RetentionPolicy: &armrecoveryservicesbackup.SimpleRetentionPolicy{
	// 									RetentionPolicyType: to.Ptr("SimpleRetentionPolicy"),
	// 									RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
	// 										Count: to.Ptr[int32](30),
	// 										DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
	// 									},
	// 								},
	// 								SchedulePolicy: &armrecoveryservicesbackup.LogSchedulePolicy{
	// 									SchedulePolicyType: to.Ptr("LogSchedulePolicy"),
	// 									ScheduleFrequencyInMins: to.Ptr[int32](60),
	// 								},
	// 						}},
	// 						WorkLoadType: to.Ptr(armrecoveryservicesbackup.WorkloadTypeSQLDataBase),
	// 					},
	// 			}},
	// 		}
}
Output:

type BackupPoliciesClientListOptions

type BackupPoliciesClientListOptions struct {
	// OData filter options.
	Filter *string
}

BackupPoliciesClientListOptions contains the optional parameters for the BackupPoliciesClient.NewListPager method.

type BackupPoliciesClientListResponse

type BackupPoliciesClientListResponse struct {
	ProtectionPolicyResourceList
}

BackupPoliciesClientListResponse contains the response from method BackupPoliciesClient.NewListPager.

type BackupProtectableItemsClient

type BackupProtectableItemsClient struct {
	// contains filtered or unexported fields
}

BackupProtectableItemsClient contains the methods for the BackupProtectableItems group. Don't use this type directly, use NewBackupProtectableItemsClient() instead.

func NewBackupProtectableItemsClient

func NewBackupProtectableItemsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupProtectableItemsClient, error)

NewBackupProtectableItemsClient creates a new instance of BackupProtectableItemsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupProtectableItemsClient) NewListPager

NewListPager - Provides a pageable list of protectable objects within your subscription according to the query filter and the pagination parameters.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupProtectableItemsClientListOptions contains the optional parameters for the BackupProtectableItemsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupProtectableItemsClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupProtectableItemsClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureIaasVM'"),
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.WorkloadProtectableItemResourceList = armrecoveryservicesbackup.WorkloadProtectableItemResourceList{
	// 	Value: []*armrecoveryservicesbackup.WorkloadProtectableItemResource{
	// 		{
	// 			Name: to.Ptr("VM;iaasvmcontainer;iaasvm-rg;iaasvm-1"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSClassicComputeVMProtectableItem{
	// 				BackupManagementType: to.Ptr("AzureIaasVM"),
	// 				FriendlyName: to.Ptr("iaasvm-1"),
	// 				ProtectableItemType: to.Ptr("Microsoft.ClassicCompute/virtualMachines"),
	// 				ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStatusNotProtected),
	// 				WorkloadType: to.Ptr("VM"),
	// 				VirtualMachineID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1"),
	// 			},
	// 	}},
	// }
}
Output:

type BackupProtectableItemsClientListOptions

type BackupProtectableItemsClientListOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupProtectableItemsClientListOptions contains the optional parameters for the BackupProtectableItemsClient.NewListPager method.

type BackupProtectableItemsClientListResponse

type BackupProtectableItemsClientListResponse struct {
	WorkloadProtectableItemResourceList
}

BackupProtectableItemsClientListResponse contains the response from method BackupProtectableItemsClient.NewListPager.

type BackupProtectedItemsClient

type BackupProtectedItemsClient struct {
	// contains filtered or unexported fields
}

BackupProtectedItemsClient contains the methods for the BackupProtectedItems group. Don't use this type directly, use NewBackupProtectedItemsClient() instead.

func NewBackupProtectedItemsClient

func NewBackupProtectedItemsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupProtectedItemsClient, error)

NewBackupProtectedItemsClient creates a new instance of BackupProtectedItemsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupProtectedItemsClient) NewListPager

NewListPager - Provides a pageable list of all items that are backed up within a vault.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupProtectedItemsClientListOptions contains the optional parameters for the BackupProtectedItemsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupProtectedItemsClient().NewListPager("NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.BackupProtectedItemsClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"),
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectedItemResourceList = armrecoveryservicesbackup.ProtectedItemResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectedItemResource{
	// 		{
	// 			Name: to.Ptr("VM;iaasvmcontainer;iaasvm-rg;iaasvm-1"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1"),
	// 			Properties: &armrecoveryservicesbackup.AzureIaaSClassicComputeVMProtectedItem{
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
	// 				ContainerName: to.Ptr("iaasvmcontainer;iaasvm-rg;iaasvm-1"),
	// 				LastRecoveryPoint: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-22T12:25:32.048723Z"); return t}()),
	// 				PolicyID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
	// 				ProtectedItemType: to.Ptr("Microsoft.ClassicCompute/virtualMachines"),
	// 				SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1"),
	// 				WorkloadType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
	// 				FriendlyName: to.Ptr("iaasvm-1"),
	// 				HealthStatus: to.Ptr(armrecoveryservicesbackup.HealthStatusPassed),
	// 				LastBackupStatus: to.Ptr("Completed"),
	// 				LastBackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-22T12:25:32.048723Z"); return t}()),
	// 				ProtectedItemDataID: to.Ptr("636482643132986882"),
	// 				ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStateProtected),
	// 				ProtectionStatus: to.Ptr("Healthy"),
	// 				VirtualMachineID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1"),
	// 			},
	// 	}},
	// }
}
Output:

type BackupProtectedItemsClientListOptions

type BackupProtectedItemsClientListOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupProtectedItemsClientListOptions contains the optional parameters for the BackupProtectedItemsClient.NewListPager method.

type BackupProtectedItemsClientListResponse

type BackupProtectedItemsClientListResponse struct {
	ProtectedItemResourceList
}

BackupProtectedItemsClientListResponse contains the response from method BackupProtectedItemsClient.NewListPager.

type BackupProtectionContainersClient

type BackupProtectionContainersClient struct {
	// contains filtered or unexported fields
}

BackupProtectionContainersClient contains the methods for the BackupProtectionContainers group. Don't use this type directly, use NewBackupProtectionContainersClient() instead.

func NewBackupProtectionContainersClient

func NewBackupProtectionContainersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupProtectionContainersClient, error)

NewBackupProtectionContainersClient creates a new instance of BackupProtectionContainersClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupProtectionContainersClient) NewListPager

NewListPager - Lists the containers registered to Recovery Services Vault.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupProtectionContainersClientListOptions contains the optional parameters for the BackupProtectionContainersClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/ProtectionContainers_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupProtectionContainersClient().NewListPager("testVault", "testRg", &armrecoveryservicesbackup.BackupProtectionContainersClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureWorkload'")})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectionContainerResourceList = armrecoveryservicesbackup.ProtectionContainerResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectionContainerResource{
	// 		{
	// 			Name: to.Ptr("StorageContainer;Storage;testrg;suchandrtestsa125"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers"),
	// 			ID: to.Ptr("/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125"),
	// 			Properties: &armrecoveryservicesbackup.AzureStorageContainer{
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureStorage),
	// 				ContainerType: to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeStorageContainer),
	// 				FriendlyName: to.Ptr("suchandrtestsa125"),
	// 				HealthStatus: to.Ptr("Healthy"),
	// 				RegistrationStatus: to.Ptr("Registered"),
	// 				ProtectedItemCount: to.Ptr[int64](2),
	// 				SourceResourceID: to.Ptr("/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125"),
	// 			},
	// 	}},
	// }
}
Output:

type BackupProtectionContainersClientListOptions

type BackupProtectionContainersClientListOptions struct {
	// OData filter options.
	Filter *string
}

BackupProtectionContainersClientListOptions contains the optional parameters for the BackupProtectionContainersClient.NewListPager method.

type BackupProtectionContainersClientListResponse

type BackupProtectionContainersClientListResponse struct {
	ProtectionContainerResourceList
}

BackupProtectionContainersClientListResponse contains the response from method BackupProtectionContainersClient.NewListPager.

type BackupProtectionIntentClient

type BackupProtectionIntentClient struct {
	// contains filtered or unexported fields
}

BackupProtectionIntentClient contains the methods for the BackupProtectionIntent group. Don't use this type directly, use NewBackupProtectionIntentClient() instead.

func NewBackupProtectionIntentClient

func NewBackupProtectionIntentClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupProtectionIntentClient, error)

NewBackupProtectionIntentClient creates a new instance of BackupProtectionIntentClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupProtectionIntentClient) NewListPager

NewListPager - Provides a pageable list of all intents that are present within a vault.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupProtectionIntentClientListOptions contains the optional parameters for the BackupProtectionIntentClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupProtectionIntentClient().NewListPager("myVault", "myRG", &armrecoveryservicesbackup.BackupProtectionIntentClientListOptions{Filter: nil,
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectionIntentResourceList = armrecoveryservicesbackup.ProtectionIntentResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectionIntentResource{
	// 		{
	// 			Name: to.Ptr("249D9B07-D2EF-4202-AA64-65F35418564E"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupProtectionIntent"),
	// 			ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E"),
	// 			Properties: &armrecoveryservicesbackup.AzureWorkloadContainerAutoProtectionIntent{
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureWorkload),
	// 				ItemID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER"),
	// 				PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy"),
	// 				ProtectionIntentItemType: to.Ptr(armrecoveryservicesbackup.ProtectionIntentItemTypeAzureWorkloadContainerAutoProtectionIntent),
	// 			},
	// 	}},
	// }
}
Output:

type BackupProtectionIntentClientListOptions

type BackupProtectionIntentClientListOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupProtectionIntentClientListOptions contains the optional parameters for the BackupProtectionIntentClient.NewListPager method.

type BackupProtectionIntentClientListResponse

type BackupProtectionIntentClientListResponse struct {
	ProtectionIntentResourceList
}

BackupProtectionIntentClientListResponse contains the response from method BackupProtectionIntentClient.NewListPager.

type BackupRequest

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
}

BackupRequest - Base class for backup request. Workload-specific backup requests are derived from this class.

func (*BackupRequest) GetBackupRequest

func (b *BackupRequest) GetBackupRequest() *BackupRequest

GetBackupRequest implements the BackupRequestClassification interface for type BackupRequest.

func (BackupRequest) MarshalJSON

func (b BackupRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupRequest.

func (*BackupRequest) UnmarshalJSON

func (b *BackupRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupRequest.

type BackupRequestClassification

type BackupRequestClassification interface {
	// GetBackupRequest returns the BackupRequest content of the underlying type.
	GetBackupRequest() *BackupRequest
}

BackupRequestClassification provides polymorphic access to related types. Call the interface's GetBackupRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureFileShareBackupRequest, *AzureWorkloadBackupRequest, *BackupRequest, *IaasVMBackupRequest

type BackupRequestResource

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
}

BackupRequestResource - Base class for backup request. Workload-specific backup requests are derived from this class.

func (BackupRequestResource) MarshalJSON

func (b BackupRequestResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupRequestResource.

func (*BackupRequestResource) UnmarshalJSON

func (b *BackupRequestResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupRequestResource.

type BackupResourceConfig

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
}

BackupResourceConfig - The resource storage details.

func (BackupResourceConfig) MarshalJSON

func (b BackupResourceConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupResourceConfig.

func (*BackupResourceConfig) UnmarshalJSON

func (b *BackupResourceConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceConfig.

type BackupResourceConfigResource

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
}

BackupResourceConfigResource - The resource storage details.

func (BackupResourceConfigResource) MarshalJSON

func (b BackupResourceConfigResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupResourceConfigResource.

func (*BackupResourceConfigResource) UnmarshalJSON

func (b *BackupResourceConfigResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceConfigResource.

type BackupResourceEncryptionConfig

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
}

func (BackupResourceEncryptionConfig) MarshalJSON

func (b BackupResourceEncryptionConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupResourceEncryptionConfig.

func (*BackupResourceEncryptionConfig) UnmarshalJSON

func (b *BackupResourceEncryptionConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceEncryptionConfig.

type BackupResourceEncryptionConfigExtended

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
}

func (BackupResourceEncryptionConfigExtended) MarshalJSON

func (b BackupResourceEncryptionConfigExtended) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupResourceEncryptionConfigExtended.

func (*BackupResourceEncryptionConfigExtended) UnmarshalJSON

func (b *BackupResourceEncryptionConfigExtended) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceEncryptionConfigExtended.

type BackupResourceEncryptionConfigExtendedResource

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
}

func (BackupResourceEncryptionConfigExtendedResource) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type BackupResourceEncryptionConfigExtendedResource.

func (*BackupResourceEncryptionConfigExtendedResource) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceEncryptionConfigExtendedResource.

type BackupResourceEncryptionConfigResource

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
}

func (BackupResourceEncryptionConfigResource) MarshalJSON

func (b BackupResourceEncryptionConfigResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupResourceEncryptionConfigResource.

func (*BackupResourceEncryptionConfigResource) UnmarshalJSON

func (b *BackupResourceEncryptionConfigResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceEncryptionConfigResource.

type BackupResourceEncryptionConfigsClient

type BackupResourceEncryptionConfigsClient struct {
	// contains filtered or unexported fields
}

BackupResourceEncryptionConfigsClient contains the methods for the BackupResourceEncryptionConfigs group. Don't use this type directly, use NewBackupResourceEncryptionConfigsClient() instead.

func NewBackupResourceEncryptionConfigsClient

func NewBackupResourceEncryptionConfigsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupResourceEncryptionConfigsClient, error)

NewBackupResourceEncryptionConfigsClient creates a new instance of BackupResourceEncryptionConfigsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupResourceEncryptionConfigsClient) Get

Get - Fetches Vault Encryption config. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupResourceEncryptionConfigsClientGetOptions contains the optional parameters for the BackupResourceEncryptionConfigsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/BackupResourceEncryptionConfig_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupResourceEncryptionConfigsClient().Get(ctx, "rishTestVault", "rishgrp", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupResourceEncryptionConfigExtendedResource = armrecoveryservicesbackup.BackupResourceEncryptionConfigExtendedResource{
// 	Name: to.Ptr("backupResourceEncryptionConfig"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupEncryptionConfigs"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig"),
// 	Properties: &armrecoveryservicesbackup.BackupResourceEncryptionConfigExtended{
// 		EncryptionAtRestType: to.Ptr(armrecoveryservicesbackup.EncryptionAtRestTypeCustomerManaged),
// 		InfrastructureEncryptionState: to.Ptr(armrecoveryservicesbackup.InfrastructureEncryptionStateDisabled),
// 		KeyURI: to.Ptr("https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed"),
// 		LastUpdateStatus: to.Ptr(armrecoveryservicesbackup.LastUpdateStatusSucceeded),
// 		SubscriptionID: to.Ptr("1a2311d9-66f5-47d3-a9fb-7a37da63934b"),
// 		UseSystemAssignedIdentity: to.Ptr(false),
// 		UserAssignedIdentity: to.Ptr("/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"),
// 	},
// }
Output:

func (*BackupResourceEncryptionConfigsClient) Update

Update - Updates Vault encryption config. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Vault encryption input config request
  • options - BackupResourceEncryptionConfigsClientUpdateOptions contains the optional parameters for the BackupResourceEncryptionConfigsClient.Update method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/BackupResourceEncryptionConfig_Put.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewBackupResourceEncryptionConfigsClient().Update(ctx, "source-rsv", "test-rg", armrecoveryservicesbackup.BackupResourceEncryptionConfigResource{
	Properties: &armrecoveryservicesbackup.BackupResourceEncryptionConfig{
		EncryptionAtRestType:          to.Ptr(armrecoveryservicesbackup.EncryptionAtRestTypeCustomerManaged),
		InfrastructureEncryptionState: to.Ptr(armrecoveryservicesbackup.InfrastructureEncryptionState("true")),
		KeyURI:                        to.Ptr("https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed"),
		SubscriptionID:                to.Ptr("1a2311d9-66f5-47d3-a9fb-7a37da63934b"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type BackupResourceEncryptionConfigsClientGetOptions

type BackupResourceEncryptionConfigsClientGetOptions struct {
}

BackupResourceEncryptionConfigsClientGetOptions contains the optional parameters for the BackupResourceEncryptionConfigsClient.Get method.

type BackupResourceEncryptionConfigsClientGetResponse

type BackupResourceEncryptionConfigsClientGetResponse struct {
	BackupResourceEncryptionConfigExtendedResource
}

BackupResourceEncryptionConfigsClientGetResponse contains the response from method BackupResourceEncryptionConfigsClient.Get.

type BackupResourceEncryptionConfigsClientUpdateOptions

type BackupResourceEncryptionConfigsClientUpdateOptions struct {
}

BackupResourceEncryptionConfigsClientUpdateOptions contains the optional parameters for the BackupResourceEncryptionConfigsClient.Update method.

type BackupResourceEncryptionConfigsClientUpdateResponse

type BackupResourceEncryptionConfigsClientUpdateResponse struct {
}

BackupResourceEncryptionConfigsClientUpdateResponse contains the response from method BackupResourceEncryptionConfigsClient.Update.

type BackupResourceStorageConfigsNonCRRClient

type BackupResourceStorageConfigsNonCRRClient struct {
	// contains filtered or unexported fields
}

BackupResourceStorageConfigsNonCRRClient contains the methods for the BackupResourceStorageConfigsNonCRR group. Don't use this type directly, use NewBackupResourceStorageConfigsNonCRRClient() instead.

func NewBackupResourceStorageConfigsNonCRRClient

func NewBackupResourceStorageConfigsNonCRRClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupResourceStorageConfigsNonCRRClient, error)

NewBackupResourceStorageConfigsNonCRRClient creates a new instance of BackupResourceStorageConfigsNonCRRClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupResourceStorageConfigsNonCRRClient) Get

Get - Fetches resource storage config. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupResourceStorageConfigsNonCRRClientGetOptions contains the optional parameters for the BackupResourceStorageConfigsNonCRRClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupStorageConfig_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupResourceStorageConfigsNonCRRClient().Get(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupResourceConfigResource = armrecoveryservicesbackup.BackupResourceConfigResource{
// 	Name: to.Ptr("vaultstorageconfig"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupstorageconfig"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig"),
// 	Properties: &armrecoveryservicesbackup.BackupResourceConfig{
// 		StorageModelType: to.Ptr(armrecoveryservicesbackup.StorageTypeGeoRedundant),
// 		StorageType: to.Ptr(armrecoveryservicesbackup.StorageTypeGeoRedundant),
// 		StorageTypeState: to.Ptr(armrecoveryservicesbackup.StorageTypeStateLocked),
// 	},
// }
Output:

func (*BackupResourceStorageConfigsNonCRRClient) Patch

Patch - Updates vault storage model type. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Vault storage config request
  • options - BackupResourceStorageConfigsNonCRRClientPatchOptions contains the optional parameters for the BackupResourceStorageConfigsNonCRRClient.Patch method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupStorageConfig_Patch.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewBackupResourceStorageConfigsNonCRRClient().Patch(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", armrecoveryservicesbackup.BackupResourceConfigResource{
	Properties: &armrecoveryservicesbackup.BackupResourceConfig{
		StorageType:      to.Ptr(armrecoveryservicesbackup.StorageTypeLocallyRedundant),
		StorageTypeState: to.Ptr(armrecoveryservicesbackup.StorageTypeStateUnlocked),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*BackupResourceStorageConfigsNonCRRClient) Update

Update - Updates vault storage model type. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Vault storage config request
  • options - BackupResourceStorageConfigsNonCRRClientUpdateOptions contains the optional parameters for the BackupResourceStorageConfigsNonCRRClient.Update method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupStorageConfig_Put.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupResourceStorageConfigsNonCRRClient().Update(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", armrecoveryservicesbackup.BackupResourceConfigResource{
	Properties: &armrecoveryservicesbackup.BackupResourceConfig{
		StorageType:      to.Ptr(armrecoveryservicesbackup.StorageTypeLocallyRedundant),
		StorageTypeState: to.Ptr(armrecoveryservicesbackup.StorageTypeStateUnlocked),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupResourceConfigResource = armrecoveryservicesbackup.BackupResourceConfigResource{
// 	Name: to.Ptr("vaultstorageconfig"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupstorageconfig"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig"),
// 	Properties: &armrecoveryservicesbackup.BackupResourceConfig{
// 		StorageModelType: to.Ptr(armrecoveryservicesbackup.StorageTypeLocallyRedundant),
// 		StorageType: to.Ptr(armrecoveryservicesbackup.StorageTypeLocallyRedundant),
// 		StorageTypeState: to.Ptr(armrecoveryservicesbackup.StorageTypeStateUnlocked),
// 	},
// }
Output:

type BackupResourceStorageConfigsNonCRRClientGetOptions

type BackupResourceStorageConfigsNonCRRClientGetOptions struct {
}

BackupResourceStorageConfigsNonCRRClientGetOptions contains the optional parameters for the BackupResourceStorageConfigsNonCRRClient.Get method.

type BackupResourceStorageConfigsNonCRRClientGetResponse

type BackupResourceStorageConfigsNonCRRClientGetResponse struct {
	BackupResourceConfigResource
}

BackupResourceStorageConfigsNonCRRClientGetResponse contains the response from method BackupResourceStorageConfigsNonCRRClient.Get.

type BackupResourceStorageConfigsNonCRRClientPatchOptions

type BackupResourceStorageConfigsNonCRRClientPatchOptions struct {
}

BackupResourceStorageConfigsNonCRRClientPatchOptions contains the optional parameters for the BackupResourceStorageConfigsNonCRRClient.Patch method.

type BackupResourceStorageConfigsNonCRRClientPatchResponse

type BackupResourceStorageConfigsNonCRRClientPatchResponse struct {
}

BackupResourceStorageConfigsNonCRRClientPatchResponse contains the response from method BackupResourceStorageConfigsNonCRRClient.Patch.

type BackupResourceStorageConfigsNonCRRClientUpdateOptions

type BackupResourceStorageConfigsNonCRRClientUpdateOptions struct {
}

BackupResourceStorageConfigsNonCRRClientUpdateOptions contains the optional parameters for the BackupResourceStorageConfigsNonCRRClient.Update method.

type BackupResourceStorageConfigsNonCRRClientUpdateResponse

type BackupResourceStorageConfigsNonCRRClientUpdateResponse struct {
	BackupResourceConfigResource
}

BackupResourceStorageConfigsNonCRRClientUpdateResponse contains the response from method BackupResourceStorageConfigsNonCRRClient.Update.

type BackupResourceVaultConfig

type BackupResourceVaultConfig struct {
	// Enabled or Disabled.
	EnhancedSecurityState *EnhancedSecurityState

	// Is soft delete feature state editable
	IsSoftDeleteFeatureStateEditable *bool

	// ResourceGuard Operation Requests
	ResourceGuardOperationRequests []*string

	// Soft Delete feature state
	SoftDeleteFeatureState *SoftDeleteFeatureState

	// 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
}

BackupResourceVaultConfig - Backup resource vault config details.

func (BackupResourceVaultConfig) MarshalJSON

func (b BackupResourceVaultConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupResourceVaultConfig.

func (*BackupResourceVaultConfig) UnmarshalJSON

func (b *BackupResourceVaultConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceVaultConfig.

type BackupResourceVaultConfigResource

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
}

BackupResourceVaultConfigResource - Backup resource vault config details.

func (BackupResourceVaultConfigResource) MarshalJSON

func (b BackupResourceVaultConfigResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupResourceVaultConfigResource.

func (*BackupResourceVaultConfigResource) UnmarshalJSON

func (b *BackupResourceVaultConfigResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupResourceVaultConfigResource.

type BackupResourceVaultConfigsClient

type BackupResourceVaultConfigsClient struct {
	// contains filtered or unexported fields
}

BackupResourceVaultConfigsClient contains the methods for the BackupResourceVaultConfigs group. Don't use this type directly, use NewBackupResourceVaultConfigsClient() instead.

func NewBackupResourceVaultConfigsClient

func NewBackupResourceVaultConfigsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupResourceVaultConfigsClient, error)

NewBackupResourceVaultConfigsClient creates a new instance of BackupResourceVaultConfigsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupResourceVaultConfigsClient) Get

Get - Fetches resource vault config. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupResourceVaultConfigsClientGetOptions contains the optional parameters for the BackupResourceVaultConfigsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupResourceVaultConfigs_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupResourceVaultConfigsClient().Get(ctx, "SwaggerTest", "SwaggerTestRg", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupResourceVaultConfigResource = armrecoveryservicesbackup.BackupResourceVaultConfigResource{
// 	Name: to.Ptr("vaultconfig"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupconfig"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig"),
// 	Properties: &armrecoveryservicesbackup.BackupResourceVaultConfig{
// 		EnhancedSecurityState: to.Ptr(armrecoveryservicesbackup.EnhancedSecurityStateEnabled),
// 	},
// }
Output:

func (*BackupResourceVaultConfigsClient) Put

Put - Updates vault security config. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - resource config request
  • options - BackupResourceVaultConfigsClientPutOptions contains the optional parameters for the BackupResourceVaultConfigsClient.Put method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupResourceVaultConfigs_Put.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupResourceVaultConfigsClient().Put(ctx, "SwaggerTest", "SwaggerTestRg", armrecoveryservicesbackup.BackupResourceVaultConfigResource{
	Properties: &armrecoveryservicesbackup.BackupResourceVaultConfig{
		EnhancedSecurityState:  to.Ptr(armrecoveryservicesbackup.EnhancedSecurityStateEnabled),
		SoftDeleteFeatureState: to.Ptr(armrecoveryservicesbackup.SoftDeleteFeatureStateEnabled),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupResourceVaultConfigResource = armrecoveryservicesbackup.BackupResourceVaultConfigResource{
// 	Name: to.Ptr("vaultconfig"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupconfig"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig"),
// 	Properties: &armrecoveryservicesbackup.BackupResourceVaultConfig{
// 		EnhancedSecurityState: to.Ptr(armrecoveryservicesbackup.EnhancedSecurityStateEnabled),
// 		SoftDeleteFeatureState: to.Ptr(armrecoveryservicesbackup.SoftDeleteFeatureStateEnabled),
// 	},
// }
Output:

func (*BackupResourceVaultConfigsClient) Update

Update - Updates vault security config. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - resource config request
  • options - BackupResourceVaultConfigsClientUpdateOptions contains the optional parameters for the BackupResourceVaultConfigsClient.Update method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupResourceVaultConfigsClient().Update(ctx, "SwaggerTest", "SwaggerTestRg", armrecoveryservicesbackup.BackupResourceVaultConfigResource{
	Properties: &armrecoveryservicesbackup.BackupResourceVaultConfig{
		EnhancedSecurityState: to.Ptr(armrecoveryservicesbackup.EnhancedSecurityStateEnabled),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupResourceVaultConfigResource = armrecoveryservicesbackup.BackupResourceVaultConfigResource{
// 	Name: to.Ptr("vaultconfig"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupconfig"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig"),
// 	Properties: &armrecoveryservicesbackup.BackupResourceVaultConfig{
// 		EnhancedSecurityState: to.Ptr(armrecoveryservicesbackup.EnhancedSecurityStateEnabled),
// 	},
// }
Output:

type BackupResourceVaultConfigsClientGetOptions

type BackupResourceVaultConfigsClientGetOptions struct {
}

BackupResourceVaultConfigsClientGetOptions contains the optional parameters for the BackupResourceVaultConfigsClient.Get method.

type BackupResourceVaultConfigsClientGetResponse

type BackupResourceVaultConfigsClientGetResponse struct {
	BackupResourceVaultConfigResource
}

BackupResourceVaultConfigsClientGetResponse contains the response from method BackupResourceVaultConfigsClient.Get.

type BackupResourceVaultConfigsClientPutOptions

type BackupResourceVaultConfigsClientPutOptions struct {
}

BackupResourceVaultConfigsClientPutOptions contains the optional parameters for the BackupResourceVaultConfigsClient.Put method.

type BackupResourceVaultConfigsClientPutResponse

type BackupResourceVaultConfigsClientPutResponse struct {
	BackupResourceVaultConfigResource
}

BackupResourceVaultConfigsClientPutResponse contains the response from method BackupResourceVaultConfigsClient.Put.

type BackupResourceVaultConfigsClientUpdateOptions

type BackupResourceVaultConfigsClientUpdateOptions struct {
}

BackupResourceVaultConfigsClientUpdateOptions contains the optional parameters for the BackupResourceVaultConfigsClient.Update method.

type BackupResourceVaultConfigsClientUpdateResponse

type BackupResourceVaultConfigsClientUpdateResponse struct {
	BackupResourceVaultConfigResource
}

BackupResourceVaultConfigsClientUpdateResponse contains the response from method BackupResourceVaultConfigsClient.Update.

type BackupStatusClient

type BackupStatusClient struct {
	// contains filtered or unexported fields
}

BackupStatusClient contains the methods for the BackupStatus group. Don't use this type directly, use NewBackupStatusClient() instead.

func NewBackupStatusClient

func NewBackupStatusClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupStatusClient, error)

NewBackupStatusClient creates a new instance of BackupStatusClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupStatusClient) Get

Get - Get the container backup status If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • azureRegion - Azure region to hit Api
  • parameters - Container Backup Status Request
  • options - BackupStatusClientGetOptions contains the optional parameters for the BackupStatusClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/GetBackupStatus.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewBackupStatusClient().Get(ctx, "southeastasia", armrecoveryservicesbackup.BackupStatusRequest{
	ResourceID:   to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm"),
	ResourceType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BackupStatusResponse = armrecoveryservicesbackup.BackupStatusResponse{
// 	ContainerName: to.Ptr("iaasvmcontainer;iaasvmcontainerv2;testRg;testVm"),
// 	ErrorCode: to.Ptr("Success"),
// 	ErrorMessage: to.Ptr("ErrorMessage"),
// 	FabricName: to.Ptr(armrecoveryservicesbackup.FabricNameAzure),
// 	PolicyName: to.Ptr("myPolicy"),
// 	ProtectedItemName: to.Ptr("vm;iaasvmcontainerv2;testRg;testVm"),
// 	ProtectionStatus: to.Ptr(armrecoveryservicesbackup.ProtectionStatusProtected),
// 	VaultID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault"),
// }
Output:

type BackupStatusClientGetOptions

type BackupStatusClientGetOptions struct {
}

BackupStatusClientGetOptions contains the optional parameters for the BackupStatusClient.Get method.

type BackupStatusClientGetResponse

type BackupStatusClientGetResponse struct {
	BackupStatusResponse
}

BackupStatusClientGetResponse contains the response from method BackupStatusClient.Get.

type BackupStatusRequest

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
}

BackupStatusRequest - BackupStatus request.

func (BackupStatusRequest) MarshalJSON

func (b BackupStatusRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupStatusRequest.

func (*BackupStatusRequest) UnmarshalJSON

func (b *BackupStatusRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupStatusRequest.

type BackupStatusResponse

type BackupStatusResponse struct {
	// 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

	// 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
}

BackupStatusResponse - BackupStatus response.

func (BackupStatusResponse) MarshalJSON

func (b BackupStatusResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BackupStatusResponse.

func (*BackupStatusResponse) UnmarshalJSON

func (b *BackupStatusResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BackupStatusResponse.

type BackupType

type BackupType string

BackupType - Type of backup, viz. Full, Differential, Log or CopyOnlyFull

const (
	BackupTypeCopyOnlyFull         BackupType = "CopyOnlyFull"
	BackupTypeDifferential         BackupType = "Differential"
	BackupTypeFull                 BackupType = "Full"
	BackupTypeIncremental          BackupType = "Incremental"
	BackupTypeInvalid              BackupType = "Invalid"
	BackupTypeLog                  BackupType = "Log"
	BackupTypeSnapshotCopyOnlyFull BackupType = "SnapshotCopyOnlyFull"
	BackupTypeSnapshotFull         BackupType = "SnapshotFull"
)

func PossibleBackupTypeValues

func PossibleBackupTypeValues() []BackupType

PossibleBackupTypeValues returns the possible values for the BackupType const type.

type BackupUsageSummariesClient

type BackupUsageSummariesClient struct {
	// contains filtered or unexported fields
}

BackupUsageSummariesClient contains the methods for the BackupUsageSummaries group. Don't use this type directly, use NewBackupUsageSummariesClient() instead.

func NewBackupUsageSummariesClient

func NewBackupUsageSummariesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupUsageSummariesClient, error)

NewBackupUsageSummariesClient creates a new instance of BackupUsageSummariesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupUsageSummariesClient) NewListPager

NewListPager - Fetches the backup management usage summaries of the vault.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - BackupUsageSummariesClientListOptions contains the optional parameters for the BackupUsageSummariesClient.NewListPager method.
Example (GetProtectedContainersUsagesSummary)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupUsageSummariesClient().NewListPager("testVault", "testRG", &armrecoveryservicesbackup.BackupUsageSummariesClientListOptions{Filter: to.Ptr("type eq 'BackupProtectionContainerCountSummary'"),
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.BackupManagementUsageList = armrecoveryservicesbackup.BackupManagementUsageList{
	// 	Value: []*armrecoveryservicesbackup.BackupManagementUsage{
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("Azure Backup Server"),
	// 				Value: to.Ptr("AzureBackupServer"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](2),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 		},
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("Azure Backup Agent"),
	// 				Value: to.Ptr("MAB"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](3),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 		},
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("SQL in Azure VM"),
	// 				Value: to.Ptr("AzureWorkload"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](1),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 	}},
	// }
}
Output:

Example (GetProtectedItemsUsagesSummary)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupUsageSummariesClient().NewListPager("testVault", "testRG", &armrecoveryservicesbackup.BackupUsageSummariesClientListOptions{Filter: to.Ptr("type eq 'BackupProtectedItemCountSummary'"),
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.BackupManagementUsageList = armrecoveryservicesbackup.BackupManagementUsageList{
	// 	Value: []*armrecoveryservicesbackup.BackupManagementUsage{
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("Azure Virtual Machine"),
	// 				Value: to.Ptr("AzureIaasVM"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](7),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 		},
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("Azure Backup Agent"),
	// 				Value: to.Ptr("MAB"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](3),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 		},
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("Azure Backup Server"),
	// 				Value: to.Ptr("AzureBackupServer"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](1),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 		},
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("Azure Storage (Azure Files)"),
	// 				Value: to.Ptr("AzureStorage"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](2),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 		},
	// 		{
	// 			Name: &armrecoveryservicesbackup.NameInfo{
	// 				LocalizedValue: to.Ptr("SQL in Azure VM"),
	// 				Value: to.Ptr("AzureWorkload"),
	// 			},
	// 			CurrentValue: to.Ptr[int64](2),
	// 			Limit: to.Ptr[int64](-1),
	// 			Unit: to.Ptr(armrecoveryservicesbackup.UsagesUnitCount),
	// 	}},
	// }
}
Output:

type BackupUsageSummariesClientListOptions

type BackupUsageSummariesClientListOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupUsageSummariesClientListOptions contains the optional parameters for the BackupUsageSummariesClient.NewListPager method.

type BackupUsageSummariesClientListResponse

type BackupUsageSummariesClientListResponse struct {
	BackupManagementUsageList
}

BackupUsageSummariesClientListResponse contains the response from method BackupUsageSummariesClient.NewListPager.

type BackupWorkloadItemsClient

type BackupWorkloadItemsClient struct {
	// contains filtered or unexported fields
}

BackupWorkloadItemsClient contains the methods for the BackupWorkloadItems group. Don't use this type directly, use NewBackupWorkloadItemsClient() instead.

func NewBackupWorkloadItemsClient

func NewBackupWorkloadItemsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupWorkloadItemsClient, error)

NewBackupWorkloadItemsClient creates a new instance of BackupWorkloadItemsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupWorkloadItemsClient) NewListPager

func (client *BackupWorkloadItemsClient) NewListPager(vaultName string, resourceGroupName string, fabricName string, containerName string, options *BackupWorkloadItemsClientListOptions) *runtime.Pager[BackupWorkloadItemsClientListResponse]

NewListPager - Provides a pageable list of workload item of a specific container according to the query filter and the pagination parameters.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the container.
  • containerName - Name of the container.
  • options - BackupWorkloadItemsClientListOptions contains the optional parameters for the BackupWorkloadItemsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewBackupWorkloadItemsClient().NewListPager("suchandr-seacan-rsv", "testRg", "Azure", "VMAppContainer;Compute;bvtdtestag;sqlserver-1", &armrecoveryservicesbackup.BackupWorkloadItemsClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureWorkload'"),
	SkipToken: nil,
})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.WorkloadItemResourceList = armrecoveryservicesbackup.WorkloadItemResourceList{
	// 	Value: []*armrecoveryservicesbackup.WorkloadItemResource{
	// 		{
	// 			Name: to.Ptr("SQLInstance;MSSQLSERVER"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items"),
	// 			ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER"),
	// 			Properties: &armrecoveryservicesbackup.AzureVMWorkloadSQLInstanceWorkloadItem{
	// 				BackupManagementType: to.Ptr("AzureWorkload"),
	// 				FriendlyName: to.Ptr("MSSQLSERVER"),
	// 				ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStatusNotProtected),
	// 				WorkloadItemType: to.Ptr("SQLInstance"),
	// 				WorkloadType: to.Ptr("SQL"),
	// 				IsAutoProtectable: to.Ptr(true),
	// 				ParentName: to.Ptr("MSSQLSERVER"),
	// 				ServerName: to.Ptr("sqlserver-1.contoso.com"),
	// 				SubWorkloadItemCount: to.Ptr[int32](3),
	// 				Subinquireditemcount: to.Ptr[int32](0),
	// 				DataDirectoryPaths: []*armrecoveryservicesbackup.SQLDataDirectory{
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.SQLDataDirectoryTypeData),
	// 						Path: to.Ptr("F:\\DATA\\"),
	// 					},
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.SQLDataDirectoryTypeLog),
	// 						Path: to.Ptr("F:\\LOG\\"),
	// 				}},
	// 			},
	// 	}},
	// }
}
Output:

type BackupWorkloadItemsClientListOptions

type BackupWorkloadItemsClientListOptions struct {
	// OData filter options.
	Filter *string
	// skipToken Filter.
	SkipToken *string
}

BackupWorkloadItemsClientListOptions contains the optional parameters for the BackupWorkloadItemsClient.NewListPager method.

type BackupWorkloadItemsClientListResponse

type BackupWorkloadItemsClientListResponse struct {
	WorkloadItemResourceList
}

BackupWorkloadItemsClientListResponse contains the response from method BackupWorkloadItemsClient.NewListPager.

type BackupsClient

type BackupsClient struct {
	// contains filtered or unexported fields
}

BackupsClient contains the methods for the Backups group. Don't use this type directly, use NewBackupsClient() instead.

func NewBackupsClient

func NewBackupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupsClient, error)

NewBackupsClient creates a new instance of BackupsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*BackupsClient) Trigger

func (client *BackupsClient) Trigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters BackupRequestResource, options *BackupsClientTriggerOptions) (BackupsClientTriggerResponse, error)

Trigger - Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the operation, call GetProtectedItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backup item.
  • containerName - Container name associated with the backup item.
  • protectedItemName - Backup item for which backup needs to be triggered.
  • parameters - resource backup request
  • options - BackupsClientTriggerOptions contains the optional parameters for the BackupsClient.Trigger method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/TriggerBackup_Post.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewBackupsClient().Trigger(ctx, "linuxRsVault", "linuxRsVaultRG", "Azure", "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", "VM;iaasvmcontainerv2;testrg;v1win2012r", armrecoveryservicesbackup.BackupRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMBackupRequest{
		ObjectType: to.Ptr("IaasVMBackupRequest"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type BackupsClientTriggerOptions

type BackupsClientTriggerOptions struct {
}

BackupsClientTriggerOptions contains the optional parameters for the BackupsClient.Trigger method.

type BackupsClientTriggerResponse

type BackupsClientTriggerResponse struct {
}

BackupsClientTriggerResponse contains the response from method BackupsClient.Trigger.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client contains the methods for the RecoveryServicesBackupClient group. Don't use this type directly, use NewClient() instead.

func NewClient

func NewClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*Client, error)

NewClient creates a new instance of Client with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*Client) BeginBMSPrepareDataMove

func (client *Client) BeginBMSPrepareDataMove(ctx context.Context, vaultName string, resourceGroupName string, parameters PrepareDataMoveRequest, options *ClientBeginBMSPrepareDataMoveOptions) (*runtime.Poller[ClientBMSPrepareDataMoveResponse], error)

BeginBMSPrepareDataMove - Prepares source vault for Data Move operation If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Prepare data move request
  • options - ClientBeginBMSPrepareDataMoveOptions contains the optional parameters for the Client.BeginBMSPrepareDataMove method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/BackupDataMove/PrepareDataMove_Post.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewClient().BeginBMSPrepareDataMove(ctx, "source-rsv", "sourceRG", armrecoveryservicesbackup.PrepareDataMoveRequest{
	DataMoveLevel:    to.Ptr(armrecoveryservicesbackup.DataMoveLevelVault),
	TargetRegion:     to.Ptr("USGov Virginia"),
	TargetResourceID: to.Ptr("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

func (*Client) BeginBMSTriggerDataMove

func (client *Client) BeginBMSTriggerDataMove(ctx context.Context, vaultName string, resourceGroupName string, parameters TriggerDataMoveRequest, options *ClientBeginBMSTriggerDataMoveOptions) (*runtime.Poller[ClientBMSTriggerDataMoveResponse], error)

BeginBMSTriggerDataMove - Triggers Data Move Operation on target vault If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Trigger data move request
  • options - ClientBeginBMSTriggerDataMoveOptions contains the optional parameters for the Client.BeginBMSTriggerDataMove method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/BackupDataMove/TriggerDataMove_Post.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewClient().BeginBMSTriggerDataMove(ctx, "target-rsv", "targetRG", armrecoveryservicesbackup.TriggerDataMoveRequest{
	CorrelationID:    to.Ptr("MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE="),
	DataMoveLevel:    to.Ptr(armrecoveryservicesbackup.DataMoveLevelVault),
	SourceRegion:     to.Ptr("USGov Iowa"),
	SourceResourceID: to.Ptr("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

func (*Client) BeginMoveRecoveryPoint

func (client *Client) BeginMoveRecoveryPoint(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters MoveRPAcrossTiersRequest, options *ClientBeginMoveRecoveryPointOptions) (*runtime.Poller[ClientMoveRecoveryPointResponse], error)

BeginMoveRecoveryPoint - Move recovery point from one datastore to another store. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Move Resource Across Tiers Request
  • options - ClientBeginMoveRecoveryPointOptions contains the optional parameters for the Client.BeginMoveRecoveryPoint method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/TriggerRecoveryPointMove_Post.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewClient().BeginMoveRecoveryPoint(ctx, "testVault", "netsdktestrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "348916168024334", armrecoveryservicesbackup.MoveRPAcrossTiersRequest{
	ObjectType:     to.Ptr("MoveRPAcrossTiersRequest"),
	SourceTierType: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeHardenedRP),
	TargetTierType: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeArchivedRP),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

func (*Client) GetOperationStatus

func (client *Client) GetOperationStatus(ctx context.Context, vaultName string, resourceGroupName string, operationID string, options *ClientGetOperationStatusOptions) (ClientGetOperationStatusResponse, error)

GetOperationStatus - Fetches operation status for data move operation on vault If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - ClientGetOperationStatusOptions contains the optional parameters for the Client.GetOperationStatus method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewClient().GetOperationStatus(ctx, "source-rsv", "sourceRG", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatus = armrecoveryservicesbackup.OperationStatus{
// 	Name: to.Ptr("0f48183b-0a44-4dca-aec1-bba5daab888a"),
// 	EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-27T11:59:47.5901592Z"); return t}()),
// 	ID: to.Ptr("0f48183b-0a44-4dca-aec1-bba5daab888a"),
// 	StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-27T11:59:47.5901592Z"); return t}()),
// 	Status: to.Ptr(armrecoveryservicesbackup.OperationStatusValuesSucceeded),
// }
Output:

type ClientBMSPrepareDataMoveResponse

type ClientBMSPrepareDataMoveResponse struct {
}

ClientBMSPrepareDataMoveResponse contains the response from method Client.BeginBMSPrepareDataMove.

type ClientBMSTriggerDataMoveResponse

type ClientBMSTriggerDataMoveResponse struct {
}

ClientBMSTriggerDataMoveResponse contains the response from method Client.BeginBMSTriggerDataMove.

type ClientBeginBMSPrepareDataMoveOptions

type ClientBeginBMSPrepareDataMoveOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClientBeginBMSPrepareDataMoveOptions contains the optional parameters for the Client.BeginBMSPrepareDataMove method.

type ClientBeginBMSTriggerDataMoveOptions

type ClientBeginBMSTriggerDataMoveOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClientBeginBMSTriggerDataMoveOptions contains the optional parameters for the Client.BeginBMSTriggerDataMove method.

type ClientBeginMoveRecoveryPointOptions

type ClientBeginMoveRecoveryPointOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClientBeginMoveRecoveryPointOptions contains the optional parameters for the Client.BeginMoveRecoveryPoint method.

type ClientDiscoveryDisplay

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
}

ClientDiscoveryDisplay - Localized display information of an operation.

func (ClientDiscoveryDisplay) MarshalJSON

func (c ClientDiscoveryDisplay) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClientDiscoveryDisplay.

func (*ClientDiscoveryDisplay) UnmarshalJSON

func (c *ClientDiscoveryDisplay) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryDisplay.

type ClientDiscoveryForLogSpecification

type ClientDiscoveryForLogSpecification struct {
	// blob duration of shoebox log specification
	BlobDuration *string

	// Localized display name
	DisplayName *string

	// Name for shoebox log specification.
	Name *string
}

ClientDiscoveryForLogSpecification - Class to represent shoebox log specification in json client discovery.

func (ClientDiscoveryForLogSpecification) MarshalJSON

func (c ClientDiscoveryForLogSpecification) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClientDiscoveryForLogSpecification.

func (*ClientDiscoveryForLogSpecification) UnmarshalJSON

func (c *ClientDiscoveryForLogSpecification) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryForLogSpecification.

type ClientDiscoveryForProperties

type ClientDiscoveryForProperties struct {
	// Operation properties.
	ServiceSpecification *ClientDiscoveryForServiceSpecification
}

ClientDiscoveryForProperties - Class to represent shoebox properties in json client discovery.

func (ClientDiscoveryForProperties) MarshalJSON

func (c ClientDiscoveryForProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClientDiscoveryForProperties.

func (*ClientDiscoveryForProperties) UnmarshalJSON

func (c *ClientDiscoveryForProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryForProperties.

type ClientDiscoveryForServiceSpecification

type ClientDiscoveryForServiceSpecification struct {
	// List of log specifications of this operation.
	LogSpecifications []*ClientDiscoveryForLogSpecification
}

ClientDiscoveryForServiceSpecification - Class to represent shoebox service specification in json client discovery.

func (ClientDiscoveryForServiceSpecification) MarshalJSON

func (c ClientDiscoveryForServiceSpecification) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClientDiscoveryForServiceSpecification.

func (*ClientDiscoveryForServiceSpecification) UnmarshalJSON

func (c *ClientDiscoveryForServiceSpecification) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryForServiceSpecification.

type ClientDiscoveryResponse

type ClientDiscoveryResponse struct {
	// Link to the next chunk of Response.
	NextLink *string

	// List of available operations.
	Value []*ClientDiscoveryValueForSingleAPI
}

ClientDiscoveryResponse - Operations List response which contains list of available APIs.

func (ClientDiscoveryResponse) MarshalJSON

func (c ClientDiscoveryResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClientDiscoveryResponse.

func (*ClientDiscoveryResponse) UnmarshalJSON

func (c *ClientDiscoveryResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryResponse.

type ClientDiscoveryValueForSingleAPI

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
}

ClientDiscoveryValueForSingleAPI - Available operation details.

func (ClientDiscoveryValueForSingleAPI) MarshalJSON

func (c ClientDiscoveryValueForSingleAPI) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClientDiscoveryValueForSingleAPI.

func (*ClientDiscoveryValueForSingleAPI) UnmarshalJSON

func (c *ClientDiscoveryValueForSingleAPI) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryValueForSingleAPI.

type ClientFactory added in v2.1.0

type ClientFactory struct {
	// contains filtered or unexported fields
}

ClientFactory is a client factory used to create any client in this module. Don't use this type directly, use NewClientFactory instead.

func NewClientFactory added in v2.1.0

func NewClientFactory(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error)

NewClientFactory creates a new instance of ClientFactory with the specified values. The parameter values will be propagated to any client created from this factory.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClientFactory) NewBMSPrepareDataMoveOperationResultClient added in v2.1.0

func (c *ClientFactory) NewBMSPrepareDataMoveOperationResultClient() *BMSPrepareDataMoveOperationResultClient

func (*ClientFactory) NewBackupEnginesClient added in v2.1.0

func (c *ClientFactory) NewBackupEnginesClient() *BackupEnginesClient

func (*ClientFactory) NewBackupJobsClient added in v2.1.0

func (c *ClientFactory) NewBackupJobsClient() *BackupJobsClient

func (*ClientFactory) NewBackupOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewBackupOperationResultsClient() *BackupOperationResultsClient

func (*ClientFactory) NewBackupOperationStatusesClient added in v2.1.0

func (c *ClientFactory) NewBackupOperationStatusesClient() *BackupOperationStatusesClient

func (*ClientFactory) NewBackupPoliciesClient added in v2.1.0

func (c *ClientFactory) NewBackupPoliciesClient() *BackupPoliciesClient

func (*ClientFactory) NewBackupProtectableItemsClient added in v2.1.0

func (c *ClientFactory) NewBackupProtectableItemsClient() *BackupProtectableItemsClient

func (*ClientFactory) NewBackupProtectedItemsClient added in v2.1.0

func (c *ClientFactory) NewBackupProtectedItemsClient() *BackupProtectedItemsClient

func (*ClientFactory) NewBackupProtectionContainersClient added in v2.1.0

func (c *ClientFactory) NewBackupProtectionContainersClient() *BackupProtectionContainersClient

func (*ClientFactory) NewBackupProtectionIntentClient added in v2.1.0

func (c *ClientFactory) NewBackupProtectionIntentClient() *BackupProtectionIntentClient

func (*ClientFactory) NewBackupResourceEncryptionConfigsClient added in v2.1.0

func (c *ClientFactory) NewBackupResourceEncryptionConfigsClient() *BackupResourceEncryptionConfigsClient

func (*ClientFactory) NewBackupResourceStorageConfigsNonCRRClient added in v2.1.0

func (c *ClientFactory) NewBackupResourceStorageConfigsNonCRRClient() *BackupResourceStorageConfigsNonCRRClient

func (*ClientFactory) NewBackupResourceVaultConfigsClient added in v2.1.0

func (c *ClientFactory) NewBackupResourceVaultConfigsClient() *BackupResourceVaultConfigsClient

func (*ClientFactory) NewBackupStatusClient added in v2.1.0

func (c *ClientFactory) NewBackupStatusClient() *BackupStatusClient

func (*ClientFactory) NewBackupUsageSummariesClient added in v2.1.0

func (c *ClientFactory) NewBackupUsageSummariesClient() *BackupUsageSummariesClient

func (*ClientFactory) NewBackupWorkloadItemsClient added in v2.1.0

func (c *ClientFactory) NewBackupWorkloadItemsClient() *BackupWorkloadItemsClient

func (*ClientFactory) NewBackupsClient added in v2.1.0

func (c *ClientFactory) NewBackupsClient() *BackupsClient

func (*ClientFactory) NewClient added in v2.1.0

func (c *ClientFactory) NewClient() *Client

func (*ClientFactory) NewDeletedProtectionContainersClient added in v2.1.0

func (c *ClientFactory) NewDeletedProtectionContainersClient() *DeletedProtectionContainersClient

func (*ClientFactory) NewExportJobsOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewExportJobsOperationResultsClient() *ExportJobsOperationResultsClient

func (*ClientFactory) NewFeatureSupportClient added in v2.1.0

func (c *ClientFactory) NewFeatureSupportClient() *FeatureSupportClient

func (*ClientFactory) NewItemLevelRecoveryConnectionsClient added in v2.1.0

func (c *ClientFactory) NewItemLevelRecoveryConnectionsClient() *ItemLevelRecoveryConnectionsClient

func (*ClientFactory) NewJobCancellationsClient added in v2.1.0

func (c *ClientFactory) NewJobCancellationsClient() *JobCancellationsClient

func (*ClientFactory) NewJobDetailsClient added in v2.1.0

func (c *ClientFactory) NewJobDetailsClient() *JobDetailsClient

func (*ClientFactory) NewJobOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewJobOperationResultsClient() *JobOperationResultsClient

func (*ClientFactory) NewJobsClient added in v2.1.0

func (c *ClientFactory) NewJobsClient() *JobsClient

func (*ClientFactory) NewOperationClient added in v2.1.0

func (c *ClientFactory) NewOperationClient() *OperationClient

func (*ClientFactory) NewOperationsClient added in v2.1.0

func (c *ClientFactory) NewOperationsClient() *OperationsClient

func (*ClientFactory) NewPrivateEndpointClient added in v2.1.0

func (c *ClientFactory) NewPrivateEndpointClient() *PrivateEndpointClient

func (*ClientFactory) NewPrivateEndpointConnectionClient added in v2.1.0

func (c *ClientFactory) NewPrivateEndpointConnectionClient() *PrivateEndpointConnectionClient

func (*ClientFactory) NewProtectableContainersClient added in v2.1.0

func (c *ClientFactory) NewProtectableContainersClient() *ProtectableContainersClient

func (*ClientFactory) NewProtectedItemOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewProtectedItemOperationResultsClient() *ProtectedItemOperationResultsClient

func (*ClientFactory) NewProtectedItemOperationStatusesClient added in v2.1.0

func (c *ClientFactory) NewProtectedItemOperationStatusesClient() *ProtectedItemOperationStatusesClient

func (*ClientFactory) NewProtectedItemsClient added in v2.1.0

func (c *ClientFactory) NewProtectedItemsClient() *ProtectedItemsClient

func (*ClientFactory) NewProtectionContainerOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewProtectionContainerOperationResultsClient() *ProtectionContainerOperationResultsClient

func (*ClientFactory) NewProtectionContainerRefreshOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewProtectionContainerRefreshOperationResultsClient() *ProtectionContainerRefreshOperationResultsClient

func (*ClientFactory) NewProtectionContainersClient added in v2.1.0

func (c *ClientFactory) NewProtectionContainersClient() *ProtectionContainersClient

func (*ClientFactory) NewProtectionIntentClient added in v2.1.0

func (c *ClientFactory) NewProtectionIntentClient() *ProtectionIntentClient

func (*ClientFactory) NewProtectionPoliciesClient added in v2.1.0

func (c *ClientFactory) NewProtectionPoliciesClient() *ProtectionPoliciesClient

func (*ClientFactory) NewProtectionPolicyOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewProtectionPolicyOperationResultsClient() *ProtectionPolicyOperationResultsClient

func (*ClientFactory) NewProtectionPolicyOperationStatusesClient added in v2.1.0

func (c *ClientFactory) NewProtectionPolicyOperationStatusesClient() *ProtectionPolicyOperationStatusesClient

func (*ClientFactory) NewRecoveryPointsClient added in v2.1.0

func (c *ClientFactory) NewRecoveryPointsClient() *RecoveryPointsClient

func (*ClientFactory) NewRecoveryPointsRecommendedForMoveClient added in v2.1.0

func (c *ClientFactory) NewRecoveryPointsRecommendedForMoveClient() *RecoveryPointsRecommendedForMoveClient

func (*ClientFactory) NewResourceGuardProxiesClient added in v2.1.0

func (c *ClientFactory) NewResourceGuardProxiesClient() *ResourceGuardProxiesClient

func (*ClientFactory) NewResourceGuardProxyClient added in v2.1.0

func (c *ClientFactory) NewResourceGuardProxyClient() *ResourceGuardProxyClient

func (*ClientFactory) NewRestoresClient added in v2.1.0

func (c *ClientFactory) NewRestoresClient() *RestoresClient

func (*ClientFactory) NewSecurityPINsClient added in v2.1.0

func (c *ClientFactory) NewSecurityPINsClient() *SecurityPINsClient

func (*ClientFactory) NewValidateOperationClient added in v2.1.0

func (c *ClientFactory) NewValidateOperationClient() *ValidateOperationClient

func (*ClientFactory) NewValidateOperationResultsClient added in v2.1.0

func (c *ClientFactory) NewValidateOperationResultsClient() *ValidateOperationResultsClient

func (*ClientFactory) NewValidateOperationStatusesClient added in v2.1.0

func (c *ClientFactory) NewValidateOperationStatusesClient() *ValidateOperationStatusesClient

type ClientGetOperationStatusOptions

type ClientGetOperationStatusOptions struct {
}

ClientGetOperationStatusOptions contains the optional parameters for the Client.GetOperationStatus method.

type ClientGetOperationStatusResponse

type ClientGetOperationStatusResponse struct {
	OperationStatus
}

ClientGetOperationStatusResponse contains the response from method Client.GetOperationStatus.

type ClientMoveRecoveryPointResponse

type ClientMoveRecoveryPointResponse struct {
}

ClientMoveRecoveryPointResponse contains the response from method Client.BeginMoveRecoveryPoint.

type ClientScriptForConnect

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
}

ClientScriptForConnect - Client script details for file / folder restore.

func (ClientScriptForConnect) MarshalJSON

func (c ClientScriptForConnect) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClientScriptForConnect.

func (*ClientScriptForConnect) UnmarshalJSON

func (c *ClientScriptForConnect) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClientScriptForConnect.

type ContainerIdentityInfo

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
}

ContainerIdentityInfo - Container identity information

func (ContainerIdentityInfo) MarshalJSON

func (c ContainerIdentityInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ContainerIdentityInfo.

func (*ContainerIdentityInfo) UnmarshalJSON

func (c *ContainerIdentityInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ContainerIdentityInfo.

type ContainerType

type ContainerType string

ContainerType - Type of container for filter

const (
	ContainerTypeAzureBackupServerContainer ContainerType = "AzureBackupServerContainer"
	ContainerTypeAzureSQLContainer          ContainerType = "AzureSqlContainer"
	ContainerTypeCluster                    ContainerType = "Cluster"
	ContainerTypeDPMContainer               ContainerType = "DPMContainer"
	ContainerTypeGenericContainer           ContainerType = "GenericContainer"
	ContainerTypeHanaHSRContainer           ContainerType = "HanaHSRContainer"
	ContainerTypeIaasVMContainer            ContainerType = "IaasVMContainer"
	ContainerTypeIaasVMServiceContainer     ContainerType = "IaasVMServiceContainer"
	ContainerTypeInvalid                    ContainerType = "Invalid"
	ContainerTypeMABContainer               ContainerType = "MABContainer"
	ContainerTypeSQLAGWorkLoadContainer     ContainerType = "SQLAGWorkLoadContainer"
	ContainerTypeStorageContainer           ContainerType = "StorageContainer"
	ContainerTypeUnknown                    ContainerType = "Unknown"
	ContainerTypeVCenter                    ContainerType = "VCenter"
	ContainerTypeVMAppContainer             ContainerType = "VMAppContainer"
	ContainerTypeWindows                    ContainerType = "Windows"
)

func PossibleContainerTypeValues

func PossibleContainerTypeValues() []ContainerType

PossibleContainerTypeValues returns the possible values for the ContainerType const type.

type CopyOptions

type CopyOptions string

CopyOptions - Options to resolve copy conflicts.

const (
	CopyOptionsCreateCopy     CopyOptions = "CreateCopy"
	CopyOptionsFailOnConflict CopyOptions = "FailOnConflict"
	CopyOptionsInvalid        CopyOptions = "Invalid"
	CopyOptionsOverwrite      CopyOptions = "Overwrite"
	CopyOptionsSkip           CopyOptions = "Skip"
)

func PossibleCopyOptionsValues

func PossibleCopyOptionsValues() []CopyOptions

PossibleCopyOptionsValues returns the possible values for the CopyOptions const type.

type CreateMode

type CreateMode string

CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source.

const (
	CreateModeDefault CreateMode = "Default"
	CreateModeInvalid CreateMode = "Invalid"
	CreateModeRecover CreateMode = "Recover"
)

func PossibleCreateModeValues

func PossibleCreateModeValues() []CreateMode

PossibleCreateModeValues returns the possible values for the CreateMode const type.

type DPMContainerExtendedInfo

type DPMContainerExtendedInfo struct {
	// Last refresh time of the DPMContainer.
	LastRefreshedAt *time.Time
}

DPMContainerExtendedInfo - Additional information of the DPMContainer.

func (DPMContainerExtendedInfo) MarshalJSON

func (d DPMContainerExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DPMContainerExtendedInfo.

func (*DPMContainerExtendedInfo) UnmarshalJSON

func (d *DPMContainerExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DPMContainerExtendedInfo.

type DPMProtectedItem

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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

DPMProtectedItem - Additional information on Backup engine specific backup item.

func (*DPMProtectedItem) GetProtectedItem

func (d *DPMProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type DPMProtectedItem.

func (DPMProtectedItem) MarshalJSON

func (d DPMProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DPMProtectedItem.

func (*DPMProtectedItem) UnmarshalJSON

func (d *DPMProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DPMProtectedItem.

type DPMProtectedItemExtendedInfo

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
}

DPMProtectedItemExtendedInfo - Additional information of DPM Protected item.

func (DPMProtectedItemExtendedInfo) MarshalJSON

func (d DPMProtectedItemExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DPMProtectedItemExtendedInfo.

func (*DPMProtectedItemExtendedInfo) UnmarshalJSON

func (d *DPMProtectedItemExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DPMProtectedItemExtendedInfo.

type DailyRetentionFormat

type DailyRetentionFormat struct {
	// List of days of the month.
	DaysOfTheMonth []*Day
}

DailyRetentionFormat - Daily retention format.

func (DailyRetentionFormat) MarshalJSON

func (d DailyRetentionFormat) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DailyRetentionFormat.

func (*DailyRetentionFormat) UnmarshalJSON

func (d *DailyRetentionFormat) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DailyRetentionFormat.

type DailyRetentionSchedule

type DailyRetentionSchedule struct {
	// Retention duration of retention Policy.
	RetentionDuration *RetentionDuration

	// Retention times of retention policy.
	RetentionTimes []*time.Time
}

DailyRetentionSchedule - Daily retention schedule.

func (DailyRetentionSchedule) MarshalJSON

func (d DailyRetentionSchedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DailyRetentionSchedule.

func (*DailyRetentionSchedule) UnmarshalJSON

func (d *DailyRetentionSchedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DailyRetentionSchedule.

type DailySchedule

type DailySchedule struct {
	// List of times of day this schedule has to be run.
	ScheduleRunTimes []*time.Time
}

func (DailySchedule) MarshalJSON

func (d DailySchedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DailySchedule.

func (*DailySchedule) UnmarshalJSON

func (d *DailySchedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DailySchedule.

type DataMoveLevel

type DataMoveLevel string

DataMoveLevel - DataMove Level

const (
	DataMoveLevelContainer DataMoveLevel = "Container"
	DataMoveLevelInvalid   DataMoveLevel = "Invalid"
	DataMoveLevelVault     DataMoveLevel = "Vault"
)

func PossibleDataMoveLevelValues

func PossibleDataMoveLevelValues() []DataMoveLevel

PossibleDataMoveLevelValues returns the possible values for the DataMoveLevel const type.

type DataSourceType

type DataSourceType string

DataSourceType - Type of workload this item represents.

const (
	DataSourceTypeAzureFileShare    DataSourceType = "AzureFileShare"
	DataSourceTypeAzureSQLDb        DataSourceType = "AzureSqlDb"
	DataSourceTypeClient            DataSourceType = "Client"
	DataSourceTypeExchange          DataSourceType = "Exchange"
	DataSourceTypeFileFolder        DataSourceType = "FileFolder"
	DataSourceTypeGenericDataSource DataSourceType = "GenericDataSource"
	DataSourceTypeInvalid           DataSourceType = "Invalid"
	DataSourceTypeSAPAseDatabase    DataSourceType = "SAPAseDatabase"
	DataSourceTypeSAPHanaDBInstance DataSourceType = "SAPHanaDBInstance"
	DataSourceTypeSAPHanaDatabase   DataSourceType = "SAPHanaDatabase"
	DataSourceTypeSQLDB             DataSourceType = "SQLDB"
	DataSourceTypeSQLDataBase       DataSourceType = "SQLDataBase"
	DataSourceTypeSharepoint        DataSourceType = "Sharepoint"
	DataSourceTypeSystemState       DataSourceType = "SystemState"
	DataSourceTypeVM                DataSourceType = "VM"
	DataSourceTypeVMwareVM          DataSourceType = "VMwareVM"
)

func PossibleDataSourceTypeValues

func PossibleDataSourceTypeValues() []DataSourceType

PossibleDataSourceTypeValues returns the possible values for the DataSourceType const type.

type Day

type Day struct {
	// Date of the month
	Date *int32

	// Whether Date is last date of month
	IsLast *bool
}

Day of the week.

func (Day) MarshalJSON

func (d Day) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Day.

func (*Day) UnmarshalJSON

func (d *Day) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Day.

type DayOfWeek

type DayOfWeek string
const (
	DayOfWeekSunday    DayOfWeek = "Sunday"
	DayOfWeekMonday    DayOfWeek = "Monday"
	DayOfWeekTuesday   DayOfWeek = "Tuesday"
	DayOfWeekWednesday DayOfWeek = "Wednesday"
	DayOfWeekThursday  DayOfWeek = "Thursday"
	DayOfWeekFriday    DayOfWeek = "Friday"
	DayOfWeekSaturday  DayOfWeek = "Saturday"
)

func PossibleDayOfWeekValues

func PossibleDayOfWeekValues() []DayOfWeek

PossibleDayOfWeekValues returns the possible values for the DayOfWeek const type.

type DedupState

type DedupState string

DedupState - Vault Dedup state

const (
	DedupStateDisabled DedupState = "Disabled"
	DedupStateEnabled  DedupState = "Enabled"
	DedupStateInvalid  DedupState = "Invalid"
)

func PossibleDedupStateValues

func PossibleDedupStateValues() []DedupState

PossibleDedupStateValues returns the possible values for the DedupState const type.

type DeletedProtectionContainersClient

type DeletedProtectionContainersClient struct {
	// contains filtered or unexported fields
}

DeletedProtectionContainersClient contains the methods for the DeletedProtectionContainers group. Don't use this type directly, use NewDeletedProtectionContainersClient() instead.

func NewDeletedProtectionContainersClient

func NewDeletedProtectionContainersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DeletedProtectionContainersClient, error)

NewDeletedProtectionContainersClient creates a new instance of DeletedProtectionContainersClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*DeletedProtectionContainersClient) NewListPager

NewListPager - Lists the soft deleted containers registered to Recovery Services Vault.

Generated from API version 2023-02-01

  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • vaultName - The name of the recovery services vault.
  • options - DeletedProtectionContainersClientListOptions contains the optional parameters for the DeletedProtectionContainersClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/SoftDeletedContainers_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewDeletedProtectionContainersClient().NewListPager("testRg", "testVault", &armrecoveryservicesbackup.DeletedProtectionContainersClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureWorkload'")})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectionContainerResourceList = armrecoveryservicesbackup.ProtectionContainerResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectionContainerResource{
	// 		{
	// 			Name: to.Ptr("StorageContainer;Storage;testrg;suchandrtestsa125"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers"),
	// 			ID: to.Ptr("/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125"),
	// 			Properties: &armrecoveryservicesbackup.AzureStorageContainer{
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureStorage),
	// 				ContainerType: to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeStorageContainer),
	// 				FriendlyName: to.Ptr("suchandrtestsa125"),
	// 				HealthStatus: to.Ptr("Healthy"),
	// 				RegistrationStatus: to.Ptr("SoftDeleted"),
	// 				ProtectedItemCount: to.Ptr[int64](2),
	// 				SourceResourceID: to.Ptr("/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125"),
	// 			},
	// 	}},
	// }
}
Output:

type DeletedProtectionContainersClientListOptions

type DeletedProtectionContainersClientListOptions struct {
	// OData filter options.
	Filter *string
}

DeletedProtectionContainersClientListOptions contains the optional parameters for the DeletedProtectionContainersClient.NewListPager method.

type DeletedProtectionContainersClientListResponse

type DeletedProtectionContainersClientListResponse struct {
	ProtectionContainerResourceList
}

DeletedProtectionContainersClientListResponse contains the response from method DeletedProtectionContainersClient.NewListPager.

type DiskExclusionProperties

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
}

func (DiskExclusionProperties) MarshalJSON

func (d DiskExclusionProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskExclusionProperties.

func (*DiskExclusionProperties) UnmarshalJSON

func (d *DiskExclusionProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskExclusionProperties.

type DiskInformation

type DiskInformation struct {
	Lun  *int32
	Name *string
}

DiskInformation - Disk information

func (DiskInformation) MarshalJSON

func (d DiskInformation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskInformation.

func (*DiskInformation) UnmarshalJSON

func (d *DiskInformation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskInformation.

type DistributedNodesInfo

type DistributedNodesInfo struct {
	// Error Details if the Status is non-success.
	ErrorDetail *ErrorDetail

	// Name of the node under a distributed container.
	NodeName *string

	// Status of this Node. Failed | Succeeded
	Status *string
}

DistributedNodesInfo - This is used to represent the various nodes of the distributed container.

func (DistributedNodesInfo) MarshalJSON

func (d DistributedNodesInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DistributedNodesInfo.

func (*DistributedNodesInfo) UnmarshalJSON

func (d *DistributedNodesInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DistributedNodesInfo.

type DpmBackupEngine

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
}

DpmBackupEngine - Data Protection Manager (DPM) specific backup engine.

func (*DpmBackupEngine) GetBackupEngineBase

func (d *DpmBackupEngine) GetBackupEngineBase() *BackupEngineBase

GetBackupEngineBase implements the BackupEngineBaseClassification interface for type DpmBackupEngine.

func (DpmBackupEngine) MarshalJSON

func (d DpmBackupEngine) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DpmBackupEngine.

func (*DpmBackupEngine) UnmarshalJSON

func (d *DpmBackupEngine) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DpmBackupEngine.

type DpmContainer

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
}

DpmContainer - DPM workload-specific protection container.

func (*DpmContainer) GetDpmContainer

func (d *DpmContainer) GetDpmContainer() *DpmContainer

GetDpmContainer implements the DpmContainerClassification interface for type DpmContainer.

func (*DpmContainer) GetProtectionContainer

func (d *DpmContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type DpmContainer.

func (DpmContainer) MarshalJSON

func (d DpmContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DpmContainer.

func (*DpmContainer) UnmarshalJSON

func (d *DpmContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DpmContainer.

type DpmContainerClassification

type DpmContainerClassification interface {
	ProtectionContainerClassification
	// GetDpmContainer returns the DpmContainer content of the underlying type.
	GetDpmContainer() *DpmContainer
}

DpmContainerClassification provides polymorphic access to related types. Call the interface's GetDpmContainer() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureBackupServerContainer, *DpmContainer

type DpmErrorInfo

type DpmErrorInfo struct {
	// Localized error string.
	ErrorString *string

	// List of localized recommendations for above error code.
	Recommendations []*string
}

DpmErrorInfo - DPM workload-specific error information.

func (DpmErrorInfo) MarshalJSON

func (d DpmErrorInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DpmErrorInfo.

func (*DpmErrorInfo) UnmarshalJSON

func (d *DpmErrorInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DpmErrorInfo.

type DpmJob

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
}

DpmJob - DPM workload-specific job object.

func (*DpmJob) GetJob

func (d *DpmJob) GetJob() *Job

GetJob implements the JobClassification interface for type DpmJob.

func (DpmJob) MarshalJSON

func (d DpmJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DpmJob.

func (*DpmJob) UnmarshalJSON

func (d *DpmJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DpmJob.

type DpmJobExtendedInfo

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
}

DpmJobExtendedInfo - Additional information on the DPM workload-specific job.

func (DpmJobExtendedInfo) MarshalJSON

func (d DpmJobExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DpmJobExtendedInfo.

func (*DpmJobExtendedInfo) UnmarshalJSON

func (d *DpmJobExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DpmJobExtendedInfo.

type DpmJobTaskDetails

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
}

DpmJobTaskDetails - DPM workload-specific job task details.

func (DpmJobTaskDetails) MarshalJSON

func (d DpmJobTaskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DpmJobTaskDetails.

func (*DpmJobTaskDetails) UnmarshalJSON

func (d *DpmJobTaskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DpmJobTaskDetails.

type EncryptionAtRestType

type EncryptionAtRestType string

EncryptionAtRestType - Encryption At Rest Type

const (
	EncryptionAtRestTypeCustomerManaged  EncryptionAtRestType = "CustomerManaged"
	EncryptionAtRestTypeInvalid          EncryptionAtRestType = "Invalid"
	EncryptionAtRestTypeMicrosoftManaged EncryptionAtRestType = "MicrosoftManaged"
)

func PossibleEncryptionAtRestTypeValues

func PossibleEncryptionAtRestTypeValues() []EncryptionAtRestType

PossibleEncryptionAtRestTypeValues returns the possible values for the EncryptionAtRestType const type.

type EncryptionDetails

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
}

EncryptionDetails - Details needed if the VM was encrypted at the time of backup.

func (EncryptionDetails) MarshalJSON

func (e EncryptionDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type EncryptionDetails.

func (*EncryptionDetails) UnmarshalJSON

func (e *EncryptionDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type EncryptionDetails.

type EnhancedSecurityState

type EnhancedSecurityState string

EnhancedSecurityState - Enabled or Disabled.

const (
	EnhancedSecurityStateDisabled EnhancedSecurityState = "Disabled"
	EnhancedSecurityStateEnabled  EnhancedSecurityState = "Enabled"
	EnhancedSecurityStateInvalid  EnhancedSecurityState = "Invalid"
)

func PossibleEnhancedSecurityStateValues

func PossibleEnhancedSecurityStateValues() []EnhancedSecurityState

PossibleEnhancedSecurityStateValues returns the possible values for the EnhancedSecurityState const type.

type ErrorAdditionalInfo

type ErrorAdditionalInfo struct {
	// READ-ONLY; The additional info.
	Info any

	// READ-ONLY; The additional info type.
	Type *string
}

ErrorAdditionalInfo - The resource management error additional info.

func (ErrorAdditionalInfo) MarshalJSON

func (e ErrorAdditionalInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ErrorAdditionalInfo.

func (*ErrorAdditionalInfo) UnmarshalJSON

func (e *ErrorAdditionalInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ErrorAdditionalInfo.

type ErrorDetail

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
}

ErrorDetail - Error Detail class which encapsulates Code, Message and Recommendations.

func (ErrorDetail) MarshalJSON

func (e ErrorDetail) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ErrorDetail.

func (*ErrorDetail) UnmarshalJSON

func (e *ErrorDetail) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail.

type ExportJobsOperationResultInfo

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
}

ExportJobsOperationResultInfo - This class is used to send blob details after exporting jobs.

func (*ExportJobsOperationResultInfo) GetOperationResultInfoBase

func (e *ExportJobsOperationResultInfo) GetOperationResultInfoBase() *OperationResultInfoBase

GetOperationResultInfoBase implements the OperationResultInfoBaseClassification interface for type ExportJobsOperationResultInfo.

func (ExportJobsOperationResultInfo) MarshalJSON

func (e ExportJobsOperationResultInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ExportJobsOperationResultInfo.

func (*ExportJobsOperationResultInfo) UnmarshalJSON

func (e *ExportJobsOperationResultInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ExportJobsOperationResultInfo.

type ExportJobsOperationResultsClient

type ExportJobsOperationResultsClient struct {
	// contains filtered or unexported fields
}

ExportJobsOperationResultsClient contains the methods for the ExportJobsOperationResults group. Don't use this type directly, use NewExportJobsOperationResultsClient() instead.

func NewExportJobsOperationResultsClient

func NewExportJobsOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ExportJobsOperationResultsClient, error)

NewExportJobsOperationResultsClient creates a new instance of ExportJobsOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ExportJobsOperationResultsClient) Get

Get - Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • operationID - OperationID which represents the export job.
  • options - ExportJobsOperationResultsClientGetOptions contains the optional parameters for the ExportJobsOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/ExportJobsOperationResult.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportJobsOperationResultsClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationResultInfoBaseResource = armrecoveryservicesbackup.OperationResultInfoBaseResource{
// 	Headers: map[string][]*string{
// 	},
// 	Operation: &armrecoveryservicesbackup.ExportJobsOperationResultInfo{
// 		ObjectType: to.Ptr("ExportJobsOperationResultInfo"),
// 		BlobSasKey: to.Ptr("?sv=2014-02-14&sr=b&sig=<sas_signature>&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r"),
// 		BlobURL: to.Ptr("https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000"),
// 	},
// }
Output:

type ExportJobsOperationResultsClientGetOptions

type ExportJobsOperationResultsClientGetOptions struct {
}

ExportJobsOperationResultsClientGetOptions contains the optional parameters for the ExportJobsOperationResultsClient.Get method.

type ExportJobsOperationResultsClientGetResponse

type ExportJobsOperationResultsClientGetResponse struct {
	OperationResultInfoBaseResource
}

ExportJobsOperationResultsClientGetResponse contains the response from method ExportJobsOperationResultsClient.Get.

type ExtendedLocation added in v2.1.0

type ExtendedLocation struct {
	// Name of the extended location.
	Name *string

	// Type of the extended location. Possible values include: 'EdgeZone'
	Type *string
}

ExtendedLocation - The extended location of Recovery point where VM was present.

func (ExtendedLocation) MarshalJSON added in v2.1.0

func (e ExtendedLocation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ExtendedLocation.

func (*ExtendedLocation) UnmarshalJSON added in v2.1.0

func (e *ExtendedLocation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ExtendedLocation.

type ExtendedProperties

type ExtendedProperties struct {
	// Extended Properties for Disk Exclusion.
	DiskExclusionProperties *DiskExclusionProperties

	// Linux VM name
	LinuxVMApplicationName *string
}

ExtendedProperties - Extended Properties for Azure IaasVM Backup.

func (ExtendedProperties) MarshalJSON

func (e ExtendedProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ExtendedProperties.

func (*ExtendedProperties) UnmarshalJSON

func (e *ExtendedProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ExtendedProperties.

type FabricName

type FabricName string

FabricName - Specifies the fabric name - Azure or AD

const (
	FabricNameAzure   FabricName = "Azure"
	FabricNameInvalid FabricName = "Invalid"
)

func PossibleFabricNameValues

func PossibleFabricNameValues() []FabricName

PossibleFabricNameValues returns the possible values for the FabricName const type.

type FeatureSupportClient

type FeatureSupportClient struct {
	// contains filtered or unexported fields
}

FeatureSupportClient contains the methods for the FeatureSupport group. Don't use this type directly, use NewFeatureSupportClient() instead.

func NewFeatureSupportClient

func NewFeatureSupportClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*FeatureSupportClient, error)

NewFeatureSupportClient creates a new instance of FeatureSupportClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*FeatureSupportClient) Validate

Validate - It will validate if given feature with resource properties is supported in service If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • azureRegion - Azure region to hit Api
  • parameters - Feature support request object
  • options - FeatureSupportClientValidateOptions contains the optional parameters for the FeatureSupportClient.Validate method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/BackupFeature_Validate.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewFeatureSupportClient().Validate(ctx, "southeastasia", &armrecoveryservicesbackup.AzureVMResourceFeatureSupportRequest{
	FeatureType: to.Ptr("AzureVMResourceBackup"),
	VMSize:      to.Ptr("Basic_A0"),
	VMSKU:       to.Ptr("Premium"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AzureVMResourceFeatureSupportResponse = armrecoveryservicesbackup.AzureVMResourceFeatureSupportResponse{
// 	SupportStatus: to.Ptr(armrecoveryservicesbackup.SupportStatusDefaultOFF),
// }
Output:

type FeatureSupportClientValidateOptions

type FeatureSupportClientValidateOptions struct {
}

FeatureSupportClientValidateOptions contains the optional parameters for the FeatureSupportClient.Validate method.

type FeatureSupportClientValidateResponse

type FeatureSupportClientValidateResponse struct {
	AzureVMResourceFeatureSupportResponse
}

FeatureSupportClientValidateResponse contains the response from method FeatureSupportClient.Validate.

type FeatureSupportRequest

type FeatureSupportRequest struct {
	// REQUIRED; backup support feature type.
	FeatureType *string
}

FeatureSupportRequest - Base class for feature request

func (*FeatureSupportRequest) GetFeatureSupportRequest

func (f *FeatureSupportRequest) GetFeatureSupportRequest() *FeatureSupportRequest

GetFeatureSupportRequest implements the FeatureSupportRequestClassification interface for type FeatureSupportRequest.

func (FeatureSupportRequest) MarshalJSON

func (f FeatureSupportRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FeatureSupportRequest.

func (*FeatureSupportRequest) UnmarshalJSON

func (f *FeatureSupportRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FeatureSupportRequest.

type FeatureSupportRequestClassification

type FeatureSupportRequestClassification interface {
	// GetFeatureSupportRequest returns the FeatureSupportRequest content of the underlying type.
	GetFeatureSupportRequest() *FeatureSupportRequest
}

FeatureSupportRequestClassification provides polymorphic access to related types. Call the interface's GetFeatureSupportRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureBackupGoalFeatureSupportRequest, *AzureVMResourceFeatureSupportRequest, *FeatureSupportRequest

type GenericContainer

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
}

GenericContainer - Base class for generic container of backup items

func (*GenericContainer) GetProtectionContainer

func (g *GenericContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type GenericContainer.

func (GenericContainer) MarshalJSON

func (g GenericContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GenericContainer.

func (*GenericContainer) UnmarshalJSON

func (g *GenericContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GenericContainer.

type GenericContainerExtendedInfo

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
}

GenericContainerExtendedInfo - Container extended information

func (GenericContainerExtendedInfo) MarshalJSON

func (g GenericContainerExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GenericContainerExtendedInfo.

func (*GenericContainerExtendedInfo) UnmarshalJSON

func (g *GenericContainerExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GenericContainerExtendedInfo.

type GenericProtectedItem

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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

GenericProtectedItem - Base class for backup items.

func (*GenericProtectedItem) GetProtectedItem

func (g *GenericProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type GenericProtectedItem.

func (GenericProtectedItem) MarshalJSON

func (g GenericProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GenericProtectedItem.

func (*GenericProtectedItem) UnmarshalJSON

func (g *GenericProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GenericProtectedItem.

type GenericProtectionPolicy

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
}

GenericProtectionPolicy - Azure VM (Mercury) workload-specific backup policy.

func (*GenericProtectionPolicy) GetProtectionPolicy

func (g *GenericProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy

GetProtectionPolicy implements the ProtectionPolicyClassification interface for type GenericProtectionPolicy.

func (GenericProtectionPolicy) MarshalJSON

func (g GenericProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GenericProtectionPolicy.

func (*GenericProtectionPolicy) UnmarshalJSON

func (g *GenericProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GenericProtectionPolicy.

type GenericRecoveryPoint

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
}

GenericRecoveryPoint - Generic backup copy.

func (*GenericRecoveryPoint) GetRecoveryPoint

func (g *GenericRecoveryPoint) GetRecoveryPoint() *RecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type GenericRecoveryPoint.

func (GenericRecoveryPoint) MarshalJSON

func (g GenericRecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GenericRecoveryPoint.

func (*GenericRecoveryPoint) UnmarshalJSON

func (g *GenericRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GenericRecoveryPoint.

type GetProtectedItemQueryObject

type GetProtectedItemQueryObject struct {
	// Specifies if the additional information should be provided for this item.
	Expand *string
}

GetProtectedItemQueryObject - Filters to list backup items.

func (GetProtectedItemQueryObject) MarshalJSON

func (g GetProtectedItemQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GetProtectedItemQueryObject.

func (*GetProtectedItemQueryObject) UnmarshalJSON

func (g *GetProtectedItemQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GetProtectedItemQueryObject.

type HTTPStatusCode

type HTTPStatusCode string

HTTPStatusCode - HTTP Status Code of the operation.

const (
	HTTPStatusCodeContinue                     HTTPStatusCode = "Continue"
	HTTPStatusCodeSwitchingProtocols           HTTPStatusCode = "SwitchingProtocols"
	HTTPStatusCodeOK                           HTTPStatusCode = "OK"
	HTTPStatusCodeCreated                      HTTPStatusCode = "Created"
	HTTPStatusCodeAccepted                     HTTPStatusCode = "Accepted"
	HTTPStatusCodeNonAuthoritativeInformation  HTTPStatusCode = "NonAuthoritativeInformation"
	HTTPStatusCodeNoContent                    HTTPStatusCode = "NoContent"
	HTTPStatusCodeResetContent                 HTTPStatusCode = "ResetContent"
	HTTPStatusCodePartialContent               HTTPStatusCode = "PartialContent"
	HTTPStatusCodeMultipleChoices              HTTPStatusCode = "MultipleChoices"
	HTTPStatusCodeAmbiguous                    HTTPStatusCode = "Ambiguous"
	HTTPStatusCodeMovedPermanently             HTTPStatusCode = "MovedPermanently"
	HTTPStatusCodeMoved                        HTTPStatusCode = "Moved"
	HTTPStatusCodeFound                        HTTPStatusCode = "Found"
	HTTPStatusCodeRedirect                     HTTPStatusCode = "Redirect"
	HTTPStatusCodeSeeOther                     HTTPStatusCode = "SeeOther"
	HTTPStatusCodeRedirectMethod               HTTPStatusCode = "RedirectMethod"
	HTTPStatusCodeNotModified                  HTTPStatusCode = "NotModified"
	HTTPStatusCodeUseProxy                     HTTPStatusCode = "UseProxy"
	HTTPStatusCodeUnused                       HTTPStatusCode = "Unused"
	HTTPStatusCodeTemporaryRedirect            HTTPStatusCode = "TemporaryRedirect"
	HTTPStatusCodeRedirectKeepVerb             HTTPStatusCode = "RedirectKeepVerb"
	HTTPStatusCodeBadRequest                   HTTPStatusCode = "BadRequest"
	HTTPStatusCodeUnauthorized                 HTTPStatusCode = "Unauthorized"
	HTTPStatusCodePaymentRequired              HTTPStatusCode = "PaymentRequired"
	HTTPStatusCodeForbidden                    HTTPStatusCode = "Forbidden"
	HTTPStatusCodeNotFound                     HTTPStatusCode = "NotFound"
	HTTPStatusCodeMethodNotAllowed             HTTPStatusCode = "MethodNotAllowed"
	HTTPStatusCodeNotAcceptable                HTTPStatusCode = "NotAcceptable"
	HTTPStatusCodeProxyAuthenticationRequired  HTTPStatusCode = "ProxyAuthenticationRequired"
	HTTPStatusCodeRequestTimeout               HTTPStatusCode = "RequestTimeout"
	HTTPStatusCodeConflict                     HTTPStatusCode = "Conflict"
	HTTPStatusCodeGone                         HTTPStatusCode = "Gone"
	HTTPStatusCodeLengthRequired               HTTPStatusCode = "LengthRequired"
	HTTPStatusCodePreconditionFailed           HTTPStatusCode = "PreconditionFailed"
	HTTPStatusCodeRequestEntityTooLarge        HTTPStatusCode = "RequestEntityTooLarge"
	HTTPStatusCodeRequestURITooLong            HTTPStatusCode = "RequestUriTooLong"
	HTTPStatusCodeUnsupportedMediaType         HTTPStatusCode = "UnsupportedMediaType"
	HTTPStatusCodeRequestedRangeNotSatisfiable HTTPStatusCode = "RequestedRangeNotSatisfiable"
	HTTPStatusCodeExpectationFailed            HTTPStatusCode = "ExpectationFailed"
	HTTPStatusCodeUpgradeRequired              HTTPStatusCode = "UpgradeRequired"
	HTTPStatusCodeInternalServerError          HTTPStatusCode = "InternalServerError"
	HTTPStatusCodeNotImplemented               HTTPStatusCode = "NotImplemented"
	HTTPStatusCodeBadGateway                   HTTPStatusCode = "BadGateway"
	HTTPStatusCodeServiceUnavailable           HTTPStatusCode = "ServiceUnavailable"
	HTTPStatusCodeGatewayTimeout               HTTPStatusCode = "GatewayTimeout"
	HTTPStatusCodeHTTPVersionNotSupported      HTTPStatusCode = "HttpVersionNotSupported"
)

func PossibleHTTPStatusCodeValues

func PossibleHTTPStatusCodeValues() []HTTPStatusCode

PossibleHTTPStatusCodeValues returns the possible values for the HTTPStatusCode const type.

type HealthState

type HealthState string

HealthState - Health State for the backed up item.

const (
	HealthStateActionRequired  HealthState = "ActionRequired"
	HealthStateActionSuggested HealthState = "ActionSuggested"
	HealthStateInvalid         HealthState = "Invalid"
	HealthStatePassed          HealthState = "Passed"
)

func PossibleHealthStateValues

func PossibleHealthStateValues() []HealthState

PossibleHealthStateValues returns the possible values for the HealthState const type.

type HealthStatus

type HealthStatus string

HealthStatus - Health status of protected item.

const (
	HealthStatusActionRequired  HealthStatus = "ActionRequired"
	HealthStatusActionSuggested HealthStatus = "ActionSuggested"
	HealthStatusInvalid         HealthStatus = "Invalid"
	HealthStatusPassed          HealthStatus = "Passed"
)

func PossibleHealthStatusValues

func PossibleHealthStatusValues() []HealthStatus

PossibleHealthStatusValues returns the possible values for the HealthStatus const type.

type HourlySchedule

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
}

func (HourlySchedule) MarshalJSON

func (h HourlySchedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HourlySchedule.

func (*HourlySchedule) UnmarshalJSON

func (h *HourlySchedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HourlySchedule.

type IAASVMPolicyType

type IAASVMPolicyType string
const (
	IAASVMPolicyTypeInvalid IAASVMPolicyType = "Invalid"
	IAASVMPolicyTypeV1      IAASVMPolicyType = "V1"
	IAASVMPolicyTypeV2      IAASVMPolicyType = "V2"
)

func PossibleIAASVMPolicyTypeValues

func PossibleIAASVMPolicyTypeValues() []IAASVMPolicyType

PossibleIAASVMPolicyTypeValues returns the possible values for the IAASVMPolicyType const type.

type ILRRequest

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
}

ILRRequest - Parameters to Provision ILR API.

func (*ILRRequest) GetILRRequest

func (i *ILRRequest) GetILRRequest() *ILRRequest

GetILRRequest implements the ILRRequestClassification interface for type ILRRequest.

func (ILRRequest) MarshalJSON

func (i ILRRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ILRRequest.

func (*ILRRequest) UnmarshalJSON

func (i *ILRRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ILRRequest.

type ILRRequestClassification

type ILRRequestClassification interface {
	// GetILRRequest returns the ILRRequest content of the underlying type.
	GetILRRequest() *ILRRequest
}

ILRRequestClassification provides polymorphic access to related types. Call the interface's GetILRRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureFileShareProvisionILRRequest, *ILRRequest, *IaasVMILRRegistrationRequest

type ILRRequestResource

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
}

ILRRequestResource - Parameters to Provision ILR API.

func (ILRRequestResource) MarshalJSON

func (i ILRRequestResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ILRRequestResource.

func (*ILRRequestResource) UnmarshalJSON

func (i *ILRRequestResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ILRRequestResource.

type IaaSVMContainer

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
}

IaaSVMContainer - IaaS VM workload-specific container.

func (*IaaSVMContainer) GetIaaSVMContainer

func (i *IaaSVMContainer) GetIaaSVMContainer() *IaaSVMContainer

GetIaaSVMContainer implements the IaaSVMContainerClassification interface for type IaaSVMContainer.

func (*IaaSVMContainer) GetProtectionContainer

func (i *IaaSVMContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type IaaSVMContainer.

func (IaaSVMContainer) MarshalJSON

func (i IaaSVMContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IaaSVMContainer.

func (*IaaSVMContainer) UnmarshalJSON

func (i *IaaSVMContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IaaSVMContainer.

type IaaSVMContainerClassification

type IaaSVMContainerClassification interface {
	ProtectionContainerClassification
	// GetIaaSVMContainer returns the IaaSVMContainer content of the underlying type.
	GetIaaSVMContainer() *IaaSVMContainer
}

IaaSVMContainerClassification provides polymorphic access to related types. Call the interface's GetIaaSVMContainer() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureIaaSClassicComputeVMContainer, *AzureIaaSComputeVMContainer, *IaaSVMContainer

type IaaSVMProtectableItem

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
}

IaaSVMProtectableItem - IaaS VM workload-specific backup item.

func (*IaaSVMProtectableItem) GetIaaSVMProtectableItem

func (i *IaaSVMProtectableItem) GetIaaSVMProtectableItem() *IaaSVMProtectableItem

GetIaaSVMProtectableItem implements the IaaSVMProtectableItemClassification interface for type IaaSVMProtectableItem.

func (*IaaSVMProtectableItem) GetWorkloadProtectableItem

func (i *IaaSVMProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type IaaSVMProtectableItem.

func (IaaSVMProtectableItem) MarshalJSON

func (i IaaSVMProtectableItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IaaSVMProtectableItem.

func (*IaaSVMProtectableItem) UnmarshalJSON

func (i *IaaSVMProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IaaSVMProtectableItem.

type IaaSVMProtectableItemClassification

type IaaSVMProtectableItemClassification interface {
	WorkloadProtectableItemClassification
	// GetIaaSVMProtectableItem returns the IaaSVMProtectableItem content of the underlying type.
	GetIaaSVMProtectableItem() *IaaSVMProtectableItem
}

IaaSVMProtectableItemClassification provides polymorphic access to related types. Call the interface's GetIaaSVMProtectableItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureIaaSClassicComputeVMProtectableItem, *AzureIaaSComputeVMProtectableItem, *IaaSVMProtectableItem

type IaasVMBackupRequest

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
}

IaasVMBackupRequest - IaaS VM workload-specific backup request.

func (*IaasVMBackupRequest) GetBackupRequest

func (i *IaasVMBackupRequest) GetBackupRequest() *BackupRequest

GetBackupRequest implements the BackupRequestClassification interface for type IaasVMBackupRequest.

func (IaasVMBackupRequest) MarshalJSON

func (i IaasVMBackupRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IaasVMBackupRequest.

func (*IaasVMBackupRequest) UnmarshalJSON

func (i *IaasVMBackupRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IaasVMBackupRequest.

type IaasVMILRRegistrationRequest

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
}

IaasVMILRRegistrationRequest - Restore files/folders from a backup copy of IaaS VM.

func (*IaasVMILRRegistrationRequest) GetILRRequest

func (i *IaasVMILRRegistrationRequest) GetILRRequest() *ILRRequest

GetILRRequest implements the ILRRequestClassification interface for type IaasVMILRRegistrationRequest.

func (IaasVMILRRegistrationRequest) MarshalJSON

func (i IaasVMILRRegistrationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IaasVMILRRegistrationRequest.

func (*IaasVMILRRegistrationRequest) UnmarshalJSON

func (i *IaasVMILRRegistrationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IaasVMILRRegistrationRequest.

type IaasVMRecoveryPoint

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

	// 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
}

IaasVMRecoveryPoint - IaaS VM workload specific backup copy.

func (*IaasVMRecoveryPoint) GetRecoveryPoint

func (i *IaasVMRecoveryPoint) GetRecoveryPoint() *RecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type IaasVMRecoveryPoint.

func (IaasVMRecoveryPoint) MarshalJSON

func (i IaasVMRecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IaasVMRecoveryPoint.

func (*IaasVMRecoveryPoint) UnmarshalJSON

func (i *IaasVMRecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IaasVMRecoveryPoint.

type IaasVMRestoreRequest

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

	// 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
}

IaasVMRestoreRequest - IaaS VM workload-specific restore.

func (*IaasVMRestoreRequest) GetIaasVMRestoreRequest

func (i *IaasVMRestoreRequest) GetIaasVMRestoreRequest() *IaasVMRestoreRequest

GetIaasVMRestoreRequest implements the IaasVMRestoreRequestClassification interface for type IaasVMRestoreRequest.

func (*IaasVMRestoreRequest) GetRestoreRequest

func (i *IaasVMRestoreRequest) GetRestoreRequest() *RestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type IaasVMRestoreRequest.

func (IaasVMRestoreRequest) MarshalJSON

func (i IaasVMRestoreRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IaasVMRestoreRequest.

func (*IaasVMRestoreRequest) UnmarshalJSON

func (i *IaasVMRestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IaasVMRestoreRequest.

type IaasVMRestoreRequestClassification

type IaasVMRestoreRequestClassification interface {
	RestoreRequestClassification
	// GetIaasVMRestoreRequest returns the IaasVMRestoreRequest content of the underlying type.
	GetIaasVMRestoreRequest() *IaasVMRestoreRequest
}

IaasVMRestoreRequestClassification provides polymorphic access to related types. Call the interface's GetIaasVMRestoreRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *IaasVMRestoreRequest, *IaasVMRestoreWithRehydrationRequest

type IaasVMRestoreWithRehydrationRequest

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

	// 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
}

IaasVMRestoreWithRehydrationRequest - IaaS VM workload-specific restore with integrated rehydration of recovery point.

func (*IaasVMRestoreWithRehydrationRequest) GetIaasVMRestoreRequest

func (i *IaasVMRestoreWithRehydrationRequest) GetIaasVMRestoreRequest() *IaasVMRestoreRequest

GetIaasVMRestoreRequest implements the IaasVMRestoreRequestClassification interface for type IaasVMRestoreWithRehydrationRequest.

func (*IaasVMRestoreWithRehydrationRequest) GetRestoreRequest

func (i *IaasVMRestoreWithRehydrationRequest) GetRestoreRequest() *RestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type IaasVMRestoreWithRehydrationRequest.

func (IaasVMRestoreWithRehydrationRequest) MarshalJSON

func (i IaasVMRestoreWithRehydrationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IaasVMRestoreWithRehydrationRequest.

func (*IaasVMRestoreWithRehydrationRequest) UnmarshalJSON

func (i *IaasVMRestoreWithRehydrationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IaasVMRestoreWithRehydrationRequest.

type IdentityBasedRestoreDetails

type IdentityBasedRestoreDetails struct {
	// Gets the class type.
	ObjectType *string

	// Fully qualified ARM ID of the target storage account.
	TargetStorageAccountID *string
}

IdentityBasedRestoreDetails - IaaS VM workload specific restore details for restores using managed identity

func (IdentityBasedRestoreDetails) MarshalJSON

func (i IdentityBasedRestoreDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IdentityBasedRestoreDetails.

func (*IdentityBasedRestoreDetails) UnmarshalJSON

func (i *IdentityBasedRestoreDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IdentityBasedRestoreDetails.

type IdentityInfo

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
}

IdentityInfo - Encapsulates Managed Identity related information

func (IdentityInfo) MarshalJSON

func (i IdentityInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IdentityInfo.

func (*IdentityInfo) UnmarshalJSON

func (i *IdentityInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IdentityInfo.

type InfrastructureEncryptionState

type InfrastructureEncryptionState string
const (
	InfrastructureEncryptionStateDisabled InfrastructureEncryptionState = "Disabled"
	InfrastructureEncryptionStateEnabled  InfrastructureEncryptionState = "Enabled"
	InfrastructureEncryptionStateInvalid  InfrastructureEncryptionState = "Invalid"
)

func PossibleInfrastructureEncryptionStateValues

func PossibleInfrastructureEncryptionStateValues() []InfrastructureEncryptionState

PossibleInfrastructureEncryptionStateValues returns the possible values for the InfrastructureEncryptionState const type.

type InquiryInfo

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
}

InquiryInfo - Details about inquired protectable items under a given container.

func (InquiryInfo) MarshalJSON

func (i InquiryInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type InquiryInfo.

func (*InquiryInfo) UnmarshalJSON

func (i *InquiryInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type InquiryInfo.

type InquiryStatus

type InquiryStatus string

InquiryStatus - Status of protectable item, i.e. InProgress,Succeeded,Failed

const (
	InquiryStatusFailed  InquiryStatus = "Failed"
	InquiryStatusInvalid InquiryStatus = "Invalid"
	InquiryStatusSuccess InquiryStatus = "Success"
)

func PossibleInquiryStatusValues

func PossibleInquiryStatusValues() []InquiryStatus

PossibleInquiryStatusValues returns the possible values for the InquiryStatus const type.

type InquiryValidation

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
}

InquiryValidation - Validation for inquired protectable items under a given container.

func (InquiryValidation) MarshalJSON

func (i InquiryValidation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type InquiryValidation.

func (*InquiryValidation) UnmarshalJSON

func (i *InquiryValidation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type InquiryValidation.

type InstantItemRecoveryTarget

type InstantItemRecoveryTarget struct {
	// List of client scripts.
	ClientScripts []*ClientScriptForConnect
}

InstantItemRecoveryTarget - Target details for file / folder restore.

func (InstantItemRecoveryTarget) MarshalJSON

func (i InstantItemRecoveryTarget) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type InstantItemRecoveryTarget.

func (*InstantItemRecoveryTarget) UnmarshalJSON

func (i *InstantItemRecoveryTarget) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type InstantItemRecoveryTarget.

type InstantRPAdditionalDetails

type InstantRPAdditionalDetails struct {
	AzureBackupRGNamePrefix *string
	AzureBackupRGNameSuffix *string
}

func (InstantRPAdditionalDetails) MarshalJSON

func (i InstantRPAdditionalDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type InstantRPAdditionalDetails.

func (*InstantRPAdditionalDetails) UnmarshalJSON

func (i *InstantRPAdditionalDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type InstantRPAdditionalDetails.

type IntentItemType

type IntentItemType string

IntentItemType - Type of workload this item represents

const (
	IntentItemTypeInvalid                       IntentItemType = "Invalid"
	IntentItemTypeSQLAvailabilityGroupContainer IntentItemType = "SQLAvailabilityGroupContainer"
	IntentItemTypeSQLInstance                   IntentItemType = "SQLInstance"
)

func PossibleIntentItemTypeValues

func PossibleIntentItemTypeValues() []IntentItemType

PossibleIntentItemTypeValues returns the possible values for the IntentItemType const type.

type ItemLevelRecoveryConnectionsClient

type ItemLevelRecoveryConnectionsClient struct {
	// contains filtered or unexported fields
}

ItemLevelRecoveryConnectionsClient contains the methods for the ItemLevelRecoveryConnections group. Don't use this type directly, use NewItemLevelRecoveryConnectionsClient() instead.

func NewItemLevelRecoveryConnectionsClient

func NewItemLevelRecoveryConnectionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ItemLevelRecoveryConnectionsClient, error)

NewItemLevelRecoveryConnectionsClient creates a new instance of ItemLevelRecoveryConnectionsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ItemLevelRecoveryConnectionsClient) Provision

func (client *ItemLevelRecoveryConnectionsClient) Provision(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters ILRRequestResource, options *ItemLevelRecoveryConnectionsClientProvisionOptions) (ItemLevelRecoveryConnectionsClientProvisionResponse, error)

Provision - Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of provisioning, call GetProtectedItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backed up items.
  • containerName - Container name associated with the backed up items.
  • protectedItemName - Backed up item name whose files/folders are to be restored.
  • recoveryPointID - Recovery point ID which represents backed up data. iSCSI connection will be provisioned for this backed up data.
  • parameters - resource ILR request
  • options - ItemLevelRecoveryConnectionsClientProvisionOptions contains the optional parameters for the ItemLevelRecoveryConnectionsClient.Provision method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/Provision_Ilr.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewItemLevelRecoveryConnectionsClient().Provision(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", "Azure", "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", "1", armrecoveryservicesbackup.ILRRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMILRRegistrationRequest{
		ObjectType:                to.Ptr("IaasVMILRRegistrationRequest"),
		InitiatorName:             to.Ptr("Hello World"),
		RecoveryPointID:           to.Ptr("38823086363464"),
		RenewExistingRegistration: to.Ptr(true),
		VirtualMachineID:          to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*ItemLevelRecoveryConnectionsClient) Revoke

func (client *ItemLevelRecoveryConnectionsClient) Revoke(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, options *ItemLevelRecoveryConnectionsClientRevokeOptions) (ItemLevelRecoveryConnectionsClientRevokeResponse, error)

Revoke - Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer displaying all recoverable files and folders. This is an asynchronous operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backed up items.
  • containerName - Container name associated with the backed up items.
  • protectedItemName - Backed up item name whose files/folders are to be restored.
  • recoveryPointID - Recovery point ID which represents backed up data. iSCSI connection will be revoked for this backed up data.
  • options - ItemLevelRecoveryConnectionsClientRevokeOptions contains the optional parameters for the ItemLevelRecoveryConnectionsClient.Revoke method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/Revoke_Ilr.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewItemLevelRecoveryConnectionsClient().Revoke(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", "Azure", "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", "1", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type ItemLevelRecoveryConnectionsClientProvisionOptions

type ItemLevelRecoveryConnectionsClientProvisionOptions struct {
}

ItemLevelRecoveryConnectionsClientProvisionOptions contains the optional parameters for the ItemLevelRecoveryConnectionsClient.Provision method.

type ItemLevelRecoveryConnectionsClientProvisionResponse

type ItemLevelRecoveryConnectionsClientProvisionResponse struct {
}

ItemLevelRecoveryConnectionsClientProvisionResponse contains the response from method ItemLevelRecoveryConnectionsClient.Provision.

type ItemLevelRecoveryConnectionsClientRevokeOptions

type ItemLevelRecoveryConnectionsClientRevokeOptions struct {
}

ItemLevelRecoveryConnectionsClientRevokeOptions contains the optional parameters for the ItemLevelRecoveryConnectionsClient.Revoke method.

type ItemLevelRecoveryConnectionsClientRevokeResponse

type ItemLevelRecoveryConnectionsClientRevokeResponse struct {
}

ItemLevelRecoveryConnectionsClientRevokeResponse contains the response from method ItemLevelRecoveryConnectionsClient.Revoke.

type 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
}

Job - Defines workload agnostic properties for a job.

func (*Job) GetJob

func (j *Job) GetJob() *Job

GetJob implements the JobClassification interface for type Job.

func (Job) MarshalJSON

func (j Job) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Job.

func (*Job) UnmarshalJSON

func (j *Job) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Job.

type JobCancellationsClient

type JobCancellationsClient struct {
	// contains filtered or unexported fields
}

JobCancellationsClient contains the methods for the JobCancellations group. Don't use this type directly, use NewJobCancellationsClient() instead.

func NewJobCancellationsClient

func NewJobCancellationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobCancellationsClient, error)

NewJobCancellationsClient creates a new instance of JobCancellationsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*JobCancellationsClient) Trigger

func (client *JobCancellationsClient) Trigger(ctx context.Context, vaultName string, resourceGroupName string, jobName string, options *JobCancellationsClientTriggerOptions) (JobCancellationsClientTriggerResponse, error)

Trigger - Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call GetCancelOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • jobName - Name of the job to cancel.
  • options - JobCancellationsClientTriggerOptions contains the optional parameters for the JobCancellationsClient.Trigger method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/TriggerCancelJob.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewJobCancellationsClient().Trigger(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type JobCancellationsClientTriggerOptions

type JobCancellationsClientTriggerOptions struct {
}

JobCancellationsClientTriggerOptions contains the optional parameters for the JobCancellationsClient.Trigger method.

type JobCancellationsClientTriggerResponse

type JobCancellationsClientTriggerResponse struct {
}

JobCancellationsClientTriggerResponse contains the response from method JobCancellationsClient.Trigger.

type JobClassification

type JobClassification interface {
	// GetJob returns the Job content of the underlying type.
	GetJob() *Job
}

JobClassification provides polymorphic access to related types. Call the interface's GetJob() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureIaaSVMJob, *AzureIaaSVMJobV2, *AzureStorageJob, *AzureWorkloadJob, *DpmJob, *Job, *MabJob, *VaultJob

type JobDetailsClient

type JobDetailsClient struct {
	// contains filtered or unexported fields
}

JobDetailsClient contains the methods for the JobDetails group. Don't use this type directly, use NewJobDetailsClient() instead.

func NewJobDetailsClient

func NewJobDetailsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobDetailsClient, error)

NewJobDetailsClient creates a new instance of JobDetailsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*JobDetailsClient) Get

func (client *JobDetailsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, jobName string, options *JobDetailsClientGetOptions) (JobDetailsClientGetResponse, error)

Get - Gets extended information associated with the job. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • jobName - Name of the job whose details are to be fetched.
  • options - JobDetailsClientGetOptions contains the optional parameters for the JobDetailsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/GetJobDetails.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJobDetailsClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armrecoveryservicesbackup.JobResource{
// 	Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupJobs"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMJob{
// 		ActivityID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
// 		EntityFriendlyName: to.Ptr("testvm"),
// 		JobType: to.Ptr("AzureIaaSVMJob"),
// 		Operation: to.Ptr("Backup"),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-03T05:31:07.014604Z"); return t}()),
// 		Status: to.Ptr("InProgress"),
// 		Duration: to.Ptr("PT9.8782791S"),
// 		ExtendedInfo: &armrecoveryservicesbackup.AzureIaaSVMJobExtendedInfo{
// 			PropertyBag: map[string]*string{
// 				"VM Name": to.Ptr("testvm"),
// 			},
// 			TasksList: []*armrecoveryservicesbackup.AzureIaaSVMJobTaskDetails{
// 				{
// 					Duration: to.Ptr("PT0S"),
// 					Status: to.Ptr("InProgress"),
// 					TaskID: to.Ptr("Take Snapshot"),
// 				},
// 				{
// 					Duration: to.Ptr("PT0S"),
// 					Status: to.Ptr("NotStarted"),
// 					TaskID: to.Ptr("Transfer data to vault"),
// 			}},
// 		},
// 		VirtualMachineVersion: to.Ptr("Compute"),
// 	},
// }
Output:

type JobDetailsClientGetOptions

type JobDetailsClientGetOptions struct {
}

JobDetailsClientGetOptions contains the optional parameters for the JobDetailsClient.Get method.

type JobDetailsClientGetResponse

type JobDetailsClientGetResponse struct {
	JobResource
}

JobDetailsClientGetResponse contains the response from method JobDetailsClient.Get.

type JobOperationResultsClient

type JobOperationResultsClient struct {
	// contains filtered or unexported fields
}

JobOperationResultsClient contains the methods for the JobOperationResults group. Don't use this type directly, use NewJobOperationResultsClient() instead.

func NewJobOperationResultsClient

func NewJobOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobOperationResultsClient, error)

NewJobOperationResultsClient creates a new instance of JobOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*JobOperationResultsClient) Get

func (client *JobOperationResultsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, jobName string, operationID string, options *JobOperationResultsClientGetOptions) (JobOperationResultsClientGetResponse, error)

Get - Fetches the result of any operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • jobName - Job name whose operation result has to be fetched.
  • operationID - OperationID which represents the operation whose result has to be fetched.
  • options - JobOperationResultsClientGetOptions contains the optional parameters for the JobOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/CancelJobOperationResult.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewJobOperationResultsClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type JobOperationResultsClientGetOptions

type JobOperationResultsClientGetOptions struct {
}

JobOperationResultsClientGetOptions contains the optional parameters for the JobOperationResultsClient.Get method.

type JobOperationResultsClientGetResponse

type JobOperationResultsClientGetResponse struct {
}

JobOperationResultsClientGetResponse contains the response from method JobOperationResultsClient.Get.

type JobOperationType

type JobOperationType string

JobOperationType - Type of operation.

const (
	JobOperationTypeBackup                   JobOperationType = "Backup"
	JobOperationTypeConfigureBackup          JobOperationType = "ConfigureBackup"
	JobOperationTypeCrossRegionRestore       JobOperationType = "CrossRegionRestore"
	JobOperationTypeDeleteBackupData         JobOperationType = "DeleteBackupData"
	JobOperationTypeDisableBackup            JobOperationType = "DisableBackup"
	JobOperationTypeInvalid                  JobOperationType = "Invalid"
	JobOperationTypeRegister                 JobOperationType = "Register"
	JobOperationTypeRestore                  JobOperationType = "Restore"
	JobOperationTypeUnRegister               JobOperationType = "UnRegister"
	JobOperationTypeUndelete                 JobOperationType = "Undelete"
	JobOperationTypeUpdateCustomerManagedKey JobOperationType = "UpdateCustomerManagedKey"
)

func PossibleJobOperationTypeValues

func PossibleJobOperationTypeValues() []JobOperationType

PossibleJobOperationTypeValues returns the possible values for the JobOperationType const type.

type JobQueryObject

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
}

JobQueryObject - Filters to list the jobs.

func (JobQueryObject) MarshalJSON

func (j JobQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobQueryObject.

func (*JobQueryObject) UnmarshalJSON

func (j *JobQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobQueryObject.

type JobResource

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
}

JobResource - Defines workload agnostic properties for a job.

func (JobResource) MarshalJSON

func (j JobResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobResource.

func (*JobResource) UnmarshalJSON

func (j *JobResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobResource.

type JobResourceList

type JobResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*JobResource
}

JobResourceList - List of Job resources

func (JobResourceList) MarshalJSON

func (j JobResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobResourceList.

func (*JobResourceList) UnmarshalJSON

func (j *JobResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobResourceList.

type JobStatus

type JobStatus string

JobStatus - Status of the job.

const (
	JobStatusCancelled             JobStatus = "Cancelled"
	JobStatusCancelling            JobStatus = "Cancelling"
	JobStatusCompleted             JobStatus = "Completed"
	JobStatusCompletedWithWarnings JobStatus = "CompletedWithWarnings"
	JobStatusFailed                JobStatus = "Failed"
	JobStatusInProgress            JobStatus = "InProgress"
	JobStatusInvalid               JobStatus = "Invalid"
)

func PossibleJobStatusValues

func PossibleJobStatusValues() []JobStatus

PossibleJobStatusValues returns the possible values for the JobStatus const type.

type JobSupportedAction

type JobSupportedAction string
const (
	JobSupportedActionInvalid     JobSupportedAction = "Invalid"
	JobSupportedActionCancellable JobSupportedAction = "Cancellable"
	JobSupportedActionRetriable   JobSupportedAction = "Retriable"
)

func PossibleJobSupportedActionValues

func PossibleJobSupportedActionValues() []JobSupportedAction

PossibleJobSupportedActionValues returns the possible values for the JobSupportedAction const type.

type JobsClient

type JobsClient struct {
	// contains filtered or unexported fields
}

JobsClient contains the methods for the Jobs group. Don't use this type directly, use NewJobsClient() instead.

func NewJobsClient

func NewJobsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobsClient, error)

NewJobsClient creates a new instance of JobsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*JobsClient) Export

func (client *JobsClient) Export(ctx context.Context, vaultName string, resourceGroupName string, options *JobsClientExportOptions) (JobsClientExportResponse, error)

Export - Triggers export of jobs specified by filters and returns an OperationID to track. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - JobsClientExportOptions contains the optional parameters for the JobsClient.Export method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/TriggerExportJobs.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewJobsClient().Export(ctx, "NetSDKTestRsVault", "SwaggerTestRg", &armrecoveryservicesbackup.JobsClientExportOptions{Filter: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type JobsClientExportOptions

type JobsClientExportOptions struct {
	// OData filter options.
	Filter *string
}

JobsClientExportOptions contains the optional parameters for the JobsClient.Export method.

type JobsClientExportResponse

type JobsClientExportResponse struct {
}

JobsClientExportResponse contains the response from method JobsClient.Export.

type KEKDetails

type KEKDetails struct {
	// KEK data.
	KeyBackupData *string

	// Key is KEK.
	KeyURL *string

	// Key Vault ID where this Key is stored.
	KeyVaultID *string
}

KEKDetails - KEK is encryption key for BEK.

func (KEKDetails) MarshalJSON

func (k KEKDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type KEKDetails.

func (*KEKDetails) UnmarshalJSON

func (k *KEKDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type KEKDetails.

type KPIResourceHealthDetails

type KPIResourceHealthDetails struct {
	// Resource Health Status
	ResourceHealthDetails []*ResourceHealthDetails

	// Resource Health Status
	ResourceHealthStatus *ResourceHealthStatus
}

KPIResourceHealthDetails - KPI Resource Health Details

func (KPIResourceHealthDetails) MarshalJSON

func (k KPIResourceHealthDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type KPIResourceHealthDetails.

func (*KPIResourceHealthDetails) UnmarshalJSON

func (k *KPIResourceHealthDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type KPIResourceHealthDetails.

type KeyAndSecretDetails

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
}

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.

func (KeyAndSecretDetails) MarshalJSON

func (k KeyAndSecretDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type KeyAndSecretDetails.

func (*KeyAndSecretDetails) UnmarshalJSON

func (k *KeyAndSecretDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type KeyAndSecretDetails.

type LastBackupStatus

type LastBackupStatus string

LastBackupStatus - Last backup operation status. Possible values: Healthy, Unhealthy.

const (
	LastBackupStatusHealthy   LastBackupStatus = "Healthy"
	LastBackupStatusIRPending LastBackupStatus = "IRPending"
	LastBackupStatusInvalid   LastBackupStatus = "Invalid"
	LastBackupStatusUnhealthy LastBackupStatus = "Unhealthy"
)

func PossibleLastBackupStatusValues

func PossibleLastBackupStatusValues() []LastBackupStatus

PossibleLastBackupStatusValues returns the possible values for the LastBackupStatus const type.

type LastUpdateStatus

type LastUpdateStatus string
const (
	LastUpdateStatusFailed              LastUpdateStatus = "Failed"
	LastUpdateStatusFirstInitialization LastUpdateStatus = "FirstInitialization"
	LastUpdateStatusInitialized         LastUpdateStatus = "Initialized"
	LastUpdateStatusInvalid             LastUpdateStatus = "Invalid"
	LastUpdateStatusNotEnabled          LastUpdateStatus = "NotEnabled"
	LastUpdateStatusPartiallyFailed     LastUpdateStatus = "PartiallyFailed"
	LastUpdateStatusPartiallySucceeded  LastUpdateStatus = "PartiallySucceeded"
	LastUpdateStatusSucceeded           LastUpdateStatus = "Succeeded"
)

func PossibleLastUpdateStatusValues

func PossibleLastUpdateStatusValues() []LastUpdateStatus

PossibleLastUpdateStatusValues returns the possible values for the LastUpdateStatus const type.

type ListRecoveryPointsRecommendedForMoveRequest

type ListRecoveryPointsRecommendedForMoveRequest struct {
	// List of Recovery Points excluded from Move
	ExcludedRPList []*string

	// Gets the class type.
	ObjectType *string
}

ListRecoveryPointsRecommendedForMoveRequest Request

func (ListRecoveryPointsRecommendedForMoveRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type ListRecoveryPointsRecommendedForMoveRequest.

func (*ListRecoveryPointsRecommendedForMoveRequest) UnmarshalJSON

func (l *ListRecoveryPointsRecommendedForMoveRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ListRecoveryPointsRecommendedForMoveRequest.

type LogSchedulePolicy

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
}

LogSchedulePolicy - Log policy schedule.

func (*LogSchedulePolicy) GetSchedulePolicy

func (l *LogSchedulePolicy) GetSchedulePolicy() *SchedulePolicy

GetSchedulePolicy implements the SchedulePolicyClassification interface for type LogSchedulePolicy.

func (LogSchedulePolicy) MarshalJSON

func (l LogSchedulePolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LogSchedulePolicy.

func (*LogSchedulePolicy) UnmarshalJSON

func (l *LogSchedulePolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LogSchedulePolicy.

type LongTermRetentionPolicy

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
}

LongTermRetentionPolicy - Long term retention policy.

func (*LongTermRetentionPolicy) GetRetentionPolicy

func (l *LongTermRetentionPolicy) GetRetentionPolicy() *RetentionPolicy

GetRetentionPolicy implements the RetentionPolicyClassification interface for type LongTermRetentionPolicy.

func (LongTermRetentionPolicy) MarshalJSON

func (l LongTermRetentionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LongTermRetentionPolicy.

func (*LongTermRetentionPolicy) UnmarshalJSON

func (l *LongTermRetentionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LongTermRetentionPolicy.

type LongTermSchedulePolicy

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
}

LongTermSchedulePolicy - Long term policy schedule.

func (*LongTermSchedulePolicy) GetSchedulePolicy

func (l *LongTermSchedulePolicy) GetSchedulePolicy() *SchedulePolicy

GetSchedulePolicy implements the SchedulePolicyClassification interface for type LongTermSchedulePolicy.

func (LongTermSchedulePolicy) MarshalJSON

func (l LongTermSchedulePolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LongTermSchedulePolicy.

func (*LongTermSchedulePolicy) UnmarshalJSON

func (l *LongTermSchedulePolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LongTermSchedulePolicy.

type MABContainerHealthDetails

type MABContainerHealthDetails struct {
	// Health Code
	Code *int32

	// Health Message
	Message *string

	// Health Recommended Actions
	Recommendations []*string

	// Health Title
	Title *string
}

MABContainerHealthDetails - MAB workload-specific Health Details.

func (MABContainerHealthDetails) MarshalJSON

func (m MABContainerHealthDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MABContainerHealthDetails.

func (*MABContainerHealthDetails) UnmarshalJSON

func (m *MABContainerHealthDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MABContainerHealthDetails.

type MabContainer

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
}

MabContainer - Container with items backed up using MAB backup engine.

func (*MabContainer) GetProtectionContainer

func (m *MabContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type MabContainer.

func (MabContainer) MarshalJSON

func (m MabContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabContainer.

func (*MabContainer) UnmarshalJSON

func (m *MabContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabContainer.

type MabContainerExtendedInfo

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
}

MabContainerExtendedInfo - Additional information of the container.

func (MabContainerExtendedInfo) MarshalJSON

func (m MabContainerExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabContainerExtendedInfo.

func (*MabContainerExtendedInfo) UnmarshalJSON

func (m *MabContainerExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabContainerExtendedInfo.

type MabErrorInfo

type MabErrorInfo struct {
	// READ-ONLY; Localized error string.
	ErrorString *string

	// READ-ONLY; List of localized recommendations.
	Recommendations []*string
}

MabErrorInfo - MAB workload-specific error information.

func (MabErrorInfo) MarshalJSON

func (m MabErrorInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabErrorInfo.

func (*MabErrorInfo) UnmarshalJSON

func (m *MabErrorInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabErrorInfo.

type MabFileFolderProtectedItem

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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

MabFileFolderProtectedItem - MAB workload-specific backup item.

func (*MabFileFolderProtectedItem) GetProtectedItem

func (m *MabFileFolderProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type MabFileFolderProtectedItem.

func (MabFileFolderProtectedItem) MarshalJSON

func (m MabFileFolderProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabFileFolderProtectedItem.

func (*MabFileFolderProtectedItem) UnmarshalJSON

func (m *MabFileFolderProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabFileFolderProtectedItem.

type MabFileFolderProtectedItemExtendedInfo

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
}

MabFileFolderProtectedItemExtendedInfo - Additional information on the backed up item.

func (MabFileFolderProtectedItemExtendedInfo) MarshalJSON

func (m MabFileFolderProtectedItemExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabFileFolderProtectedItemExtendedInfo.

func (*MabFileFolderProtectedItemExtendedInfo) UnmarshalJSON

func (m *MabFileFolderProtectedItemExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabFileFolderProtectedItemExtendedInfo.

type MabJob

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
}

MabJob - MAB workload-specific job.

func (*MabJob) GetJob

func (m *MabJob) GetJob() *Job

GetJob implements the JobClassification interface for type MabJob.

func (MabJob) MarshalJSON

func (m MabJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabJob.

func (*MabJob) UnmarshalJSON

func (m *MabJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabJob.

type MabJobExtendedInfo

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
}

MabJobExtendedInfo - Additional information for the MAB workload-specific job.

func (MabJobExtendedInfo) MarshalJSON

func (m MabJobExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabJobExtendedInfo.

func (*MabJobExtendedInfo) UnmarshalJSON

func (m *MabJobExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabJobExtendedInfo.

type MabJobTaskDetails

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
}

MabJobTaskDetails - MAB workload-specific job task details.

func (MabJobTaskDetails) MarshalJSON

func (m MabJobTaskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabJobTaskDetails.

func (*MabJobTaskDetails) UnmarshalJSON

func (m *MabJobTaskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabJobTaskDetails.

type MabProtectionPolicy

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
}

MabProtectionPolicy - Mab container-specific backup policy.

func (*MabProtectionPolicy) GetProtectionPolicy

func (m *MabProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy

GetProtectionPolicy implements the ProtectionPolicyClassification interface for type MabProtectionPolicy.

func (MabProtectionPolicy) MarshalJSON

func (m MabProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MabProtectionPolicy.

func (*MabProtectionPolicy) UnmarshalJSON

func (m *MabProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MabProtectionPolicy.

type MabServerType

type MabServerType string

MabServerType - Server type of MAB container.

const (
	MabServerTypeAzureBackupServerContainer MabServerType = "AzureBackupServerContainer"
	MabServerTypeAzureSQLContainer          MabServerType = "AzureSqlContainer"
	MabServerTypeCluster                    MabServerType = "Cluster"
	MabServerTypeDPMContainer               MabServerType = "DPMContainer"
	MabServerTypeGenericContainer           MabServerType = "GenericContainer"
	MabServerTypeIaasVMContainer            MabServerType = "IaasVMContainer"
	MabServerTypeIaasVMServiceContainer     MabServerType = "IaasVMServiceContainer"
	MabServerTypeInvalid                    MabServerType = "Invalid"
	MabServerTypeMABContainer               MabServerType = "MABContainer"
	MabServerTypeSQLAGWorkLoadContainer     MabServerType = "SQLAGWorkLoadContainer"
	MabServerTypeStorageContainer           MabServerType = "StorageContainer"
	MabServerTypeUnknown                    MabServerType = "Unknown"
	MabServerTypeVCenter                    MabServerType = "VCenter"
	MabServerTypeVMAppContainer             MabServerType = "VMAppContainer"
	MabServerTypeWindows                    MabServerType = "Windows"
)

func PossibleMabServerTypeValues

func PossibleMabServerTypeValues() []MabServerType

PossibleMabServerTypeValues returns the possible values for the MabServerType const type.

type MonthOfYear

type MonthOfYear string
const (
	MonthOfYearInvalid   MonthOfYear = "Invalid"
	MonthOfYearJanuary   MonthOfYear = "January"
	MonthOfYearFebruary  MonthOfYear = "February"
	MonthOfYearMarch     MonthOfYear = "March"
	MonthOfYearApril     MonthOfYear = "April"
	MonthOfYearMay       MonthOfYear = "May"
	MonthOfYearJune      MonthOfYear = "June"
	MonthOfYearJuly      MonthOfYear = "July"
	MonthOfYearAugust    MonthOfYear = "August"
	MonthOfYearSeptember MonthOfYear = "September"
	MonthOfYearOctober   MonthOfYear = "October"
	MonthOfYearNovember  MonthOfYear = "November"
	MonthOfYearDecember  MonthOfYear = "December"
)

func PossibleMonthOfYearValues

func PossibleMonthOfYearValues() []MonthOfYear

PossibleMonthOfYearValues returns the possible values for the MonthOfYear const type.

type MonthlyRetentionSchedule

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
}

MonthlyRetentionSchedule - Monthly retention schedule.

func (MonthlyRetentionSchedule) MarshalJSON

func (m MonthlyRetentionSchedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MonthlyRetentionSchedule.

func (*MonthlyRetentionSchedule) UnmarshalJSON

func (m *MonthlyRetentionSchedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MonthlyRetentionSchedule.

type MoveRPAcrossTiersRequest

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
}

func (MoveRPAcrossTiersRequest) MarshalJSON

func (m MoveRPAcrossTiersRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MoveRPAcrossTiersRequest.

func (*MoveRPAcrossTiersRequest) UnmarshalJSON

func (m *MoveRPAcrossTiersRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MoveRPAcrossTiersRequest.

type NameInfo

type NameInfo struct {
	// Localized value of usage.
	LocalizedValue *string

	// Value of usage.
	Value *string
}

NameInfo - The name of usage.

func (NameInfo) MarshalJSON

func (n NameInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NameInfo.

func (*NameInfo) UnmarshalJSON

func (n *NameInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NameInfo.

type NewErrorResponse

type NewErrorResponse struct {
	// The error object.
	Error *NewErrorResponseError
}

NewErrorResponse - The resource management error response.

func (NewErrorResponse) MarshalJSON

func (n NewErrorResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NewErrorResponse.

func (*NewErrorResponse) UnmarshalJSON

func (n *NewErrorResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NewErrorResponse.

type NewErrorResponseError

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
}

NewErrorResponseError - The error object.

func (NewErrorResponseError) MarshalJSON

func (n NewErrorResponseError) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NewErrorResponseError.

func (*NewErrorResponseError) UnmarshalJSON

func (n *NewErrorResponseError) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NewErrorResponseError.

type OperationClient

type OperationClient struct {
	// contains filtered or unexported fields
}

OperationClient contains the methods for the Operation group. Don't use this type directly, use NewOperationClient() instead.

func NewOperationClient

func NewOperationClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationClient, error)

NewOperationClient creates a new instance of OperationClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*OperationClient) Validate

Validate - Validate operation for specified backed up item. This is a synchronous operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - resource validate operation request
  • options - OperationClientValidateOptions contains the optional parameters for the OperationClient.Validate method.
Example (ValidateOperation)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewOperationClient().Validate(ctx, "testVault", "testRG", &armrecoveryservicesbackup.ValidateIaasVMRestoreOperationRequest{
	ObjectType: to.Ptr("ValidateIaasVMRestoreOperationRequest"),
	RestoreRequest: &armrecoveryservicesbackup.IaasVMRestoreRequest{
		ObjectType:            to.Ptr("IaasVMRestoreRequest"),
		CreateNewCloudService: to.Ptr(true),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		IdentityInfo: &armrecoveryservicesbackup.IdentityInfo{
			IsSystemAssignedIdentity:  to.Ptr(false),
			ManagedIdentityResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeRestoreDisks),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		StorageAccountID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ValidateOperationsResponse = armrecoveryservicesbackup.ValidateOperationsResponse{
// 	ValidateOperationResponse: &armrecoveryservicesbackup.ValidateOperationResponse{
// 		ValidationResults: []*armrecoveryservicesbackup.ErrorDetail{
// 			{
// 				Code: to.Ptr("UserErrorCoreCountSubscriptionQuotaReached"),
// 				Message: to.Ptr("Core Count subscription quota has been reached."),
// 				Recommendations: []*string{
// 					to.Ptr("Contact Azure support to increase the limits.")},
// 			}},
// 		},
// 	}
Output:

Example (ValidateOperationWithIdentityBasedRestoreDetails)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewOperationClient().Validate(ctx, "testVault", "testRG", &armrecoveryservicesbackup.ValidateIaasVMRestoreOperationRequest{
	ObjectType: to.Ptr("ValidateIaasVMRestoreOperationRequest"),
	RestoreRequest: &armrecoveryservicesbackup.IaasVMRestoreRequest{
		ObjectType:            to.Ptr("IaasVMRestoreRequest"),
		CreateNewCloudService: to.Ptr(true),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		IdentityBasedRestoreDetails: &armrecoveryservicesbackup.IdentityBasedRestoreDetails{
			TargetStorageAccountID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"),
		},
		IdentityInfo: &armrecoveryservicesbackup.IdentityInfo{
			IsSystemAssignedIdentity:  to.Ptr(false),
			ManagedIdentityResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeRestoreDisks),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ValidateOperationsResponse = armrecoveryservicesbackup.ValidateOperationsResponse{
// 	ValidateOperationResponse: &armrecoveryservicesbackup.ValidateOperationResponse{
// 		ValidationResults: []*armrecoveryservicesbackup.ErrorDetail{
// 			{
// 				Code: to.Ptr("UserErrorCoreCountSubscriptionQuotaReached"),
// 				Message: to.Ptr("Core Count subscription quota has been reached."),
// 				Recommendations: []*string{
// 					to.Ptr("Contact Azure support to increase the limits.")},
// 			}},
// 		},
// 	}
Output:

type OperationClientValidateOptions

type OperationClientValidateOptions struct {
}

OperationClientValidateOptions contains the optional parameters for the OperationClient.Validate method.

type OperationClientValidateResponse

type OperationClientValidateResponse struct {
	ValidateOperationsResponse
}

OperationClientValidateResponse contains the response from method OperationClient.Validate.

type OperationResultInfo

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
}

OperationResultInfo - Operation result info.

func (*OperationResultInfo) GetOperationResultInfoBase

func (o *OperationResultInfo) GetOperationResultInfoBase() *OperationResultInfoBase

GetOperationResultInfoBase implements the OperationResultInfoBaseClassification interface for type OperationResultInfo.

func (OperationResultInfo) MarshalJSON

func (o OperationResultInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationResultInfo.

func (*OperationResultInfo) UnmarshalJSON

func (o *OperationResultInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationResultInfo.

type OperationResultInfoBase

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
}

OperationResultInfoBase - Base class for operation result info.

func (*OperationResultInfoBase) GetOperationResultInfoBase

func (o *OperationResultInfoBase) GetOperationResultInfoBase() *OperationResultInfoBase

GetOperationResultInfoBase implements the OperationResultInfoBaseClassification interface for type OperationResultInfoBase.

func (OperationResultInfoBase) MarshalJSON

func (o OperationResultInfoBase) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationResultInfoBase.

func (*OperationResultInfoBase) UnmarshalJSON

func (o *OperationResultInfoBase) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationResultInfoBase.

type OperationResultInfoBaseClassification

type OperationResultInfoBaseClassification interface {
	// GetOperationResultInfoBase returns the OperationResultInfoBase content of the underlying type.
	GetOperationResultInfoBase() *OperationResultInfoBase
}

OperationResultInfoBaseClassification provides polymorphic access to related types. Call the interface's GetOperationResultInfoBase() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ExportJobsOperationResultInfo, *OperationResultInfo, *OperationResultInfoBase

type OperationResultInfoBaseResource

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
}

OperationResultInfoBaseResource - Base class for operation result info.

func (OperationResultInfoBaseResource) MarshalJSON

func (o OperationResultInfoBaseResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationResultInfoBaseResource.

func (*OperationResultInfoBaseResource) UnmarshalJSON

func (o *OperationResultInfoBaseResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationResultInfoBaseResource.

type OperationStatus

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
}

OperationStatus - Operation status.

func (OperationStatus) MarshalJSON

func (o OperationStatus) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationStatus.

func (*OperationStatus) UnmarshalJSON

func (o *OperationStatus) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatus.

type OperationStatusError

type OperationStatusError struct {
	// Error code of the operation failure.
	Code *string

	// Error message displayed if the operation failure.
	Message *string
}

OperationStatusError - Error information associated with operation status call.

func (OperationStatusError) MarshalJSON

func (o OperationStatusError) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationStatusError.

func (*OperationStatusError) UnmarshalJSON

func (o *OperationStatusError) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusError.

type OperationStatusExtendedInfo

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
}

OperationStatusExtendedInfo - Base class for additional information of operation status.

func (*OperationStatusExtendedInfo) GetOperationStatusExtendedInfo

func (o *OperationStatusExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo

GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusExtendedInfo.

func (OperationStatusExtendedInfo) MarshalJSON

func (o OperationStatusExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationStatusExtendedInfo.

func (*OperationStatusExtendedInfo) UnmarshalJSON

func (o *OperationStatusExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusExtendedInfo.

type OperationStatusExtendedInfoClassification

type OperationStatusExtendedInfoClassification interface {
	// GetOperationStatusExtendedInfo returns the OperationStatusExtendedInfo content of the underlying type.
	GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo
}

OperationStatusExtendedInfoClassification provides polymorphic access to related types. Call the interface's GetOperationStatusExtendedInfo() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *OperationStatusExtendedInfo, *OperationStatusJobExtendedInfo, *OperationStatusJobsExtendedInfo, *OperationStatusProvisionILRExtendedInfo, - *OperationStatusValidateOperationExtendedInfo

type OperationStatusJobExtendedInfo

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
}

OperationStatusJobExtendedInfo - Operation status job extended info.

func (*OperationStatusJobExtendedInfo) GetOperationStatusExtendedInfo

func (o *OperationStatusJobExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo

GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusJobExtendedInfo.

func (OperationStatusJobExtendedInfo) MarshalJSON

func (o OperationStatusJobExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationStatusJobExtendedInfo.

func (*OperationStatusJobExtendedInfo) UnmarshalJSON

func (o *OperationStatusJobExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusJobExtendedInfo.

type OperationStatusJobsExtendedInfo

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
}

OperationStatusJobsExtendedInfo - Operation status extended info for list of jobs.

func (*OperationStatusJobsExtendedInfo) GetOperationStatusExtendedInfo

func (o *OperationStatusJobsExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo

GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusJobsExtendedInfo.

func (OperationStatusJobsExtendedInfo) MarshalJSON

func (o OperationStatusJobsExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationStatusJobsExtendedInfo.

func (*OperationStatusJobsExtendedInfo) UnmarshalJSON

func (o *OperationStatusJobsExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusJobsExtendedInfo.

type OperationStatusProvisionILRExtendedInfo

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
}

OperationStatusProvisionILRExtendedInfo - Operation status extended info for ILR provision action.

func (*OperationStatusProvisionILRExtendedInfo) GetOperationStatusExtendedInfo

func (o *OperationStatusProvisionILRExtendedInfo) GetOperationStatusExtendedInfo() *OperationStatusExtendedInfo

GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusProvisionILRExtendedInfo.

func (OperationStatusProvisionILRExtendedInfo) MarshalJSON

func (o OperationStatusProvisionILRExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationStatusProvisionILRExtendedInfo.

func (*OperationStatusProvisionILRExtendedInfo) UnmarshalJSON

func (o *OperationStatusProvisionILRExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusProvisionILRExtendedInfo.

type OperationStatusValidateOperationExtendedInfo

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
}

OperationStatusValidateOperationExtendedInfo - Operation status extended info for ValidateOperation action.

func (*OperationStatusValidateOperationExtendedInfo) GetOperationStatusExtendedInfo

GetOperationStatusExtendedInfo implements the OperationStatusExtendedInfoClassification interface for type OperationStatusValidateOperationExtendedInfo.

func (OperationStatusValidateOperationExtendedInfo) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type OperationStatusValidateOperationExtendedInfo.

func (*OperationStatusValidateOperationExtendedInfo) UnmarshalJSON

func (o *OperationStatusValidateOperationExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusValidateOperationExtendedInfo.

type OperationStatusValues

type OperationStatusValues string

OperationStatusValues - Operation status.

const (
	OperationStatusValuesCanceled   OperationStatusValues = "Canceled"
	OperationStatusValuesFailed     OperationStatusValues = "Failed"
	OperationStatusValuesInProgress OperationStatusValues = "InProgress"
	OperationStatusValuesInvalid    OperationStatusValues = "Invalid"
	OperationStatusValuesSucceeded  OperationStatusValues = "Succeeded"
)

func PossibleOperationStatusValuesValues

func PossibleOperationStatusValuesValues() []OperationStatusValues

PossibleOperationStatusValuesValues returns the possible values for the OperationStatusValues const type.

type OperationType

type OperationType string

OperationType - Re-Do Operation

const (
	OperationTypeInvalid    OperationType = "Invalid"
	OperationTypeRegister   OperationType = "Register"
	OperationTypeReregister OperationType = "Reregister"
)

func PossibleOperationTypeValues

func PossibleOperationTypeValues() []OperationType

PossibleOperationTypeValues returns the possible values for the OperationType const type.

type OperationWorkerResponse

type OperationWorkerResponse struct {
	// HTTP headers associated with this operation.
	Headers map[string][]*string

	// HTTP Status Code of the operation.
	StatusCode *HTTPStatusCode
}

OperationWorkerResponse - This is the base class for operation result responses.

func (OperationWorkerResponse) MarshalJSON

func (o OperationWorkerResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationWorkerResponse.

func (*OperationWorkerResponse) UnmarshalJSON

func (o *OperationWorkerResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationWorkerResponse.

type OperationsClient

type OperationsClient struct {
	// contains filtered or unexported fields
}

OperationsClient contains the methods for the Operations group. Don't use this type directly, use NewOperationsClient() instead.

func NewOperationsClient

func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error)

NewOperationsClient creates a new instance of OperationsClient with the specified values.

  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*OperationsClient) NewListPager

NewListPager - Returns the list of available operations.

Generated from API version 2023-02-01

  • options - OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/ListOperations.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewOperationsClient().NewListPager(nil)
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ClientDiscoveryResponse = armrecoveryservicesbackup.ClientDiscoveryResponse{
	// 	Value: []*armrecoveryservicesbackup.ClientDiscoveryValueForSingleAPI{
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/usages/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns usage details for a Recovery Services Vault."),
	// 				Operation: to.Ptr("Recovery Services Vault usage details."),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Vault Usage"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupUsageSummaries/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns summaries for Protected Items and Protected Servers for a Recovery Services ."),
	// 				Operation: to.Ptr("Recovery Services Protected Items and Protected Servers usage summaries details."),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Usages Summaries"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/storageConfig/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns Storage Configuration for Recovery Services Vault."),
	// 				Operation: to.Ptr("Get Resource Storage Config"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Vault Storage Config"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/storageConfig/write"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Updates Storage Configuration for Recovery Services Vault."),
	// 				Operation: to.Ptr("Write Resource Storage Config"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Vault Storage Config"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns Configuration for Recovery Services Vault."),
	// 				Operation: to.Ptr("Get Resource Config"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Vault Config"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Updates Configuration for Recovery Services Vault."),
	// 				Operation: to.Ptr("Update Resource Config"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Vault Config"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/tokenInfo/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns token information for Recovery Services Vault."),
	// 				Operation: to.Ptr("Get Vault Token Info"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Token Info"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupSecurityPIN/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns Security PIN Information for Recovery Services Vault."),
	// 				Operation: to.Ptr("Get Security PIN Info"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("SecurityPINInfo"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupManagementMetaData/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns Backup Management Metadata for Recovery Services Vault."),
	// 				Operation: to.Ptr("Get Backup Management Metadata"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Management Metadata"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupOperationResults/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns Backup Operation Result for Recovery Services Vault."),
	// 				Operation: to.Ptr("Get Backup Operation Result"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupOperations/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns Backup Operation Status for Recovery Services Vault."),
	// 				Operation: to.Ptr("Get Backup Operation Status"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Operation Status"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupJobs/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns all Job Objects"),
	// 				Operation: to.Ptr("Get Jobs"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Jobs"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupJobs/cancel/action"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Cancel the Job"),
	// 				Operation: to.Ptr("Cancel Jobs"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Jobs"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupJobsExport/action"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Export Jobs"),
	// 				Operation: to.Ptr("Export Jobs"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Export Backup Jobs"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupJobs/operationResults/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns the Result of Job Operation."),
	// 				Operation: to.Ptr("Get Job Operation Result"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Jobs Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns the Result of Export Job Operation."),
	// 				Operation: to.Ptr("Get Export Job Operation Result"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Export Backup Jobs Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Get Recovery Points for Protected Items."),
	// 				Operation: to.Ptr("Get Recovery Points"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Recovery Points"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Restore Recovery Points for Protected Items."),
	// 				Operation: to.Ptr("Restore Recovery Points"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Recovery Points"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Provision Instant Item Recovery for Protected Item"),
	// 				Operation: to.Ptr("Provision Instant Item Recovery for Protected Item"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Recovery Points"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Revoke Instant Item Recovery for Protected Item"),
	// 				Operation: to.Ptr("Revoke Instant Item Recovery for Protected Item"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Recovery Points"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupPolicies/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns all Protection Policies"),
	// 				Operation: to.Ptr("Get Protection Policy"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Policies"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupPolicies/write"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Creates Protection Policy"),
	// 				Operation: to.Ptr("Create Protection Policy"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Policies"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupPolicies/delete"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Delete a Protection Policy"),
	// 				Operation: to.Ptr("Delete Protection Policy"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Policies"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupPolicies/operationResults/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Get Results of Policy Operation."),
	// 				Operation: to.Ptr("Get Policy Operation Results"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Policy Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Get Status of Policy Operation."),
	// 				Operation: to.Ptr("Get Policy Operation Status"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Policy Operation Status"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns object details of the Protected Item"),
	// 				Operation: to.Ptr("Get Protected Item Details"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protected Items"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupProtectedItems/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns the list of all Protected Items."),
	// 				Operation: to.Ptr("Get All Protected Items"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protected Items"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Create a backup Protected Item"),
	// 				Operation: to.Ptr("Create Backup Protected Item"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protected Items"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Deletes Protected Item"),
	// 				Operation: to.Ptr("Delete Protected Items"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protected Items"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Gets Result of Operation Performed on Protected Items."),
	// 				Operation: to.Ptr("Get Protected Items Operation Results"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protected Item Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns the status of Operation performed on Protected Items."),
	// 				Operation: to.Ptr("Get Protected Items operation status"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protected Item Operation Status"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Performs Backup for Protected Item."),
	// 				Operation: to.Ptr("Backup Protected Item"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protected Items"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupProtectableItems/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns list of all Protectable Items."),
	// 				Operation: to.Ptr("Get Protectable Items"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Protectable Items"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/refreshContainers/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Refreshes the container list"),
	// 				Operation: to.Ptr("Refresh container"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Refresh Containers"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/operationResults/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns status of the operation"),
	// 				Operation: to.Ptr("Get Operation Results"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Refresh Containers Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupProtectionContainers/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns all containers belonging to the subscription"),
	// 				Operation: to.Ptr("Get Containers In Subscription"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Protection Containers"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns all registered containers"),
	// 				Operation: to.Ptr("Get Registered Container"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protection Containers"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Gets result of Operation performed on Protection Container."),
	// 				Operation: to.Ptr("Get Container Operation Results"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protection Containers Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupEngines"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Returns all the backup management servers registered with vault."),
	// 				Operation: to.Ptr("List of backup management servers."),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Engines"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupStatus"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Check Backup Status for Recovery Services Vaults"),
	// 				Operation: to.Ptr("Check Backup Status for Vault"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Backup Status"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupPreValidateProtection"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr(""),
	// 				Operation: to.Ptr("Pre Validate Enable Protection"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("PreValidate Protection"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupValidateFeatures"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Validate Features"),
	// 				Operation: to.Ptr("Validate Features"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Validate Features"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Create a backup Protection Intent"),
	// 				Operation: to.Ptr("Create backup Protection Intent"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protection Intent"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Get all items in a container"),
	// 				Operation: to.Ptr("Get all items in a container"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Workload Items"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 		},
	// 		{
	// 			Name: to.Ptr("microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action"),
	// 			Display: &armrecoveryservicesbackup.ClientDiscoveryDisplay{
	// 				Description: to.Ptr("Get all items in a container"),
	// 				Operation: to.Ptr("Get all items in a container"),
	// 				Provider: to.Ptr("microsoft.recoveryservices"),
	// 				Resource: to.Ptr("Protection Containers Inquire"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 	}},
	// }
}
Output:

type OperationsClientListOptions

type OperationsClientListOptions struct {
}

OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.

type OperationsClientListResponse

type OperationsClientListResponse struct {
	ClientDiscoveryResponse
}

OperationsClientListResponse contains the response from method OperationsClient.NewListPager.

type OverwriteOptions

type OverwriteOptions string

OverwriteOptions - Can Overwrite if Target DataBase already exists

const (
	OverwriteOptionsFailOnConflict OverwriteOptions = "FailOnConflict"
	OverwriteOptionsInvalid        OverwriteOptions = "Invalid"
	OverwriteOptionsOverwrite      OverwriteOptions = "Overwrite"
)

func PossibleOverwriteOptionsValues

func PossibleOverwriteOptionsValues() []OverwriteOptions

PossibleOverwriteOptionsValues returns the possible values for the OverwriteOptions const type.

type PointInTimeRange

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
}

PointInTimeRange - Provides details for log ranges

func (PointInTimeRange) MarshalJSON

func (p PointInTimeRange) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PointInTimeRange.

func (*PointInTimeRange) UnmarshalJSON

func (p *PointInTimeRange) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PointInTimeRange.

type PolicyType

type PolicyType string

PolicyType - Type of backup policy type

const (
	PolicyTypeCopyOnlyFull         PolicyType = "CopyOnlyFull"
	PolicyTypeDifferential         PolicyType = "Differential"
	PolicyTypeFull                 PolicyType = "Full"
	PolicyTypeIncremental          PolicyType = "Incremental"
	PolicyTypeInvalid              PolicyType = "Invalid"
	PolicyTypeLog                  PolicyType = "Log"
	PolicyTypeSnapshotCopyOnlyFull PolicyType = "SnapshotCopyOnlyFull"
	PolicyTypeSnapshotFull         PolicyType = "SnapshotFull"
)

func PossiblePolicyTypeValues

func PossiblePolicyTypeValues() []PolicyType

PossiblePolicyTypeValues returns the possible values for the PolicyType const type.

type PreBackupValidation

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
}

PreBackupValidation - Pre-backup validation for Azure VM Workload provider.

func (PreBackupValidation) MarshalJSON

func (p PreBackupValidation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PreBackupValidation.

func (*PreBackupValidation) UnmarshalJSON

func (p *PreBackupValidation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PreBackupValidation.

type PreValidateEnableBackupRequest

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
}

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.

func (PreValidateEnableBackupRequest) MarshalJSON

func (p PreValidateEnableBackupRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PreValidateEnableBackupRequest.

func (*PreValidateEnableBackupRequest) UnmarshalJSON

func (p *PreValidateEnableBackupRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PreValidateEnableBackupRequest.

type PreValidateEnableBackupResponse

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
}

PreValidateEnableBackupResponse - Response contract for enable backup validation request

func (PreValidateEnableBackupResponse) MarshalJSON

func (p PreValidateEnableBackupResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PreValidateEnableBackupResponse.

func (*PreValidateEnableBackupResponse) UnmarshalJSON

func (p *PreValidateEnableBackupResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PreValidateEnableBackupResponse.

type PrepareDataMoveRequest

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
}

PrepareDataMoveRequest - Prepare DataMove Request

func (PrepareDataMoveRequest) MarshalJSON

func (p PrepareDataMoveRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PrepareDataMoveRequest.

func (*PrepareDataMoveRequest) UnmarshalJSON

func (p *PrepareDataMoveRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PrepareDataMoveRequest.

type PrepareDataMoveResponse

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
}

PrepareDataMoveResponse - Prepare DataMove Response

func (*PrepareDataMoveResponse) GetVaultStorageConfigOperationResultResponse

func (p *PrepareDataMoveResponse) GetVaultStorageConfigOperationResultResponse() *VaultStorageConfigOperationResultResponse

GetVaultStorageConfigOperationResultResponse implements the VaultStorageConfigOperationResultResponseClassification interface for type PrepareDataMoveResponse.

func (PrepareDataMoveResponse) MarshalJSON

func (p PrepareDataMoveResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PrepareDataMoveResponse.

func (*PrepareDataMoveResponse) UnmarshalJSON

func (p *PrepareDataMoveResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PrepareDataMoveResponse.

type PrivateEndpoint

type PrivateEndpoint struct {
	// Gets or sets id
	ID *string
}

PrivateEndpoint - The Private Endpoint network resource that is linked to the Private Endpoint connection

func (PrivateEndpoint) MarshalJSON

func (p PrivateEndpoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PrivateEndpoint.

func (*PrivateEndpoint) UnmarshalJSON

func (p *PrivateEndpoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpoint.

type PrivateEndpointClient

type PrivateEndpointClient struct {
	// contains filtered or unexported fields
}

PrivateEndpointClient contains the methods for the PrivateEndpoint group. Don't use this type directly, use NewPrivateEndpointClient() instead.

func NewPrivateEndpointClient

func NewPrivateEndpointClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*PrivateEndpointClient, error)

NewPrivateEndpointClient creates a new instance of PrivateEndpointClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*PrivateEndpointClient) GetOperationStatus

func (client *PrivateEndpointClient) GetOperationStatus(ctx context.Context, vaultName string, resourceGroupName string, privateEndpointConnectionName string, operationID string, options *PrivateEndpointClientGetOperationStatusOptions) (PrivateEndpointClientGetOperationStatusResponse, error)

GetOperationStatus - Gets the operation status for a private endpoint connection. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • privateEndpointConnectionName - The name of the private endpoint connection.
  • operationID - Operation id
  • options - PrivateEndpointClientGetOperationStatusOptions contains the optional parameters for the PrivateEndpointClient.GetOperationStatus method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPrivateEndpointClient().GetOperationStatus(ctx, "gaallavaultbvtd2msi", "gaallaRG", "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", "0f48183b-0a44-4dca-aec1-bba5daab888a", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatus = armrecoveryservicesbackup.OperationStatus{
// 	Name: to.Ptr("0f48183b-0a44-4dca-aec1-bba5daab888a"),
// 	EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-27T11:59:47.5901592Z"); return t}()),
// 	ID: to.Ptr("0f48183b-0a44-4dca-aec1-bba5daab888a"),
// 	StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-27T11:59:47.5901592Z"); return t}()),
// 	Status: to.Ptr(armrecoveryservicesbackup.OperationStatusValuesSucceeded),
// }
Output:

type PrivateEndpointClientGetOperationStatusOptions

type PrivateEndpointClientGetOperationStatusOptions struct {
}

PrivateEndpointClientGetOperationStatusOptions contains the optional parameters for the PrivateEndpointClient.GetOperationStatus method.

type PrivateEndpointClientGetOperationStatusResponse

type PrivateEndpointClientGetOperationStatusResponse struct {
	OperationStatus
}

PrivateEndpointClientGetOperationStatusResponse contains the response from method PrivateEndpointClient.GetOperationStatus.

type PrivateEndpointConnection

type PrivateEndpointConnection struct {
	// 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
}

PrivateEndpointConnection - Private Endpoint Connection Response Properties

func (PrivateEndpointConnection) MarshalJSON

func (p PrivateEndpointConnection) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnection.

func (*PrivateEndpointConnection) UnmarshalJSON

func (p *PrivateEndpointConnection) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnection.

type PrivateEndpointConnectionClient

type PrivateEndpointConnectionClient struct {
	// contains filtered or unexported fields
}

PrivateEndpointConnectionClient contains the methods for the PrivateEndpointConnection group. Don't use this type directly, use NewPrivateEndpointConnectionClient() instead.

func NewPrivateEndpointConnectionClient

func NewPrivateEndpointConnectionClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*PrivateEndpointConnectionClient, error)

NewPrivateEndpointConnectionClient creates a new instance of PrivateEndpointConnectionClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*PrivateEndpointConnectionClient) BeginDelete

func (client *PrivateEndpointConnectionClient) BeginDelete(ctx context.Context, vaultName string, resourceGroupName string, privateEndpointConnectionName string, options *PrivateEndpointConnectionClientBeginDeleteOptions) (*runtime.Poller[PrivateEndpointConnectionClientDeleteResponse], error)

BeginDelete - Delete Private Endpoint requests. This call is made by Backup Admin. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • privateEndpointConnectionName - The name of the private endpoint connection.
  • options - PrivateEndpointConnectionClientBeginDeleteOptions contains the optional parameters for the PrivateEndpointConnectionClient.BeginDelete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewPrivateEndpointConnectionClient().BeginDelete(ctx, "gaallavaultbvtd2msi", "gaallaRG", "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

func (*PrivateEndpointConnectionClient) BeginPut

BeginPut - Approve or Reject Private Endpoint requests. This call is made by Backup Admin. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • privateEndpointConnectionName - The name of the private endpoint connection.
  • parameters - Request body for operation
  • options - PrivateEndpointConnectionClientBeginPutOptions contains the optional parameters for the PrivateEndpointConnectionClient.BeginPut method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewPrivateEndpointConnectionClient().BeginPut(ctx, "gaallavaultbvtd2msi", "gaallaRG", "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", armrecoveryservicesbackup.PrivateEndpointConnectionResource{
	Properties: &armrecoveryservicesbackup.PrivateEndpointConnection{
		PrivateEndpoint: &armrecoveryservicesbackup.PrivateEndpoint{
			ID: to.Ptr("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"),
		},
		PrivateLinkServiceConnectionState: &armrecoveryservicesbackup.PrivateLinkServiceConnectionState{
			Description: to.Ptr("Approved by johndoe@company.com"),
			Status:      to.Ptr(armrecoveryservicesbackup.PrivateEndpointConnectionStatusApproved),
		},
		ProvisioningState: to.Ptr(armrecoveryservicesbackup.ProvisioningStateSucceeded),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.PrivateEndpointConnectionResource = armrecoveryservicesbackup.PrivateEndpointConnectionResource{
// 	Name: to.Ptr("gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/privateEndpointConnections"),
// 	ID: to.Ptr("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b"),
// 	Properties: &armrecoveryservicesbackup.PrivateEndpointConnection{
// 		PrivateEndpoint: &armrecoveryservicesbackup.PrivateEndpoint{
// 			ID: to.Ptr("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"),
// 		},
// 		PrivateLinkServiceConnectionState: &armrecoveryservicesbackup.PrivateLinkServiceConnectionState{
// 			Description: to.Ptr("Approved by johndoe@company.com"),
// 			Status: to.Ptr(armrecoveryservicesbackup.PrivateEndpointConnectionStatusApproved),
// 		},
// 		ProvisioningState: to.Ptr(armrecoveryservicesbackup.ProvisioningStateSucceeded),
// 	},
// }
Output:

func (*PrivateEndpointConnectionClient) Get

func (client *PrivateEndpointConnectionClient) Get(ctx context.Context, vaultName string, resourceGroupName string, privateEndpointConnectionName string, options *PrivateEndpointConnectionClientGetOptions) (PrivateEndpointConnectionClientGetResponse, error)

Get - Get Private Endpoint Connection. This call is made by Backup Admin. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • privateEndpointConnectionName - The name of the private endpoint connection.
  • options - PrivateEndpointConnectionClientGetOptions contains the optional parameters for the PrivateEndpointConnectionClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPrivateEndpointConnectionClient().Get(ctx, "gaallavaultbvtd2msi", "gaallaRG", "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.PrivateEndpointConnectionResource = armrecoveryservicesbackup.PrivateEndpointConnectionResource{
// 	Name: to.Ptr("gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/privateEndpointConnections"),
// 	ID: to.Ptr("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b"),
// 	Properties: &armrecoveryservicesbackup.PrivateEndpointConnection{
// 		PrivateEndpoint: &armrecoveryservicesbackup.PrivateEndpoint{
// 			ID: to.Ptr("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"),
// 		},
// 		PrivateLinkServiceConnectionState: &armrecoveryservicesbackup.PrivateLinkServiceConnectionState{
// 			Description: to.Ptr("Approved by johndoe@company.com"),
// 			Status: to.Ptr(armrecoveryservicesbackup.PrivateEndpointConnectionStatusApproved),
// 		},
// 		ProvisioningState: to.Ptr(armrecoveryservicesbackup.ProvisioningStateSucceeded),
// 	},
// }
Output:

type PrivateEndpointConnectionClientBeginDeleteOptions

type PrivateEndpointConnectionClientBeginDeleteOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

PrivateEndpointConnectionClientBeginDeleteOptions contains the optional parameters for the PrivateEndpointConnectionClient.BeginDelete method.

type PrivateEndpointConnectionClientBeginPutOptions

type PrivateEndpointConnectionClientBeginPutOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

PrivateEndpointConnectionClientBeginPutOptions contains the optional parameters for the PrivateEndpointConnectionClient.BeginPut method.

type PrivateEndpointConnectionClientDeleteResponse

type PrivateEndpointConnectionClientDeleteResponse struct {
}

PrivateEndpointConnectionClientDeleteResponse contains the response from method PrivateEndpointConnectionClient.BeginDelete.

type PrivateEndpointConnectionClientGetOptions

type PrivateEndpointConnectionClientGetOptions struct {
}

PrivateEndpointConnectionClientGetOptions contains the optional parameters for the PrivateEndpointConnectionClient.Get method.

type PrivateEndpointConnectionClientGetResponse

type PrivateEndpointConnectionClientGetResponse struct {
	PrivateEndpointConnectionResource
}

PrivateEndpointConnectionClientGetResponse contains the response from method PrivateEndpointConnectionClient.Get.

type PrivateEndpointConnectionClientPutResponse

type PrivateEndpointConnectionClientPutResponse struct {
	PrivateEndpointConnectionResource
}

PrivateEndpointConnectionClientPutResponse contains the response from method PrivateEndpointConnectionClient.BeginPut.

type PrivateEndpointConnectionResource

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
}

PrivateEndpointConnectionResource - Private Endpoint Connection Response Properties

func (PrivateEndpointConnectionResource) MarshalJSON

func (p PrivateEndpointConnectionResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnectionResource.

func (*PrivateEndpointConnectionResource) UnmarshalJSON

func (p *PrivateEndpointConnectionResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnectionResource.

type PrivateEndpointConnectionStatus

type PrivateEndpointConnectionStatus string

PrivateEndpointConnectionStatus - Gets or sets the status

const (
	PrivateEndpointConnectionStatusApproved     PrivateEndpointConnectionStatus = "Approved"
	PrivateEndpointConnectionStatusDisconnected PrivateEndpointConnectionStatus = "Disconnected"
	PrivateEndpointConnectionStatusPending      PrivateEndpointConnectionStatus = "Pending"
	PrivateEndpointConnectionStatusRejected     PrivateEndpointConnectionStatus = "Rejected"
)

func PossiblePrivateEndpointConnectionStatusValues

func PossiblePrivateEndpointConnectionStatusValues() []PrivateEndpointConnectionStatus

PossiblePrivateEndpointConnectionStatusValues returns the possible values for the PrivateEndpointConnectionStatus const type.

type PrivateLinkServiceConnectionState

type PrivateLinkServiceConnectionState struct {
	// Gets or sets actions required
	ActionRequired *string

	// Gets or sets description
	Description *string

	// Gets or sets the status
	Status *PrivateEndpointConnectionStatus
}

PrivateLinkServiceConnectionState - Private Link Service Connection State

func (PrivateLinkServiceConnectionState) MarshalJSON

func (p PrivateLinkServiceConnectionState) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnectionState.

func (*PrivateLinkServiceConnectionState) UnmarshalJSON

func (p *PrivateLinkServiceConnectionState) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceConnectionState.

type ProtectableContainer

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
}

ProtectableContainer - Protectable Container Class.

func (*ProtectableContainer) GetProtectableContainer

func (p *ProtectableContainer) GetProtectableContainer() *ProtectableContainer

GetProtectableContainer implements the ProtectableContainerClassification interface for type ProtectableContainer.

func (ProtectableContainer) MarshalJSON

func (p ProtectableContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectableContainer.

func (*ProtectableContainer) UnmarshalJSON

func (p *ProtectableContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectableContainer.

type ProtectableContainerClassification

type ProtectableContainerClassification interface {
	// GetProtectableContainer returns the ProtectableContainer content of the underlying type.
	GetProtectableContainer() *ProtectableContainer
}

ProtectableContainerClassification provides polymorphic access to related types. Call the interface's GetProtectableContainer() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureStorageProtectableContainer, *AzureVMAppContainerProtectableContainer, *ProtectableContainer

type ProtectableContainerResource

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
}

ProtectableContainerResource - Protectable Container Class.

func (ProtectableContainerResource) MarshalJSON

func (p ProtectableContainerResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectableContainerResource.

func (*ProtectableContainerResource) UnmarshalJSON

func (p *ProtectableContainerResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectableContainerResource.

type ProtectableContainerResourceList

type ProtectableContainerResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*ProtectableContainerResource
}

ProtectableContainerResourceList - List of ProtectableContainer resources

func (ProtectableContainerResourceList) MarshalJSON

func (p ProtectableContainerResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectableContainerResourceList.

func (*ProtectableContainerResourceList) UnmarshalJSON

func (p *ProtectableContainerResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectableContainerResourceList.

type ProtectableContainerType

type ProtectableContainerType string

ProtectableContainerType - 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

const (
	ProtectableContainerTypeInvalid                                ProtectableContainerType = "Invalid"
	ProtectableContainerTypeUnknown                                ProtectableContainerType = "Unknown"
	ProtectableContainerTypeIaasVMContainer                        ProtectableContainerType = "IaasVMContainer"
	ProtectableContainerTypeIaasVMServiceContainer                 ProtectableContainerType = "IaasVMServiceContainer"
	ProtectableContainerTypeDPMContainer                           ProtectableContainerType = "DPMContainer"
	ProtectableContainerTypeAzureBackupServerContainer             ProtectableContainerType = "AzureBackupServerContainer"
	ProtectableContainerTypeMABContainer                           ProtectableContainerType = "MABContainer"
	ProtectableContainerTypeCluster                                ProtectableContainerType = "Cluster"
	ProtectableContainerTypeAzureSQLContainer                      ProtectableContainerType = "AzureSqlContainer"
	ProtectableContainerTypeWindows                                ProtectableContainerType = "Windows"
	ProtectableContainerTypeVCenter                                ProtectableContainerType = "VCenter"
	ProtectableContainerTypeVMAppContainer                         ProtectableContainerType = "VMAppContainer"
	ProtectableContainerTypeSQLAGWorkLoadContainer                 ProtectableContainerType = "SQLAGWorkLoadContainer"
	ProtectableContainerTypeStorageContainer                       ProtectableContainerType = "StorageContainer"
	ProtectableContainerTypeGenericContainer                       ProtectableContainerType = "GenericContainer"
	ProtectableContainerTypeMicrosoftClassicComputeVirtualMachines ProtectableContainerType = "Microsoft.ClassicCompute/virtualMachines"
	ProtectableContainerTypeMicrosoftComputeVirtualMachines        ProtectableContainerType = "Microsoft.Compute/virtualMachines"
	ProtectableContainerTypeAzureWorkloadContainer                 ProtectableContainerType = "AzureWorkloadContainer"
)

func PossibleProtectableContainerTypeValues

func PossibleProtectableContainerTypeValues() []ProtectableContainerType

PossibleProtectableContainerTypeValues returns the possible values for the ProtectableContainerType const type.

type ProtectableContainersClient

type ProtectableContainersClient struct {
	// contains filtered or unexported fields
}

ProtectableContainersClient contains the methods for the ProtectableContainers group. Don't use this type directly, use NewProtectableContainersClient() instead.

func NewProtectableContainersClient

func NewProtectableContainersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectableContainersClient, error)

NewProtectableContainersClient creates a new instance of ProtectableContainersClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectableContainersClient) NewListPager

func (client *ProtectableContainersClient) NewListPager(vaultName string, resourceGroupName string, fabricName string, options *ProtectableContainersClientListOptions) *runtime.Pager[ProtectableContainersClientListResponse]

NewListPager - Lists the containers that can be registered to Recovery Services Vault.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - ProtectableContainersClientListOptions contains the optional parameters for the ProtectableContainersClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/ProtectableContainers_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewProtectableContainersClient().NewListPager("testvault", "testRg", "Azure", &armrecoveryservicesbackup.ProtectableContainersClientListOptions{Filter: to.Ptr("backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'")})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ProtectableContainerResourceList = armrecoveryservicesbackup.ProtectableContainerResourceList{
	// 	Value: []*armrecoveryservicesbackup.ProtectableContainerResource{
	// 		{
	// 			Name: to.Ptr("StorageContainer;storage;test-rg;testst"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage"),
	// 			Properties: &armrecoveryservicesbackup.AzureStorageProtectableContainer{
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureStorage),
	// 				ContainerID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage"),
	// 				FriendlyName: to.Ptr("teststorage"),
	// 				HealthStatus: to.Ptr("Healthy"),
	// 				ProtectableContainerType: to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeStorageContainer),
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("StorageContainer;ClassicStorage;test-rg;teststorage"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers"),
	// 			ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage"),
	// 			Properties: &armrecoveryservicesbackup.AzureStorageProtectableContainer{
	// 				BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureStorage),
	// 				ContainerID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage"),
	// 				FriendlyName: to.Ptr("teststorage"),
	// 				HealthStatus: to.Ptr("Healthy"),
	// 				ProtectableContainerType: to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeStorageContainer),
	// 			},
	// 	}},
	// }
}
Output:

type ProtectableContainersClientListOptions

type ProtectableContainersClientListOptions struct {
	// OData filter options.
	Filter *string
}

ProtectableContainersClientListOptions contains the optional parameters for the ProtectableContainersClient.NewListPager method.

type ProtectableContainersClientListResponse

type ProtectableContainersClientListResponse struct {
	ProtectableContainerResourceList
}

ProtectableContainersClientListResponse contains the response from method ProtectableContainersClient.NewListPager.

type ProtectedItem

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
	SoftDeleteRetentionPeriod *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; Type of workload this item represents.
	WorkloadType *DataSourceType
}

ProtectedItem - Base class for backup items.

func (*ProtectedItem) GetProtectedItem

func (p *ProtectedItem) GetProtectedItem() *ProtectedItem

GetProtectedItem implements the ProtectedItemClassification interface for type ProtectedItem.

func (ProtectedItem) MarshalJSON

func (p ProtectedItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectedItem.

func (*ProtectedItem) UnmarshalJSON

func (p *ProtectedItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectedItem.

type ProtectedItemClassification

type ProtectedItemClassification interface {
	// GetProtectedItem returns the ProtectedItem content of the underlying type.
	GetProtectedItem() *ProtectedItem
}

ProtectedItemClassification provides polymorphic access to related types. Call the interface's GetProtectedItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureFileshareProtectedItem, *AzureIaaSClassicComputeVMProtectedItem, *AzureIaaSComputeVMProtectedItem, *AzureIaaSVMProtectedItem, - *AzureSQLProtectedItem, *AzureVMWorkloadProtectedItem, *AzureVMWorkloadSAPAseDatabaseProtectedItem, *AzureVMWorkloadSAPHanaDBInstanceProtectedItem, - *AzureVMWorkloadSAPHanaDatabaseProtectedItem, *AzureVMWorkloadSQLDatabaseProtectedItem, *DPMProtectedItem, *GenericProtectedItem, - *MabFileFolderProtectedItem, *ProtectedItem

type ProtectedItemHealthStatus

type ProtectedItemHealthStatus string

ProtectedItemHealthStatus - Health status of the backup item, evaluated based on last heartbeat received

const (
	ProtectedItemHealthStatusHealthy      ProtectedItemHealthStatus = "Healthy"
	ProtectedItemHealthStatusIRPending    ProtectedItemHealthStatus = "IRPending"
	ProtectedItemHealthStatusInvalid      ProtectedItemHealthStatus = "Invalid"
	ProtectedItemHealthStatusNotReachable ProtectedItemHealthStatus = "NotReachable"
	ProtectedItemHealthStatusUnhealthy    ProtectedItemHealthStatus = "Unhealthy"
)

func PossibleProtectedItemHealthStatusValues

func PossibleProtectedItemHealthStatusValues() []ProtectedItemHealthStatus

PossibleProtectedItemHealthStatusValues returns the possible values for the ProtectedItemHealthStatus const type.

type ProtectedItemOperationResultsClient

type ProtectedItemOperationResultsClient struct {
	// contains filtered or unexported fields
}

ProtectedItemOperationResultsClient contains the methods for the ProtectedItemOperationResults group. Don't use this type directly, use NewProtectedItemOperationResultsClient() instead.

func NewProtectedItemOperationResultsClient

func NewProtectedItemOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectedItemOperationResultsClient, error)

NewProtectedItemOperationResultsClient creates a new instance of ProtectedItemOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectedItemOperationResultsClient) Get

func (client *ProtectedItemOperationResultsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string, options *ProtectedItemOperationResultsClientGetOptions) (ProtectedItemOperationResultsClientGetResponse, error)

Get - Fetches the result of any operation on the backup item. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backup item.
  • containerName - Container name associated with the backup item.
  • protectedItemName - Backup item name whose details are to be fetched.
  • operationID - OperationID which represents the operation whose result needs to be fetched.
  • options - ProtectedItemOperationResultsClientGetOptions contains the optional parameters for the ProtectedItemOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectedItemOperationResultsClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectedItemResource = armrecoveryservicesbackup.ProtectedItemResource{
// 	Name: to.Ptr("VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSComputeVMProtectedItem{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
// 		ContainerName: to.Ptr("iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 		PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1"),
// 		ProtectedItemType: to.Ptr("Microsoft.Compute/virtualMachines"),
// 		SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
// 		WorkloadType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
// 		FriendlyName: to.Ptr("netvmtestv2vm1"),
// 		HealthStatus: to.Ptr(armrecoveryservicesbackup.HealthStatusPassed),
// 		LastBackupStatus: to.Ptr("Completed"),
// 		LastBackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-22T12:25:32.048723Z"); return t}()),
// 		ProtectedItemDataID: to.Ptr("636482643132986882"),
// 		ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStateProtected),
// 		ProtectionStatus: to.Ptr("Healthy"),
// 		VirtualMachineID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
// 	},
// }
Output:

type ProtectedItemOperationResultsClientGetOptions

type ProtectedItemOperationResultsClientGetOptions struct {
}

ProtectedItemOperationResultsClientGetOptions contains the optional parameters for the ProtectedItemOperationResultsClient.Get method.

type ProtectedItemOperationResultsClientGetResponse

type ProtectedItemOperationResultsClientGetResponse struct {
	ProtectedItemResource
}

ProtectedItemOperationResultsClientGetResponse contains the response from method ProtectedItemOperationResultsClient.Get.

type ProtectedItemOperationStatusesClient

type ProtectedItemOperationStatusesClient struct {
	// contains filtered or unexported fields
}

ProtectedItemOperationStatusesClient contains the methods for the ProtectedItemOperationStatuses group. Don't use this type directly, use NewProtectedItemOperationStatusesClient() instead.

func NewProtectedItemOperationStatusesClient

func NewProtectedItemOperationStatusesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectedItemOperationStatusesClient, error)

NewProtectedItemOperationStatusesClient creates a new instance of ProtectedItemOperationStatusesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectedItemOperationStatusesClient) Get

func (client *ProtectedItemOperationStatusesClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string, options *ProtectedItemOperationStatusesClientGetOptions) (ProtectedItemOperationStatusesClientGetResponse, error)

Get - Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations create jobs. This method returns the list of jobs associated with the operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backup item.
  • containerName - Container name associated with the backup item.
  • protectedItemName - Backup item name whose details are to be fetched.
  • operationID - OperationID represents the operation whose status needs to be fetched.
  • options - ProtectedItemOperationStatusesClientGetOptions contains the optional parameters for the ProtectedItemOperationStatusesClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectedItemOperationStatusesClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatus = armrecoveryservicesbackup.OperationStatus{
// 	Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-29T06:04:18.207325Z"); return t}()),
// 	ID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	Properties: &armrecoveryservicesbackup.OperationStatusJobExtendedInfo{
// 		ObjectType: to.Ptr("OperationStatusJobExtendedInfo"),
// 		JobID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	},
// 	StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-29T06:04:18.207325Z"); return t}()),
// 	Status: to.Ptr(armrecoveryservicesbackup.OperationStatusValuesSucceeded),
// }
Output:

type ProtectedItemOperationStatusesClientGetOptions

type ProtectedItemOperationStatusesClientGetOptions struct {
}

ProtectedItemOperationStatusesClientGetOptions contains the optional parameters for the ProtectedItemOperationStatusesClient.Get method.

type ProtectedItemOperationStatusesClientGetResponse

type ProtectedItemOperationStatusesClientGetResponse struct {
	OperationStatus
}

ProtectedItemOperationStatusesClientGetResponse contains the response from method ProtectedItemOperationStatusesClient.Get.

type ProtectedItemQueryObject

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
}

ProtectedItemQueryObject - Filters to list backup items.

func (ProtectedItemQueryObject) MarshalJSON

func (p ProtectedItemQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectedItemQueryObject.

func (*ProtectedItemQueryObject) UnmarshalJSON

func (p *ProtectedItemQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectedItemQueryObject.

type ProtectedItemResource

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
}

ProtectedItemResource - Base class for backup items.

func (ProtectedItemResource) MarshalJSON

func (p ProtectedItemResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectedItemResource.

func (*ProtectedItemResource) UnmarshalJSON

func (p *ProtectedItemResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectedItemResource.

type ProtectedItemResourceList

type ProtectedItemResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*ProtectedItemResource
}

ProtectedItemResourceList - List of ProtectedItem resources

func (ProtectedItemResourceList) MarshalJSON

func (p ProtectedItemResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectedItemResourceList.

func (*ProtectedItemResourceList) UnmarshalJSON

func (p *ProtectedItemResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectedItemResourceList.

type ProtectedItemState

type ProtectedItemState string

ProtectedItemState - Backup state of the backed up item.

const (
	ProtectedItemStateBackupsSuspended  ProtectedItemState = "BackupsSuspended"
	ProtectedItemStateIRPending         ProtectedItemState = "IRPending"
	ProtectedItemStateInvalid           ProtectedItemState = "Invalid"
	ProtectedItemStateProtected         ProtectedItemState = "Protected"
	ProtectedItemStateProtectionError   ProtectedItemState = "ProtectionError"
	ProtectedItemStateProtectionPaused  ProtectedItemState = "ProtectionPaused"
	ProtectedItemStateProtectionStopped ProtectedItemState = "ProtectionStopped"
)

func PossibleProtectedItemStateValues

func PossibleProtectedItemStateValues() []ProtectedItemState

PossibleProtectedItemStateValues returns the possible values for the ProtectedItemState const type.

type ProtectedItemsClient

type ProtectedItemsClient struct {
	// contains filtered or unexported fields
}

ProtectedItemsClient contains the methods for the ProtectedItems group. Don't use this type directly, use NewProtectedItemsClient() instead.

func NewProtectedItemsClient

func NewProtectedItemsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectedItemsClient, error)

NewProtectedItemsClient creates a new instance of ProtectedItemsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectedItemsClient) CreateOrUpdate

func (client *ProtectedItemsClient) CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource, options *ProtectedItemsClientCreateOrUpdateOptions) (ProtectedItemsClientCreateOrUpdateResponse, error)

CreateOrUpdate - Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backup item.
  • containerName - Container name associated with the backup item.
  • protectedItemName - Item name to be backed up.
  • parameters - resource backed up item
  • options - ProtectedItemsClientCreateOrUpdateOptions contains the optional parameters for the ProtectedItemsClient.CreateOrUpdate method.
Example (EnableProtectionOnAzureIaasVm)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ConfigureProtection.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectedItemsClient().CreateOrUpdate(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", armrecoveryservicesbackup.ProtectedItemResource{
	Properties: &armrecoveryservicesbackup.AzureIaaSComputeVMProtectedItem{
		PolicyID:          to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"),
		ProtectedItemType: to.Ptr("Microsoft.Compute/virtualMachines"),
		SourceResourceID:  to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectedItemResource = armrecoveryservicesbackup.ProtectedItemResource{
// 	Name: to.Ptr("VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSComputeVMProtectedItem{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
// 		ContainerName: to.Ptr("iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 		PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1"),
// 		ProtectedItemType: to.Ptr("Microsoft.Compute/virtualMachines"),
// 		SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
// 		WorkloadType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
// 		FriendlyName: to.Ptr("netvmtestv2vm1"),
// 		HealthStatus: to.Ptr(armrecoveryservicesbackup.HealthStatusPassed),
// 		LastBackupStatus: to.Ptr("Completed"),
// 		LastBackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-22T12:25:32.048723Z"); return t}()),
// 		ProtectedItemDataID: to.Ptr("636482643132986882"),
// 		ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStateProtected),
// 		ProtectionStatus: to.Ptr("Healthy"),
// 		VirtualMachineID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
// 	},
// }
Output:

Example (StopProtectionWithRetainDataOnAzureIaasVm)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/StopProtection.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectedItemsClient().CreateOrUpdate(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", armrecoveryservicesbackup.ProtectedItemResource{
	Properties: &armrecoveryservicesbackup.AzureIaaSComputeVMProtectedItem{
		ProtectedItemType: to.Ptr("Microsoft.Compute/virtualMachines"),
		SourceResourceID:  to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		ProtectionState:   to.Ptr(armrecoveryservicesbackup.ProtectionStateProtectionStopped),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectedItemResource = armrecoveryservicesbackup.ProtectedItemResource{
// 	Name: to.Ptr("VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSComputeVMProtectedItem{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
// 		ContainerName: to.Ptr("iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1"),
// 		PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1"),
// 		ProtectedItemType: to.Ptr("Microsoft.Compute/virtualMachines"),
// 		SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
// 		WorkloadType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
// 		FriendlyName: to.Ptr("netvmtestv2vm1"),
// 		HealthStatus: to.Ptr(armrecoveryservicesbackup.HealthStatusPassed),
// 		LastBackupStatus: to.Ptr("Completed"),
// 		LastBackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-22T12:25:32.048723Z"); return t}()),
// 		ProtectedItemDataID: to.Ptr("636482643132986882"),
// 		ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStateProtectionStopped),
// 		ProtectionStatus: to.Ptr("Healthy"),
// 		VirtualMachineID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
// 	},
// }
Output:

func (*ProtectedItemsClient) Delete

func (client *ProtectedItemsClient) Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, options *ProtectedItemsClientDeleteOptions) (ProtectedItemsClientDeleteResponse, error)

Delete - Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the request, call the GetItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backed up item.
  • containerName - Container name associated with the backed up item.
  • protectedItemName - Backed up item to be deleted.
  • options - ProtectedItemsClientDeleteOptions contains the optional parameters for the ProtectedItemsClient.Delete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/ProtectedItem_Delete.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewProtectedItemsClient().Delete(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", "Azure", "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*ProtectedItemsClient) Get

func (client *ProtectedItemsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, options *ProtectedItemsClientGetOptions) (ProtectedItemsClientGetResponse, error)

Get - Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backed up item.
  • containerName - Container name associated with the backed up item.
  • protectedItemName - Backed up item name whose details are to be fetched.
  • options - ProtectedItemsClientGetOptions contains the optional parameters for the ProtectedItemsClient.Get method.
Example (GetProtectedClassicVirtualMachineDetails)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectedItemsClient().Get(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", "Azure", "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", &armrecoveryservicesbackup.ProtectedItemsClientGetOptions{Filter: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectedItemResource = armrecoveryservicesbackup.ProtectedItemResource{
// 	Name: to.Ptr("VM;iaasvmcontainer;iaasvm-rg;iaasvm-1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSClassicComputeVMProtectedItem{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
// 		ContainerName: to.Ptr("iaasvmcontainer;iaasvm-rg;iaasvm-1"),
// 		LastRecoveryPoint: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-22T12:25:32.048723Z"); return t}()),
// 		PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1"),
// 		ProtectedItemType: to.Ptr("Microsoft.ClassicCompute/virtualMachines"),
// 		SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1"),
// 		WorkloadType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
// 		FriendlyName: to.Ptr("iaasvm-1"),
// 		HealthStatus: to.Ptr(armrecoveryservicesbackup.HealthStatusPassed),
// 		LastBackupStatus: to.Ptr("Completed"),
// 		LastBackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-22T12:25:32.048723Z"); return t}()),
// 		ProtectedItemDataID: to.Ptr("636482643132986882"),
// 		ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStateProtected),
// 		ProtectionStatus: to.Ptr("Healthy"),
// 		VirtualMachineID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1"),
// 	},
// }
Output:

Example (GetProtectedVirtualMachineDetails)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectedItemsClient().Get(ctx, "PySDKBackupTestRsVault", "PythonSDKBackupTestRg", "Azure", "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", &armrecoveryservicesbackup.ProtectedItemsClientGetOptions{Filter: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectedItemResource = armrecoveryservicesbackup.ProtectedItemResource{
// 	Name: to.Ptr("VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSComputeVMProtectedItem{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
// 		ContainerName: to.Ptr("iaasvmcontainerv2;iaasvm-rg;iaasvm-1"),
// 		LastRecoveryPoint: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-22T12:25:32.048723Z"); return t}()),
// 		PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1"),
// 		ProtectedItemType: to.Ptr("Microsoft.Compute/virtualMachines"),
// 		SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1"),
// 		WorkloadType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
// 		FriendlyName: to.Ptr("iaasvm-1"),
// 		HealthStatus: to.Ptr(armrecoveryservicesbackup.HealthStatusPassed),
// 		LastBackupStatus: to.Ptr("Completed"),
// 		LastBackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-22T12:25:32.048723Z"); return t}()),
// 		ProtectedItemDataID: to.Ptr("636482643132986882"),
// 		ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStateProtected),
// 		ProtectionStatus: to.Ptr("Healthy"),
// 		VirtualMachineID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1"),
// 	},
// }
Output:

type ProtectedItemsClientCreateOrUpdateOptions

type ProtectedItemsClientCreateOrUpdateOptions struct {
}

ProtectedItemsClientCreateOrUpdateOptions contains the optional parameters for the ProtectedItemsClient.CreateOrUpdate method.

type ProtectedItemsClientCreateOrUpdateResponse

type ProtectedItemsClientCreateOrUpdateResponse struct {
	ProtectedItemResource
}

ProtectedItemsClientCreateOrUpdateResponse contains the response from method ProtectedItemsClient.CreateOrUpdate.

type ProtectedItemsClientDeleteOptions

type ProtectedItemsClientDeleteOptions struct {
}

ProtectedItemsClientDeleteOptions contains the optional parameters for the ProtectedItemsClient.Delete method.

type ProtectedItemsClientDeleteResponse

type ProtectedItemsClientDeleteResponse struct {
}

ProtectedItemsClientDeleteResponse contains the response from method ProtectedItemsClient.Delete.

type ProtectedItemsClientGetOptions

type ProtectedItemsClientGetOptions struct {
	// OData filter options.
	Filter *string
}

ProtectedItemsClientGetOptions contains the optional parameters for the ProtectedItemsClient.Get method.

type ProtectedItemsClientGetResponse

type ProtectedItemsClientGetResponse struct {
	ProtectedItemResource
}

ProtectedItemsClientGetResponse contains the response from method ProtectedItemsClient.Get.

type ProtectionContainer

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
}

ProtectionContainer - Base class for container with backup items. Containers with specific workloads are derived from this class.

func (*ProtectionContainer) GetProtectionContainer

func (p *ProtectionContainer) GetProtectionContainer() *ProtectionContainer

GetProtectionContainer implements the ProtectionContainerClassification interface for type ProtectionContainer.

func (ProtectionContainer) MarshalJSON

func (p ProtectionContainer) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionContainer.

func (*ProtectionContainer) UnmarshalJSON

func (p *ProtectionContainer) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionContainer.

type ProtectionContainerClassification

type ProtectionContainerClassification interface {
	// GetProtectionContainer returns the ProtectionContainer content of the underlying type.
	GetProtectionContainer() *ProtectionContainer
}

ProtectionContainerClassification provides polymorphic access to related types. Call the interface's GetProtectionContainer() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureBackupServerContainer, *AzureIaaSClassicComputeVMContainer, *AzureIaaSComputeVMContainer, *AzureSQLAGWorkloadContainerProtectionContainer, - *AzureSQLContainer, *AzureStorageContainer, *AzureVMAppContainerProtectionContainer, *AzureWorkloadContainer, *DpmContainer, - *GenericContainer, *IaaSVMContainer, *MabContainer, *ProtectionContainer

type ProtectionContainerOperationResultsClient

type ProtectionContainerOperationResultsClient struct {
	// contains filtered or unexported fields
}

ProtectionContainerOperationResultsClient contains the methods for the ProtectionContainerOperationResults group. Don't use this type directly, use NewProtectionContainerOperationResultsClient() instead.

func NewProtectionContainerOperationResultsClient

func NewProtectionContainerOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectionContainerOperationResultsClient, error)

NewProtectionContainerOperationResultsClient creates a new instance of ProtectionContainerOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectionContainerOperationResultsClient) Get

Get - Fetches the result of any operation on the container. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the container.
  • containerName - Container name whose information should be fetched.
  • operationID - Operation ID which represents the operation whose result needs to be fetched.
  • options - ProtectionContainerOperationResultsClientGetOptions contains the optional parameters for the ProtectionContainerOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionContainerOperationResultsClient().Get(ctx, "testvault", "test-rg", "Azure", "VMAppContainer;Compute;testRG;testSQL", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionContainerResource = armrecoveryservicesbackup.ProtectionContainerResource{
// 	Name: to.Ptr("VMAppContainer;Compute;testRG;testSQL"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL"),
// 	Properties: &armrecoveryservicesbackup.AzureVMAppContainerProtectionContainer{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureWorkload),
// 		ContainerType: to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeVMAppContainer),
// 		FriendlyName: to.Ptr("testSQL"),
// 		ExtendedInfo: &armrecoveryservicesbackup.AzureWorkloadContainerExtendedInfo{
// 			HostServerName: to.Ptr("testsql"),
// 			InquiryInfo: &armrecoveryservicesbackup.InquiryInfo{
// 				ErrorDetail: &armrecoveryservicesbackup.ErrorDetail{
// 					Code: to.Ptr("Success"),
// 					Message: to.Ptr("Not Available"),
// 					Recommendations: []*string{
// 						to.Ptr("Not Available")},
// 					},
// 					InquiryDetails: []*armrecoveryservicesbackup.WorkloadInquiryDetails{
// 						{
// 							Type: to.Ptr("sql"),
// 							InquiryValidation: &armrecoveryservicesbackup.InquiryValidation{
// 								ErrorDetail: &armrecoveryservicesbackup.ErrorDetail{
// 									Code: to.Ptr("Success"),
// 									Message: to.Ptr("Not Available"),
// 									Recommendations: []*string{
// 										to.Ptr("Not Available")},
// 									},
// 									Status: to.Ptr("Success"),
// 								},
// 								ItemCount: to.Ptr[int64](14),
// 						}},
// 						Status: to.Ptr("Success"),
// 					},
// 					NodesList: []*armrecoveryservicesbackup.DistributedNodesInfo{
// 					},
// 				},
// 				SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL"),
// 			},
// 		}
Output:

type ProtectionContainerOperationResultsClientGetOptions

type ProtectionContainerOperationResultsClientGetOptions struct {
}

ProtectionContainerOperationResultsClientGetOptions contains the optional parameters for the ProtectionContainerOperationResultsClient.Get method.

type ProtectionContainerOperationResultsClientGetResponse

type ProtectionContainerOperationResultsClientGetResponse struct {
	ProtectionContainerResource
}

ProtectionContainerOperationResultsClientGetResponse contains the response from method ProtectionContainerOperationResultsClient.Get.

type ProtectionContainerRefreshOperationResultsClient

type ProtectionContainerRefreshOperationResultsClient struct {
	// contains filtered or unexported fields
}

ProtectionContainerRefreshOperationResultsClient contains the methods for the ProtectionContainerRefreshOperationResults group. Don't use this type directly, use NewProtectionContainerRefreshOperationResultsClient() instead.

func NewProtectionContainerRefreshOperationResultsClient

func NewProtectionContainerRefreshOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectionContainerRefreshOperationResultsClient, error)

NewProtectionContainerRefreshOperationResultsClient creates a new instance of ProtectionContainerRefreshOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectionContainerRefreshOperationResultsClient) Get

Get - Provides the result of the refresh operation triggered by the BeginRefresh operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the container.
  • operationID - Operation ID associated with the operation whose result needs to be fetched.
  • options - ProtectionContainerRefreshOperationResultsClientGetOptions contains the optional parameters for the ProtectionContainerRefreshOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/RefreshContainers_OperationResults.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewProtectionContainerRefreshOperationResultsClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "Azure", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type ProtectionContainerRefreshOperationResultsClientGetOptions

type ProtectionContainerRefreshOperationResultsClientGetOptions struct {
}

ProtectionContainerRefreshOperationResultsClientGetOptions contains the optional parameters for the ProtectionContainerRefreshOperationResultsClient.Get method.

type ProtectionContainerRefreshOperationResultsClientGetResponse

type ProtectionContainerRefreshOperationResultsClientGetResponse struct {
}

ProtectionContainerRefreshOperationResultsClientGetResponse contains the response from method ProtectionContainerRefreshOperationResultsClient.Get.

type ProtectionContainerResource

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
}

ProtectionContainerResource - Base class for container with backup items. Containers with specific workloads are derived from this class.

func (ProtectionContainerResource) MarshalJSON

func (p ProtectionContainerResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionContainerResource.

func (*ProtectionContainerResource) UnmarshalJSON

func (p *ProtectionContainerResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionContainerResource.

type ProtectionContainerResourceList

type ProtectionContainerResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*ProtectionContainerResource
}

ProtectionContainerResourceList - List of ProtectionContainer resources

func (ProtectionContainerResourceList) MarshalJSON

func (p ProtectionContainerResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionContainerResourceList.

func (*ProtectionContainerResourceList) UnmarshalJSON

func (p *ProtectionContainerResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionContainerResourceList.

type ProtectionContainersClient

type ProtectionContainersClient struct {
	// contains filtered or unexported fields
}

ProtectionContainersClient contains the methods for the ProtectionContainers group. Don't use this type directly, use NewProtectionContainersClient() instead.

func NewProtectionContainersClient

func NewProtectionContainersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectionContainersClient, error)

NewProtectionContainersClient creates a new instance of ProtectionContainersClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectionContainersClient) Get

func (client *ProtectionContainersClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, options *ProtectionContainersClientGetOptions) (ProtectionContainersClientGetResponse, error)

Get - Gets details of the specific container registered to your Recovery Services Vault. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Name of the fabric where the container belongs.
  • containerName - Name of the container whose details need to be fetched.
  • options - ProtectionContainersClientGetOptions contains the optional parameters for the ProtectionContainersClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/ProtectionContainers_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionContainersClient().Get(ctx, "testVault", "testRg", "Azure", "VMAppContainer;Compute;testRG;testSQL", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionContainerResource = armrecoveryservicesbackup.ProtectionContainerResource{
// 	Name: to.Ptr("VMAppContainer;Compute;testRG;testSQL"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL"),
// 	Properties: &armrecoveryservicesbackup.AzureVMAppContainerProtectionContainer{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureWorkload),
// 		ContainerType: to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeVMAppContainer),
// 		FriendlyName: to.Ptr("testSQL"),
// 		ExtendedInfo: &armrecoveryservicesbackup.AzureWorkloadContainerExtendedInfo{
// 			HostServerName: to.Ptr("testsql"),
// 			InquiryInfo: &armrecoveryservicesbackup.InquiryInfo{
// 				ErrorDetail: &armrecoveryservicesbackup.ErrorDetail{
// 					Code: to.Ptr("Success"),
// 					Message: to.Ptr("Not Available"),
// 					Recommendations: []*string{
// 						to.Ptr("Not Available")},
// 					},
// 					InquiryDetails: []*armrecoveryservicesbackup.WorkloadInquiryDetails{
// 						{
// 							Type: to.Ptr("sql"),
// 							InquiryValidation: &armrecoveryservicesbackup.InquiryValidation{
// 								ErrorDetail: &armrecoveryservicesbackup.ErrorDetail{
// 									Code: to.Ptr("Success"),
// 									Message: to.Ptr("Not Available"),
// 									Recommendations: []*string{
// 										to.Ptr("Not Available")},
// 									},
// 									Status: to.Ptr("Success"),
// 								},
// 								ItemCount: to.Ptr[int64](14),
// 						}},
// 						Status: to.Ptr("Success"),
// 					},
// 					NodesList: []*armrecoveryservicesbackup.DistributedNodesInfo{
// 					},
// 				},
// 				SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL"),
// 			},
// 		}
Output:

func (*ProtectionContainersClient) Inquire

func (client *ProtectionContainersClient) Inquire(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, options *ProtectionContainersClientInquireOptions) (ProtectionContainersClientInquireResponse, error)

Inquire - This is an async operation and the results should be tracked using location header or Azure-async-url. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric Name associated with the container.
  • containerName - Name of the container in which inquiry needs to be triggered.
  • options - ProtectionContainersClientInquireOptions contains the optional parameters for the ProtectionContainersClient.Inquire method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewProtectionContainersClient().Inquire(ctx, "testvault", "test-rg", "Azure", "storagecontainer;Storage;test-rg;teststorage", &armrecoveryservicesbackup.ProtectionContainersClientInquireOptions{Filter: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*ProtectionContainersClient) Refresh

Refresh - Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated the container.
  • options - ProtectionContainersClientRefreshOptions contains the optional parameters for the ProtectionContainersClient.Refresh method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/RefreshContainers.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewProtectionContainersClient().Refresh(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "Azure", &armrecoveryservicesbackup.ProtectionContainersClientRefreshOptions{Filter: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*ProtectionContainersClient) Register

func (client *ProtectionContainersClient) Register(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, parameters ProtectionContainerResource, options *ProtectionContainersClientRegisterOptions) (ProtectionContainersClientRegisterResponse, error)

Register - Registers the container with Recovery Services vault. This is an asynchronous operation. To track the operation status, use location header to call get latest status of the operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the container.
  • containerName - Name of the container to be registered.
  • parameters - Request body for operation
  • options - ProtectionContainersClientRegisterOptions contains the optional parameters for the ProtectionContainersClient.Register method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/ProtectionContainers_Register.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionContainersClient().Register(ctx, "swaggertestvault", "SwaggerTestRg", "Azure", "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", armrecoveryservicesbackup.ProtectionContainerResource{
	Properties: &armrecoveryservicesbackup.AzureStorageContainer{
		BackupManagementType:      to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureStorage),
		ContainerType:             to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeStorageContainer),
		FriendlyName:              to.Ptr("swaggertestsa"),
		AcquireStorageAccountLock: to.Ptr(armrecoveryservicesbackup.AcquireStorageAccountLockAcquire),
		SourceResourceID:          to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionContainerResource = armrecoveryservicesbackup.ProtectionContainerResource{
// 	Name: to.Ptr("StorageContainer;Storage;SwaggerTestRg;swaggertestsa"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa"),
// 	Properties: &armrecoveryservicesbackup.AzureStorageContainer{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureStorage),
// 		ContainerType: to.Ptr(armrecoveryservicesbackup.ProtectableContainerTypeStorageContainer),
// 		FriendlyName: to.Ptr("swaggertestsa"),
// 		HealthStatus: to.Ptr("Healthy"),
// 		RegistrationStatus: to.Ptr("Registered"),
// 		AcquireStorageAccountLock: to.Ptr(armrecoveryservicesbackup.AcquireStorageAccountLockAcquire),
// 		ProtectedItemCount: to.Ptr[int64](0),
// 		SourceResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa"),
// 	},
// }
Output:

func (*ProtectionContainersClient) Unregister

func (client *ProtectionContainersClient) Unregister(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, options *ProtectionContainersClientUnregisterOptions) (ProtectionContainersClientUnregisterResponse, error)

Unregister - Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine whether the backend service has finished processing the request, call Get Container Operation Result API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Name of the fabric where the container belongs.
  • containerName - Name of the container which needs to be unregistered from the Recovery Services Vault.
  • options - ProtectionContainersClientUnregisterOptions contains the optional parameters for the ProtectionContainersClient.Unregister method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewProtectionContainersClient().Unregister(ctx, "testVault", "testRg", "Azure", "storagecontainer;Storage;test-rg;teststorage", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type ProtectionContainersClientGetOptions

type ProtectionContainersClientGetOptions struct {
}

ProtectionContainersClientGetOptions contains the optional parameters for the ProtectionContainersClient.Get method.

type ProtectionContainersClientGetResponse

type ProtectionContainersClientGetResponse struct {
	ProtectionContainerResource
}

ProtectionContainersClientGetResponse contains the response from method ProtectionContainersClient.Get.

type ProtectionContainersClientInquireOptions

type ProtectionContainersClientInquireOptions struct {
	// OData filter options.
	Filter *string
}

ProtectionContainersClientInquireOptions contains the optional parameters for the ProtectionContainersClient.Inquire method.

type ProtectionContainersClientInquireResponse

type ProtectionContainersClientInquireResponse struct {
}

ProtectionContainersClientInquireResponse contains the response from method ProtectionContainersClient.Inquire.

type ProtectionContainersClientRefreshOptions

type ProtectionContainersClientRefreshOptions struct {
	// OData filter options.
	Filter *string
}

ProtectionContainersClientRefreshOptions contains the optional parameters for the ProtectionContainersClient.Refresh method.

type ProtectionContainersClientRefreshResponse

type ProtectionContainersClientRefreshResponse struct {
}

ProtectionContainersClientRefreshResponse contains the response from method ProtectionContainersClient.Refresh.

type ProtectionContainersClientRegisterOptions

type ProtectionContainersClientRegisterOptions struct {
}

ProtectionContainersClientRegisterOptions contains the optional parameters for the ProtectionContainersClient.Register method.

type ProtectionContainersClientRegisterResponse

type ProtectionContainersClientRegisterResponse struct {
	ProtectionContainerResource
}

ProtectionContainersClientRegisterResponse contains the response from method ProtectionContainersClient.Register.

type ProtectionContainersClientUnregisterOptions

type ProtectionContainersClientUnregisterOptions struct {
}

ProtectionContainersClientUnregisterOptions contains the optional parameters for the ProtectionContainersClient.Unregister method.

type ProtectionContainersClientUnregisterResponse

type ProtectionContainersClientUnregisterResponse struct {
}

ProtectionContainersClientUnregisterResponse contains the response from method ProtectionContainersClient.Unregister.

type 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
}

ProtectionIntent - Base class for backup ProtectionIntent.

func (*ProtectionIntent) GetProtectionIntent

func (p *ProtectionIntent) GetProtectionIntent() *ProtectionIntent

GetProtectionIntent implements the ProtectionIntentClassification interface for type ProtectionIntent.

func (ProtectionIntent) MarshalJSON

func (p ProtectionIntent) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionIntent.

func (*ProtectionIntent) UnmarshalJSON

func (p *ProtectionIntent) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionIntent.

type ProtectionIntentClassification

type ProtectionIntentClassification interface {
	// GetProtectionIntent returns the ProtectionIntent content of the underlying type.
	GetProtectionIntent() *ProtectionIntent
}

ProtectionIntentClassification provides polymorphic access to related types. Call the interface's GetProtectionIntent() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureRecoveryServiceVaultProtectionIntent, *AzureResourceProtectionIntent, *AzureWorkloadAutoProtectionIntent, *AzureWorkloadContainerAutoProtectionIntent, - *AzureWorkloadSQLAutoProtectionIntent, *ProtectionIntent

type ProtectionIntentClient

type ProtectionIntentClient struct {
	// contains filtered or unexported fields
}

ProtectionIntentClient contains the methods for the ProtectionIntent group. Don't use this type directly, use NewProtectionIntentClient() instead.

func NewProtectionIntentClient

func NewProtectionIntentClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectionIntentClient, error)

NewProtectionIntentClient creates a new instance of ProtectionIntentClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectionIntentClient) CreateOrUpdate

func (client *ProtectionIntentClient) CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string, parameters ProtectionIntentResource, options *ProtectionIntentClientCreateOrUpdateOptions) (ProtectionIntentClientCreateOrUpdateResponse, error)

CreateOrUpdate - Create Intent for Enabling backup of an item. This is a synchronous operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backup item.
  • intentObjectName - Intent object name.
  • parameters - resource backed up item
  • options - ProtectionIntentClientCreateOrUpdateOptions contains the optional parameters for the ProtectionIntentClient.CreateOrUpdate method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionIntentClient().CreateOrUpdate(ctx, "myVault", "myRG", "Azure", "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", armrecoveryservicesbackup.ProtectionIntentResource{
	Properties: &armrecoveryservicesbackup.AzureResourceProtectionIntent{
		PolicyID:                 to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy"),
		ProtectionIntentItemType: to.Ptr(armrecoveryservicesbackup.ProtectionIntentItemTypeAzureResourceItem),
		SourceResourceID:         to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionIntentResource = armrecoveryservicesbackup.ProtectionIntentResource{
// 	Name: to.Ptr("vm;iaasvmcontainerv2;chamsrgtest;chamscandel"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupProtectionIntent"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel"),
// 	Properties: &armrecoveryservicesbackup.AzureResourceProtectionIntent{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureIaasVM),
// 		PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy"),
// 		ProtectionIntentItemType: to.Ptr(armrecoveryservicesbackup.ProtectionIntentItemTypeAzureResourceItem),
// 		ProtectionState: to.Ptr(armrecoveryservicesbackup.ProtectionStatusProtected),
// 	},
// }
Output:

func (*ProtectionIntentClient) Delete

func (client *ProtectionIntentClient) Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string, options *ProtectionIntentClientDeleteOptions) (ProtectionIntentClientDeleteResponse, error)

Delete - Used to remove intent from an item If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the intent.
  • intentObjectName - Intent to be deleted.
  • options - ProtectionIntentClientDeleteOptions contains the optional parameters for the ProtectionIntentClient.Delete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewProtectionIntentClient().Delete(ctx, "myVault", "myRG", "Azure", "249D9B07-D2EF-4202-AA64-65F35418564E", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*ProtectionIntentClient) Get

func (client *ProtectionIntentClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string, options *ProtectionIntentClientGetOptions) (ProtectionIntentClientGetResponse, error)

Get - Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backed up item.
  • intentObjectName - Backed up item name whose details are to be fetched.
  • options - ProtectionIntentClientGetOptions contains the optional parameters for the ProtectionIntentClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionIntentClient().Get(ctx, "myVault", "myRG", "Azure", "249D9B07-D2EF-4202-AA64-65F35418564E", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionIntentResource = armrecoveryservicesbackup.ProtectionIntentResource{
// 	Name: to.Ptr("249D9B07-D2EF-4202-AA64-65F35418564E"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupProtectionIntent"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E"),
// 	Properties: &armrecoveryservicesbackup.AzureWorkloadContainerAutoProtectionIntent{
// 		BackupManagementType: to.Ptr(armrecoveryservicesbackup.BackupManagementTypeAzureWorkload),
// 		ItemID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER"),
// 		PolicyID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy"),
// 		ProtectionIntentItemType: to.Ptr(armrecoveryservicesbackup.ProtectionIntentItemTypeAzureWorkloadContainerAutoProtectionIntent),
// 	},
// }
Output:

func (*ProtectionIntentClient) Validate

Validate - It will validate followings 1. Vault capacity 2. VM is already protected 3. Any VM related configuration passed in properties. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • azureRegion - Azure region to hit Api
  • parameters - Enable backup validation request on Virtual Machine
  • options - ProtectionIntentClientValidateOptions contains the optional parameters for the ProtectionIntentClient.Validate method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionIntentClient().Validate(ctx, "southeastasia", armrecoveryservicesbackup.PreValidateEnableBackupRequest{
	Properties:   to.Ptr(""),
	ResourceID:   to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1"),
	ResourceType: to.Ptr(armrecoveryservicesbackup.DataSourceTypeVM),
	VaultID:      to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.PreValidateEnableBackupResponse = armrecoveryservicesbackup.PreValidateEnableBackupResponse{
// 	ContainerName: to.Ptr("iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1"),
// 	ErrorCode: to.Ptr("VirtualMachineAlreadyProtected"),
// 	ErrorMessage: to.Ptr("Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault"),
// 	ProtectedItemName: to.Ptr("vm;iaasvmcontainerv2;arunaupgrade;upgrade1"),
// 	Recommendation: to.Ptr("Please do not enable protection again."),
// 	Status: to.Ptr(armrecoveryservicesbackup.ValidationStatusFailed),
// }
Output:

type ProtectionIntentClientCreateOrUpdateOptions

type ProtectionIntentClientCreateOrUpdateOptions struct {
}

ProtectionIntentClientCreateOrUpdateOptions contains the optional parameters for the ProtectionIntentClient.CreateOrUpdate method.

type ProtectionIntentClientCreateOrUpdateResponse

type ProtectionIntentClientCreateOrUpdateResponse struct {
	ProtectionIntentResource
}

ProtectionIntentClientCreateOrUpdateResponse contains the response from method ProtectionIntentClient.CreateOrUpdate.

type ProtectionIntentClientDeleteOptions

type ProtectionIntentClientDeleteOptions struct {
}

ProtectionIntentClientDeleteOptions contains the optional parameters for the ProtectionIntentClient.Delete method.

type ProtectionIntentClientDeleteResponse

type ProtectionIntentClientDeleteResponse struct {
}

ProtectionIntentClientDeleteResponse contains the response from method ProtectionIntentClient.Delete.

type ProtectionIntentClientGetOptions

type ProtectionIntentClientGetOptions struct {
}

ProtectionIntentClientGetOptions contains the optional parameters for the ProtectionIntentClient.Get method.

type ProtectionIntentClientGetResponse

type ProtectionIntentClientGetResponse struct {
	ProtectionIntentResource
}

ProtectionIntentClientGetResponse contains the response from method ProtectionIntentClient.Get.

type ProtectionIntentClientValidateOptions

type ProtectionIntentClientValidateOptions struct {
}

ProtectionIntentClientValidateOptions contains the optional parameters for the ProtectionIntentClient.Validate method.

type ProtectionIntentClientValidateResponse

type ProtectionIntentClientValidateResponse struct {
	PreValidateEnableBackupResponse
}

ProtectionIntentClientValidateResponse contains the response from method ProtectionIntentClient.Validate.

type ProtectionIntentItemType

type ProtectionIntentItemType string

ProtectionIntentItemType - backup protectionIntent type.

const (
	ProtectionIntentItemTypeAzureResourceItem                          ProtectionIntentItemType = "AzureResourceItem"
	ProtectionIntentItemTypeAzureWorkloadAutoProtectionIntent          ProtectionIntentItemType = "AzureWorkloadAutoProtectionIntent"
	ProtectionIntentItemTypeAzureWorkloadContainerAutoProtectionIntent ProtectionIntentItemType = "AzureWorkloadContainerAutoProtectionIntent"
	ProtectionIntentItemTypeAzureWorkloadSQLAutoProtectionIntent       ProtectionIntentItemType = "AzureWorkloadSQLAutoProtectionIntent"
	ProtectionIntentItemTypeInvalid                                    ProtectionIntentItemType = "Invalid"
	ProtectionIntentItemTypeRecoveryServiceVaultItem                   ProtectionIntentItemType = "RecoveryServiceVaultItem"
)

func PossibleProtectionIntentItemTypeValues

func PossibleProtectionIntentItemTypeValues() []ProtectionIntentItemType

PossibleProtectionIntentItemTypeValues returns the possible values for the ProtectionIntentItemType const type.

type ProtectionIntentQueryObject

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
}

ProtectionIntentQueryObject - Filters to list protection intent.

func (ProtectionIntentQueryObject) MarshalJSON

func (p ProtectionIntentQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionIntentQueryObject.

func (*ProtectionIntentQueryObject) UnmarshalJSON

func (p *ProtectionIntentQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionIntentQueryObject.

type ProtectionIntentResource

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
}

ProtectionIntentResource - Base class for backup ProtectionIntent.

func (ProtectionIntentResource) MarshalJSON

func (p ProtectionIntentResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionIntentResource.

func (*ProtectionIntentResource) UnmarshalJSON

func (p *ProtectionIntentResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionIntentResource.

type ProtectionIntentResourceList

type ProtectionIntentResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*ProtectionIntentResource
}

ProtectionIntentResourceList - List of ProtectionIntent resources

func (ProtectionIntentResourceList) MarshalJSON

func (p ProtectionIntentResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionIntentResourceList.

func (*ProtectionIntentResourceList) UnmarshalJSON

func (p *ProtectionIntentResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionIntentResourceList.

type ProtectionPoliciesClient

type ProtectionPoliciesClient struct {
	// contains filtered or unexported fields
}

ProtectionPoliciesClient contains the methods for the ProtectionPolicies group. Don't use this type directly, use NewProtectionPoliciesClient() instead.

func NewProtectionPoliciesClient

func NewProtectionPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectionPoliciesClient, error)

NewProtectionPoliciesClient creates a new instance of ProtectionPoliciesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectionPoliciesClient) BeginDelete

BeginDelete - Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetProtectionPolicyOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • policyName - Backup policy to be deleted.
  • options - ProtectionPoliciesClientBeginDeleteOptions contains the optional parameters for the ProtectionPoliciesClient.BeginDelete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewProtectionPoliciesClient().BeginDelete(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "testPolicy1", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

func (*ProtectionPoliciesClient) CreateOrUpdate

CreateOrUpdate - Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • policyName - Backup policy to be created.
  • parameters - resource backup policy
  • options - ProtectionPoliciesClientCreateOrUpdateOptions contains the optional parameters for the ProtectionPoliciesClient.CreateOrUpdate method.
Example (CreateOrUpdateDailyAzureStorageProtectionPolicy)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().CreateOrUpdate(ctx, "swaggertestvault", "SwaggerTestRg", "dailyPolicy2", armrecoveryservicesbackup.ProtectionPolicyResource{
	Properties: &armrecoveryservicesbackup.AzureFileShareProtectionPolicy{
		BackupManagementType: to.Ptr("AzureStorage"),
		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](5),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00.000Z"); return t }())},
			},
			MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](60),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00.000Z"); return t }())},
			},
			WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
				DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
					to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](12),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00.000Z"); return t }())},
			},
			YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
				MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
					to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](10),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00.000Z"); return t }())},
			},
		},
		SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
			SchedulePolicyType:   to.Ptr("SimpleSchedulePolicy"),
			ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
			ScheduleRunTimes: []*time.Time{
				to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00.000Z"); return t }())},
		},
		TimeZone:     to.Ptr("UTC"),
		WorkLoadType: to.Ptr(armrecoveryservicesbackup.WorkloadTypeAzureFileShare),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("dailyPolicy2"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2"),
// 	Properties: &armrecoveryservicesbackup.AzureFileShareProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureStorage"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](5),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00Z"); return t}())},
// 				},
// 				MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
// 					RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 						Count: to.Ptr[int32](60),
// 						DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
// 					},
// 					RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 					RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 						DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 							to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 							WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 								to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 							},
// 							RetentionTimes: []*time.Time{
// 								to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00Z"); return t}())},
// 							},
// 							WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
// 								DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 									to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 									RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 										Count: to.Ptr[int32](12),
// 										DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
// 									},
// 									RetentionTimes: []*time.Time{
// 										to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00Z"); return t}())},
// 									},
// 									YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
// 										MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
// 											to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
// 											RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 												Count: to.Ptr[int32](10),
// 												DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
// 											},
// 											RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 											RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 												DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 													to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 													WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 														to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 													},
// 													RetentionTimes: []*time.Time{
// 														to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00Z"); return t}())},
// 													},
// 												},
// 												SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 													SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 													ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
// 													ScheduleRunTimes: []*time.Time{
// 														to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00Z"); return t}())},
// 														ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 													},
// 													TimeZone: to.Ptr("UTC"),
// 												},
// 											}
Output:

Example (CreateOrUpdateEnhancedAzureVmProtectionPolicyWithDailyBackup)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().CreateOrUpdate(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "v2-daily-sample", armrecoveryservicesbackup.ProtectionPolicyResource{
	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
		BackupManagementType:          to.Ptr("AzureIaasVM"),
		InstantRpRetentionRangeInDays: to.Ptr[int32](30),
		PolicyType:                    to.Ptr(armrecoveryservicesbackup.IAASVMPolicyTypeV2),
		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](180),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
			MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](60),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
			WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
				DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
					to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](12),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
			YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
				MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
					to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](10),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
		},
		SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicyV2{
			SchedulePolicyType: to.Ptr("SimpleSchedulePolicyV2"),
			DailySchedule: &armrecoveryservicesbackup.DailySchedule{
				ScheduleRunTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
			},
			ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
		},
		TimeZone: to.Ptr("India Standard Time"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("v2-daily-sample"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureIaasVM"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		InstantRpRetentionRangeInDays: to.Ptr[int32](30),
// 		PolicyType: to.Ptr(armrecoveryservicesbackup.IAASVMPolicyTypeV2),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](180),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 				},
// 				MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
// 					RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 						Count: to.Ptr[int32](60),
// 						DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
// 					},
// 					RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 					RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 						DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 							to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 							WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 								to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 							},
// 							RetentionTimes: []*time.Time{
// 								to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 							},
// 							WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
// 								DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 									to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 									RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 										Count: to.Ptr[int32](12),
// 										DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
// 									},
// 									RetentionTimes: []*time.Time{
// 										to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 									},
// 									YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
// 										MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
// 											to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
// 											RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 												Count: to.Ptr[int32](10),
// 												DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
// 											},
// 											RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 											RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 												DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 													to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 													WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 														to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 													},
// 													RetentionTimes: []*time.Time{
// 														to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 													},
// 												},
// 												SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicyV2{
// 													SchedulePolicyType: to.Ptr("SimpleSchedulePolicyV2"),
// 													DailySchedule: &armrecoveryservicesbackup.DailySchedule{
// 														ScheduleRunTimes: []*time.Time{
// 															to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 														},
// 														ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
// 													},
// 													TimeZone: to.Ptr("India Standard Time"),
// 												},
// 											}
Output:

Example (CreateOrUpdateEnhancedAzureVmProtectionPolicyWithHourlyBackup)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().CreateOrUpdate(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "v2-daily-sample", armrecoveryservicesbackup.ProtectionPolicyResource{
	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
		BackupManagementType:          to.Ptr("AzureIaasVM"),
		InstantRpRetentionRangeInDays: to.Ptr[int32](30),
		PolicyType:                    to.Ptr(armrecoveryservicesbackup.IAASVMPolicyTypeV2),
		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](180),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
			MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](60),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
			WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
				DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
					to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](12),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
			YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
				MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
					to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](10),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t }())},
			},
		},
		SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicyV2{
			SchedulePolicyType: to.Ptr("SimpleSchedulePolicyV2"),
			HourlySchedule: &armrecoveryservicesbackup.HourlySchedule{
				Interval:                to.Ptr[int32](4),
				ScheduleWindowDuration:  to.Ptr[int32](16),
				ScheduleWindowStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00Z"); return t }()),
			},
			ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeHourly),
		},
		TimeZone: to.Ptr("India Standard Time"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("v2-daily-sample"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureIaasVM"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		InstantRpRetentionRangeInDays: to.Ptr[int32](30),
// 		PolicyType: to.Ptr(armrecoveryservicesbackup.IAASVMPolicyTypeV2),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](180),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 				},
// 				MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
// 					RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 						Count: to.Ptr[int32](60),
// 						DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
// 					},
// 					RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 					RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 						DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 							to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 							WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 								to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 							},
// 							RetentionTimes: []*time.Time{
// 								to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 							},
// 							WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
// 								DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 									to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 									RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 										Count: to.Ptr[int32](12),
// 										DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
// 									},
// 									RetentionTimes: []*time.Time{
// 										to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 									},
// 									YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
// 										MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
// 											to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
// 											RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 												Count: to.Ptr[int32](10),
// 												DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
// 											},
// 											RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 											RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 												DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 													to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 													WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 														to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 													},
// 													RetentionTimes: []*time.Time{
// 														to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00+00:00"); return t}())},
// 													},
// 												},
// 												SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicyV2{
// 													SchedulePolicyType: to.Ptr("SimpleSchedulePolicyV2"),
// 													HourlySchedule: &armrecoveryservicesbackup.HourlySchedule{
// 														Interval: to.Ptr[int32](4),
// 														ScheduleWindowDuration: to.Ptr[int32](16),
// 														ScheduleWindowStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-12-17T08:00:00Z"); return t}()),
// 													},
// 													ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeHourly),
// 												},
// 												TimeZone: to.Ptr("India Standard Time"),
// 											},
// 										}
Output:

Example (CreateOrUpdateFullAzureVmProtectionPolicy)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().CreateOrUpdate(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "testPolicy1", armrecoveryservicesbackup.ProtectionPolicyResource{
	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
		BackupManagementType: to.Ptr("AzureIaasVM"),
		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
			MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](2),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekWednesday),
						to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst),
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthThird)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
			},
			WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
				DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
					to.Ptr(armrecoveryservicesbackup.DayOfWeekMonday),
					to.Ptr(armrecoveryservicesbackup.DayOfWeekWednesday),
					to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](1),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
			},
			YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
				MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
					to.Ptr(armrecoveryservicesbackup.MonthOfYearFebruary),
					to.Ptr(armrecoveryservicesbackup.MonthOfYearNovember)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](4),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekMonday),
						to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFourth)},
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
			},
		},
		SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
			SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
			ScheduleRunDays: []*armrecoveryservicesbackup.DayOfWeek{
				to.Ptr(armrecoveryservicesbackup.DayOfWeekMonday),
				to.Ptr(armrecoveryservicesbackup.DayOfWeekWednesday),
				to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
			ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeWeekly),
			ScheduleRunTimes: []*time.Time{
				to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
		},
		TimeZone: to.Ptr("Pacific Standard Time"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("testPolicy1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureIaasVM"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](2),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
// 				},
// 				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 						to.Ptr(armrecoveryservicesbackup.DayOfWeekWednesday),
// 						to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
// 						WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 							to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst),
// 							to.Ptr(armrecoveryservicesbackup.WeekOfMonthThird)},
// 						},
// 						RetentionTimes: []*time.Time{
// 							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 						},
// 						WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
// 							DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 								to.Ptr(armrecoveryservicesbackup.DayOfWeekMonday),
// 								to.Ptr(armrecoveryservicesbackup.DayOfWeekWednesday),
// 								to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
// 								RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 									Count: to.Ptr[int32](1),
// 									DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
// 								},
// 								RetentionTimes: []*time.Time{
// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 								},
// 								YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
// 									MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
// 										to.Ptr(armrecoveryservicesbackup.MonthOfYearFebruary),
// 										to.Ptr(armrecoveryservicesbackup.MonthOfYearNovember)},
// 										RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 											Count: to.Ptr[int32](4),
// 											DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
// 										},
// 										RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 										RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 											DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 												to.Ptr(armrecoveryservicesbackup.DayOfWeekMonday),
// 												to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
// 												WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 													to.Ptr(armrecoveryservicesbackup.WeekOfMonthFourth)},
// 												},
// 												RetentionTimes: []*time.Time{
// 													to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 												},
// 											},
// 											SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 												SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 												ScheduleRunDays: []*armrecoveryservicesbackup.DayOfWeek{
// 													to.Ptr(armrecoveryservicesbackup.DayOfWeekMonday),
// 													to.Ptr(armrecoveryservicesbackup.DayOfWeekWednesday),
// 													to.Ptr(armrecoveryservicesbackup.DayOfWeekThursday)},
// 													ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeWeekly),
// 													ScheduleRunTimes: []*time.Time{
// 														to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 														ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 													},
// 													TimeZone: to.Ptr("Pacific Standard Time"),
// 												},
// 											}
Output:

Example (CreateOrUpdateFullAzureWorkloadProtectionPolicy)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().CreateOrUpdate(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "testPolicy1", armrecoveryservicesbackup.ProtectionPolicyResource{
	Properties: &armrecoveryservicesbackup.AzureVMWorkloadProtectionPolicy{
		BackupManagementType: to.Ptr("AzureWorkload"),
		Settings: &armrecoveryservicesbackup.Settings{
			Issqlcompression: to.Ptr(false),
			TimeZone:         to.Ptr("Pacific Standard Time"),
		},
		SubProtectionPolicy: []*armrecoveryservicesbackup.SubProtectionPolicy{
			{
				PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeFull),
				RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
					RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
					MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
						RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
							Count:        to.Ptr[int32](1),
							DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
						},
						RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
						RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
							DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
								to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
							WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
								to.Ptr(armrecoveryservicesbackup.WeekOfMonthSecond)},
						},
						RetentionTimes: []*time.Time{
							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
					},
					WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
						DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
							to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday),
							to.Ptr(armrecoveryservicesbackup.DayOfWeekTuesday)},
						RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
							Count:        to.Ptr[int32](2),
							DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
						},
						RetentionTimes: []*time.Time{
							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
					},
					YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
						MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
							to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary),
							to.Ptr(armrecoveryservicesbackup.MonthOfYearJune),
							to.Ptr(armrecoveryservicesbackup.MonthOfYearDecember)},
						RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
							Count:        to.Ptr[int32](1),
							DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
						},
						RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
						RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
							DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
								to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
							WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
								to.Ptr(armrecoveryservicesbackup.WeekOfMonthLast)},
						},
						RetentionTimes: []*time.Time{
							to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
					},
				},
				SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
					SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
					ScheduleRunDays: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday),
						to.Ptr(armrecoveryservicesbackup.DayOfWeekTuesday)},
					ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeWeekly),
					ScheduleRunTimes: []*time.Time{
						to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
				},
			},
			{
				PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeDifferential),
				RetentionPolicy: &armrecoveryservicesbackup.SimpleRetentionPolicy{
					RetentionPolicyType: to.Ptr("SimpleRetentionPolicy"),
					RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
						Count:        to.Ptr[int32](8),
						DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
					},
				},
				SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
					SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
					ScheduleRunDays: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekFriday)},
					ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeWeekly),
					ScheduleRunTimes: []*time.Time{
						to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t }())},
				},
			},
			{
				PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeLog),
				RetentionPolicy: &armrecoveryservicesbackup.SimpleRetentionPolicy{
					RetentionPolicyType: to.Ptr("SimpleRetentionPolicy"),
					RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
						Count:        to.Ptr[int32](7),
						DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
					},
				},
				SchedulePolicy: &armrecoveryservicesbackup.LogSchedulePolicy{
					SchedulePolicyType:      to.Ptr("LogSchedulePolicy"),
					ScheduleFrequencyInMins: to.Ptr[int32](60),
				},
			}},
		WorkLoadType: to.Ptr(armrecoveryservicesbackup.WorkloadTypeSQLDataBase),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("testPolicy1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
// 	Properties: &armrecoveryservicesbackup.AzureVMWorkloadProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureWorkload"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		Settings: &armrecoveryservicesbackup.Settings{
// 			Issqlcompression: to.Ptr(false),
// 			TimeZone: to.Ptr("Pacific Standard Time"),
// 		},
// 		SubProtectionPolicy: []*armrecoveryservicesbackup.SubProtectionPolicy{
// 			{
// 				PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeFull),
// 				RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 					RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 					MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
// 						RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 							Count: to.Ptr[int32](1),
// 							DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
// 						},
// 						RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 						RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 							DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 								to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 								WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 									to.Ptr(armrecoveryservicesbackup.WeekOfMonthSecond)},
// 								},
// 								RetentionTimes: []*time.Time{
// 									to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 								},
// 								WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
// 									DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 										to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday),
// 										to.Ptr(armrecoveryservicesbackup.DayOfWeekTuesday)},
// 										RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 											Count: to.Ptr[int32](2),
// 											DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
// 										},
// 										RetentionTimes: []*time.Time{
// 											to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 										},
// 										YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
// 											MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
// 												to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary),
// 												to.Ptr(armrecoveryservicesbackup.MonthOfYearJune),
// 												to.Ptr(armrecoveryservicesbackup.MonthOfYearDecember)},
// 												RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 													Count: to.Ptr[int32](1),
// 													DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
// 												},
// 												RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 												RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 													DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 														to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 														WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 															to.Ptr(armrecoveryservicesbackup.WeekOfMonthLast)},
// 														},
// 														RetentionTimes: []*time.Time{
// 															to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 														},
// 													},
// 													SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 														SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 														ScheduleRunDays: []*armrecoveryservicesbackup.DayOfWeek{
// 															to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday),
// 															to.Ptr(armrecoveryservicesbackup.DayOfWeekTuesday)},
// 															ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeWeekly),
// 															ScheduleRunTimes: []*time.Time{
// 																to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 																ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 															},
// 														},
// 														{
// 															PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeDifferential),
// 															RetentionPolicy: &armrecoveryservicesbackup.SimpleRetentionPolicy{
// 																RetentionPolicyType: to.Ptr("SimpleRetentionPolicy"),
// 																RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 																	Count: to.Ptr[int32](8),
// 																	DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 																},
// 															},
// 															SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 																SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 																ScheduleRunDays: []*armrecoveryservicesbackup.DayOfWeek{
// 																	to.Ptr(armrecoveryservicesbackup.DayOfWeekFriday)},
// 																	ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeWeekly),
// 																	ScheduleRunTimes: []*time.Time{
// 																		to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 																		ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 																	},
// 																},
// 																{
// 																	PolicyType: to.Ptr(armrecoveryservicesbackup.PolicyTypeLog),
// 																	RetentionPolicy: &armrecoveryservicesbackup.SimpleRetentionPolicy{
// 																		RetentionPolicyType: to.Ptr("SimpleRetentionPolicy"),
// 																		RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 																			Count: to.Ptr[int32](7),
// 																			DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 																		},
// 																	},
// 																	SchedulePolicy: &armrecoveryservicesbackup.LogSchedulePolicy{
// 																		SchedulePolicyType: to.Ptr("LogSchedulePolicy"),
// 																		ScheduleFrequencyInMins: to.Ptr[int32](60),
// 																	},
// 															}},
// 															WorkLoadType: to.Ptr(armrecoveryservicesbackup.WorkloadTypeSQLDataBase),
// 														},
// 													}
Output:

Example (CreateOrUpdateHourlyAzureStorageProtectionPolicy)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().CreateOrUpdate(ctx, "swaggertestvault", "SwaggerTestRg", "newPolicy2", armrecoveryservicesbackup.ProtectionPolicyResource{
	Properties: &armrecoveryservicesbackup.AzureFileShareProtectionPolicy{
		BackupManagementType: to.Ptr("AzureStorage"),
		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](5),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
				},
			},
			MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](60),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
			},
			WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
				DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
					to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](12),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
				},
			},
			YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
				MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
					to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](10),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
				},
				RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
				RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
					DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
						to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
					WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
						to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
				},
			},
		},
		SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
			SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
			HourlySchedule: &armrecoveryservicesbackup.HourlySchedule{
				Interval:                to.Ptr[int32](4),
				ScheduleWindowDuration:  to.Ptr[int32](12),
				ScheduleWindowStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00.000Z"); return t }()),
			},
			ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeHourly),
		},
		TimeZone:     to.Ptr("UTC"),
		WorkLoadType: to.Ptr(armrecoveryservicesbackup.WorkloadTypeAzureFileShare),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("newPolicy2"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2"),
// 	Properties: &armrecoveryservicesbackup.AzureFileShareProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureStorage"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](5),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T20:00:00Z"); return t}())},
// 				},
// 				MonthlySchedule: &armrecoveryservicesbackup.MonthlyRetentionSchedule{
// 					RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 						Count: to.Ptr[int32](60),
// 						DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeMonths),
// 					},
// 					RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 					RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 						DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 							to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 							WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 								to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 							},
// 							RetentionTimes: []*time.Time{
// 								to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T20:00:00Z"); return t}())},
// 							},
// 							WeeklySchedule: &armrecoveryservicesbackup.WeeklyRetentionSchedule{
// 								DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 									to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 									RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 										Count: to.Ptr[int32](12),
// 										DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeWeeks),
// 									},
// 									RetentionTimes: []*time.Time{
// 										to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T20:00:00Z"); return t}())},
// 									},
// 									YearlySchedule: &armrecoveryservicesbackup.YearlyRetentionSchedule{
// 										MonthsOfYear: []*armrecoveryservicesbackup.MonthOfYear{
// 											to.Ptr(armrecoveryservicesbackup.MonthOfYearJanuary)},
// 											RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 												Count: to.Ptr[int32](10),
// 												DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeYears),
// 											},
// 											RetentionScheduleFormatType: to.Ptr(armrecoveryservicesbackup.RetentionScheduleFormatWeekly),
// 											RetentionScheduleWeekly: &armrecoveryservicesbackup.WeeklyRetentionFormat{
// 												DaysOfTheWeek: []*armrecoveryservicesbackup.DayOfWeek{
// 													to.Ptr(armrecoveryservicesbackup.DayOfWeekSunday)},
// 													WeeksOfTheMonth: []*armrecoveryservicesbackup.WeekOfMonth{
// 														to.Ptr(armrecoveryservicesbackup.WeekOfMonthFirst)},
// 													},
// 													RetentionTimes: []*time.Time{
// 														to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T20:00:00Z"); return t}())},
// 													},
// 												},
// 												SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 													SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 													HourlySchedule: &armrecoveryservicesbackup.HourlySchedule{
// 														Interval: to.Ptr[int32](4),
// 														ScheduleWindowDuration: to.Ptr[int32](12),
// 														ScheduleWindowStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-09-29T08:00:00Z"); return t}()),
// 													},
// 													ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeHourly),
// 													ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 												},
// 												TimeZone: to.Ptr("UTC"),
// 											},
// 										}
Output:

Example (CreateOrUpdateSimpleAzureVmProtectionPolicy)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().CreateOrUpdate(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "testPolicy1", armrecoveryservicesbackup.ProtectionPolicyResource{
	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
		BackupManagementType: to.Ptr("AzureIaasVM"),
		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
					Count:        to.Ptr[int32](1),
					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
				},
				RetentionTimes: []*time.Time{
					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t }())},
			},
		},
		SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
			SchedulePolicyType:   to.Ptr("SimpleSchedulePolicy"),
			ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
			ScheduleRunTimes: []*time.Time{
				to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t }())},
		},
		TimeZone: to.Ptr("Pacific Standard Time"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("testPolicy1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureIaasVM"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](1),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
// 				},
// 			},
// 			SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 				SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 				ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
// 				ScheduleRunTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
// 					ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 				},
// 				TimeZone: to.Ptr("Pacific Standard Time"),
// 			},
// 		}
Output:

func (*ProtectionPoliciesClient) Get

func (client *ProtectionPoliciesClient) Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string, options *ProtectionPoliciesClientGetOptions) (ProtectionPoliciesClientGetResponse, error)

Get - Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • policyName - Backup policy information to be fetched.
  • options - ProtectionPoliciesClientGetOptions contains the optional parameters for the ProtectionPoliciesClient.Get method.
Example (GetAzureIaasVmEnhancedProtectionPolicyDetails)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "v2-daily-sample", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("v2-daily-sample"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureIaasVM"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		InstantRpRetentionRangeInDays: to.Ptr[int32](30),
// 		PolicyType: to.Ptr(armrecoveryservicesbackup.IAASVMPolicyTypeV2),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](1),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
// 				},
// 			},
// 			SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicyV2{
// 				SchedulePolicyType: to.Ptr("SimpleSchedulePolicyV2"),
// 				DailySchedule: &armrecoveryservicesbackup.DailySchedule{
// 					ScheduleRunTimes: []*time.Time{
// 						to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T10:00:00Z"); return t}())},
// 					},
// 					ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
// 				},
// 				TimeZone: to.Ptr("Pacific Standard Time"),
// 			},
// 		}
Output:

Example (GetAzureIaasVmProtectionPolicyDetails)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPoliciesClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "testPolicy1", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("testPolicy1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureIaasVM"),
// 		ProtectedItemsCount: to.Ptr[int32](0),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](1),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
// 				},
// 			},
// 			SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 				SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 				ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
// 				ScheduleRunTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
// 					ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 				},
// 				TimeZone: to.Ptr("Pacific Standard Time"),
// 			},
// 		}
Output:

type ProtectionPoliciesClientBeginDeleteOptions

type ProtectionPoliciesClientBeginDeleteOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ProtectionPoliciesClientBeginDeleteOptions contains the optional parameters for the ProtectionPoliciesClient.BeginDelete method.

type ProtectionPoliciesClientCreateOrUpdateOptions

type ProtectionPoliciesClientCreateOrUpdateOptions struct {
}

ProtectionPoliciesClientCreateOrUpdateOptions contains the optional parameters for the ProtectionPoliciesClient.CreateOrUpdate method.

type ProtectionPoliciesClientCreateOrUpdateResponse

type ProtectionPoliciesClientCreateOrUpdateResponse struct {
	ProtectionPolicyResource
}

ProtectionPoliciesClientCreateOrUpdateResponse contains the response from method ProtectionPoliciesClient.CreateOrUpdate.

type ProtectionPoliciesClientDeleteResponse

type ProtectionPoliciesClientDeleteResponse struct {
}

ProtectionPoliciesClientDeleteResponse contains the response from method ProtectionPoliciesClient.BeginDelete.

type ProtectionPoliciesClientGetOptions

type ProtectionPoliciesClientGetOptions struct {
}

ProtectionPoliciesClientGetOptions contains the optional parameters for the ProtectionPoliciesClient.Get method.

type ProtectionPoliciesClientGetResponse

type ProtectionPoliciesClientGetResponse struct {
	ProtectionPolicyResource
}

ProtectionPoliciesClientGetResponse contains the response from method ProtectionPoliciesClient.Get.

type ProtectionPolicy

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
}

ProtectionPolicy - Base class for backup policy. Workload-specific backup policies are derived from this class.

func (*ProtectionPolicy) GetProtectionPolicy

func (p *ProtectionPolicy) GetProtectionPolicy() *ProtectionPolicy

GetProtectionPolicy implements the ProtectionPolicyClassification interface for type ProtectionPolicy.

func (ProtectionPolicy) MarshalJSON

func (p ProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionPolicy.

func (*ProtectionPolicy) UnmarshalJSON

func (p *ProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionPolicy.

type ProtectionPolicyClassification

type ProtectionPolicyClassification interface {
	// GetProtectionPolicy returns the ProtectionPolicy content of the underlying type.
	GetProtectionPolicy() *ProtectionPolicy
}

ProtectionPolicyClassification provides polymorphic access to related types. Call the interface's GetProtectionPolicy() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureFileShareProtectionPolicy, *AzureIaaSVMProtectionPolicy, *AzureSQLProtectionPolicy, *AzureVMWorkloadProtectionPolicy, - *GenericProtectionPolicy, *MabProtectionPolicy, *ProtectionPolicy

type ProtectionPolicyOperationResultsClient

type ProtectionPolicyOperationResultsClient struct {
	// contains filtered or unexported fields
}

ProtectionPolicyOperationResultsClient contains the methods for the ProtectionPolicyOperationResults group. Don't use this type directly, use NewProtectionPolicyOperationResultsClient() instead.

func NewProtectionPolicyOperationResultsClient

func NewProtectionPolicyOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectionPolicyOperationResultsClient, error)

NewProtectionPolicyOperationResultsClient creates a new instance of ProtectionPolicyOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectionPolicyOperationResultsClient) Get

Get - Provides the result of an operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • policyName - Backup policy name whose operation's result needs to be fetched.
  • operationID - Operation ID which represents the operation whose result needs to be fetched.
  • options - ProtectionPolicyOperationResultsClientGetOptions contains the optional parameters for the ProtectionPolicyOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPolicyOperationResultsClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "testPolicy1", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ProtectionPolicyResource = armrecoveryservicesbackup.ProtectionPolicyResource{
// 	Name: to.Ptr("testPolicy1"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupPolicies"),
// 	ID: to.Ptr("/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1"),
// 	Properties: &armrecoveryservicesbackup.AzureIaaSVMProtectionPolicy{
// 		BackupManagementType: to.Ptr("AzureIaasVM"),
// 		ProtectedItemsCount: to.Ptr[int32](1),
// 		RetentionPolicy: &armrecoveryservicesbackup.LongTermRetentionPolicy{
// 			RetentionPolicyType: to.Ptr("LongTermRetentionPolicy"),
// 			DailySchedule: &armrecoveryservicesbackup.DailyRetentionSchedule{
// 				RetentionDuration: &armrecoveryservicesbackup.RetentionDuration{
// 					Count: to.Ptr[int32](1),
// 					DurationType: to.Ptr(armrecoveryservicesbackup.RetentionDurationTypeDays),
// 				},
// 				RetentionTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
// 				},
// 			},
// 			SchedulePolicy: &armrecoveryservicesbackup.SimpleSchedulePolicy{
// 				SchedulePolicyType: to.Ptr("SimpleSchedulePolicy"),
// 				ScheduleRunFrequency: to.Ptr(armrecoveryservicesbackup.ScheduleRunTypeDaily),
// 				ScheduleRunTimes: []*time.Time{
// 					to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T02:00:00Z"); return t}())},
// 					ScheduleWeeklyFrequency: to.Ptr[int32](0),
// 				},
// 				TimeZone: to.Ptr("Pacific Standard Time"),
// 			},
// 		}
Output:

type ProtectionPolicyOperationResultsClientGetOptions

type ProtectionPolicyOperationResultsClientGetOptions struct {
}

ProtectionPolicyOperationResultsClientGetOptions contains the optional parameters for the ProtectionPolicyOperationResultsClient.Get method.

type ProtectionPolicyOperationResultsClientGetResponse

type ProtectionPolicyOperationResultsClientGetResponse struct {
	ProtectionPolicyResource
}

ProtectionPolicyOperationResultsClientGetResponse contains the response from method ProtectionPolicyOperationResultsClient.Get.

type ProtectionPolicyOperationStatusesClient

type ProtectionPolicyOperationStatusesClient struct {
	// contains filtered or unexported fields
}

ProtectionPolicyOperationStatusesClient contains the methods for the ProtectionPolicyOperationStatuses group. Don't use this type directly, use NewProtectionPolicyOperationStatusesClient() instead.

func NewProtectionPolicyOperationStatusesClient

func NewProtectionPolicyOperationStatusesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ProtectionPolicyOperationStatusesClient, error)

NewProtectionPolicyOperationStatusesClient creates a new instance of ProtectionPolicyOperationStatusesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ProtectionPolicyOperationStatusesClient) Get

Get - Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs associated with operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • policyName - Backup policy name whose operation's status needs to be fetched.
  • operationID - Operation ID which represents an operation whose status needs to be fetched.
  • options - ProtectionPolicyOperationStatusesClientGetOptions contains the optional parameters for the ProtectionPolicyOperationStatusesClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewProtectionPolicyOperationStatusesClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "testPolicy1", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatus = armrecoveryservicesbackup.OperationStatus{
// 	Name: to.Ptr("GetProtectionPolicyOperationStatus"),
// 	EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T12:57:32.1142968Z"); return t}()),
// 	ID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	Properties: &armrecoveryservicesbackup.OperationStatusJobsExtendedInfo{
// 		ObjectType: to.Ptr("OperationStatusJobsExtendedInfo"),
// 		FailedJobsError: map[string]*string{
// 		},
// 		JobIDs: []*string{
// 			to.Ptr("00000000-0000-0000-0000-000000000000")},
// 		},
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-24T12:57:32.1142968Z"); return t}()),
// 		Status: to.Ptr(armrecoveryservicesbackup.OperationStatusValuesSucceeded),
// 	}
Output:

type ProtectionPolicyOperationStatusesClientGetOptions

type ProtectionPolicyOperationStatusesClientGetOptions struct {
}

ProtectionPolicyOperationStatusesClientGetOptions contains the optional parameters for the ProtectionPolicyOperationStatusesClient.Get method.

type ProtectionPolicyOperationStatusesClientGetResponse

type ProtectionPolicyOperationStatusesClientGetResponse struct {
	OperationStatus
}

ProtectionPolicyOperationStatusesClientGetResponse contains the response from method ProtectionPolicyOperationStatusesClient.Get.

type ProtectionPolicyQueryObject

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
}

ProtectionPolicyQueryObject - Filters the list backup policies API.

func (ProtectionPolicyQueryObject) MarshalJSON

func (p ProtectionPolicyQueryObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionPolicyQueryObject.

func (*ProtectionPolicyQueryObject) UnmarshalJSON

func (p *ProtectionPolicyQueryObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionPolicyQueryObject.

type ProtectionPolicyResource

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
}

ProtectionPolicyResource - Base class for backup policy. Workload-specific backup policies are derived from this class.

func (ProtectionPolicyResource) MarshalJSON

func (p ProtectionPolicyResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionPolicyResource.

func (*ProtectionPolicyResource) UnmarshalJSON

func (p *ProtectionPolicyResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionPolicyResource.

type ProtectionPolicyResourceList

type ProtectionPolicyResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*ProtectionPolicyResource
}

ProtectionPolicyResourceList - List of ProtectionPolicy resources

func (ProtectionPolicyResourceList) MarshalJSON

func (p ProtectionPolicyResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ProtectionPolicyResourceList.

func (*ProtectionPolicyResourceList) UnmarshalJSON

func (p *ProtectionPolicyResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionPolicyResourceList.

type ProtectionState

type ProtectionState string

ProtectionState - Backup state of this backup item.

const (
	ProtectionStateBackupsSuspended  ProtectionState = "BackupsSuspended"
	ProtectionStateIRPending         ProtectionState = "IRPending"
	ProtectionStateInvalid           ProtectionState = "Invalid"
	ProtectionStateProtected         ProtectionState = "Protected"
	ProtectionStateProtectionError   ProtectionState = "ProtectionError"
	ProtectionStateProtectionPaused  ProtectionState = "ProtectionPaused"
	ProtectionStateProtectionStopped ProtectionState = "ProtectionStopped"
)

func PossibleProtectionStateValues

func PossibleProtectionStateValues() []ProtectionState

PossibleProtectionStateValues returns the possible values for the ProtectionState const type.

type ProtectionStatus

type ProtectionStatus string

ProtectionStatus - Specifies whether the container is registered or not

const (
	ProtectionStatusInvalid          ProtectionStatus = "Invalid"
	ProtectionStatusNotProtected     ProtectionStatus = "NotProtected"
	ProtectionStatusProtected        ProtectionStatus = "Protected"
	ProtectionStatusProtecting       ProtectionStatus = "Protecting"
	ProtectionStatusProtectionFailed ProtectionStatus = "ProtectionFailed"
)

func PossibleProtectionStatusValues

func PossibleProtectionStatusValues() []ProtectionStatus

PossibleProtectionStatusValues returns the possible values for the ProtectionStatus const type.

type ProvisioningState

type ProvisioningState string

ProvisioningState - Gets or sets provisioning state of the private endpoint connection

const (
	ProvisioningStateDeleting  ProvisioningState = "Deleting"
	ProvisioningStateFailed    ProvisioningState = "Failed"
	ProvisioningStatePending   ProvisioningState = "Pending"
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
)

func PossibleProvisioningStateValues

func PossibleProvisioningStateValues() []ProvisioningState

PossibleProvisioningStateValues returns the possible values for the ProvisioningState const type.

type RecoveryMode

type RecoveryMode string

RecoveryMode - Defines whether the current recovery mode is file restore or database restore

const (
	RecoveryModeFileRecovery     RecoveryMode = "FileRecovery"
	RecoveryModeInvalid          RecoveryMode = "Invalid"
	RecoveryModeWorkloadRecovery RecoveryMode = "WorkloadRecovery"
)

func PossibleRecoveryModeValues

func PossibleRecoveryModeValues() []RecoveryMode

PossibleRecoveryModeValues returns the possible values for the RecoveryMode const type.

type RecoveryPoint

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
}

RecoveryPoint - Base class for backup copies. Workload-specific backup copies are derived from this class.

func (*RecoveryPoint) GetRecoveryPoint

func (r *RecoveryPoint) GetRecoveryPoint() *RecoveryPoint

GetRecoveryPoint implements the RecoveryPointClassification interface for type RecoveryPoint.

func (RecoveryPoint) MarshalJSON

func (r RecoveryPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPoint.

func (*RecoveryPoint) UnmarshalJSON

func (r *RecoveryPoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPoint.

type RecoveryPointClassification

type RecoveryPointClassification interface {
	// GetRecoveryPoint returns the RecoveryPoint content of the underlying type.
	GetRecoveryPoint() *RecoveryPoint
}

RecoveryPointClassification provides polymorphic access to related types. Call the interface's GetRecoveryPoint() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureFileShareRecoveryPoint, *AzureWorkloadPointInTimeRecoveryPoint, *AzureWorkloadRecoveryPoint, *AzureWorkloadSAPHanaPointInTimeRecoveryPoint, - *AzureWorkloadSAPHanaRecoveryPoint, *AzureWorkloadSQLPointInTimeRecoveryPoint, *AzureWorkloadSQLRecoveryPoint, *GenericRecoveryPoint, - *IaasVMRecoveryPoint, *RecoveryPoint

type RecoveryPointDiskConfiguration

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
}

RecoveryPointDiskConfiguration - Disk configuration

func (RecoveryPointDiskConfiguration) MarshalJSON

func (r RecoveryPointDiskConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointDiskConfiguration.

func (*RecoveryPointDiskConfiguration) UnmarshalJSON

func (r *RecoveryPointDiskConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointDiskConfiguration.

type RecoveryPointMoveReadinessInfo

type RecoveryPointMoveReadinessInfo struct {
	AdditionalInfo *string
	IsReadyForMove *bool
}

func (RecoveryPointMoveReadinessInfo) MarshalJSON

func (r RecoveryPointMoveReadinessInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointMoveReadinessInfo.

func (*RecoveryPointMoveReadinessInfo) UnmarshalJSON

func (r *RecoveryPointMoveReadinessInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointMoveReadinessInfo.

type RecoveryPointProperties

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
}

RecoveryPointProperties - Properties of Recovery Point

func (RecoveryPointProperties) MarshalJSON

func (r RecoveryPointProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointProperties.

func (*RecoveryPointProperties) UnmarshalJSON

func (r *RecoveryPointProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointProperties.

type RecoveryPointRehydrationInfo

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
}

RecoveryPointRehydrationInfo - RP Rehydration Info

func (RecoveryPointRehydrationInfo) MarshalJSON

func (r RecoveryPointRehydrationInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointRehydrationInfo.

func (*RecoveryPointRehydrationInfo) UnmarshalJSON

func (r *RecoveryPointRehydrationInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointRehydrationInfo.

type RecoveryPointResource

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
}

RecoveryPointResource - Base class for backup copies. Workload-specific backup copies are derived from this class.

func (RecoveryPointResource) MarshalJSON

func (r RecoveryPointResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointResource.

func (*RecoveryPointResource) UnmarshalJSON

func (r *RecoveryPointResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointResource.

type RecoveryPointResourceList

type RecoveryPointResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*RecoveryPointResource
}

RecoveryPointResourceList - List of RecoveryPoint resources

func (RecoveryPointResourceList) MarshalJSON

func (r RecoveryPointResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointResourceList.

func (*RecoveryPointResourceList) UnmarshalJSON

func (r *RecoveryPointResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointResourceList.

type RecoveryPointTierInformation

type RecoveryPointTierInformation struct {
	// Recovery point tier status.
	ExtendedInfo map[string]*string

	// Recovery point tier status.
	Status *RecoveryPointTierStatus

	// Recovery point tier type.
	Type *RecoveryPointTierType
}

RecoveryPointTierInformation - Recovery point tier information.

func (RecoveryPointTierInformation) MarshalJSON

func (r RecoveryPointTierInformation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointTierInformation.

func (*RecoveryPointTierInformation) UnmarshalJSON

func (r *RecoveryPointTierInformation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointTierInformation.

type RecoveryPointTierInformationV2

type RecoveryPointTierInformationV2 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

func (RecoveryPointTierInformationV2) MarshalJSON

func (r RecoveryPointTierInformationV2) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RecoveryPointTierInformationV2.

func (*RecoveryPointTierInformationV2) UnmarshalJSON

func (r *RecoveryPointTierInformationV2) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointTierInformationV2.

type RecoveryPointTierStatus

type RecoveryPointTierStatus string

RecoveryPointTierStatus - Recovery point tier status.

const (
	RecoveryPointTierStatusInvalid    RecoveryPointTierStatus = "Invalid"
	RecoveryPointTierStatusValid      RecoveryPointTierStatus = "Valid"
	RecoveryPointTierStatusDisabled   RecoveryPointTierStatus = "Disabled"
	RecoveryPointTierStatusDeleted    RecoveryPointTierStatus = "Deleted"
	RecoveryPointTierStatusRehydrated RecoveryPointTierStatus = "Rehydrated"
)

func PossibleRecoveryPointTierStatusValues

func PossibleRecoveryPointTierStatusValues() []RecoveryPointTierStatus

PossibleRecoveryPointTierStatusValues returns the possible values for the RecoveryPointTierStatus const type.

type RecoveryPointTierType

type RecoveryPointTierType string

RecoveryPointTierType - Recovery point tier type.

const (
	RecoveryPointTierTypeInvalid    RecoveryPointTierType = "Invalid"
	RecoveryPointTierTypeInstantRP  RecoveryPointTierType = "InstantRP"
	RecoveryPointTierTypeHardenedRP RecoveryPointTierType = "HardenedRP"
	RecoveryPointTierTypeArchivedRP RecoveryPointTierType = "ArchivedRP"
)

func PossibleRecoveryPointTierTypeValues

func PossibleRecoveryPointTierTypeValues() []RecoveryPointTierType

PossibleRecoveryPointTierTypeValues returns the possible values for the RecoveryPointTierType const type.

type RecoveryPointsClient

type RecoveryPointsClient struct {
	// contains filtered or unexported fields
}

RecoveryPointsClient contains the methods for the RecoveryPoints group. Don't use this type directly, use NewRecoveryPointsClient() instead.

func NewRecoveryPointsClient

func NewRecoveryPointsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RecoveryPointsClient, error)

NewRecoveryPointsClient creates a new instance of RecoveryPointsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*RecoveryPointsClient) Get

func (client *RecoveryPointsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, options *RecoveryPointsClientGetOptions) (RecoveryPointsClientGetResponse, error)

Get - Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. To know the status of the operation, call the GetProtectedItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with backed up item.
  • containerName - Container name associated with backed up item.
  • protectedItemName - Backed up item name whose backup data needs to be fetched.
  • recoveryPointID - RecoveryPointID represents the backed up data to be fetched.
  • options - RecoveryPointsClientGetOptions contains the optional parameters for the RecoveryPointsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewRecoveryPointsClient().Get(ctx, "rshvault", "rshhtestmdvmrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "26083826328862", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.RecoveryPointResource = armrecoveryservicesbackup.RecoveryPointResource{
// 	Name: to.Ptr("26083826328862"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints"),
// 	ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862"),
// 	Properties: &armrecoveryservicesbackup.IaasVMRecoveryPoint{
// 		ObjectType: to.Ptr("IaasVMRecoveryPoint"),
// 		IsInstantIlrSessionActive: to.Ptr(false),
// 		IsManagedVirtualMachine: to.Ptr(true),
// 		IsPrivateAccessEnabledOnAnyDisk: to.Ptr(true),
// 		IsSourceVMEncrypted: to.Ptr(false),
// 		OriginalStorageAccountOption: to.Ptr(false),
// 		RecoveryPointAdditionalInfo: to.Ptr(""),
// 		RecoveryPointMoveReadinessInfo: map[string]*armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
// 			"ArchivedRP": &armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
// 				IsReadyForMove: to.Ptr(true),
// 			},
// 		},
// 		RecoveryPointTierDetails: []*armrecoveryservicesbackup.RecoveryPointTierInformationV2{
// 			{
// 				Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeHardenedRP),
// 				Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusValid),
// 		}},
// 		RecoveryPointTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-22T22:32:46.6088472Z"); return t}()),
// 		RecoveryPointType: to.Ptr("CrashConsistent"),
// 		SourceVMStorageType: to.Ptr("NormalStorage"),
// 		VirtualMachineSize: to.Ptr("Standard_D1"),
// 		Zones: []*string{
// 			to.Ptr("1")},
// 		},
// 	}
Output:

func (*RecoveryPointsClient) NewListPager

func (client *RecoveryPointsClient) NewListPager(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, options *RecoveryPointsClientListOptions) *runtime.Pager[RecoveryPointsClientListResponse]

NewListPager - Lists the backup copies for the backed up item.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backed up item.
  • containerName - Container name associated with the backed up item.
  • protectedItemName - Backed up item whose backup copies are to be fetched.
  • options - RecoveryPointsClientListOptions contains the optional parameters for the RecoveryPointsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/RecoveryPoints_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewRecoveryPointsClient().NewListPager("rshvault", "rshhtestmdvmrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", &armrecoveryservicesbackup.RecoveryPointsClientListOptions{Filter: nil})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.RecoveryPointResourceList = armrecoveryservicesbackup.RecoveryPointResourceList{
	// 	Value: []*armrecoveryservicesbackup.RecoveryPointResource{
	// 		{
	// 			Name: to.Ptr("22244821112382"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints"),
	// 			ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382"),
	// 			Properties: &armrecoveryservicesbackup.IaasVMRecoveryPoint{
	// 				ObjectType: to.Ptr("IaasVMRecoveryPoint"),
	// 				IsInstantIlrSessionActive: to.Ptr(false),
	// 				IsManagedVirtualMachine: to.Ptr(true),
	// 				IsSourceVMEncrypted: to.Ptr(false),
	// 				OriginalStorageAccountOption: to.Ptr(false),
	// 				RecoveryPointAdditionalInfo: to.Ptr(""),
	// 				RecoveryPointMoveReadinessInfo: map[string]*armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 					"Archive": &armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 						IsReadyForMove: to.Ptr(true),
	// 					},
	// 				},
	// 				RecoveryPointTierDetails: []*armrecoveryservicesbackup.RecoveryPointTierInformationV2{
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeInstantRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusDeleted),
	// 					},
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeHardenedRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusValid),
	// 				}},
	// 				RecoveryPointTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-21T22:48:25.4353958Z"); return t}()),
	// 				RecoveryPointType: to.Ptr("CrashConsistent"),
	// 				SourceVMStorageType: to.Ptr("NormalStorage"),
	// 				VirtualMachineSize: to.Ptr("Standard_D1"),
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("24977149827250"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints"),
	// 			ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250"),
	// 			Properties: &armrecoveryservicesbackup.IaasVMRecoveryPoint{
	// 				ObjectType: to.Ptr("IaasVMRecoveryPoint"),
	// 				IsInstantIlrSessionActive: to.Ptr(false),
	// 				IsManagedVirtualMachine: to.Ptr(true),
	// 				IsPrivateAccessEnabledOnAnyDisk: to.Ptr(true),
	// 				IsSourceVMEncrypted: to.Ptr(false),
	// 				OriginalStorageAccountOption: to.Ptr(false),
	// 				RecoveryPointAdditionalInfo: to.Ptr(""),
	// 				RecoveryPointMoveReadinessInfo: map[string]*armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 					"ArchivedRP": &armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 						AdditionalInfo: to.Ptr("Recovery point cannot be moved to archive tier since it has already been moved."),
	// 						IsReadyForMove: to.Ptr(false),
	// 					},
	// 				},
	// 				RecoveryPointTierDetails: []*armrecoveryservicesbackup.RecoveryPointTierInformationV2{
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeInstantRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusDeleted),
	// 					},
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeHardenedRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusDeleted),
	// 					},
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeArchivedRP),
	// 						ExtendedInfo: map[string]*string{
	// 							"RehydratedRPExpiryTime": to.Ptr("2020-12-21T22:48:25.4353958Z"),
	// 						},
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusRehydrated),
	// 				}},
	// 				RecoveryPointTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-20T22:49:44.3317945Z"); return t}()),
	// 				RecoveryPointType: to.Ptr("CrashConsistent"),
	// 				SourceVMStorageType: to.Ptr("NormalStorage"),
	// 				VirtualMachineSize: to.Ptr("Standard_D1"),
	// 				Zones: []*string{
	// 					to.Ptr("1")},
	// 				},
	// 		}},
	// 	}
}
Output:

type RecoveryPointsClientGetOptions

type RecoveryPointsClientGetOptions struct {
}

RecoveryPointsClientGetOptions contains the optional parameters for the RecoveryPointsClient.Get method.

type RecoveryPointsClientGetResponse

type RecoveryPointsClientGetResponse struct {
	RecoveryPointResource
}

RecoveryPointsClientGetResponse contains the response from method RecoveryPointsClient.Get.

type RecoveryPointsClientListOptions

type RecoveryPointsClientListOptions struct {
	// OData filter options.
	Filter *string
}

RecoveryPointsClientListOptions contains the optional parameters for the RecoveryPointsClient.NewListPager method.

type RecoveryPointsClientListResponse

type RecoveryPointsClientListResponse struct {
	RecoveryPointResourceList
}

RecoveryPointsClientListResponse contains the response from method RecoveryPointsClient.NewListPager.

type RecoveryPointsRecommendedForMoveClient

type RecoveryPointsRecommendedForMoveClient struct {
	// contains filtered or unexported fields
}

RecoveryPointsRecommendedForMoveClient contains the methods for the RecoveryPointsRecommendedForMove group. Don't use this type directly, use NewRecoveryPointsRecommendedForMoveClient() instead.

func NewRecoveryPointsRecommendedForMoveClient

func NewRecoveryPointsRecommendedForMoveClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RecoveryPointsRecommendedForMoveClient, error)

NewRecoveryPointsRecommendedForMoveClient creates a new instance of RecoveryPointsRecommendedForMoveClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*RecoveryPointsRecommendedForMoveClient) NewListPager

NewListPager - Lists the recovery points recommended for move to another tier

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - List Recovery points Recommended for Move Request
  • options - RecoveryPointsRecommendedForMoveClientListOptions contains the optional parameters for the RecoveryPointsRecommendedForMoveClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewRecoveryPointsRecommendedForMoveClient().NewListPager("rshvault", "rshhtestmdvmrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", armrecoveryservicesbackup.ListRecoveryPointsRecommendedForMoveRequest{
	ExcludedRPList: []*string{
		to.Ptr("348916168024334"),
		to.Ptr("348916168024335")},
	ObjectType: to.Ptr("ListRecoveryPointsRecommendedForMoveRequest"),
}, nil)
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.RecoveryPointResourceList = armrecoveryservicesbackup.RecoveryPointResourceList{
	// 	Value: []*armrecoveryservicesbackup.RecoveryPointResource{
	// 		{
	// 			Name: to.Ptr("22244821112382"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints"),
	// 			ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382"),
	// 			Properties: &armrecoveryservicesbackup.IaasVMRecoveryPoint{
	// 				ObjectType: to.Ptr("IaasVMRecoveryPoint"),
	// 				IsInstantIlrSessionActive: to.Ptr(false),
	// 				IsManagedVirtualMachine: to.Ptr(true),
	// 				IsSourceVMEncrypted: to.Ptr(false),
	// 				OriginalStorageAccountOption: to.Ptr(false),
	// 				RecoveryPointAdditionalInfo: to.Ptr(""),
	// 				RecoveryPointMoveReadinessInfo: map[string]*armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 					"ArchivedRP": &armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 						IsReadyForMove: to.Ptr(true),
	// 					},
	// 				},
	// 				RecoveryPointTierDetails: []*armrecoveryservicesbackup.RecoveryPointTierInformationV2{
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeInstantRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusDeleted),
	// 					},
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeHardenedRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusValid),
	// 				}},
	// 				RecoveryPointTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-21T22:48:25.4353958Z"); return t}()),
	// 				RecoveryPointType: to.Ptr("CrashConsistent"),
	// 				SourceVMStorageType: to.Ptr("NormalStorage"),
	// 				VirtualMachineSize: to.Ptr("Standard_D1"),
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("24977149827250"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints"),
	// 			ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250"),
	// 			Properties: &armrecoveryservicesbackup.IaasVMRecoveryPoint{
	// 				ObjectType: to.Ptr("IaasVMRecoveryPoint"),
	// 				IsInstantIlrSessionActive: to.Ptr(false),
	// 				IsManagedVirtualMachine: to.Ptr(true),
	// 				IsSourceVMEncrypted: to.Ptr(false),
	// 				OriginalStorageAccountOption: to.Ptr(false),
	// 				RecoveryPointAdditionalInfo: to.Ptr(""),
	// 				RecoveryPointMoveReadinessInfo: map[string]*armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 					"ArchivedRP": &armrecoveryservicesbackup.RecoveryPointMoveReadinessInfo{
	// 						IsReadyForMove: to.Ptr(true),
	// 					},
	// 				},
	// 				RecoveryPointTierDetails: []*armrecoveryservicesbackup.RecoveryPointTierInformationV2{
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeInstantRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusDeleted),
	// 					},
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeHardenedRP),
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusDeleted),
	// 					},
	// 					{
	// 						Type: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierTypeArchivedRP),
	// 						ExtendedInfo: map[string]*string{
	// 							"RehydratedRPExpiryTime": to.Ptr("2020-12-21T22:48:25.4353958Z"),
	// 						},
	// 						Status: to.Ptr(armrecoveryservicesbackup.RecoveryPointTierStatusRehydrated),
	// 				}},
	// 				RecoveryPointTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-20T22:49:44.3317945Z"); return t}()),
	// 				RecoveryPointType: to.Ptr("CrashConsistent"),
	// 				SourceVMStorageType: to.Ptr("NormalStorage"),
	// 				VirtualMachineSize: to.Ptr("Standard_D1"),
	// 				Zones: []*string{
	// 					to.Ptr("1")},
	// 				},
	// 		}},
	// 	}
}
Output:

type RecoveryPointsRecommendedForMoveClientListOptions

type RecoveryPointsRecommendedForMoveClientListOptions struct {
}

RecoveryPointsRecommendedForMoveClientListOptions contains the optional parameters for the RecoveryPointsRecommendedForMoveClient.NewListPager method.

type RecoveryPointsRecommendedForMoveClientListResponse

type RecoveryPointsRecommendedForMoveClientListResponse struct {
	RecoveryPointResourceList
}

RecoveryPointsRecommendedForMoveClientListResponse contains the response from method RecoveryPointsRecommendedForMoveClient.NewListPager.

type RecoveryType

type RecoveryType string

RecoveryType - Type of this recovery.

const (
	RecoveryTypeAlternateLocation RecoveryType = "AlternateLocation"
	RecoveryTypeInvalid           RecoveryType = "Invalid"
	RecoveryTypeOffline           RecoveryType = "Offline"
	RecoveryTypeOriginalLocation  RecoveryType = "OriginalLocation"
	RecoveryTypeRestoreDisks      RecoveryType = "RestoreDisks"
)

func PossibleRecoveryTypeValues

func PossibleRecoveryTypeValues() []RecoveryType

PossibleRecoveryTypeValues returns the possible values for the RecoveryType const type.

type RehydrationPriority

type RehydrationPriority string

RehydrationPriority - Rehydration Priority

const (
	RehydrationPriorityHigh     RehydrationPriority = "High"
	RehydrationPriorityStandard RehydrationPriority = "Standard"
)

func PossibleRehydrationPriorityValues

func PossibleRehydrationPriorityValues() []RehydrationPriority

PossibleRehydrationPriorityValues returns the possible values for the RehydrationPriority const type.

type 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
}

Resource - ARM Resource.

func (Resource) MarshalJSON

func (r Resource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Resource.

func (*Resource) UnmarshalJSON

func (r *Resource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Resource.

type ResourceGuardOperationDetail

type ResourceGuardOperationDetail struct {
	DefaultResourceRequest *string
	VaultCriticalOperation *string
}

func (ResourceGuardOperationDetail) MarshalJSON

func (r ResourceGuardOperationDetail) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ResourceGuardOperationDetail.

func (*ResourceGuardOperationDetail) UnmarshalJSON

func (r *ResourceGuardOperationDetail) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardOperationDetail.

type ResourceGuardProxiesClient

type ResourceGuardProxiesClient struct {
	// contains filtered or unexported fields
}

ResourceGuardProxiesClient contains the methods for the ResourceGuardProxies group. Don't use this type directly, use NewResourceGuardProxiesClient() instead.

func NewResourceGuardProxiesClient

func NewResourceGuardProxiesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ResourceGuardProxiesClient, error)

NewResourceGuardProxiesClient creates a new instance of ResourceGuardProxiesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ResourceGuardProxiesClient) NewGetPager

NewGetPager - List the ResourceGuardProxies under vault

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - ResourceGuardProxiesClientGetOptions contains the optional parameters for the ResourceGuardProxiesClient.NewGetPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewResourceGuardProxiesClient().NewGetPager("sampleVault", "SampleResourceGroup", nil)
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.ResourceGuardProxyBaseResourceList = armrecoveryservicesbackup.ResourceGuardProxyBaseResourceList{
	// 	Value: []*armrecoveryservicesbackup.ResourceGuardProxyBaseResource{
	// 		{
	// 			Name: to.Ptr("swaggerExample"),
	// 			Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupResourceGuardProxies"),
	// 			ID: to.Ptr("/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample"),
	// 			Properties: &armrecoveryservicesbackup.ResourceGuardProxyBase{
	// 				Description: to.Ptr("Please take JIT access before performing any of the critical operation"),
	// 				LastUpdatedTime: to.Ptr("2021-02-11T12:20:47.8210031Z"),
	// 				ResourceGuardOperationDetails: []*armrecoveryservicesbackup.ResourceGuardOperationDetail{
	// 					{
	// 						DefaultResourceRequest: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"),
	// 						VaultCriticalOperation: to.Ptr("Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"),
	// 					},
	// 					{
	// 						DefaultResourceRequest: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"),
	// 						VaultCriticalOperation: to.Ptr("Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"),
	// 				}},
	// 				ResourceGuardResourceID: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew"),
	// 			},
	// 	}},
	// }
}
Output:

type ResourceGuardProxiesClientGetOptions

type ResourceGuardProxiesClientGetOptions struct {
}

ResourceGuardProxiesClientGetOptions contains the optional parameters for the ResourceGuardProxiesClient.NewGetPager method.

type ResourceGuardProxiesClientGetResponse

type ResourceGuardProxiesClientGetResponse struct {
	ResourceGuardProxyBaseResourceList
}

ResourceGuardProxiesClientGetResponse contains the response from method ResourceGuardProxiesClient.NewGetPager.

type ResourceGuardProxyBase

type ResourceGuardProxyBase struct {
	Description                   *string
	LastUpdatedTime               *string
	ResourceGuardOperationDetails []*ResourceGuardOperationDetail
	ResourceGuardResourceID       *string
}

func (ResourceGuardProxyBase) MarshalJSON

func (r ResourceGuardProxyBase) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ResourceGuardProxyBase.

func (*ResourceGuardProxyBase) UnmarshalJSON

func (r *ResourceGuardProxyBase) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardProxyBase.

type ResourceGuardProxyBaseResource

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
}

func (ResourceGuardProxyBaseResource) MarshalJSON

func (r ResourceGuardProxyBaseResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ResourceGuardProxyBaseResource.

func (*ResourceGuardProxyBaseResource) UnmarshalJSON

func (r *ResourceGuardProxyBaseResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardProxyBaseResource.

type ResourceGuardProxyBaseResourceList

type ResourceGuardProxyBaseResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*ResourceGuardProxyBaseResource
}

ResourceGuardProxyBaseResourceList - List of ResourceGuardProxyBase resources

func (ResourceGuardProxyBaseResourceList) MarshalJSON

func (r ResourceGuardProxyBaseResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ResourceGuardProxyBaseResourceList.

func (*ResourceGuardProxyBaseResourceList) UnmarshalJSON

func (r *ResourceGuardProxyBaseResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardProxyBaseResourceList.

type ResourceGuardProxyClient

type ResourceGuardProxyClient struct {
	// contains filtered or unexported fields
}

ResourceGuardProxyClient contains the methods for the ResourceGuardProxy group. Don't use this type directly, use NewResourceGuardProxyClient() instead.

func NewResourceGuardProxyClient

func NewResourceGuardProxyClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ResourceGuardProxyClient, error)

NewResourceGuardProxyClient creates a new instance of ResourceGuardProxyClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ResourceGuardProxyClient) Delete

func (client *ResourceGuardProxyClient) Delete(ctx context.Context, vaultName string, resourceGroupName string, resourceGuardProxyName string, options *ResourceGuardProxyClientDeleteOptions) (ResourceGuardProxyClientDeleteResponse, error)

Delete - Delete ResourceGuardProxy under vault If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - ResourceGuardProxyClientDeleteOptions contains the optional parameters for the ResourceGuardProxyClient.Delete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewResourceGuardProxyClient().Delete(ctx, "sampleVault", "SampleResourceGroup", "swaggerExample", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*ResourceGuardProxyClient) Get

func (client *ResourceGuardProxyClient) Get(ctx context.Context, vaultName string, resourceGroupName string, resourceGuardProxyName string, options *ResourceGuardProxyClientGetOptions) (ResourceGuardProxyClientGetResponse, error)

Get - Returns ResourceGuardProxy under vault and with the name referenced in request If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - ResourceGuardProxyClientGetOptions contains the optional parameters for the ResourceGuardProxyClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewResourceGuardProxyClient().Get(ctx, "sampleVault", "SampleResourceGroup", "swaggerExample", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ResourceGuardProxyBaseResource = armrecoveryservicesbackup.ResourceGuardProxyBaseResource{
// 	Name: to.Ptr("swaggerExample"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupResourceGuardProxies"),
// 	ID: to.Ptr("/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample"),
// 	Properties: &armrecoveryservicesbackup.ResourceGuardProxyBase{
// 		Description: to.Ptr("Please take JIT access before performing any of the critical operation"),
// 		LastUpdatedTime: to.Ptr("2021-02-11T12:20:47.8210031Z"),
// 		ResourceGuardOperationDetails: []*armrecoveryservicesbackup.ResourceGuardOperationDetail{
// 			{
// 				DefaultResourceRequest: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"),
// 				VaultCriticalOperation: to.Ptr("Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"),
// 			},
// 			{
// 				DefaultResourceRequest: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"),
// 				VaultCriticalOperation: to.Ptr("Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"),
// 		}},
// 		ResourceGuardResourceID: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew"),
// 	},
// }
Output:

func (*ResourceGuardProxyClient) Put

func (client *ResourceGuardProxyClient) Put(ctx context.Context, vaultName string, resourceGroupName string, resourceGuardProxyName string, parameters ResourceGuardProxyBaseResource, options *ResourceGuardProxyClientPutOptions) (ResourceGuardProxyClientPutResponse, error)

Put - Add or Update ResourceGuardProxy under vault Secures vault critical operations If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Request body for operation
  • options - ResourceGuardProxyClientPutOptions contains the optional parameters for the ResourceGuardProxyClient.Put method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewResourceGuardProxyClient().Put(ctx, "sampleVault", "SampleResourceGroup", "swaggerExample", armrecoveryservicesbackup.ResourceGuardProxyBaseResource{
	Properties: &armrecoveryservicesbackup.ResourceGuardProxyBase{
		ResourceGuardResourceID: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ResourceGuardProxyBaseResource = armrecoveryservicesbackup.ResourceGuardProxyBaseResource{
// 	Name: to.Ptr("swaggerExample"),
// 	Type: to.Ptr("Microsoft.RecoveryServices/vaults/backupResourceGuardProxies"),
// 	ID: to.Ptr("/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample"),
// 	Properties: &armrecoveryservicesbackup.ResourceGuardProxyBase{
// 		Description: to.Ptr("Please take JIT access before performing any of the critical operation"),
// 		LastUpdatedTime: to.Ptr("2021-02-11T12:20:47.8210031Z"),
// 		ResourceGuardOperationDetails: []*armrecoveryservicesbackup.ResourceGuardOperationDetail{
// 			{
// 				DefaultResourceRequest: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"),
// 				VaultCriticalOperation: to.Ptr("Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"),
// 			},
// 			{
// 				DefaultResourceRequest: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"),
// 				VaultCriticalOperation: to.Ptr("Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"),
// 		}},
// 		ResourceGuardResourceID: to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew"),
// 	},
// }
Output:

func (*ResourceGuardProxyClient) UnlockDelete

func (client *ResourceGuardProxyClient) UnlockDelete(ctx context.Context, vaultName string, resourceGroupName string, resourceGuardProxyName string, parameters UnlockDeleteRequest, options *ResourceGuardProxyClientUnlockDeleteOptions) (ResourceGuardProxyClientUnlockDeleteResponse, error)

UnlockDelete - Secures delete ResourceGuardProxy operations. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - Request body for operation
  • options - ResourceGuardProxyClientUnlockDeleteOptions contains the optional parameters for the ResourceGuardProxyClient.UnlockDelete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewResourceGuardProxyClient().UnlockDelete(ctx, "sampleVault", "SampleResourceGroup", "swaggerExample", armrecoveryservicesbackup.UnlockDeleteRequest{
	ResourceGuardOperationRequests: []*string{
		to.Ptr("/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default")},
	ResourceToBeDeleted: to.Ptr("/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.UnlockDeleteResponse = armrecoveryservicesbackup.UnlockDeleteResponse{
// 	UnlockDeleteExpiryTime: to.Ptr("2021-02-11T13:12:27.7870742Z"),
// }
Output:

type ResourceGuardProxyClientDeleteOptions

type ResourceGuardProxyClientDeleteOptions struct {
}

ResourceGuardProxyClientDeleteOptions contains the optional parameters for the ResourceGuardProxyClient.Delete method.

type ResourceGuardProxyClientDeleteResponse

type ResourceGuardProxyClientDeleteResponse struct {
}

ResourceGuardProxyClientDeleteResponse contains the response from method ResourceGuardProxyClient.Delete.

type ResourceGuardProxyClientGetOptions

type ResourceGuardProxyClientGetOptions struct {
}

ResourceGuardProxyClientGetOptions contains the optional parameters for the ResourceGuardProxyClient.Get method.

type ResourceGuardProxyClientGetResponse

type ResourceGuardProxyClientGetResponse struct {
	ResourceGuardProxyBaseResource
}

ResourceGuardProxyClientGetResponse contains the response from method ResourceGuardProxyClient.Get.

type ResourceGuardProxyClientPutOptions

type ResourceGuardProxyClientPutOptions struct {
}

ResourceGuardProxyClientPutOptions contains the optional parameters for the ResourceGuardProxyClient.Put method.

type ResourceGuardProxyClientPutResponse

type ResourceGuardProxyClientPutResponse struct {
	ResourceGuardProxyBaseResource
}

ResourceGuardProxyClientPutResponse contains the response from method ResourceGuardProxyClient.Put.

type ResourceGuardProxyClientUnlockDeleteOptions

type ResourceGuardProxyClientUnlockDeleteOptions struct {
}

ResourceGuardProxyClientUnlockDeleteOptions contains the optional parameters for the ResourceGuardProxyClient.UnlockDelete method.

type ResourceGuardProxyClientUnlockDeleteResponse

type ResourceGuardProxyClientUnlockDeleteResponse struct {
	UnlockDeleteResponse
}

ResourceGuardProxyClientUnlockDeleteResponse contains the response from method ResourceGuardProxyClient.UnlockDelete.

type ResourceHealthDetails

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
}

ResourceHealthDetails - Health Details for backup items.

func (ResourceHealthDetails) MarshalJSON

func (r ResourceHealthDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ResourceHealthDetails.

func (*ResourceHealthDetails) UnmarshalJSON

func (r *ResourceHealthDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceHealthDetails.

type ResourceHealthStatus

type ResourceHealthStatus string

ResourceHealthStatus - Resource Health Status

const (
	ResourceHealthStatusHealthy             ResourceHealthStatus = "Healthy"
	ResourceHealthStatusInvalid             ResourceHealthStatus = "Invalid"
	ResourceHealthStatusPersistentDegraded  ResourceHealthStatus = "PersistentDegraded"
	ResourceHealthStatusPersistentUnhealthy ResourceHealthStatus = "PersistentUnhealthy"
	ResourceHealthStatusTransientDegraded   ResourceHealthStatus = "TransientDegraded"
	ResourceHealthStatusTransientUnhealthy  ResourceHealthStatus = "TransientUnhealthy"
)

func PossibleResourceHealthStatusValues

func PossibleResourceHealthStatusValues() []ResourceHealthStatus

PossibleResourceHealthStatusValues returns the possible values for the ResourceHealthStatus const type.

type ResourceList

type ResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string
}

ResourceList - Base for all lists of resources.

func (ResourceList) MarshalJSON

func (r ResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ResourceList.

func (*ResourceList) UnmarshalJSON

func (r *ResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceList.

type RestoreFileSpecs

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
}

RestoreFileSpecs - Restore file specs like file path, type and target folder path info.

func (RestoreFileSpecs) MarshalJSON

func (r RestoreFileSpecs) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RestoreFileSpecs.

func (*RestoreFileSpecs) UnmarshalJSON

func (r *RestoreFileSpecs) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RestoreFileSpecs.

type RestorePointQueryType

type RestorePointQueryType string

RestorePointQueryType - RestorePoint type

const (
	RestorePointQueryTypeAll                  RestorePointQueryType = "All"
	RestorePointQueryTypeDifferential         RestorePointQueryType = "Differential"
	RestorePointQueryTypeFull                 RestorePointQueryType = "Full"
	RestorePointQueryTypeFullAndDifferential  RestorePointQueryType = "FullAndDifferential"
	RestorePointQueryTypeIncremental          RestorePointQueryType = "Incremental"
	RestorePointQueryTypeInvalid              RestorePointQueryType = "Invalid"
	RestorePointQueryTypeLog                  RestorePointQueryType = "Log"
	RestorePointQueryTypeSnapshotCopyOnlyFull RestorePointQueryType = "SnapshotCopyOnlyFull"
	RestorePointQueryTypeSnapshotFull         RestorePointQueryType = "SnapshotFull"
)

func PossibleRestorePointQueryTypeValues

func PossibleRestorePointQueryTypeValues() []RestorePointQueryType

PossibleRestorePointQueryTypeValues returns the possible values for the RestorePointQueryType const type.

type RestorePointType

type RestorePointType string

RestorePointType - Type of restore point

const (
	RestorePointTypeDifferential         RestorePointType = "Differential"
	RestorePointTypeFull                 RestorePointType = "Full"
	RestorePointTypeIncremental          RestorePointType = "Incremental"
	RestorePointTypeInvalid              RestorePointType = "Invalid"
	RestorePointTypeLog                  RestorePointType = "Log"
	RestorePointTypeSnapshotCopyOnlyFull RestorePointType = "SnapshotCopyOnlyFull"
	RestorePointTypeSnapshotFull         RestorePointType = "SnapshotFull"
)

func PossibleRestorePointTypeValues

func PossibleRestorePointTypeValues() []RestorePointType

PossibleRestorePointTypeValues returns the possible values for the RestorePointType const type.

type RestoreRequest

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
}

RestoreRequest - Base class for restore request. Workload-specific restore requests are derived from this class.

func (*RestoreRequest) GetRestoreRequest

func (r *RestoreRequest) GetRestoreRequest() *RestoreRequest

GetRestoreRequest implements the RestoreRequestClassification interface for type RestoreRequest.

func (RestoreRequest) MarshalJSON

func (r RestoreRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RestoreRequest.

func (*RestoreRequest) UnmarshalJSON

func (r *RestoreRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RestoreRequest.

type RestoreRequestClassification

type RestoreRequestClassification interface {
	// GetRestoreRequest returns the RestoreRequest content of the underlying type.
	GetRestoreRequest() *RestoreRequest
}

RestoreRequestClassification provides polymorphic access to related types. Call the interface's GetRestoreRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureFileShareRestoreRequest, *AzureWorkloadPointInTimeRestoreRequest, *AzureWorkloadRestoreRequest, *AzureWorkloadSAPHanaPointInTimeRestoreRequest, - *AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest, *AzureWorkloadSAPHanaRestoreRequest, *AzureWorkloadSAPHanaRestoreWithRehydrateRequest, - *AzureWorkloadSQLPointInTimeRestoreRequest, *AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest, *AzureWorkloadSQLRestoreRequest, - *AzureWorkloadSQLRestoreWithRehydrateRequest, *IaasVMRestoreRequest, *IaasVMRestoreWithRehydrationRequest, *RestoreRequest

type RestoreRequestResource

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
}

RestoreRequestResource - Base class for restore request. Workload-specific restore requests are derived from this class.

func (RestoreRequestResource) MarshalJSON

func (r RestoreRequestResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RestoreRequestResource.

func (*RestoreRequestResource) UnmarshalJSON

func (r *RestoreRequestResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RestoreRequestResource.

type RestoreRequestType

type RestoreRequestType string

RestoreRequestType - Restore Type (FullShareRestore or ItemLevelRestore)

const (
	RestoreRequestTypeFullShareRestore RestoreRequestType = "FullShareRestore"
	RestoreRequestTypeInvalid          RestoreRequestType = "Invalid"
	RestoreRequestTypeItemLevelRestore RestoreRequestType = "ItemLevelRestore"
)

func PossibleRestoreRequestTypeValues

func PossibleRestoreRequestTypeValues() []RestoreRequestType

PossibleRestoreRequestTypeValues returns the possible values for the RestoreRequestType const type.

type RestoresClient

type RestoresClient struct {
	// contains filtered or unexported fields
}

RestoresClient contains the methods for the Restores group. Don't use this type directly, use NewRestoresClient() instead.

func NewRestoresClient

func NewRestoresClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RestoresClient, error)

NewRestoresClient creates a new instance of RestoresClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*RestoresClient) BeginTrigger

func (client *RestoresClient) BeginTrigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters RestoreRequestResource, options *RestoresClientBeginTriggerOptions) (*runtime.Poller[RestoresClientTriggerResponse], error)

BeginTrigger - Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use GetProtectedItemOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • fabricName - Fabric name associated with the backed up items.
  • containerName - Container name associated with the backed up items.
  • protectedItemName - Backed up item to be restored.
  • recoveryPointID - Recovery point ID which represents the backed up data to be restored.
  • parameters - resource restore request
  • options - RestoresClientBeginTriggerOptions contains the optional parameters for the RestoresClient.BeginTrigger method.
Example (RestoreDisksWithIaasVmRestoreRequest)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewRestoresClient().BeginTrigger(ctx, "testVault", "netsdktestrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "348916168024334", armrecoveryservicesbackup.RestoreRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMRestoreRequest{
		ObjectType:            to.Ptr("IaasVMRestoreRequest"),
		CreateNewCloudService: to.Ptr(true),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		IdentityInfo: &armrecoveryservicesbackup.IdentityInfo{
			IsSystemAssignedIdentity:  to.Ptr(false),
			ManagedIdentityResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeRestoreDisks),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		StorageAccountID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"),
		TargetDiskNetworkAccessSettings: &armrecoveryservicesbackup.TargetDiskNetworkAccessSettings{
			TargetDiskAccessID:            to.Ptr("/subscriptions/e7a191f5-713c-4bdb-b5e4-cf3dd90230ef/resourceGroups/arpja/providers/Microsoft.Compute/diskAccesses/arpja-diskaccess-ccy"),
			TargetDiskNetworkAccessOption: to.Ptr(armrecoveryservicesbackup.TargetDiskNetworkAccessOptionEnablePrivateAccessForAllDisks),
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

Example (RestoreDisksWithIaasVmRestoreRequestWithIdentityBasedRestoreDetails)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewRestoresClient().BeginTrigger(ctx, "testVault", "netsdktestrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "348916168024334", armrecoveryservicesbackup.RestoreRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMRestoreRequest{
		ObjectType:            to.Ptr("IaasVMRestoreRequest"),
		CreateNewCloudService: to.Ptr(true),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		IdentityBasedRestoreDetails: &armrecoveryservicesbackup.IdentityBasedRestoreDetails{
			TargetStorageAccountID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"),
		},
		IdentityInfo: &armrecoveryservicesbackup.IdentityInfo{
			IsSystemAssignedIdentity:  to.Ptr(false),
			ManagedIdentityResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeRestoreDisks),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

Example (RestoreDisksWithIaasVmRestoreWithRehydrationRequest)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewRestoresClient().BeginTrigger(ctx, "testVault", "netsdktestrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "348916168024334", armrecoveryservicesbackup.RestoreRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMRestoreWithRehydrationRequest{
		ObjectType:            to.Ptr("IaasVMRestoreWithRehydrationRequest"),
		CreateNewCloudService: to.Ptr(true),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeRestoreDisks),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		StorageAccountID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"),
		RecoveryPointRehydrationInfo: &armrecoveryservicesbackup.RecoveryPointRehydrationInfo{
			RehydrationPriority:          to.Ptr(armrecoveryservicesbackup.RehydrationPriorityStandard),
			RehydrationRetentionDuration: to.Ptr("P7D"),
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

Example (RestoreToNewAzureIaasVmWithIaasVmRestoreRequest)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewRestoresClient().BeginTrigger(ctx, "testVault", "netsdktestrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "348916168024334", armrecoveryservicesbackup.RestoreRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMRestoreRequest{
		ObjectType:            to.Ptr("IaasVMRestoreRequest"),
		CreateNewCloudService: to.Ptr(false),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		IdentityInfo: &armrecoveryservicesbackup.IdentityInfo{
			IsSystemAssignedIdentity: to.Ptr(true),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeAlternateLocation),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		StorageAccountID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount"),
		SubnetID:                     to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default"),
		TargetResourceGroupID:        to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2"),
		TargetVirtualMachineID:       to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435"),
		VirtualNetworkID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

Example (RestoreToNewAzureIaasVmWithIaasVmRestoreRequestWithIdentityBasedRestoreDetails)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewRestoresClient().BeginTrigger(ctx, "testVault", "netsdktestrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "348916168024334", armrecoveryservicesbackup.RestoreRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMRestoreRequest{
		ObjectType:            to.Ptr("IaasVMRestoreRequest"),
		CreateNewCloudService: to.Ptr(false),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		IdentityBasedRestoreDetails: &armrecoveryservicesbackup.IdentityBasedRestoreDetails{
			TargetStorageAccountID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount"),
		},
		IdentityInfo: &armrecoveryservicesbackup.IdentityInfo{
			IsSystemAssignedIdentity: to.Ptr(true),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeAlternateLocation),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		SubnetID:                     to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default"),
		TargetResourceGroupID:        to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2"),
		TargetVirtualMachineID:       to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435"),
		VirtualNetworkID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

Example (RestoreToNewAzureIaasVmWithIaasVmRestoreWithRehydrationRequest)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewRestoresClient().BeginTrigger(ctx, "testVault", "netsdktestrg", "Azure", "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "348916168024334", armrecoveryservicesbackup.RestoreRequestResource{
	Properties: &armrecoveryservicesbackup.IaasVMRestoreWithRehydrationRequest{
		ObjectType:            to.Ptr("IaasVMRestoreWithRehydrationRequest"),
		CreateNewCloudService: to.Ptr(false),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeAlternateLocation),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		StorageAccountID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount"),
		SubnetID:                     to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default"),
		TargetResourceGroupID:        to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2"),
		TargetVirtualMachineID:       to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435"),
		VirtualNetworkID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet"),
		RecoveryPointRehydrationInfo: &armrecoveryservicesbackup.RecoveryPointRehydrationInfo{
			RehydrationPriority:          to.Ptr(armrecoveryservicesbackup.RehydrationPriorityHigh),
			RehydrationRetentionDuration: to.Ptr("P7D"),
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

type RestoresClientBeginTriggerOptions

type RestoresClientBeginTriggerOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

RestoresClientBeginTriggerOptions contains the optional parameters for the RestoresClient.BeginTrigger method.

type RestoresClientTriggerResponse

type RestoresClientTriggerResponse struct {
}

RestoresClientTriggerResponse contains the response from method RestoresClient.BeginTrigger.

type RetentionDuration

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
}

RetentionDuration - Retention duration.

func (RetentionDuration) MarshalJSON

func (r RetentionDuration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RetentionDuration.

func (*RetentionDuration) UnmarshalJSON

func (r *RetentionDuration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RetentionDuration.

type RetentionDurationType

type RetentionDurationType string

RetentionDurationType - Retention duration type of retention policy.

const (
	RetentionDurationTypeDays    RetentionDurationType = "Days"
	RetentionDurationTypeInvalid RetentionDurationType = "Invalid"
	RetentionDurationTypeMonths  RetentionDurationType = "Months"
	RetentionDurationTypeWeeks   RetentionDurationType = "Weeks"
	RetentionDurationTypeYears   RetentionDurationType = "Years"
)

func PossibleRetentionDurationTypeValues

func PossibleRetentionDurationTypeValues() []RetentionDurationType

PossibleRetentionDurationTypeValues returns the possible values for the RetentionDurationType const type.

type RetentionPolicy

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
}

RetentionPolicy - Base class for retention policy.

func (*RetentionPolicy) GetRetentionPolicy

func (r *RetentionPolicy) GetRetentionPolicy() *RetentionPolicy

GetRetentionPolicy implements the RetentionPolicyClassification interface for type RetentionPolicy.

func (RetentionPolicy) MarshalJSON

func (r RetentionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RetentionPolicy.

func (*RetentionPolicy) UnmarshalJSON

func (r *RetentionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RetentionPolicy.

type RetentionPolicyClassification

type RetentionPolicyClassification interface {
	// GetRetentionPolicy returns the RetentionPolicy content of the underlying type.
	GetRetentionPolicy() *RetentionPolicy
}

RetentionPolicyClassification provides polymorphic access to related types. Call the interface's GetRetentionPolicy() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *LongTermRetentionPolicy, *RetentionPolicy, *SimpleRetentionPolicy

type RetentionScheduleFormat

type RetentionScheduleFormat string

RetentionScheduleFormat - Retention schedule format type for monthly retention policy.

const (
	RetentionScheduleFormatDaily   RetentionScheduleFormat = "Daily"
	RetentionScheduleFormatInvalid RetentionScheduleFormat = "Invalid"
	RetentionScheduleFormatWeekly  RetentionScheduleFormat = "Weekly"
)

func PossibleRetentionScheduleFormatValues

func PossibleRetentionScheduleFormatValues() []RetentionScheduleFormat

PossibleRetentionScheduleFormatValues returns the possible values for the RetentionScheduleFormat const type.

type SQLDataDirectory

type SQLDataDirectory struct {
	// Logical name of the file
	LogicalName *string

	// File path
	Path *string

	// Type of data directory mapping
	Type *SQLDataDirectoryType
}

SQLDataDirectory info

func (SQLDataDirectory) MarshalJSON

func (s SQLDataDirectory) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SQLDataDirectory.

func (*SQLDataDirectory) UnmarshalJSON

func (s *SQLDataDirectory) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SQLDataDirectory.

type SQLDataDirectoryMapping

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
}

SQLDataDirectoryMapping - Encapsulates information regarding data directory

func (SQLDataDirectoryMapping) MarshalJSON

func (s SQLDataDirectoryMapping) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SQLDataDirectoryMapping.

func (*SQLDataDirectoryMapping) UnmarshalJSON

func (s *SQLDataDirectoryMapping) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SQLDataDirectoryMapping.

type SQLDataDirectoryType

type SQLDataDirectoryType string

SQLDataDirectoryType - Type of data directory mapping

const (
	SQLDataDirectoryTypeData    SQLDataDirectoryType = "Data"
	SQLDataDirectoryTypeInvalid SQLDataDirectoryType = "Invalid"
	SQLDataDirectoryTypeLog     SQLDataDirectoryType = "Log"
)

func PossibleSQLDataDirectoryTypeValues

func PossibleSQLDataDirectoryTypeValues() []SQLDataDirectoryType

PossibleSQLDataDirectoryTypeValues returns the possible values for the SQLDataDirectoryType const type.

type SchedulePolicy

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
}

SchedulePolicy - Base class for backup schedule.

func (*SchedulePolicy) GetSchedulePolicy

func (s *SchedulePolicy) GetSchedulePolicy() *SchedulePolicy

GetSchedulePolicy implements the SchedulePolicyClassification interface for type SchedulePolicy.

func (SchedulePolicy) MarshalJSON

func (s SchedulePolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SchedulePolicy.

func (*SchedulePolicy) UnmarshalJSON

func (s *SchedulePolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SchedulePolicy.

type SchedulePolicyClassification

type SchedulePolicyClassification interface {
	// GetSchedulePolicy returns the SchedulePolicy content of the underlying type.
	GetSchedulePolicy() *SchedulePolicy
}

SchedulePolicyClassification provides polymorphic access to related types. Call the interface's GetSchedulePolicy() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *LogSchedulePolicy, *LongTermSchedulePolicy, *SchedulePolicy, *SimpleSchedulePolicy, *SimpleSchedulePolicyV2

type ScheduleRunType

type ScheduleRunType string

ScheduleRunType - Frequency of the schedule operation of this policy.

const (
	ScheduleRunTypeDaily   ScheduleRunType = "Daily"
	ScheduleRunTypeHourly  ScheduleRunType = "Hourly"
	ScheduleRunTypeInvalid ScheduleRunType = "Invalid"
	ScheduleRunTypeWeekly  ScheduleRunType = "Weekly"
)

func PossibleScheduleRunTypeValues

func PossibleScheduleRunTypeValues() []ScheduleRunType

PossibleScheduleRunTypeValues returns the possible values for the ScheduleRunType const type.

type SecuredVMDetails added in v2.1.0

type SecuredVMDetails struct {
	// Gets or Sets Disk Encryption Set Id for Secured VM OS Disk
	SecuredVMOsDiskEncryptionSetID *string
}

SecuredVMDetails - Restore request parameters for Secured VMs

func (SecuredVMDetails) MarshalJSON added in v2.1.0

func (s SecuredVMDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SecuredVMDetails.

func (*SecuredVMDetails) UnmarshalJSON added in v2.1.0

func (s *SecuredVMDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SecuredVMDetails.

type SecurityPINsClient

type SecurityPINsClient struct {
	// contains filtered or unexported fields
}

SecurityPINsClient contains the methods for the SecurityPINs group. Don't use this type directly, use NewSecurityPINsClient() instead.

func NewSecurityPINsClient

func NewSecurityPINsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SecurityPINsClient, error)

NewSecurityPINsClient creates a new instance of SecurityPINsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*SecurityPINsClient) Get

func (client *SecurityPINsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, options *SecurityPINsClientGetOptions) (SecurityPINsClientGetResponse, error)

Get - Get the security PIN. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • options - SecurityPINsClientGetOptions contains the optional parameters for the SecurityPINsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/Common/BackupSecurityPin_Get.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewSecurityPINsClient().Get(ctx, "SwaggerTest", "SwaggerTestRg", &armrecoveryservicesbackup.SecurityPINsClientGetOptions{Parameters: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.TokenInformation = armrecoveryservicesbackup.TokenInformation{
// 	ExpiryTimeInUTCTicks: to.Ptr[int64](636495150137443100),
// 	SecurityPIN: to.Ptr("200432"),
// 	Token: to.Ptr("200432"),
// }
Output:

type SecurityPINsClientGetOptions

type SecurityPINsClientGetOptions struct {
	// security pin request
	Parameters *SecurityPinBase
}

SecurityPINsClientGetOptions contains the optional parameters for the SecurityPINsClient.Get method.

type SecurityPINsClientGetResponse

type SecurityPINsClientGetResponse struct {
	TokenInformation
}

SecurityPINsClientGetResponse contains the response from method SecurityPINsClient.Get.

type SecurityPinBase

type SecurityPinBase struct {
	// ResourceGuard Operation Requests
	ResourceGuardOperationRequests []*string
}

SecurityPinBase - Base class for get security pin request body

func (SecurityPinBase) MarshalJSON

func (s SecurityPinBase) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SecurityPinBase.

func (*SecurityPinBase) UnmarshalJSON

func (s *SecurityPinBase) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SecurityPinBase.

type Settings

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
}

Settings - Common settings field for backup management

func (Settings) MarshalJSON

func (s Settings) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Settings.

func (*Settings) UnmarshalJSON

func (s *Settings) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Settings.

type SimpleRetentionPolicy

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
}

SimpleRetentionPolicy - Simple policy retention.

func (*SimpleRetentionPolicy) GetRetentionPolicy

func (s *SimpleRetentionPolicy) GetRetentionPolicy() *RetentionPolicy

GetRetentionPolicy implements the RetentionPolicyClassification interface for type SimpleRetentionPolicy.

func (SimpleRetentionPolicy) MarshalJSON

func (s SimpleRetentionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SimpleRetentionPolicy.

func (*SimpleRetentionPolicy) UnmarshalJSON

func (s *SimpleRetentionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SimpleRetentionPolicy.

type SimpleSchedulePolicy

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
}

SimpleSchedulePolicy - Simple policy schedule.

func (*SimpleSchedulePolicy) GetSchedulePolicy

func (s *SimpleSchedulePolicy) GetSchedulePolicy() *SchedulePolicy

GetSchedulePolicy implements the SchedulePolicyClassification interface for type SimpleSchedulePolicy.

func (SimpleSchedulePolicy) MarshalJSON

func (s SimpleSchedulePolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SimpleSchedulePolicy.

func (*SimpleSchedulePolicy) UnmarshalJSON

func (s *SimpleSchedulePolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SimpleSchedulePolicy.

type SimpleSchedulePolicyV2

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
}

SimpleSchedulePolicyV2 - The V2 policy schedule for IaaS that supports hourly backups.

func (*SimpleSchedulePolicyV2) GetSchedulePolicy

func (s *SimpleSchedulePolicyV2) GetSchedulePolicy() *SchedulePolicy

GetSchedulePolicy implements the SchedulePolicyClassification interface for type SimpleSchedulePolicyV2.

func (SimpleSchedulePolicyV2) MarshalJSON

func (s SimpleSchedulePolicyV2) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SimpleSchedulePolicyV2.

func (*SimpleSchedulePolicyV2) UnmarshalJSON

func (s *SimpleSchedulePolicyV2) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SimpleSchedulePolicyV2.

type SoftDeleteFeatureState

type SoftDeleteFeatureState string

SoftDeleteFeatureState - Soft Delete feature state

const (
	SoftDeleteFeatureStateDisabled SoftDeleteFeatureState = "Disabled"
	SoftDeleteFeatureStateEnabled  SoftDeleteFeatureState = "Enabled"
	SoftDeleteFeatureStateInvalid  SoftDeleteFeatureState = "Invalid"
)

func PossibleSoftDeleteFeatureStateValues

func PossibleSoftDeleteFeatureStateValues() []SoftDeleteFeatureState

PossibleSoftDeleteFeatureStateValues returns the possible values for the SoftDeleteFeatureState const type.

type StorageType

type StorageType string

StorageType - Storage type

const (
	StorageTypeGeoRedundant               StorageType = "GeoRedundant"
	StorageTypeInvalid                    StorageType = "Invalid"
	StorageTypeLocallyRedundant           StorageType = "LocallyRedundant"
	StorageTypeReadAccessGeoZoneRedundant StorageType = "ReadAccessGeoZoneRedundant"
	StorageTypeZoneRedundant              StorageType = "ZoneRedundant"
)

func PossibleStorageTypeValues

func PossibleStorageTypeValues() []StorageType

PossibleStorageTypeValues returns the possible values for the StorageType const type.

type StorageTypeState

type StorageTypeState string

StorageTypeState - Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.

const (
	StorageTypeStateInvalid  StorageTypeState = "Invalid"
	StorageTypeStateLocked   StorageTypeState = "Locked"
	StorageTypeStateUnlocked StorageTypeState = "Unlocked"
)

func PossibleStorageTypeStateValues

func PossibleStorageTypeStateValues() []StorageTypeState

PossibleStorageTypeStateValues returns the possible values for the StorageTypeState const type.

type SubProtectionPolicy

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

	// 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
}

SubProtectionPolicy - Sub-protection policy which includes schedule and retention

func (SubProtectionPolicy) MarshalJSON

func (s SubProtectionPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SubProtectionPolicy.

func (*SubProtectionPolicy) UnmarshalJSON

func (s *SubProtectionPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SubProtectionPolicy.

type SupportStatus

type SupportStatus string

SupportStatus - Support status of feature

const (
	SupportStatusDefaultOFF   SupportStatus = "DefaultOFF"
	SupportStatusDefaultON    SupportStatus = "DefaultON"
	SupportStatusInvalid      SupportStatus = "Invalid"
	SupportStatusNotSupported SupportStatus = "NotSupported"
	SupportStatusSupported    SupportStatus = "Supported"
)

func PossibleSupportStatusValues

func PossibleSupportStatusValues() []SupportStatus

PossibleSupportStatusValues returns the possible values for the SupportStatus const type.

type TargetAFSRestoreInfo

type TargetAFSRestoreInfo struct {
	// File share name
	Name *string

	// Target file share resource ARM ID
	TargetResourceID *string
}

TargetAFSRestoreInfo - Target Azure File Share Info.

func (TargetAFSRestoreInfo) MarshalJSON

func (t TargetAFSRestoreInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TargetAFSRestoreInfo.

func (*TargetAFSRestoreInfo) UnmarshalJSON

func (t *TargetAFSRestoreInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TargetAFSRestoreInfo.

type TargetDiskNetworkAccessOption added in v2.1.0

type TargetDiskNetworkAccessOption string

TargetDiskNetworkAccessOption - Network access settings to be used for restored disks

const (
	TargetDiskNetworkAccessOptionSameAsOnSourceDisks            TargetDiskNetworkAccessOption = "SameAsOnSourceDisks"
	TargetDiskNetworkAccessOptionEnablePrivateAccessForAllDisks TargetDiskNetworkAccessOption = "EnablePrivateAccessForAllDisks"
	TargetDiskNetworkAccessOptionEnablePublicAccessForAllDisks  TargetDiskNetworkAccessOption = "EnablePublicAccessForAllDisks"
)

func PossibleTargetDiskNetworkAccessOptionValues added in v2.1.0

func PossibleTargetDiskNetworkAccessOptionValues() []TargetDiskNetworkAccessOption

PossibleTargetDiskNetworkAccessOptionValues returns the possible values for the TargetDiskNetworkAccessOption const type.

type TargetDiskNetworkAccessSettings added in v2.1.0

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
}

TargetDiskNetworkAccessSettings - Specifies target network access settings for disks of VM to be restored.

func (TargetDiskNetworkAccessSettings) MarshalJSON added in v2.1.0

func (t TargetDiskNetworkAccessSettings) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TargetDiskNetworkAccessSettings.

func (*TargetDiskNetworkAccessSettings) UnmarshalJSON added in v2.1.0

func (t *TargetDiskNetworkAccessSettings) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TargetDiskNetworkAccessSettings.

type TargetRestoreInfo

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
}

TargetRestoreInfo - Details about target workload during restore operation.

func (TargetRestoreInfo) MarshalJSON

func (t TargetRestoreInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TargetRestoreInfo.

func (*TargetRestoreInfo) UnmarshalJSON

func (t *TargetRestoreInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TargetRestoreInfo.

type TieringMode

type TieringMode string

TieringMode - 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

const (
	TieringModeDoNotTier       TieringMode = "DoNotTier"
	TieringModeInvalid         TieringMode = "Invalid"
	TieringModeTierAfter       TieringMode = "TierAfter"
	TieringModeTierRecommended TieringMode = "TierRecommended"
)

func PossibleTieringModeValues

func PossibleTieringModeValues() []TieringMode

PossibleTieringModeValues returns the possible values for the TieringMode const type.

type TieringPolicy

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
}

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

func (TieringPolicy) MarshalJSON

func (t TieringPolicy) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TieringPolicy.

func (*TieringPolicy) UnmarshalJSON

func (t *TieringPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TieringPolicy.

type TokenInformation

type TokenInformation struct {
	// Expiry time of token.
	ExpiryTimeInUTCTicks *int64

	// Security PIN
	SecurityPIN *string

	// Token value.
	Token *string
}

TokenInformation - The token information details.

func (TokenInformation) MarshalJSON

func (t TokenInformation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TokenInformation.

func (*TokenInformation) UnmarshalJSON

func (t *TokenInformation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TokenInformation.

type TriggerDataMoveRequest

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
}

TriggerDataMoveRequest - Trigger DataMove Request

func (TriggerDataMoveRequest) MarshalJSON

func (t TriggerDataMoveRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TriggerDataMoveRequest.

func (*TriggerDataMoveRequest) UnmarshalJSON

func (t *TriggerDataMoveRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TriggerDataMoveRequest.

type Type

type Type string

Type - Backup management type for this container.

const (
	TypeBackupProtectedItemCountSummary       Type = "BackupProtectedItemCountSummary"
	TypeBackupProtectionContainerCountSummary Type = "BackupProtectionContainerCountSummary"
	TypeInvalid                               Type = "Invalid"
)

func PossibleTypeValues

func PossibleTypeValues() []Type

PossibleTypeValues returns the possible values for the Type const type.

type UnlockDeleteRequest

type UnlockDeleteRequest struct {
	ResourceGuardOperationRequests []*string
	ResourceToBeDeleted            *string
}

UnlockDeleteRequest - Request body of unlock delete API.

func (UnlockDeleteRequest) MarshalJSON

func (u UnlockDeleteRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UnlockDeleteRequest.

func (*UnlockDeleteRequest) UnmarshalJSON

func (u *UnlockDeleteRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UnlockDeleteRequest.

type UnlockDeleteResponse

type UnlockDeleteResponse struct {
	// This is the time when unlock delete privileges will get expired.
	UnlockDeleteExpiryTime *string
}

UnlockDeleteResponse - Response of Unlock Delete API.

func (UnlockDeleteResponse) MarshalJSON

func (u UnlockDeleteResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UnlockDeleteResponse.

func (*UnlockDeleteResponse) UnmarshalJSON

func (u *UnlockDeleteResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UnlockDeleteResponse.

type UsagesUnit

type UsagesUnit string

UsagesUnit - Unit of the usage.

const (
	UsagesUnitBytes          UsagesUnit = "Bytes"
	UsagesUnitBytesPerSecond UsagesUnit = "BytesPerSecond"
	UsagesUnitCount          UsagesUnit = "Count"
	UsagesUnitCountPerSecond UsagesUnit = "CountPerSecond"
	UsagesUnitPercent        UsagesUnit = "Percent"
	UsagesUnitSeconds        UsagesUnit = "Seconds"
)

func PossibleUsagesUnitValues

func PossibleUsagesUnitValues() []UsagesUnit

PossibleUsagesUnitValues returns the possible values for the UsagesUnit const type.

type ValidateIaasVMRestoreOperationRequest

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
}

ValidateIaasVMRestoreOperationRequest - AzureRestoreValidation request.

func (*ValidateIaasVMRestoreOperationRequest) GetValidateOperationRequest

func (v *ValidateIaasVMRestoreOperationRequest) GetValidateOperationRequest() *ValidateOperationRequest

GetValidateOperationRequest implements the ValidateOperationRequestClassification interface for type ValidateIaasVMRestoreOperationRequest.

func (*ValidateIaasVMRestoreOperationRequest) GetValidateRestoreOperationRequest

func (v *ValidateIaasVMRestoreOperationRequest) GetValidateRestoreOperationRequest() *ValidateRestoreOperationRequest

GetValidateRestoreOperationRequest implements the ValidateRestoreOperationRequestClassification interface for type ValidateIaasVMRestoreOperationRequest.

func (ValidateIaasVMRestoreOperationRequest) MarshalJSON

func (v ValidateIaasVMRestoreOperationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidateIaasVMRestoreOperationRequest.

func (*ValidateIaasVMRestoreOperationRequest) UnmarshalJSON

func (v *ValidateIaasVMRestoreOperationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidateIaasVMRestoreOperationRequest.

type ValidateOperationClient

type ValidateOperationClient struct {
	// contains filtered or unexported fields
}

ValidateOperationClient contains the methods for the ValidateOperation group. Don't use this type directly, use NewValidateOperationClient() instead.

func NewValidateOperationClient

func NewValidateOperationClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ValidateOperationClient, error)

NewValidateOperationClient creates a new instance of ValidateOperationClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ValidateOperationClient) BeginTrigger

BeginTrigger - Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • parameters - resource validate operation request
  • options - ValidateOperationClientBeginTriggerOptions contains the optional parameters for the ValidateOperationClient.BeginTrigger method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewValidateOperationClient().BeginTrigger(ctx, "testVault", "testRG", &armrecoveryservicesbackup.ValidateIaasVMRestoreOperationRequest{
	ObjectType: to.Ptr("ValidateIaasVMRestoreOperationRequest"),
	RestoreRequest: &armrecoveryservicesbackup.IaasVMRestoreRequest{
		ObjectType:            to.Ptr("IaasVMRestoreRequest"),
		CreateNewCloudService: to.Ptr(true),
		EncryptionDetails: &armrecoveryservicesbackup.EncryptionDetails{
			EncryptionEnabled: to.Ptr(false),
		},
		IdentityInfo: &armrecoveryservicesbackup.IdentityInfo{
			IsSystemAssignedIdentity:  to.Ptr(false),
			ManagedIdentityResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"),
		},
		OriginalStorageAccountOption: to.Ptr(false),
		RecoveryPointID:              to.Ptr("348916168024334"),
		RecoveryType:                 to.Ptr(armrecoveryservicesbackup.RecoveryTypeRestoreDisks),
		Region:                       to.Ptr("southeastasia"),
		SourceResourceID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1"),
		StorageAccountID:             to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

type ValidateOperationClientBeginTriggerOptions

type ValidateOperationClientBeginTriggerOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ValidateOperationClientBeginTriggerOptions contains the optional parameters for the ValidateOperationClient.BeginTrigger method.

type ValidateOperationClientTriggerResponse

type ValidateOperationClientTriggerResponse struct {
}

ValidateOperationClientTriggerResponse contains the response from method ValidateOperationClient.BeginTrigger.

type ValidateOperationRequest

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
}

ValidateOperationRequest - Base class for validate operation request.

func (*ValidateOperationRequest) GetValidateOperationRequest

func (v *ValidateOperationRequest) GetValidateOperationRequest() *ValidateOperationRequest

GetValidateOperationRequest implements the ValidateOperationRequestClassification interface for type ValidateOperationRequest.

func (ValidateOperationRequest) MarshalJSON

func (v ValidateOperationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidateOperationRequest.

func (*ValidateOperationRequest) UnmarshalJSON

func (v *ValidateOperationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidateOperationRequest.

type ValidateOperationRequestClassification

type ValidateOperationRequestClassification interface {
	// GetValidateOperationRequest returns the ValidateOperationRequest content of the underlying type.
	GetValidateOperationRequest() *ValidateOperationRequest
}

ValidateOperationRequestClassification provides polymorphic access to related types. Call the interface's GetValidateOperationRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ValidateIaasVMRestoreOperationRequest, *ValidateOperationRequest, *ValidateRestoreOperationRequest

type ValidateOperationResponse

type ValidateOperationResponse struct {
	// Gets the validation result
	ValidationResults []*ErrorDetail
}

ValidateOperationResponse - Base class for validate operation response.

func (ValidateOperationResponse) MarshalJSON

func (v ValidateOperationResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidateOperationResponse.

func (*ValidateOperationResponse) UnmarshalJSON

func (v *ValidateOperationResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidateOperationResponse.

type ValidateOperationResultsClient

type ValidateOperationResultsClient struct {
	// contains filtered or unexported fields
}

ValidateOperationResultsClient contains the methods for the ValidateOperationResults group. Don't use this type directly, use NewValidateOperationResultsClient() instead.

func NewValidateOperationResultsClient

func NewValidateOperationResultsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ValidateOperationResultsClient, error)

NewValidateOperationResultsClient creates a new instance of ValidateOperationResultsClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ValidateOperationResultsClient) Get

Get - Fetches the result of a triggered validate operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • operationID - OperationID which represents the operation whose result needs to be fetched.
  • options - ValidateOperationResultsClientGetOptions contains the optional parameters for the ValidateOperationResultsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ValidateOperationResults.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewValidateOperationResultsClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ValidateOperationsResponse = armrecoveryservicesbackup.ValidateOperationsResponse{
// 	ValidateOperationResponse: &armrecoveryservicesbackup.ValidateOperationResponse{
// 		ValidationResults: []*armrecoveryservicesbackup.ErrorDetail{
// 			{
// 				Code: to.Ptr("UserErrorCoreCountSubscriptionQuotaReached"),
// 				Message: to.Ptr("Core Count subscription quota has been reached."),
// 				Recommendations: []*string{
// 					to.Ptr("Contact Azure support to increase the limits.")},
// 			}},
// 		},
// 	}
Output:

type ValidateOperationResultsClientGetOptions

type ValidateOperationResultsClientGetOptions struct {
}

ValidateOperationResultsClientGetOptions contains the optional parameters for the ValidateOperationResultsClient.Get method.

type ValidateOperationResultsClientGetResponse

type ValidateOperationResultsClientGetResponse struct {
	ValidateOperationsResponse
}

ValidateOperationResultsClientGetResponse contains the response from method ValidateOperationResultsClient.Get.

type ValidateOperationStatusesClient

type ValidateOperationStatusesClient struct {
	// contains filtered or unexported fields
}

ValidateOperationStatusesClient contains the methods for the ValidateOperationStatuses group. Don't use this type directly, use NewValidateOperationStatusesClient() instead.

func NewValidateOperationStatusesClient

func NewValidateOperationStatusesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ValidateOperationStatusesClient, error)

NewValidateOperationStatusesClient creates a new instance of ValidateOperationStatusesClient with the specified values.

  • subscriptionID - The subscription Id.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ValidateOperationStatusesClient) Get

Get - Fetches the status of a triggered validate operation. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. If operation has completed, this method returns the list of errors obtained while validating the operation. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-02-01

  • vaultName - The name of the recovery services vault.
  • resourceGroupName - The name of the resource group where the recovery services vault is present.
  • operationID - OperationID represents the operation whose status needs to be fetched.
  • options - ValidateOperationStatusesClientGetOptions contains the optional parameters for the ValidateOperationStatusesClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/a498cae6d1a93f4c33073f0747b93b22815c09b7/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/examples/AzureIaasVm/ValidateOperationStatus.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservicesbackup.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewValidateOperationStatusesClient().Get(ctx, "NetSDKTestRsVault", "SwaggerTestRg", "00000000-0000-0000-0000-000000000000", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.OperationStatus = armrecoveryservicesbackup.OperationStatus{
// 	Name: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-29T06:04:18.207325Z"); return t}()),
// 	ID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// 	Properties: &armrecoveryservicesbackup.OperationStatusValidateOperationExtendedInfo{
// 		ObjectType: to.Ptr("OperationStatusValidateOperationExtendedInfo"),
// 		ValidateOperationResponse: &armrecoveryservicesbackup.ValidateOperationResponse{
// 			ValidationResults: []*armrecoveryservicesbackup.ErrorDetail{
// 				{
// 					Code: to.Ptr("UserErrorCoreCountSubscriptionQuotaReached"),
// 					Message: to.Ptr("Core Count subscription quota has been reached."),
// 					Recommendations: []*string{
// 						to.Ptr("Contact Azure support to increase the limits.")},
// 				}},
// 			},
// 		},
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-29T06:04:18.207325Z"); return t}()),
// 		Status: to.Ptr(armrecoveryservicesbackup.OperationStatusValuesSucceeded),
// 	}
Output:

type ValidateOperationStatusesClientGetOptions

type ValidateOperationStatusesClientGetOptions struct {
}

ValidateOperationStatusesClientGetOptions contains the optional parameters for the ValidateOperationStatusesClient.Get method.

type ValidateOperationStatusesClientGetResponse

type ValidateOperationStatusesClientGetResponse struct {
	OperationStatus
}

ValidateOperationStatusesClientGetResponse contains the response from method ValidateOperationStatusesClient.Get.

type ValidateOperationsResponse

type ValidateOperationsResponse struct {
	// Base class for validate operation response.
	ValidateOperationResponse *ValidateOperationResponse
}

func (ValidateOperationsResponse) MarshalJSON

func (v ValidateOperationsResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidateOperationsResponse.

func (*ValidateOperationsResponse) UnmarshalJSON

func (v *ValidateOperationsResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidateOperationsResponse.

type ValidateRestoreOperationRequest

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
}

ValidateRestoreOperationRequest - AzureRestoreValidation request.

func (*ValidateRestoreOperationRequest) GetValidateOperationRequest

func (v *ValidateRestoreOperationRequest) GetValidateOperationRequest() *ValidateOperationRequest

GetValidateOperationRequest implements the ValidateOperationRequestClassification interface for type ValidateRestoreOperationRequest.

func (*ValidateRestoreOperationRequest) GetValidateRestoreOperationRequest

func (v *ValidateRestoreOperationRequest) GetValidateRestoreOperationRequest() *ValidateRestoreOperationRequest

GetValidateRestoreOperationRequest implements the ValidateRestoreOperationRequestClassification interface for type ValidateRestoreOperationRequest.

func (ValidateRestoreOperationRequest) MarshalJSON

func (v ValidateRestoreOperationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidateRestoreOperationRequest.

func (*ValidateRestoreOperationRequest) UnmarshalJSON

func (v *ValidateRestoreOperationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidateRestoreOperationRequest.

type ValidateRestoreOperationRequestClassification

type ValidateRestoreOperationRequestClassification interface {
	ValidateOperationRequestClassification
	// GetValidateRestoreOperationRequest returns the ValidateRestoreOperationRequest content of the underlying type.
	GetValidateRestoreOperationRequest() *ValidateRestoreOperationRequest
}

ValidateRestoreOperationRequestClassification provides polymorphic access to related types. Call the interface's GetValidateRestoreOperationRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ValidateIaasVMRestoreOperationRequest, *ValidateRestoreOperationRequest

type ValidationStatus

type ValidationStatus string

ValidationStatus - Validation Status

const (
	ValidationStatusFailed    ValidationStatus = "Failed"
	ValidationStatusInvalid   ValidationStatus = "Invalid"
	ValidationStatusSucceeded ValidationStatus = "Succeeded"
)

func PossibleValidationStatusValues

func PossibleValidationStatusValues() []ValidationStatus

PossibleValidationStatusValues returns the possible values for the ValidationStatus const type.

type VaultJob

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
}

VaultJob - Vault level Job

func (*VaultJob) GetJob

func (v *VaultJob) GetJob() *Job

GetJob implements the JobClassification interface for type VaultJob.

func (VaultJob) MarshalJSON

func (v VaultJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type VaultJob.

func (*VaultJob) UnmarshalJSON

func (v *VaultJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type VaultJob.

type VaultJobErrorInfo

type VaultJobErrorInfo struct {
	// Error code.
	ErrorCode *int32

	// Localized error string.
	ErrorString *string

	// List of localized recommendations for above error code.
	Recommendations []*string
}

VaultJobErrorInfo - Vault Job specific error information

func (VaultJobErrorInfo) MarshalJSON

func (v VaultJobErrorInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type VaultJobErrorInfo.

func (*VaultJobErrorInfo) UnmarshalJSON

func (v *VaultJobErrorInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type VaultJobErrorInfo.

type VaultJobExtendedInfo

type VaultJobExtendedInfo struct {
	// Job properties.
	PropertyBag map[string]*string
}

VaultJobExtendedInfo - Vault Job for CMK - has CMK specific info.

func (VaultJobExtendedInfo) MarshalJSON

func (v VaultJobExtendedInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type VaultJobExtendedInfo.

func (*VaultJobExtendedInfo) UnmarshalJSON

func (v *VaultJobExtendedInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type VaultJobExtendedInfo.

type VaultStorageConfigOperationResultResponse

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
}

VaultStorageConfigOperationResultResponse - Operation result response for Vault Storage Config

func (*VaultStorageConfigOperationResultResponse) GetVaultStorageConfigOperationResultResponse

func (v *VaultStorageConfigOperationResultResponse) GetVaultStorageConfigOperationResultResponse() *VaultStorageConfigOperationResultResponse

GetVaultStorageConfigOperationResultResponse implements the VaultStorageConfigOperationResultResponseClassification interface for type VaultStorageConfigOperationResultResponse.

func (VaultStorageConfigOperationResultResponse) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type VaultStorageConfigOperationResultResponse.

func (*VaultStorageConfigOperationResultResponse) UnmarshalJSON

func (v *VaultStorageConfigOperationResultResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type VaultStorageConfigOperationResultResponse.

type VaultStorageConfigOperationResultResponseClassification

type VaultStorageConfigOperationResultResponseClassification interface {
	// GetVaultStorageConfigOperationResultResponse returns the VaultStorageConfigOperationResultResponse content of the underlying type.
	GetVaultStorageConfigOperationResultResponse() *VaultStorageConfigOperationResultResponse
}

VaultStorageConfigOperationResultResponseClassification provides polymorphic access to related types. Call the interface's GetVaultStorageConfigOperationResultResponse() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *PrepareDataMoveResponse, *VaultStorageConfigOperationResultResponse

type WeekOfMonth

type WeekOfMonth string
const (
	WeekOfMonthFirst   WeekOfMonth = "First"
	WeekOfMonthSecond  WeekOfMonth = "Second"
	WeekOfMonthThird   WeekOfMonth = "Third"
	WeekOfMonthFourth  WeekOfMonth = "Fourth"
	WeekOfMonthLast    WeekOfMonth = "Last"
	WeekOfMonthInvalid WeekOfMonth = "Invalid"
)

func PossibleWeekOfMonthValues

func PossibleWeekOfMonthValues() []WeekOfMonth

PossibleWeekOfMonthValues returns the possible values for the WeekOfMonth const type.

type WeeklyRetentionFormat

type WeeklyRetentionFormat struct {
	// List of days of the week.
	DaysOfTheWeek []*DayOfWeek

	// List of weeks of month.
	WeeksOfTheMonth []*WeekOfMonth
}

WeeklyRetentionFormat - Weekly retention format.

func (WeeklyRetentionFormat) MarshalJSON

func (w WeeklyRetentionFormat) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WeeklyRetentionFormat.

func (*WeeklyRetentionFormat) UnmarshalJSON

func (w *WeeklyRetentionFormat) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WeeklyRetentionFormat.

type WeeklyRetentionSchedule

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
}

WeeklyRetentionSchedule - Weekly retention schedule.

func (WeeklyRetentionSchedule) MarshalJSON

func (w WeeklyRetentionSchedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WeeklyRetentionSchedule.

func (*WeeklyRetentionSchedule) UnmarshalJSON

func (w *WeeklyRetentionSchedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WeeklyRetentionSchedule.

type WeeklySchedule

type WeeklySchedule struct {
	ScheduleRunDays []*DayOfWeek

	// List of times of day this schedule has to be run.
	ScheduleRunTimes []*time.Time
}

func (WeeklySchedule) MarshalJSON

func (w WeeklySchedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WeeklySchedule.

func (*WeeklySchedule) UnmarshalJSON

func (w *WeeklySchedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WeeklySchedule.

type WorkloadInquiryDetails

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
}

WorkloadInquiryDetails - Details of an inquired protectable item.

func (WorkloadInquiryDetails) MarshalJSON

func (w WorkloadInquiryDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WorkloadInquiryDetails.

func (*WorkloadInquiryDetails) UnmarshalJSON

func (w *WorkloadInquiryDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WorkloadInquiryDetails.

type WorkloadItem

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
}

WorkloadItem - Base class for backup item. Workload-specific backup items are derived from this class.

func (*WorkloadItem) GetWorkloadItem

func (w *WorkloadItem) GetWorkloadItem() *WorkloadItem

GetWorkloadItem implements the WorkloadItemClassification interface for type WorkloadItem.

func (WorkloadItem) MarshalJSON

func (w WorkloadItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WorkloadItem.

func (*WorkloadItem) UnmarshalJSON

func (w *WorkloadItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WorkloadItem.

type WorkloadItemClassification

type WorkloadItemClassification interface {
	// GetWorkloadItem returns the WorkloadItem content of the underlying type.
	GetWorkloadItem() *WorkloadItem
}

WorkloadItemClassification provides polymorphic access to related types. Call the interface's GetWorkloadItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureVMWorkloadItem, *AzureVMWorkloadSAPAseDatabaseWorkloadItem, *AzureVMWorkloadSAPAseSystemWorkloadItem, *AzureVMWorkloadSAPHanaDatabaseWorkloadItem, - *AzureVMWorkloadSAPHanaSystemWorkloadItem, *AzureVMWorkloadSQLDatabaseWorkloadItem, *AzureVMWorkloadSQLInstanceWorkloadItem, - *WorkloadItem

type WorkloadItemResource

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
}

WorkloadItemResource - Base class for backup item. Workload-specific backup items are derived from this class.

func (WorkloadItemResource) MarshalJSON

func (w WorkloadItemResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WorkloadItemResource.

func (*WorkloadItemResource) UnmarshalJSON

func (w *WorkloadItemResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WorkloadItemResource.

type WorkloadItemResourceList

type WorkloadItemResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*WorkloadItemResource
}

WorkloadItemResourceList - List of WorkloadItem resources

func (WorkloadItemResourceList) MarshalJSON

func (w WorkloadItemResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WorkloadItemResourceList.

func (*WorkloadItemResourceList) UnmarshalJSON

func (w *WorkloadItemResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WorkloadItemResourceList.

type WorkloadItemType

type WorkloadItemType string

WorkloadItemType - Workload item type of the item for which intent is to be set

const (
	WorkloadItemTypeInvalid           WorkloadItemType = "Invalid"
	WorkloadItemTypeSAPAseDatabase    WorkloadItemType = "SAPAseDatabase"
	WorkloadItemTypeSAPAseSystem      WorkloadItemType = "SAPAseSystem"
	WorkloadItemTypeSAPHanaDBInstance WorkloadItemType = "SAPHanaDBInstance"
	WorkloadItemTypeSAPHanaDatabase   WorkloadItemType = "SAPHanaDatabase"
	WorkloadItemTypeSAPHanaSystem     WorkloadItemType = "SAPHanaSystem"
	WorkloadItemTypeSQLDataBase       WorkloadItemType = "SQLDataBase"
	WorkloadItemTypeSQLInstance       WorkloadItemType = "SQLInstance"
)

func PossibleWorkloadItemTypeValues

func PossibleWorkloadItemTypeValues() []WorkloadItemType

PossibleWorkloadItemTypeValues returns the possible values for the WorkloadItemType const type.

type WorkloadProtectableItem

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
}

WorkloadProtectableItem - Base class for backup item. Workload-specific backup items are derived from this class.

func (*WorkloadProtectableItem) GetWorkloadProtectableItem

func (w *WorkloadProtectableItem) GetWorkloadProtectableItem() *WorkloadProtectableItem

GetWorkloadProtectableItem implements the WorkloadProtectableItemClassification interface for type WorkloadProtectableItem.

func (WorkloadProtectableItem) MarshalJSON

func (w WorkloadProtectableItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WorkloadProtectableItem.

func (*WorkloadProtectableItem) UnmarshalJSON

func (w *WorkloadProtectableItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WorkloadProtectableItem.

type WorkloadProtectableItemClassification

type WorkloadProtectableItemClassification interface {
	// GetWorkloadProtectableItem returns the WorkloadProtectableItem content of the underlying type.
	GetWorkloadProtectableItem() *WorkloadProtectableItem
}

WorkloadProtectableItemClassification provides polymorphic access to related types. Call the interface's GetWorkloadProtectableItem() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AzureFileShareProtectableItem, *AzureIaaSClassicComputeVMProtectableItem, *AzureIaaSComputeVMProtectableItem, *AzureVMWorkloadProtectableItem, - *AzureVMWorkloadSAPAseSystemProtectableItem, *AzureVMWorkloadSAPHanaDBInstance, *AzureVMWorkloadSAPHanaDatabaseProtectableItem, - *AzureVMWorkloadSAPHanaHSR, *AzureVMWorkloadSAPHanaSystemProtectableItem, *AzureVMWorkloadSQLAvailabilityGroupProtectableItem, - *AzureVMWorkloadSQLDatabaseProtectableItem, *AzureVMWorkloadSQLInstanceProtectableItem, *IaaSVMProtectableItem, *WorkloadProtectableItem

type WorkloadProtectableItemResource

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
}

WorkloadProtectableItemResource - Base class for backup item. Workload-specific backup items are derived from this class.

func (WorkloadProtectableItemResource) MarshalJSON

func (w WorkloadProtectableItemResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WorkloadProtectableItemResource.

func (*WorkloadProtectableItemResource) UnmarshalJSON

func (w *WorkloadProtectableItemResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WorkloadProtectableItemResource.

type WorkloadProtectableItemResourceList

type WorkloadProtectableItemResourceList struct {
	// The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
	NextLink *string

	// List of resources.
	Value []*WorkloadProtectableItemResource
}

WorkloadProtectableItemResourceList - List of WorkloadProtectableItem resources

func (WorkloadProtectableItemResourceList) MarshalJSON

func (w WorkloadProtectableItemResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WorkloadProtectableItemResourceList.

func (*WorkloadProtectableItemResourceList) UnmarshalJSON

func (w *WorkloadProtectableItemResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WorkloadProtectableItemResourceList.

type WorkloadType

type WorkloadType string

WorkloadType - Type of workload for the backup management

const (
	WorkloadTypeAzureFileShare    WorkloadType = "AzureFileShare"
	WorkloadTypeAzureSQLDb        WorkloadType = "AzureSqlDb"
	WorkloadTypeClient            WorkloadType = "Client"
	WorkloadTypeExchange          WorkloadType = "Exchange"
	WorkloadTypeFileFolder        WorkloadType = "FileFolder"
	WorkloadTypeGenericDataSource WorkloadType = "GenericDataSource"
	WorkloadTypeInvalid           WorkloadType = "Invalid"
	WorkloadTypeSAPAseDatabase    WorkloadType = "SAPAseDatabase"
	WorkloadTypeSAPHanaDBInstance WorkloadType = "SAPHanaDBInstance"
	WorkloadTypeSAPHanaDatabase   WorkloadType = "SAPHanaDatabase"
	WorkloadTypeSQLDB             WorkloadType = "SQLDB"
	WorkloadTypeSQLDataBase       WorkloadType = "SQLDataBase"
	WorkloadTypeSharepoint        WorkloadType = "Sharepoint"
	WorkloadTypeSystemState       WorkloadType = "SystemState"
	WorkloadTypeVM                WorkloadType = "VM"
	WorkloadTypeVMwareVM          WorkloadType = "VMwareVM"
)

func PossibleWorkloadTypeValues

func PossibleWorkloadTypeValues() []WorkloadType

PossibleWorkloadTypeValues returns the possible values for the WorkloadType const type.

type XcoolState

type XcoolState string

XcoolState - Vault x-cool state

const (
	XcoolStateDisabled XcoolState = "Disabled"
	XcoolStateEnabled  XcoolState = "Enabled"
	XcoolStateInvalid  XcoolState = "Invalid"
)

func PossibleXcoolStateValues

func PossibleXcoolStateValues() []XcoolState

PossibleXcoolStateValues returns the possible values for the XcoolState const type.

type YearlyRetentionSchedule

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
}

YearlyRetentionSchedule - Yearly retention schedule.

func (YearlyRetentionSchedule) MarshalJSON

func (y YearlyRetentionSchedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type YearlyRetentionSchedule.

func (*YearlyRetentionSchedule) UnmarshalJSON

func (y *YearlyRetentionSchedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type YearlyRetentionSchedule.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL