protectionpolicies

package
v0.20240923.1151247 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2024 License: MPL-2.0 Imports: 12 Imported by: 1

README

github.com/hashicorp/go-azure-sdk/resource-manager/recoveryservicesbackup/2024-01-01/protectionpolicies Documentation

The protectionpolicies SDK allows for interaction with Azure Resource Manager recoveryservicesbackup (API Version 2024-01-01).

This readme covers example usages, but further information on using this SDK can be found in the project root.

Import Path

import "github.com/hashicorp/go-azure-sdk/resource-manager/recoveryservicesbackup/2024-01-01/protectionpolicies"

Client Initialization

client := protectionpolicies.NewProtectionPoliciesClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: ProtectionPoliciesClient.CreateOrUpdate

ctx := context.TODO()
id := protectionpolicies.NewBackupPolicyID("12345678-1234-9876-4563-123456789012", "example-resource-group", "vaultName", "policyName")

payload := protectionpolicies.ProtectionPolicyResource{
	// ...
}


read, err := client.CreateOrUpdate(ctx, id, payload)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: ProtectionPoliciesClient.Delete

ctx := context.TODO()
id := protectionpolicies.NewBackupPolicyID("12345678-1234-9876-4563-123456789012", "example-resource-group", "vaultName", "policyName")

if err := client.DeleteThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: ProtectionPoliciesClient.Get

ctx := context.TODO()
id := protectionpolicies.NewBackupPolicyID("12345678-1234-9876-4563-123456789012", "example-resource-group", "vaultName", "policyName")

