// Code generated by smithy-go-codegen DO NOT EDIT.

package types

type ActionStatus string

// Enum values for ActionStatus
const (
	ActionStatusStandby             ActionStatus = "STANDBY"
	ActionStatusPending             ActionStatus = "PENDING"
	ActionStatusExecutionInProgress ActionStatus = "EXECUTION_IN_PROGRESS"
	ActionStatusExecutionSuccess    ActionStatus = "EXECUTION_SUCCESS"
	ActionStatusExecutionFailure    ActionStatus = "EXECUTION_FAILURE"
	ActionStatusReverseInProgress   ActionStatus = "REVERSE_IN_PROGRESS"
	ActionStatusReverseSuccess      ActionStatus = "REVERSE_SUCCESS"
	ActionStatusReverseFailure      ActionStatus = "REVERSE_FAILURE"
	ActionStatusResetInProgress     ActionStatus = "RESET_IN_PROGRESS"
	ActionStatusResetFailure        ActionStatus = "RESET_FAILURE"
)

// Values returns all known values for ActionStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ActionStatus) Values() []ActionStatus {
	return []ActionStatus{
		"STANDBY",
		"PENDING",
		"EXECUTION_IN_PROGRESS",
		"EXECUTION_SUCCESS",
		"EXECUTION_FAILURE",
		"REVERSE_IN_PROGRESS",
		"REVERSE_SUCCESS",
		"REVERSE_FAILURE",
		"RESET_IN_PROGRESS",
		"RESET_FAILURE",
	}
}

type ActionSubType string

// Enum values for ActionSubType
const (
	ActionSubTypeStopEc2 ActionSubType = "STOP_EC2_INSTANCES"
	ActionSubTypeStopRds ActionSubType = "STOP_RDS_INSTANCES"
)

// Values returns all known values for ActionSubType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ActionSubType) Values() []ActionSubType {
	return []ActionSubType{
		"STOP_EC2_INSTANCES",
		"STOP_RDS_INSTANCES",
	}
}

type ActionType string

// Enum values for ActionType
const (
	ActionTypeIam ActionType = "APPLY_IAM_POLICY"
	ActionTypeScp ActionType = "APPLY_SCP_POLICY"
	ActionTypeSsm ActionType = "RUN_SSM_DOCUMENTS"
)

// Values returns all known values for ActionType. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ActionType) Values() []ActionType {
	return []ActionType{
		"APPLY_IAM_POLICY",
		"APPLY_SCP_POLICY",
		"RUN_SSM_DOCUMENTS",
	}
}

type ApprovalModel string

// Enum values for ApprovalModel
const (
	ApprovalModelAuto   ApprovalModel = "AUTOMATIC"
	ApprovalModelManual ApprovalModel = "MANUAL"
)

// Values returns all known values for ApprovalModel. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ApprovalModel) Values() []ApprovalModel {
	return []ApprovalModel{
		"AUTOMATIC",
		"MANUAL",
	}
}

type AutoAdjustType string

// Enum values for AutoAdjustType
const (
	AutoAdjustTypeHistorical AutoAdjustType = "HISTORICAL"
	AutoAdjustTypeForecast   AutoAdjustType = "FORECAST"
)

// Values returns all known values for AutoAdjustType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (AutoAdjustType) Values() []AutoAdjustType {
	return []AutoAdjustType{
		"HISTORICAL",
		"FORECAST",
	}
}

type BudgetType string

// Enum values for BudgetType
const (
	BudgetTypeUsage         BudgetType = "USAGE"
	BudgetTypeCost          BudgetType = "COST"
	BudgetTypeRIUtilization BudgetType = "RI_UTILIZATION"
	BudgetTypeRICoverage    BudgetType = "RI_COVERAGE"
	BudgetTypeSPUtilization BudgetType = "SAVINGS_PLANS_UTILIZATION"
	BudgetTypeSPCoverage    BudgetType = "SAVINGS_PLANS_COVERAGE"
)

