// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

type RedisPatchSchedule_STATUS struct {
	// Id: Fully qualified resource ID for the resource. E.g.
	// "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	Id *string `json:"id,omitempty"`

	// Location: The geo-location where the resource lives
	Location *string `json:"location,omitempty"`

	// Name: The name of the resource
	Name *string `json:"name,omitempty"`

	// Properties: List of patch schedules for a Redis cache.
	Properties *ScheduleEntries_STATUS `json:"properties,omitempty"`

	// SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData_STATUS `json:"systemData,omitempty"`

	// Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string `json:"type,omitempty"`
}

// List of patch schedules for a Redis cache.
type ScheduleEntries_STATUS struct {
	// ScheduleEntries: List of patch schedules for a Redis cache.
	ScheduleEntries []ScheduleEntry_STATUS `json:"scheduleEntries,omitempty"`
}

// Patch schedule entry for a Premium Redis Cache.
type ScheduleEntry_STATUS struct {
	// DayOfWeek: Day of the week when a cache can be patched.
	DayOfWeek *DayOfWeek_STATUS `json:"dayOfWeek,omitempty"`

	// MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.
	MaintenanceWindow *string `json:"maintenanceWindow,omitempty"`

	// StartHourUtc: Start hour after which cache patching can start.
	StartHourUtc *int `json:"startHourUtc,omitempty"`
}

// Day of the week when a cache can be patched.
type DayOfWeek_STATUS string

const (
	DayOfWeek_STATUS_Everyday  = DayOfWeek_STATUS("Everyday")
	DayOfWeek_STATUS_Friday    = DayOfWeek_STATUS("Friday")
	DayOfWeek_STATUS_Monday    = DayOfWeek_STATUS("Monday")
	DayOfWeek_STATUS_Saturday  = DayOfWeek_STATUS("Saturday")
	DayOfWeek_STATUS_Sunday    = DayOfWeek_STATUS("Sunday")
	DayOfWeek_STATUS_Thursday  = DayOfWeek_STATUS("Thursday")
	DayOfWeek_STATUS_Tuesday   = DayOfWeek_STATUS("Tuesday")
	DayOfWeek_STATUS_Wednesday = DayOfWeek_STATUS("Wednesday")
	DayOfWeek_STATUS_Weekend   = DayOfWeek_STATUS("Weekend")
)

// Mapping from string to DayOfWeek_STATUS
var dayOfWeek_STATUS_Values = map[string]DayOfWeek_STATUS{
	"everyday":  DayOfWeek_STATUS_Everyday,
	"friday":    DayOfWeek_STATUS_Friday,
	"monday":    DayOfWeek_STATUS_Monday,
	"saturday":  DayOfWeek_STATUS_Saturday,
	"sunday":    DayOfWeek_STATUS_Sunday,
	"thursday":  DayOfWeek_STATUS_Thursday,
	"tuesday":   DayOfWeek_STATUS_Tuesday,
	"wednesday": DayOfWeek_STATUS_Wednesday,
	"weekend":   DayOfWeek_STATUS_Weekend,
}