read, err := client.Get(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForDayOfWeek

func PossibleValuesForDayOfWeek() []string

func PossibleValuesForIAASVMPolicyType

func PossibleValuesForIAASVMPolicyType() []string

func PossibleValuesForIaasVMSnapshotConsistencyType

func PossibleValuesForIaasVMSnapshotConsistencyType() []string

func PossibleValuesForMonthOfYear

func PossibleValuesForMonthOfYear() []string

func PossibleValuesForPolicyType

func PossibleValuesForPolicyType() []string

func PossibleValuesForRetentionDurationType

func PossibleValuesForRetentionDurationType() []string

func PossibleValuesForRetentionScheduleFormat

func PossibleValuesForRetentionScheduleFormat() []string

func PossibleValuesForScheduleRunType

func PossibleValuesForScheduleRunType() []string

func PossibleValuesForTieringMode

func PossibleValuesForTieringMode() []string

func PossibleValuesForWeekOfMonth

func PossibleValuesForWeekOfMonth() []string

func PossibleValuesForWorkloadType

func PossibleValuesForWorkloadType() []string

func ValidateBackupPolicyID

func ValidateBackupPolicyID(input interface{}, key string) (warnings []string, errors []error)

ValidateBackupPolicyID checks that 'input' can be parsed as a Backup Policy ID

Types

type AzureFileShareProtectionPolicy

type AzureFileShareProtectionPolicy struct {
	RetentionPolicy      RetentionPolicy       `json:"retentionPolicy"`
	SchedulePolicy       SchedulePolicy        `json:"schedulePolicy"`
	TimeZone             *string               `json:"timeZone,omitempty"`
	VaultRetentionPolicy *VaultRetentionPolicy `json:"vaultRetentionPolicy,omitempty"`
	WorkLoadType         *WorkloadType         `json:"workLoadType,omitempty"`

	BackupManagementType           string    `json:"backupManagementType"`
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureFileShareProtectionPolicy) MarshalJSON

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

func (AzureFileShareProtectionPolicy) ProtectionPolicy added in v0.20240920.1135249

func (*AzureFileShareProtectionPolicy) UnmarshalJSON

func (s *AzureFileShareProtectionPolicy) UnmarshalJSON(bytes []byte) error

type AzureIaaSVMProtectionPolicy

type AzureIaaSVMProtectionPolicy struct {
	InstantRPDetails              *InstantRPAdditionalDetails    `json:"instantRPDetails,omitempty"`
	InstantRpRetentionRangeInDays *int64                         `json:"instantRpRetentionRangeInDays,omitempty"`
	PolicyType                    *IAASVMPolicyType              `json:"policyType,omitempty"`
	RetentionPolicy               RetentionPolicy                `json:"retentionPolicy"`
	SchedulePolicy                SchedulePolicy                 `json:"schedulePolicy"`
	SnapshotConsistencyType       *IaasVMSnapshotConsistencyType `json:"snapshotConsistencyType,omitempty"`
	TieringPolicy                 *map[string]TieringPolicy      `json:"tieringPolicy,omitempty"`
	TimeZone                      *string                        `json:"timeZone,omitempty"`

	BackupManagementType           string    `json:"backupManagementType"`
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureIaaSVMProtectionPolicy) MarshalJSON

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

func (AzureIaaSVMProtectionPolicy) ProtectionPolicy added in v0.20240920.1135249

func (*AzureIaaSVMProtectionPolicy) UnmarshalJSON

func (s *AzureIaaSVMProtectionPolicy) UnmarshalJSON(bytes []byte) error

type AzureSqlProtectionPolicy

type AzureSqlProtectionPolicy struct {
	RetentionPolicy RetentionPolicy `json:"retentionPolicy"`

	BackupManagementType           string    `json:"backupManagementType"`
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureSqlProtectionPolicy) MarshalJSON

func (s AzureSqlProtectionPolicy) MarshalJSON() ([]byte, error)

func (AzureSqlProtectionPolicy) ProtectionPolicy added in v0.20240920.1135249

func (*AzureSqlProtectionPolicy) UnmarshalJSON

func (s *AzureSqlProtectionPolicy) UnmarshalJSON(bytes []byte) error

type AzureVMWorkloadProtectionPolicy

type AzureVMWorkloadProtectionPolicy struct {
	MakePolicyConsistent *bool                  `json:"makePolicyConsistent,omitempty"`
	Settings             *Settings              `json:"settings,omitempty"`
	SubProtectionPolicy  *[]SubProtectionPolicy `json:"subProtectionPolicy,omitempty"`
	WorkLoadType         *WorkloadType          `json:"workLoadType,omitempty"`

	BackupManagementType           string    `json:"backupManagementType"`
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureVMWorkloadProtectionPolicy) MarshalJSON

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

func (AzureVMWorkloadProtectionPolicy) ProtectionPolicy added in v0.20240920.1135249

type BackupPolicyId

type BackupPolicyId struct {
	SubscriptionId    string
	ResourceGroupName string
	VaultName         string
	BackupPolicyName  string
}

BackupPolicyId is a struct representing the Resource ID for a Backup Policy

func NewBackupPolicyID

func NewBackupPolicyID(subscriptionId string, resourceGroupName string, vaultName string, backupPolicyName string) BackupPolicyId

NewBackupPolicyID returns a new BackupPolicyId struct

func ParseBackupPolicyID

func ParseBackupPolicyID(input string) (*BackupPolicyId, error)

ParseBackupPolicyID parses 'input' into a BackupPolicyId

func ParseBackupPolicyIDInsensitively

func ParseBackupPolicyIDInsensitively(input string) (*BackupPolicyId, error)

ParseBackupPolicyIDInsensitively parses 'input' case-insensitively into a BackupPolicyId note: this method should only be used for API response data and not user input

func (*BackupPolicyId) FromParseResult

func (id *BackupPolicyId) FromParseResult(input resourceids.ParseResult) error

func (BackupPolicyId) ID

func (id BackupPolicyId) ID() string

ID returns the formatted Backup Policy ID

func (BackupPolicyId) Segments

func (id BackupPolicyId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Backup Policy ID

func (BackupPolicyId) String

func (id BackupPolicyId) String() string

String returns a human-readable description of this Backup Policy ID

type BaseProtectionPolicyImpl added in v0.20240920.1135249

type BaseProtectionPolicyImpl struct {
	BackupManagementType           string    `json:"backupManagementType"`
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (BaseProtectionPolicyImpl) ProtectionPolicy added in v0.20240920.1135249

type BaseRetentionPolicyImpl added in v0.20240920.1135249

type BaseRetentionPolicyImpl struct {
	RetentionPolicyType string `json:"retentionPolicyType"`
}

func (BaseRetentionPolicyImpl) RetentionPolicy added in v0.20240920.1135249

type BaseSchedulePolicyImpl added in v0.20240920.1135249

type BaseSchedulePolicyImpl struct {
	SchedulePolicyType string `json:"schedulePolicyType"`
}

func (BaseSchedulePolicyImpl) SchedulePolicy added in v0.20240920.1135249

type CreateOrUpdateOperationResponse

type CreateOrUpdateOperationResponse struct {
	HttpResponse *http.Response
	Model        *ProtectionPolicyResource
}

type DailyRetentionFormat

type DailyRetentionFormat struct {
	DaysOfTheMonth *[]Day `json:"daysOfTheMonth,omitempty"`
}

type DailyRetentionSchedule

type DailyRetentionSchedule struct {
	RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"`
	RetentionTimes    *[]string          `json:"retentionTimes,omitempty"`
}

type DailySchedule

type DailySchedule struct {
	ScheduleRunTimes *[]string `json:"scheduleRunTimes,omitempty"`
}

type Day

type Day struct {
	Date   *int64 `json:"date,omitempty"`
	IsLast *bool  `json:"isLast,omitempty"`
}

type DayOfWeek

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

type DeleteOperationResponse

type DeleteOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type GenericProtectionPolicy

type GenericProtectionPolicy struct {
	FabricName          *string                `json:"fabricName,omitempty"`
	SubProtectionPolicy *[]SubProtectionPolicy `json:"subProtectionPolicy,omitempty"`
	TimeZone            *string                `json:"timeZone,omitempty"`

	BackupManagementType           string    `json:"backupManagementType"`
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (GenericProtectionPolicy) MarshalJSON

func (s GenericProtectionPolicy) MarshalJSON() ([]byte, error)

func (GenericProtectionPolicy) ProtectionPolicy added in v0.20240920.1135249

type GetOperationResponse

type GetOperationResponse struct {
	HttpResponse *http.Response
	Model        *ProtectionPolicyResource
}

type HourlySchedule

type HourlySchedule struct {
	Interval                *int64  `json:"interval,omitempty"`
	ScheduleWindowDuration  *int64  `json:"scheduleWindowDuration,omitempty"`
	ScheduleWindowStartTime *string `json:"scheduleWindowStartTime,omitempty"`
}

func (*HourlySchedule) GetScheduleWindowStartTimeAsTime

func (o *HourlySchedule) GetScheduleWindowStartTimeAsTime() (*time.Time, error)

func (*HourlySchedule) SetScheduleWindowStartTimeAsTime

func (o *HourlySchedule) SetScheduleWindowStartTimeAsTime(input time.Time)

type IAASVMPolicyType

type IAASVMPolicyType string
const (
	IAASVMPolicyTypeInvalid IAASVMPolicyType = "Invalid"
	IAASVMPolicyTypeVOne    IAASVMPolicyType = "V1"
	IAASVMPolicyTypeVTwo    IAASVMPolicyType = "V2"
)

type IaasVMSnapshotConsistencyType

type IaasVMSnapshotConsistencyType string
const (
	IaasVMSnapshotConsistencyTypeOnlyCrashConsistent IaasVMSnapshotConsistencyType = "OnlyCrashConsistent"
)

type InstantRPAdditionalDetails

type InstantRPAdditionalDetails struct {
	AzureBackupRGNamePrefix *string `json:"azureBackupRGNamePrefix,omitempty"`
	AzureBackupRGNameSuffix *string `json:"azureBackupRGNameSuffix,omitempty"`
}

type LogSchedulePolicy

type LogSchedulePolicy struct {
	ScheduleFrequencyInMins *int64 `json:"scheduleFrequencyInMins,omitempty"`

	SchedulePolicyType string `json:"schedulePolicyType"`
}

func (LogSchedulePolicy) MarshalJSON

func (s LogSchedulePolicy) MarshalJSON() ([]byte, error)

func (LogSchedulePolicy) SchedulePolicy added in v0.20240920.1135249

func (s LogSchedulePolicy) SchedulePolicy() BaseSchedulePolicyImpl

type LongTermRetentionPolicy

type LongTermRetentionPolicy struct {
	DailySchedule   *DailyRetentionSchedule   `json:"dailySchedule,omitempty"`
	MonthlySchedule *MonthlyRetentionSchedule `json:"monthlySchedule,omitempty"`
	WeeklySchedule  *WeeklyRetentionSchedule  `json:"weeklySchedule,omitempty"`
	YearlySchedule  *YearlyRetentionSchedule  `json:"yearlySchedule,omitempty"`

	RetentionPolicyType string `json:"retentionPolicyType"`
}

func (LongTermRetentionPolicy) MarshalJSON

func (s LongTermRetentionPolicy) MarshalJSON() ([]byte, error)

func (LongTermRetentionPolicy) RetentionPolicy added in v0.20240920.1135249

type LongTermSchedulePolicy

type LongTermSchedulePolicy struct {
	SchedulePolicyType string `json:"schedulePolicyType"`
}

func (LongTermSchedulePolicy) MarshalJSON

func (s LongTermSchedulePolicy) MarshalJSON() ([]byte, error)

func (LongTermSchedulePolicy) SchedulePolicy added in v0.20240920.1135249

type MabProtectionPolicy

type MabProtectionPolicy struct {
	RetentionPolicy RetentionPolicy `json:"retentionPolicy"`
	SchedulePolicy  SchedulePolicy  `json:"schedulePolicy"`

	BackupManagementType           string    `json:"backupManagementType"`
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (MabProtectionPolicy) MarshalJSON

func (s MabProtectionPolicy) MarshalJSON() ([]byte, error)

func (MabProtectionPolicy) ProtectionPolicy added in v0.20240920.1135249

func (s MabProtectionPolicy) ProtectionPolicy() BaseProtectionPolicyImpl

func (*MabProtectionPolicy) UnmarshalJSON

func (s *MabProtectionPolicy) UnmarshalJSON(bytes []byte) error

type MonthOfYear

type MonthOfYear string
const (
	MonthOfYearApril     MonthOfYear = "April"
	MonthOfYearAugust    MonthOfYear = "August"
	MonthOfYearDecember  MonthOfYear = "December"
	MonthOfYearFebruary  MonthOfYear = "February"
	MonthOfYearInvalid   MonthOfYear = "Invalid"
	MonthOfYearJanuary   MonthOfYear = "January"
	MonthOfYearJuly      MonthOfYear = "July"
	MonthOfYearJune      MonthOfYear = "June"
	MonthOfYearMarch     MonthOfYear = "March"
	MonthOfYearMay       MonthOfYear = "May"
	MonthOfYearNovember  MonthOfYear = "November"
	MonthOfYearOctober   MonthOfYear = "October"
	MonthOfYearSeptember MonthOfYear = "September"
)

type MonthlyRetentionSchedule

type MonthlyRetentionSchedule struct {
	RetentionDuration           *RetentionDuration       `json:"retentionDuration,omitempty"`
	RetentionScheduleDaily      *DailyRetentionFormat    `json:"retentionScheduleDaily,omitempty"`
	RetentionScheduleFormatType *RetentionScheduleFormat `json:"retentionScheduleFormatType,omitempty"`
	RetentionScheduleWeekly     *WeeklyRetentionFormat   `json:"retentionScheduleWeekly,omitempty"`
	RetentionTimes              *[]string                `json:"retentionTimes,omitempty"`
}

type PolicyType

type PolicyType string
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"
)

type ProtectionPoliciesClient

type ProtectionPoliciesClient struct {
	Client autorest.Client
	// contains filtered or unexported fields
}

func NewProtectionPoliciesClientWithBaseURI

func NewProtectionPoliciesClientWithBaseURI(endpoint string) ProtectionPoliciesClient

func (ProtectionPoliciesClient) CreateOrUpdate

CreateOrUpdate ...

func (ProtectionPoliciesClient) Delete

Delete ...

func (ProtectionPoliciesClient) DeleteThenPoll

func (c ProtectionPoliciesClient) DeleteThenPoll(ctx context.Context, id BackupPolicyId) error

DeleteThenPoll performs Delete then polls until it's completed

func (ProtectionPoliciesClient) Get

Get ...

type ProtectionPolicy

type ProtectionPolicy interface {
	ProtectionPolicy() BaseProtectionPolicyImpl
}

func UnmarshalProtectionPolicyImplementation added in v0.20240920.1135249

func UnmarshalProtectionPolicyImplementation(input []byte) (ProtectionPolicy, error)

type ProtectionPolicyResource

type ProtectionPolicyResource struct {
	ETag       *string            `json:"eTag,omitempty"`
	Id         *string            `json:"id,omitempty"`
	Location   *string            `json:"location,omitempty"`
	Name       *string            `json:"name,omitempty"`
	Properties ProtectionPolicy   `json:"properties"`
	Tags       *map[string]string `json:"tags,omitempty"`
	Type       *string            `json:"type,omitempty"`
}

func (*ProtectionPolicyResource) UnmarshalJSON

func (s *ProtectionPolicyResource) UnmarshalJSON(bytes []byte) error

type RawProtectionPolicyImpl

type RawProtectionPolicyImpl struct {
	Type   string
	Values map[string]interface{}
	// contains filtered or unexported fields
}

RawProtectionPolicyImpl is returned when the Discriminated Value doesn't match any of the defined types NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) and is used only for Deserialization (e.g. this cannot be used as a Request Payload).

func (RawProtectionPolicyImpl) ProtectionPolicy added in v0.20240920.1135249

type RawRetentionPolicyImpl

type RawRetentionPolicyImpl struct {
	Type   string
	Values map[string]interface{}
	// contains filtered or unexported fields
}

RawRetentionPolicyImpl is returned when the Discriminated Value doesn't match any of the defined types NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) and is used only for Deserialization (e.g. this cannot be used as a Request Payload).

func (RawRetentionPolicyImpl) RetentionPolicy added in v0.20240920.1135249

func (s RawRetentionPolicyImpl) RetentionPolicy() BaseRetentionPolicyImpl

type RawSchedulePolicyImpl

type RawSchedulePolicyImpl struct {
	Type   string
	Values map[string]interface{}
	// contains filtered or unexported fields
}

RawSchedulePolicyImpl is returned when the Discriminated Value doesn't match any of the defined types NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) and is used only for Deserialization (e.g. this cannot be used as a Request Payload).

func (RawSchedulePolicyImpl) SchedulePolicy added in v0.20240920.1135249

func (s RawSchedulePolicyImpl) SchedulePolicy() BaseSchedulePolicyImpl

type RetentionDuration

type RetentionDuration struct {
	Count        *int64                 `json:"count,omitempty"`
	DurationType *RetentionDurationType `json:"durationType,omitempty"`
}

type RetentionDurationType

type RetentionDurationType string
const (
	RetentionDurationTypeDays    RetentionDurationType = "Days"
	RetentionDurationTypeInvalid RetentionDurationType = "Invalid"
	RetentionDurationTypeMonths  RetentionDurationType = "Months"
	RetentionDurationTypeWeeks   RetentionDurationType = "Weeks"
	RetentionDurationTypeYears   RetentionDurationType = "Years"
)

type RetentionPolicy

type RetentionPolicy interface {
	RetentionPolicy() BaseRetentionPolicyImpl
}

func UnmarshalRetentionPolicyImplementation added in v0.20240920.1135249

func UnmarshalRetentionPolicyImplementation(input []byte) (RetentionPolicy, error)

type RetentionScheduleFormat

type RetentionScheduleFormat string
const (
	RetentionScheduleFormatDaily   RetentionScheduleFormat = "Daily"
	RetentionScheduleFormatInvalid RetentionScheduleFormat = "Invalid"
	RetentionScheduleFormatWeekly  RetentionScheduleFormat = "Weekly"
)

type SchedulePolicy

type SchedulePolicy interface {
	SchedulePolicy() BaseSchedulePolicyImpl
}

func UnmarshalSchedulePolicyImplementation added in v0.20240920.1135249

func UnmarshalSchedulePolicyImplementation(input []byte) (SchedulePolicy, error)

type ScheduleRunType

type ScheduleRunType string
const (
	ScheduleRunTypeDaily   ScheduleRunType = "Daily"
	ScheduleRunTypeHourly  ScheduleRunType = "Hourly"
	ScheduleRunTypeInvalid ScheduleRunType = "Invalid"
	ScheduleRunTypeWeekly  ScheduleRunType = "Weekly"
)

type Settings

type Settings struct {
	IsCompression    *bool   `json:"isCompression,omitempty"`
	Issqlcompression *bool   `json:"issqlcompression,omitempty"`
	TimeZone         *string `json:"timeZone,omitempty"`
}

type SimpleRetentionPolicy

type SimpleRetentionPolicy struct {
	RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"`

	RetentionPolicyType string `json:"retentionPolicyType"`
}

func (SimpleRetentionPolicy) MarshalJSON

func (s SimpleRetentionPolicy) MarshalJSON() ([]byte, error)

func (SimpleRetentionPolicy) RetentionPolicy added in v0.20240920.1135249

func (s SimpleRetentionPolicy) RetentionPolicy() BaseRetentionPolicyImpl

type SimpleSchedulePolicy

type SimpleSchedulePolicy struct {
	HourlySchedule          *HourlySchedule  `json:"hourlySchedule,omitempty"`
	ScheduleRunDays         *[]DayOfWeek     `json:"scheduleRunDays,omitempty"`
	ScheduleRunFrequency    *ScheduleRunType `json:"scheduleRunFrequency,omitempty"`
	ScheduleRunTimes        *[]string        `json:"scheduleRunTimes,omitempty"`
	ScheduleWeeklyFrequency *int64           `json:"scheduleWeeklyFrequency,omitempty"`

	SchedulePolicyType string `json:"schedulePolicyType"`
}

func (SimpleSchedulePolicy) MarshalJSON

func (s SimpleSchedulePolicy) MarshalJSON() ([]byte, error)

func (SimpleSchedulePolicy) SchedulePolicy added in v0.20240920.1135249

func (s SimpleSchedulePolicy) SchedulePolicy() BaseSchedulePolicyImpl

type SimpleSchedulePolicyV2

type SimpleSchedulePolicyV2 struct {
	DailySchedule        *DailySchedule   `json:"dailySchedule,omitempty"`
	HourlySchedule       *HourlySchedule  `json:"hourlySchedule,omitempty"`
	ScheduleRunFrequency *ScheduleRunType `json:"scheduleRunFrequency,omitempty"`
	WeeklySchedule       *WeeklySchedule  `json:"weeklySchedule,omitempty"`

	SchedulePolicyType string `json:"schedulePolicyType"`
}

func (SimpleSchedulePolicyV2) MarshalJSON

func (s SimpleSchedulePolicyV2) MarshalJSON() ([]byte, error)

func (SimpleSchedulePolicyV2) SchedulePolicy added in v0.20240920.1135249

type SnapshotBackupAdditionalDetails

type SnapshotBackupAdditionalDetails struct {
	InstantRPDetails                   *string                             `json:"instantRPDetails,omitempty"`
	InstantRpRetentionRangeInDays      *int64                              `json:"instantRpRetentionRangeInDays,omitempty"`
	UserAssignedManagedIdentityDetails *UserAssignedManagedIdentityDetails `json:"userAssignedManagedIdentityDetails,omitempty"`
}

type SubProtectionPolicy

type SubProtectionPolicy struct {
	PolicyType                      *PolicyType                      `json:"policyType,omitempty"`
	RetentionPolicy                 RetentionPolicy                  `json:"retentionPolicy"`
	SchedulePolicy                  SchedulePolicy                   `json:"schedulePolicy"`
	SnapshotBackupAdditionalDetails *SnapshotBackupAdditionalDetails `json:"snapshotBackupAdditionalDetails,omitempty"`
	TieringPolicy                   *map[string]TieringPolicy        `json:"tieringPolicy,omitempty"`
}

func (*SubProtectionPolicy) UnmarshalJSON

func (s *SubProtectionPolicy) UnmarshalJSON(bytes []byte) error

type TieringMode

type TieringMode string
const (
	TieringModeDoNotTier       TieringMode = "DoNotTier"
	TieringModeInvalid         TieringMode = "Invalid"
	TieringModeTierAfter       TieringMode = "TierAfter"
	TieringModeTierRecommended TieringMode = "TierRecommended"
)

type TieringPolicy

type TieringPolicy struct {
	Duration     *int64                 `json:"duration,omitempty"`
	DurationType *RetentionDurationType `json:"durationType,omitempty"`
	TieringMode  *TieringMode           `json:"tieringMode,omitempty"`
}

type UserAssignedIdentityProperties

type UserAssignedIdentityProperties struct {
	ClientId    *string `json:"clientId,omitempty"`
	PrincipalId *string `json:"principalId,omitempty"`
}

type UserAssignedManagedIdentityDetails

type UserAssignedManagedIdentityDetails struct {
	IdentityArmId                  *string                         `json:"identityArmId,omitempty"`
	IdentityName                   *string                         `json:"identityName,omitempty"`
	UserAssignedIdentityProperties *UserAssignedIdentityProperties `json:"userAssignedIdentityProperties,omitempty"`
}

type VaultRetentionPolicy

type VaultRetentionPolicy struct {
	SnapshotRetentionInDays int64           `json:"snapshotRetentionInDays"`
	VaultRetention          RetentionPolicy `json:"vaultRetention"`
}

func (*VaultRetentionPolicy) UnmarshalJSON

func (s *VaultRetentionPolicy) UnmarshalJSON(bytes []byte) error

type WeekOfMonth

type WeekOfMonth string
const (
	WeekOfMonthFirst   WeekOfMonth = "First"
	WeekOfMonthFourth  WeekOfMonth = "Fourth"
	WeekOfMonthInvalid WeekOfMonth = "Invalid"
	WeekOfMonthLast    WeekOfMonth = "Last"
	WeekOfMonthSecond  WeekOfMonth = "Second"
	WeekOfMonthThird   WeekOfMonth = "Third"
)

type WeeklyRetentionFormat

type WeeklyRetentionFormat struct {
	DaysOfTheWeek   *[]DayOfWeek   `json:"daysOfTheWeek,omitempty"`
	WeeksOfTheMonth *[]WeekOfMonth `json:"weeksOfTheMonth,omitempty"`
}

type WeeklyRetentionSchedule

type WeeklyRetentionSchedule struct {
	DaysOfTheWeek     *[]DayOfWeek       `json:"daysOfTheWeek,omitempty"`
	RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"`
	RetentionTimes    *[]string          `json:"retentionTimes,omitempty"`
}

type WeeklySchedule

type WeeklySchedule struct {
	ScheduleRunDays  *[]DayOfWeek `json:"scheduleRunDays,omitempty"`
	ScheduleRunTimes *[]string    `json:"scheduleRunTimes,omitempty"`
}

type WorkloadType

type WorkloadType string
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"
)

type YearlyRetentionSchedule

type YearlyRetentionSchedule struct {
	MonthsOfYear                *[]MonthOfYear           `json:"monthsOfYear,omitempty"`
	RetentionDuration           *RetentionDuration       `json:"retentionDuration,omitempty"`
	RetentionScheduleDaily      *DailyRetentionFormat    `json:"retentionScheduleDaily,omitempty"`
	RetentionScheduleFormatType *RetentionScheduleFormat `json:"retentionScheduleFormatType,omitempty"`
	RetentionScheduleWeekly     *WeeklyRetentionFormat   `json:"retentionScheduleWeekly,omitempty"`
	RetentionTimes              *[]string                `json:"retentionTimes,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL