protectionpolicies

package
v0.20230503.1140953 Latest Latest
Warning

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

Go to latest
Published: May 3, 2023 License: MPL-2.0 Imports: 11 Imported by: 0

README

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

The protectionpolicies SDK allows for interaction with the Azure Resource Manager Service recoveryservicesbackup (API Version 2022-03-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/2022-03-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", "vaultValue", "backupPolicyValue")

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", "vaultValue", "backupPolicyValue")

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", "vaultValue", "backupPolicyValue")

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 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 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"`
	WorkLoadType    *WorkloadType   `json:"workLoadType,omitempty"`

	// Fields inherited from ProtectionPolicy
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureFileShareProtectionPolicy) MarshalJSON

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

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"`
	TimeZone                      *string                     `json:"timeZone,omitempty"`

	// Fields inherited from ProtectionPolicy
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureIaaSVMProtectionPolicy) MarshalJSON

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

func (*AzureIaaSVMProtectionPolicy) UnmarshalJSON

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

type AzureSqlProtectionPolicy

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

	// Fields inherited from ProtectionPolicy
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureSqlProtectionPolicy) MarshalJSON

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

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"`

	// Fields inherited from ProtectionPolicy
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (AzureVMWorkloadProtectionPolicy) MarshalJSON

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

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) 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 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"`

	// Fields inherited from ProtectionPolicy
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (GenericProtectionPolicy) MarshalJSON

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

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 InstantRPAdditionalDetails

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

type LogSchedulePolicy

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

func (LogSchedulePolicy) MarshalJSON

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

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"`
}

func (LongTermRetentionPolicy) MarshalJSON

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

type LongTermSchedulePolicy

type LongTermSchedulePolicy struct {
}

func (LongTermSchedulePolicy) MarshalJSON

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

type MabProtectionPolicy

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

	// Fields inherited from ProtectionPolicy
	ProtectedItemsCount            *int64    `json:"protectedItemsCount,omitempty"`
	ResourceGuardOperationRequests *[]string `json:"resourceGuardOperationRequests,omitempty"`
}

func (MabProtectionPolicy) MarshalJSON

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

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"
)

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

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

type RetentionScheduleFormat

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

type SchedulePolicy

type SchedulePolicy interface {
}

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"`
}

func (SimpleRetentionPolicy) MarshalJSON

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

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"`
}

func (SimpleSchedulePolicy) MarshalJSON

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

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"`
}

func (SimpleSchedulePolicyV2) MarshalJSON

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

type SubProtectionPolicy

type SubProtectionPolicy struct {
	PolicyType      *PolicyType     `json:"policyType,omitempty"`
	RetentionPolicy RetentionPolicy `json:"retentionPolicy"`
	SchedulePolicy  SchedulePolicy  `json:"schedulePolicy"`
}

func (*SubProtectionPolicy) UnmarshalJSON

func (s *SubProtectionPolicy) 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"
	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