// Values returns all known values for BudgetType. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BudgetType) Values() []BudgetType {
	return []BudgetType{
		"USAGE",
		"COST",
		"RI_UTILIZATION",
		"RI_COVERAGE",
		"SAVINGS_PLANS_UTILIZATION",
		"SAVINGS_PLANS_COVERAGE",
	}
}

type ComparisonOperator string

// Enum values for ComparisonOperator
const (
	ComparisonOperatorGreaterThan ComparisonOperator = "GREATER_THAN"
	ComparisonOperatorLessThan    ComparisonOperator = "LESS_THAN"
	ComparisonOperatorEqualTo     ComparisonOperator = "EQUAL_TO"
)

// Values returns all known values for ComparisonOperator. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ComparisonOperator) Values() []ComparisonOperator {
	return []ComparisonOperator{
		"GREATER_THAN",
		"LESS_THAN",
		"EQUAL_TO",
	}
}

type Dimension string

// Enum values for Dimension
const (
	DimensionAz                  Dimension = "AZ"
	DimensionInstanceType        Dimension = "INSTANCE_TYPE"
	DimensionLinkedAccount       Dimension = "LINKED_ACCOUNT"
	DimensionLinkedAccountName   Dimension = "LINKED_ACCOUNT_NAME"
	DimensionOperation           Dimension = "OPERATION"
	DimensionPurchaseType        Dimension = "PURCHASE_TYPE"
	DimensionRegion              Dimension = "REGION"
	DimensionService             Dimension = "SERVICE"
	DimensionServiceCode         Dimension = "SERVICE_CODE"
	DimensionUsageType           Dimension = "USAGE_TYPE"
	DimensionUsageTypeGroup      Dimension = "USAGE_TYPE_GROUP"
	DimensionRecordType          Dimension = "RECORD_TYPE"
	DimensionOperatingSystem     Dimension = "OPERATING_SYSTEM"
	DimensionTenancy             Dimension = "TENANCY"
	DimensionScope               Dimension = "SCOPE"
	DimensionPlatform            Dimension = "PLATFORM"
	DimensionSubscriptionId      Dimension = "SUBSCRIPTION_ID"
	DimensionLegalEntityName     Dimension = "LEGAL_ENTITY_NAME"
	DimensionInvoicingEntity     Dimension = "INVOICING_ENTITY"
	DimensionDeploymentOption    Dimension = "DEPLOYMENT_OPTION"
	DimensionDatabaseEngine      Dimension = "DATABASE_ENGINE"
	DimensionCacheEngine         Dimension = "CACHE_ENGINE"
	DimensionInstanceTypeFamily  Dimension = "INSTANCE_TYPE_FAMILY"
	DimensionBillingEntity       Dimension = "BILLING_ENTITY"
	DimensionReservationId       Dimension = "RESERVATION_ID"
	DimensionResourceId          Dimension = "RESOURCE_ID"
	DimensionRightsizingType     Dimension = "RIGHTSIZING_TYPE"
	DimensionSavingsPlansType    Dimension = "SAVINGS_PLANS_TYPE"
	DimensionSavingsPlanArn      Dimension = "SAVINGS_PLAN_ARN"
	DimensionPaymentOption       Dimension = "PAYMENT_OPTION"
	DimensionReservationModified Dimension = "RESERVATION_MODIFIED"
	DimensionTagKey              Dimension = "TAG_KEY"
	DimensionCostCategoryName    Dimension = "COST_CATEGORY_NAME"
)

