// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) Go Code Generator. DO NOT EDIT.

package armalertprocessingrules

const (
	version20210808 string = "2021-08-08"
)

// ActionType - Action that should be applied.
type ActionType string

const (
	// ActionTypeAddActionGroups - AddActionGroups
	ActionTypeAddActionGroups ActionType = "AddActionGroups"
	// ActionTypeRemoveAllActionGroups - RemoveAllActionGroups
	ActionTypeRemoveAllActionGroups ActionType = "RemoveAllActionGroups"
)

// PossibleActionTypeValues returns the possible values for the ActionType const type.
func PossibleActionTypeValues() []ActionType {
	return []ActionType{
		ActionTypeAddActionGroups,
		ActionTypeRemoveAllActionGroups,
	}
}

// CreatedByType - The kind of entity that created the resource.
type CreatedByType string

const (
	// CreatedByTypeApplication - The entity was created by an application.
	CreatedByTypeApplication CreatedByType = "Application"
	// CreatedByTypeKey - The entity was created by a key.
	CreatedByTypeKey CreatedByType = "Key"
	// CreatedByTypeManagedIdentity - The entity was created by a managed identity.
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	// CreatedByTypeUser - The entity was created by a user.
	CreatedByTypeUser CreatedByType = "User"
)

// PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.
func PossibleCreatedByTypeValues() []CreatedByType {
	return []CreatedByType{
		CreatedByTypeApplication,
		CreatedByTypeKey,
		CreatedByTypeManagedIdentity,
		CreatedByTypeUser,
	}
}

// DaysOfWeek - Days of week.
type DaysOfWeek string

const (
	// DaysOfWeekFriday - Friday
	DaysOfWeekFriday DaysOfWeek = "Friday"
	// DaysOfWeekMonday - Monday
	DaysOfWeekMonday DaysOfWeek = "Monday"
	// DaysOfWeekSaturday - Saturday
	DaysOfWeekSaturday DaysOfWeek = "Saturday"
	// DaysOfWeekSunday - Sunday
	DaysOfWeekSunday DaysOfWeek = "Sunday"
	// DaysOfWeekThursday - Thursday
	DaysOfWeekThursday DaysOfWeek = "Thursday"
	// DaysOfWeekTuesday - Tuesday
	DaysOfWeekTuesday DaysOfWeek = "Tuesday"
	// DaysOfWeekWednesday - Wednesday
	DaysOfWeekWednesday DaysOfWeek = "Wednesday"
)

// PossibleDaysOfWeekValues returns the possible values for the DaysOfWeek const type.
func PossibleDaysOfWeekValues() []DaysOfWeek {
	return []DaysOfWeek{
		DaysOfWeekFriday,
		DaysOfWeekMonday,
		DaysOfWeekSaturday,
		DaysOfWeekSunday,
		DaysOfWeekThursday,
		DaysOfWeekTuesday,
		DaysOfWeekWednesday,
	}
}

// Field - Field for a given condition.
type Field string

const (
	// FieldAlertContext - AlertContext
	FieldAlertContext Field = "AlertContext"
	// FieldAlertRuleID - AlertRuleId
	FieldAlertRuleID Field = "AlertRuleId"
	// FieldAlertRuleName - AlertRuleName
	FieldAlertRuleName Field = "AlertRuleName"
	// FieldDescription - Description
	FieldDescription Field = "Description"
	// FieldMonitorCondition - MonitorCondition
	FieldMonitorCondition Field = "MonitorCondition"
	// FieldMonitorService - MonitorService
	FieldMonitorService Field = "MonitorService"
	// FieldSeverity - Severity
	FieldSeverity Field = "Severity"
	// FieldSignalType - SignalType
	FieldSignalType Field = "SignalType"
	// FieldTargetResource - TargetResource
	FieldTargetResource Field = "TargetResource"
	// FieldTargetResourceGroup - TargetResourceGroup
	FieldTargetResourceGroup Field = "TargetResourceGroup"
	// FieldTargetResourceType - TargetResourceType
	FieldTargetResourceType Field = "TargetResourceType"
)

// PossibleFieldValues returns the possible values for the Field const type.
func PossibleFieldValues() []Field {
	return []Field{
		FieldAlertContext,
		FieldAlertRuleID,
		FieldAlertRuleName,
		FieldDescription,
		FieldMonitorCondition,
		FieldMonitorService,
		FieldSeverity,
		FieldSignalType,
		FieldTargetResource,
		FieldTargetResourceGroup,
		FieldTargetResourceType,
	}
}

// Operator - Operator for a given condition.
type Operator string

const (
	// OperatorContains - Contains
	OperatorContains Operator = "Contains"
	// OperatorDoesNotContain - DoesNotContain
	OperatorDoesNotContain Operator = "DoesNotContain"
	// OperatorEquals - Equals
	OperatorEquals Operator = "Equals"
	// OperatorNotEquals - NotEquals
	OperatorNotEquals Operator = "NotEquals"
)

// PossibleOperatorValues returns the possible values for the Operator const type.
func PossibleOperatorValues() []Operator {
	return []Operator{
		OperatorContains,
		OperatorDoesNotContain,
		OperatorEquals,
		OperatorNotEquals,
	}
}

// RecurrenceType - Specifies when the recurrence should be applied.
type RecurrenceType string

const (
	// RecurrenceTypeDaily - Daily
	RecurrenceTypeDaily RecurrenceType = "Daily"
	// RecurrenceTypeMonthly - Monthly
	RecurrenceTypeMonthly RecurrenceType = "Monthly"
	// RecurrenceTypeWeekly - Weekly
	RecurrenceTypeWeekly RecurrenceType = "Weekly"
)

// PossibleRecurrenceTypeValues returns the possible values for the RecurrenceType const type.
func PossibleRecurrenceTypeValues() []RecurrenceType {
	return []RecurrenceType{
		RecurrenceTypeDaily,
		RecurrenceTypeMonthly,
		RecurrenceTypeWeekly,
	}
}
