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

package types

type ForecastDataType string

// Enum values for ForecastDataType
const (
	ForecastDataTypeCapacityForecast           ForecastDataType = "CapacityForecast"
	ForecastDataTypeLoadForecast               ForecastDataType = "LoadForecast"
	ForecastDataTypeScheduledActionMinCapacity ForecastDataType = "ScheduledActionMinCapacity"
	ForecastDataTypeScheduledActionMaxCapacity ForecastDataType = "ScheduledActionMaxCapacity"
)

// Values returns all known values for ForecastDataType. 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 (ForecastDataType) Values() []ForecastDataType {
	return []ForecastDataType{
		"CapacityForecast",
		"LoadForecast",
		"ScheduledActionMinCapacity",
		"ScheduledActionMaxCapacity",
	}
}

type LoadMetricType string

// Enum values for LoadMetricType
const (
	LoadMetricTypeASGTotalCPUUtilization     LoadMetricType = "ASGTotalCPUUtilization"
	LoadMetricTypeASGTotalNetworkIn          LoadMetricType = "ASGTotalNetworkIn"
	LoadMetricTypeASGTotalNetworkOut         LoadMetricType = "ASGTotalNetworkOut"
	LoadMetricTypeALBTargetGroupRequestCount LoadMetricType = "ALBTargetGroupRequestCount"
)

// Values returns all known values for LoadMetricType. 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 (LoadMetricType) Values() []LoadMetricType {
	return []LoadMetricType{
		"ASGTotalCPUUtilization",
		"ASGTotalNetworkIn",
		"ASGTotalNetworkOut",
		"ALBTargetGroupRequestCount",
	}
}

type MetricStatistic string

// Enum values for MetricStatistic
const (
	MetricStatisticAverage     MetricStatistic = "Average"
	MetricStatisticMinimum     MetricStatistic = "Minimum"
	MetricStatisticMaximum     MetricStatistic = "Maximum"
	MetricStatisticSampleCount MetricStatistic = "SampleCount"
	MetricStatisticSum         MetricStatistic = "Sum"
)

// Values returns all known values for MetricStatistic. 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 (MetricStatistic) Values() []MetricStatistic {
	return []MetricStatistic{
		"Average",
		"Minimum",
		"Maximum",
		"SampleCount",
		"Sum",
	}
}

type PolicyType string

// Enum values for PolicyType
const (
	PolicyTypeTargetTrackingScaling PolicyType = "TargetTrackingScaling"
)

// Values returns all known values for PolicyType. 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 (PolicyType) Values() []PolicyType {
	return []PolicyType{
		"TargetTrackingScaling",
	}
}

type PredictiveScalingMaxCapacityBehavior string

// Enum values for PredictiveScalingMaxCapacityBehavior
const (
	PredictiveScalingMaxCapacityBehaviorSetForecastCapacityToMaxCapacity    PredictiveScalingMaxCapacityBehavior = "SetForecastCapacityToMaxCapacity"
	PredictiveScalingMaxCapacityBehaviorSetMaxCapacityToForecastCapacity    PredictiveScalingMaxCapacityBehavior = "SetMaxCapacityToForecastCapacity"
	PredictiveScalingMaxCapacityBehaviorSetMaxCapacityAboveForecastCapacity PredictiveScalingMaxCapacityBehavior = "SetMaxCapacityAboveForecastCapacity"
)

// Values returns all known values for PredictiveScalingMaxCapacityBehavior. 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 (PredictiveScalingMaxCapacityBehavior) Values() []PredictiveScalingMaxCapacityBehavior {
	return []PredictiveScalingMaxCapacityBehavior{
		"SetForecastCapacityToMaxCapacity",
		"SetMaxCapacityToForecastCapacity",
		"SetMaxCapacityAboveForecastCapacity",
	}
}

type PredictiveScalingMode string

// Enum values for PredictiveScalingMode
const (
	PredictiveScalingModeForecastAndScale PredictiveScalingMode = "ForecastAndScale"
	PredictiveScalingModeForecastOnly     PredictiveScalingMode = "ForecastOnly"
)