// Values returns all known values for Dimension. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Dimension) Values() []Dimension {
	return []Dimension{
		"AZ",
		"INSTANCE_TYPE",
		"LINKED_ACCOUNT",
		"LINKED_ACCOUNT_NAME",
		"OPERATION",
		"PURCHASE_TYPE",
		"REGION",
		"SERVICE",
		"SERVICE_CODE",
		"USAGE_TYPE",
		"USAGE_TYPE_GROUP",
		"RECORD_TYPE",
		"OPERATING_SYSTEM",
		"TENANCY",
		"SCOPE",
		"PLATFORM",
		"SUBSCRIPTION_ID",
		"LEGAL_ENTITY_NAME",
		"INVOICING_ENTITY",
		"DEPLOYMENT_OPTION",
		"DATABASE_ENGINE",
		"CACHE_ENGINE",
		"INSTANCE_TYPE_FAMILY",
		"BILLING_ENTITY",
		"RESERVATION_ID",
		"RESOURCE_ID",
		"RIGHTSIZING_TYPE",
		"SAVINGS_PLANS_TYPE",
		"SAVINGS_PLAN_ARN",
		"PAYMENT_OPTION",
		"RESERVATION_MODIFIED",
		"TAG_KEY",
		"COST_CATEGORY_NAME",
	}
}

type EventType string

// Enum values for EventType
const (
	EventTypeSystem        EventType = "SYSTEM"
	EventTypeCreateAction  EventType = "CREATE_ACTION"
	EventTypeDeleteAction  EventType = "DELETE_ACTION"
	EventTypeUpdateAction  EventType = "UPDATE_ACTION"
	EventTypeExecuteAction EventType = "EXECUTE_ACTION"
)

// Values returns all known values for EventType. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (EventType) Values() []EventType {
	return []EventType{
		"SYSTEM",
		"CREATE_ACTION",
		"DELETE_ACTION",
		"UPDATE_ACTION",
		"EXECUTE_ACTION",
	}
}

type ExecutionType string

// Enum values for ExecutionType
const (
	ExecutionTypeApproveBudgetAction ExecutionType = "APPROVE_BUDGET_ACTION"
	ExecutionTypeRetryBudgetAction   ExecutionType = "RETRY_BUDGET_ACTION"
	ExecutionTypeReverseBudgetAction ExecutionType = "REVERSE_BUDGET_ACTION"
	ExecutionTypeResetBudgetAction   ExecutionType = "RESET_BUDGET_ACTION"
)

// Values returns all known values for ExecutionType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ExecutionType) Values() []ExecutionType {
	return []ExecutionType{
		"APPROVE_BUDGET_ACTION",
		"RETRY_BUDGET_ACTION",
		"REVERSE_BUDGET_ACTION",
		"RESET_BUDGET_ACTION",
	}
}

type HealthStatusReason string

// Enum values for HealthStatusReason
const (
	HealthStatusReasonBillingViewNoAccess             HealthStatusReason = "BILLING_VIEW_NO_ACCESS"
	HealthStatusReasonBillingViewUnhealthy            HealthStatusReason = "BILLING_VIEW_UNHEALTHY"
	HealthStatusReasonFilterInvalid                   HealthStatusReason = "FILTER_INVALID"
	HealthStatusReasonMultiYearHistoricalDataDisabled HealthStatusReason = "MULTI_YEAR_HISTORICAL_DATA_DISABLED"
)

// Values returns all known values for HealthStatusReason. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (HealthStatusReason) Values() []HealthStatusReason {
	return []HealthStatusReason{
		"BILLING_VIEW_NO_ACCESS",
		"BILLING_VIEW_UNHEALTHY",
		"FILTER_INVALID",
		"MULTI_YEAR_HISTORICAL_DATA_DISABLED",
	}
}

type HealthStatusValue string

// Enum values for HealthStatusValue
const (
	HealthStatusValueHealthy   HealthStatusValue = "HEALTHY"
	HealthStatusValueUnhealthy HealthStatusValue = "UNHEALTHY"
)

// Values returns all known values for HealthStatusValue. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (HealthStatusValue) Values() []HealthStatusValue {
	return []HealthStatusValue{
		"HEALTHY",
		"UNHEALTHY",
	}
}

type MatchOption string