// Values returns all known values for PredictiveScalingMode. 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 (PredictiveScalingMode) Values() []PredictiveScalingMode {
	return []PredictiveScalingMode{
		"ForecastAndScale",
		"ForecastOnly",
	}
}

type ScalableDimension string

// Enum values for ScalableDimension
const (
	ScalableDimensionAutoScalingGroupDesiredCapacity   ScalableDimension = "autoscaling:autoScalingGroup:DesiredCapacity"
	ScalableDimensionECSServiceDesiredCount            ScalableDimension = "ecs:service:DesiredCount"
	ScalableDimensionEC2SpotFleetRequestTargetCapacity ScalableDimension = "ec2:spot-fleet-request:TargetCapacity"
	ScalableDimensionRDSClusterReadReplicaCount        ScalableDimension = "rds:cluster:ReadReplicaCount"
	ScalableDimensionDynamoDBTableReadCapacityUnits    ScalableDimension = "dynamodb:table:ReadCapacityUnits"
	ScalableDimensionDynamoDBTableWriteCapacityUnits   ScalableDimension = "dynamodb:table:WriteCapacityUnits"
	ScalableDimensionDynamoDBIndexReadCapacityUnits    ScalableDimension = "dynamodb:index:ReadCapacityUnits"
	ScalableDimensionDynamoDBIndexWriteCapacityUnits   ScalableDimension = "dynamodb:index:WriteCapacityUnits"
)

// Values returns all known values for ScalableDimension. 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 (ScalableDimension) Values() []ScalableDimension {
	return []ScalableDimension{
		"autoscaling:autoScalingGroup:DesiredCapacity",
		"ecs:service:DesiredCount",
		"ec2:spot-fleet-request:TargetCapacity",
		"rds:cluster:ReadReplicaCount",
		"dynamodb:table:ReadCapacityUnits",
		"dynamodb:table:WriteCapacityUnits",
		"dynamodb:index:ReadCapacityUnits",
		"dynamodb:index:WriteCapacityUnits",
	}
}

type ScalingMetricType string

// Enum values for ScalingMetricType
const (
	ScalingMetricTypeASGAverageCPUUtilization                 ScalingMetricType = "ASGAverageCPUUtilization"
	ScalingMetricTypeASGAverageNetworkIn                      ScalingMetricType = "ASGAverageNetworkIn"
	ScalingMetricTypeASGAverageNetworkOut                     ScalingMetricType = "ASGAverageNetworkOut"
	ScalingMetricTypeDynamoDBReadCapacityUtilization          ScalingMetricType = "DynamoDBReadCapacityUtilization"
	ScalingMetricTypeDynamoDBWriteCapacityUtilization         ScalingMetricType = "DynamoDBWriteCapacityUtilization"
	ScalingMetricTypeECSServiceAverageCPUUtilization          ScalingMetricType = "ECSServiceAverageCPUUtilization"
	ScalingMetricTypeECSServiceAverageMemoryUtilization       ScalingMetricType = "ECSServiceAverageMemoryUtilization"
	ScalingMetricTypeALBRequestCountPerTarget                 ScalingMetricType = "ALBRequestCountPerTarget"
	ScalingMetricTypeRDSReaderAverageCPUUtilization           ScalingMetricType = "RDSReaderAverageCPUUtilization"
	ScalingMetricTypeRDSReaderAverageDatabaseConnections      ScalingMetricType = "RDSReaderAverageDatabaseConnections"
	ScalingMetricTypeEC2SpotFleetRequestAverageCPUUtilization ScalingMetricType = "EC2SpotFleetRequestAverageCPUUtilization"
	ScalingMetricTypeEC2SpotFleetRequestAverageNetworkIn      ScalingMetricType = "EC2SpotFleetRequestAverageNetworkIn"
	ScalingMetricTypeEC2SpotFleetRequestAverageNetworkOut     ScalingMetricType = "EC2SpotFleetRequestAverageNetworkOut"
)

// Values returns all known values for ScalingMetricType. 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 (ScalingMetricType) Values() []ScalingMetricType {
	return []ScalingMetricType{
		"ASGAverageCPUUtilization",
		"ASGAverageNetworkIn",
		"ASGAverageNetworkOut",
		"DynamoDBReadCapacityUtilization",
		"DynamoDBWriteCapacityUtilization",
		"ECSServiceAverageCPUUtilization",
		"ECSServiceAverageMemoryUtilization",
		"ALBRequestCountPerTarget",
		"RDSReaderAverageCPUUtilization",
		"RDSReaderAverageDatabaseConnections",
		"EC2SpotFleetRequestAverageCPUUtilization",
		"EC2SpotFleetRequestAverageNetworkIn",
		"EC2SpotFleetRequestAverageNetworkOut",
	}
}

type ScalingPlanStatusCode string

// Enum values for ScalingPlanStatusCode
const (
	ScalingPlanStatusCodeActive             ScalingPlanStatusCode = "Active"
	ScalingPlanStatusCodeActiveWithProblems ScalingPlanStatusCode = "ActiveWithProblems"
	ScalingPlanStatusCodeCreationInProgress ScalingPlanStatusCode = "CreationInProgress"
	ScalingPlanStatusCodeCreationFailed     ScalingPlanStatusCode = "CreationFailed"
	ScalingPlanStatusCodeDeletionInProgress ScalingPlanStatusCode = "DeletionInProgress"
	ScalingPlanStatusCodeDeletionFailed     ScalingPlanStatusCode = "DeletionFailed"
	ScalingPlanStatusCodeUpdateInProgress   ScalingPlanStatusCode = "UpdateInProgress"
	ScalingPlanStatusCodeUpdateFailed       ScalingPlanStatusCode = "UpdateFailed"
)

// Values returns all known values for ScalingPlanStatusCode. 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 (ScalingPlanStatusCode) Values() []ScalingPlanStatusCode {
	return []ScalingPlanStatusCode{
		"Active",
		"ActiveWithProblems",
		"CreationInProgress",
		"CreationFailed",
		"DeletionInProgress",
		"DeletionFailed",
		"UpdateInProgress",
		"UpdateFailed",
	}
}

type ScalingPolicyUpdateBehavior string

// Enum values for ScalingPolicyUpdateBehavior
const (
	ScalingPolicyUpdateBehaviorKeepExternalPolicies    ScalingPolicyUpdateBehavior = "KeepExternalPolicies"
	ScalingPolicyUpdateBehaviorReplaceExternalPolicies ScalingPolicyUpdateBehavior = "ReplaceExternalPolicies"
)

// Values returns all known values for ScalingPolicyUpdateBehavior. 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 (ScalingPolicyUpdateBehavior) Values() []ScalingPolicyUpdateBehavior {
	return []ScalingPolicyUpdateBehavior{
		"KeepExternalPolicies",
		"ReplaceExternalPolicies",
	}
}

type ScalingStatusCode string

// Enum values for ScalingStatusCode
const (
	ScalingStatusCodeInactive        ScalingStatusCode = "Inactive"
	ScalingStatusCodePartiallyActive ScalingStatusCode = "PartiallyActive"
	ScalingStatusCodeActive          ScalingStatusCode = "Active"
)

// Values returns all known values for ScalingStatusCode. 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 (ScalingStatusCode) Values() []ScalingStatusCode {
	return []ScalingStatusCode{
		"Inactive",
		"PartiallyActive",
		"Active",
	}
}

type ServiceNamespace string

// Enum values for ServiceNamespace
const (
	ServiceNamespaceAutoscaling ServiceNamespace = "autoscaling"
	ServiceNamespaceEcs         ServiceNamespace = "ecs"
	ServiceNamespaceEc2         ServiceNamespace = "ec2"
	ServiceNamespaceRds         ServiceNamespace = "rds"
	ServiceNamespaceDynamodb    ServiceNamespace = "dynamodb"
)

// Values returns all known values for ServiceNamespace. 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 (ServiceNamespace) Values() []ServiceNamespace {
	return []ServiceNamespace{
		"autoscaling",
		"ecs",
		"ec2",
		"rds",
		"dynamodb",
	}
}