// Enum values for MatchOption
const (
	MatchOptionEquals             MatchOption = "EQUALS"
	MatchOptionAbsent             MatchOption = "ABSENT"
	MatchOptionStartsWith         MatchOption = "STARTS_WITH"
	MatchOptionEndsWith           MatchOption = "ENDS_WITH"
	MatchOptionContains           MatchOption = "CONTAINS"
	MatchOptionGreaterThanOrEqual MatchOption = "GREATER_THAN_OR_EQUAL"
	MatchOptionCaseSensitive      MatchOption = "CASE_SENSITIVE"
	MatchOptionCaseInsensitive    MatchOption = "CASE_INSENSITIVE"
)

// Values returns all known values for MatchOption. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (MatchOption) Values() []MatchOption {
	return []MatchOption{
		"EQUALS",
		"ABSENT",
		"STARTS_WITH",
		"ENDS_WITH",
		"CONTAINS",
		"GREATER_THAN_OR_EQUAL",
		"CASE_SENSITIVE",
		"CASE_INSENSITIVE",
	}
}

type Metric string

// Enum values for Metric
const (
	MetricBlendedCost           Metric = "BlendedCost"
	MetricUnblendedCost         Metric = "UnblendedCost"
	MetricAmortizedCost         Metric = "AmortizedCost"
	MetricNetUnblendedCost      Metric = "NetUnblendedCost"
	MetricNetAmortizedCost      Metric = "NetAmortizedCost"
	MetricUsageQuantity         Metric = "UsageQuantity"
	MetricNormalizedUsageAmount Metric = "NormalizedUsageAmount"
	MetricHours                 Metric = "Hours"
)

// Values returns all known values for Metric. Note that this can be expanded in
// the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Metric) Values() []Metric {
	return []Metric{
		"BlendedCost",
		"UnblendedCost",
		"AmortizedCost",
		"NetUnblendedCost",
		"NetAmortizedCost",
		"UsageQuantity",
		"NormalizedUsageAmount",
		"Hours",
	}
}

type NotificationState string

// Enum values for NotificationState
const (
	NotificationStateOk    NotificationState = "OK"
	NotificationStateAlarm NotificationState = "ALARM"
)

// Values returns all known values for NotificationState. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (NotificationState) Values() []NotificationState {
	return []NotificationState{
		"OK",
		"ALARM",
	}
}

type NotificationType string

// Enum values for NotificationType
const (
	NotificationTypeActual     NotificationType = "ACTUAL"
	NotificationTypeForecasted NotificationType = "FORECASTED"
)

// Values returns all known values for NotificationType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (NotificationType) Values() []NotificationType {
	return []NotificationType{
		"ACTUAL",
		"FORECASTED",
	}
}

type SubscriptionType string

// Enum values for SubscriptionType
const (
	SubscriptionTypeSns   SubscriptionType = "SNS"
	SubscriptionTypeEmail SubscriptionType = "EMAIL"
)

// Values returns all known values for SubscriptionType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (SubscriptionType) Values() []SubscriptionType {
	return []SubscriptionType{
		"SNS",
		"EMAIL",
	}
}

type ThresholdType string

// Enum values for ThresholdType
const (
	ThresholdTypePercentage    ThresholdType = "PERCENTAGE"
	ThresholdTypeAbsoluteValue ThresholdType = "ABSOLUTE_VALUE"
)

// Values returns all known values for ThresholdType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ThresholdType) Values() []ThresholdType {
	return []ThresholdType{
		"PERCENTAGE",
		"ABSOLUTE_VALUE",
	}
}

type TimeUnit string

// Enum values for TimeUnit
const (
	TimeUnitDaily     TimeUnit = "DAILY"
	TimeUnitMonthly   TimeUnit = "MONTHLY"
	TimeUnitQuarterly TimeUnit = "QUARTERLY"
	TimeUnitAnnually  TimeUnit = "ANNUALLY"
	TimeUnitCustom    TimeUnit = "CUSTOM"
)

// Values returns all known values for TimeUnit. Note that this can be expanded in
// the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (TimeUnit) Values() []TimeUnit {
	return []TimeUnit{
		"DAILY",
		"MONTHLY",
		"QUARTERLY",
		"ANNUALLY",
		"CUSTOM",
	}
}
