v1alpha1

package
v1.0.23 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package Package v1alpha1 is the v1alpha1 version of the applicationautoscaling.services.k8s.aws API. +groupName=applicationautoscaling.services.k8s.aws

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is the API Group Version used to register the objects
	GroupVersion = schema.GroupVersion{Group: "applicationautoscaling.services.k8s.aws", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AdjustmentType

type AdjustmentType string
const (
	AdjustmentType_ChangeInCapacity        AdjustmentType = "ChangeInCapacity"
	AdjustmentType_ExactCapacity           AdjustmentType = "ExactCapacity"
	AdjustmentType_PercentChangeInCapacity AdjustmentType = "PercentChangeInCapacity"
)

type Alarm

type Alarm struct {
	AlarmARN  *string `json:"alarmARN,omitempty"`
	AlarmName *string `json:"alarmName,omitempty"`
}

Represents a CloudWatch alarm associated with a scaling policy.

func (*Alarm) DeepCopy

func (in *Alarm) DeepCopy() *Alarm

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alarm.

func (*Alarm) DeepCopyInto

func (in *Alarm) DeepCopyInto(out *Alarm)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomizedMetricSpecification

type CustomizedMetricSpecification struct {
	Dimensions []*MetricDimension `json:"dimensions,omitempty"`
	MetricName *string            `json:"metricName,omitempty"`
	Namespace  *string            `json:"namespace,omitempty"`
	Statistic  *string            `json:"statistic,omitempty"`
	Unit       *string            `json:"unit,omitempty"`
}

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Application Auto Scaling.

For information about the available metrics for a service, see Amazon Web Services services that publish CloudWatch metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the Amazon CloudWatch User Guide.

To create your customized metric specification:

  • Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish custom metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) in the Amazon CloudWatch User Guide.

  • Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases, and increase when capacity decreases.

For more information about the CloudWatch terminology below, see Amazon CloudWatch concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) in the Amazon CloudWatch User Guide.

func (*CustomizedMetricSpecification) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizedMetricSpecification.

func (*CustomizedMetricSpecification) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadForecast added in v1.0.20

type LoadForecast struct {
	// This structure specifies the metrics and target utilization settings for
	// a predictive scaling policy.
	//
	// You must specify either a metric pair, or a load metric and a scaling metric
	// individually. Specifying a metric pair instead of individual metrics provides
	// a simpler way to configure metrics for a scaling policy. You choose the metric
	// pair, and the policy automatically knows the correct sum and average statistics
	// to use for the load metric and the scaling metric.
	MetricSpecification *PredictiveScalingMetricSpecification `json:"metricSpecification,omitempty"`
}

A GetPredictiveScalingForecast call returns the load forecast for a predictive scaling policy. This structure includes the data points for that load forecast, along with the timestamps of those data points and the metric specification.

func (*LoadForecast) DeepCopy added in v1.0.20

func (in *LoadForecast) DeepCopy() *LoadForecast

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadForecast.

func (*LoadForecast) DeepCopyInto added in v1.0.20

func (in *LoadForecast) DeepCopyInto(out *LoadForecast)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricAggregationType

type MetricAggregationType string
const (
	MetricAggregationType_Average MetricAggregationType = "Average"
	MetricAggregationType_Maximum MetricAggregationType = "Maximum"
	MetricAggregationType_Minimum MetricAggregationType = "Minimum"
)

type MetricDimension

type MetricDimension struct {
	Name  *string `json:"name,omitempty"`
	Value *string `json:"value,omitempty"`
}

Describes the dimension names and values associated with a metric.

func (*MetricDimension) DeepCopy

func (in *MetricDimension) DeepCopy() *MetricDimension

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDimension.

func (*MetricDimension) DeepCopyInto

func (in *MetricDimension) DeepCopyInto(out *MetricDimension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricStatistic

type MetricStatistic string
const (
	MetricStatistic_Average     MetricStatistic = "Average"
	MetricStatistic_Maximum     MetricStatistic = "Maximum"
	MetricStatistic_Minimum     MetricStatistic = "Minimum"
	MetricStatistic_SampleCount MetricStatistic = "SampleCount"
	MetricStatistic_Sum         MetricStatistic = "Sum"
)

type MetricType

type MetricType string
const (
	MetricType_ALBRequestCountPerTarget                                           MetricType = "ALBRequestCountPerTarget"
	MetricType_AppStreamAverageCapacityUtilization                                MetricType = "AppStreamAverageCapacityUtilization"
	MetricType_CassandraReadCapacityUtilization                                   MetricType = "CassandraReadCapacityUtilization"
	MetricType_CassandraWriteCapacityUtilization                                  MetricType = "CassandraWriteCapacityUtilization"
	MetricType_ComprehendInferenceUtilization                                     MetricType = "ComprehendInferenceUtilization"
	MetricType_DynamoDBReadCapacityUtilization                                    MetricType = "DynamoDBReadCapacityUtilization"
	MetricType_DynamoDBWriteCapacityUtilization                                   MetricType = "DynamoDBWriteCapacityUtilization"
	MetricType_EC2SpotFleetRequestAverageCPUUtilization                           MetricType = "EC2SpotFleetRequestAverageCPUUtilization"
	MetricType_EC2SpotFleetRequestAverageNetworkIn                                MetricType = "EC2SpotFleetRequestAverageNetworkIn"
	MetricType_EC2SpotFleetRequestAverageNetworkOut                               MetricType = "EC2SpotFleetRequestAverageNetworkOut"
	MetricType_ECSServiceAverageCPUUtilization                                    MetricType = "ECSServiceAverageCPUUtilization"
	MetricType_ECSServiceAverageMemoryUtilization                                 MetricType = "ECSServiceAverageMemoryUtilization"
	MetricType_ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage          MetricType = "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage"
	MetricType_ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage            MetricType = "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage"
	MetricType_ElastiCachePrimaryEngineCPUUtilization                             MetricType = "ElastiCachePrimaryEngineCPUUtilization"
	MetricType_ElastiCacheReplicaEngineCPUUtilization                             MetricType = "ElastiCacheReplicaEngineCPUUtilization"
	MetricType_KafkaBrokerStorageUtilization                                      MetricType = "KafkaBrokerStorageUtilization"
	MetricType_LambdaProvisionedConcurrencyUtilization                            MetricType = "LambdaProvisionedConcurrencyUtilization"
	MetricType_NeptuneReaderAverageCPUUtilization                                 MetricType = "NeptuneReaderAverageCPUUtilization"
	MetricType_RDSReaderAverageCPUUtilization                                     MetricType = "RDSReaderAverageCPUUtilization"
	MetricType_RDSReaderAverageDatabaseConnections                                MetricType = "RDSReaderAverageDatabaseConnections"
	MetricType_SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution MetricType = "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution"
	MetricType_SageMakerInferenceComponentInvocationsPerCopy                      MetricType = "SageMakerInferenceComponentInvocationsPerCopy"
	MetricType_SageMakerVariantConcurrentRequestsPerModelHighResolution           MetricType = "SageMakerVariantConcurrentRequestsPerModelHighResolution"
	MetricType_SageMakerVariantInvocationsPerInstance                             MetricType = "SageMakerVariantInvocationsPerInstance"
	MetricType_SageMakerVariantProvisionedConcurrencyUtilization                  MetricType = "SageMakerVariantProvisionedConcurrencyUtilization"
	MetricType_WorkSpacesAverageUserSessionsCapacityUtilization                   MetricType = "WorkSpacesAverageUserSessionsCapacityUtilization"
)

type NotScaledReason added in v1.0.20

type NotScaledReason struct {
	Code            *string `json:"code,omitempty"`
	CurrentCapacity *int64  `json:"currentCapacity,omitempty"`
	MaxCapacity     *int64  `json:"maxCapacity,omitempty"`
	MinCapacity     *int64  `json:"minCapacity,omitempty"`
}

Describes the reason for an activity that isn't scaled (not scaled activity), in machine-readable format. For help interpreting the not scaled reason details, see Scaling activities for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scaling-activities.html) in the Application Auto Scaling User Guide.

func (*NotScaledReason) DeepCopy added in v1.0.20

func (in *NotScaledReason) DeepCopy() *NotScaledReason

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotScaledReason.

func (*NotScaledReason) DeepCopyInto added in v1.0.20

func (in *NotScaledReason) DeepCopyInto(out *NotScaledReason)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyType

type PolicyType string
const (
	PolicyType_PredictiveScaling     PolicyType = "PredictiveScaling"
	PolicyType_StepScaling           PolicyType = "StepScaling"
	PolicyType_TargetTrackingScaling PolicyType = "TargetTrackingScaling"
)

type PredefinedMetricSpecification

type PredefinedMetricSpecification struct {
	PredefinedMetricType *string `json:"predefinedMetricType,omitempty"`
	ResourceLabel        *string `json:"resourceLabel,omitempty"`
}

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

For more information, Predefined metrics for target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html#predefined-metrics) in the Application Auto Scaling User Guide.

func (*PredefinedMetricSpecification) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedMetricSpecification.

func (*PredefinedMetricSpecification) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingCustomizedMetricSpecification added in v1.0.20

type PredictiveScalingCustomizedMetricSpecification struct {
	MetricDataQueries []*PredictiveScalingMetricDataQuery `json:"metricDataQueries,omitempty"`
}

Represents a CloudWatch metric of your choosing for a predictive scaling policy.

func (*PredictiveScalingCustomizedMetricSpecification) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingCustomizedMetricSpecification.

func (*PredictiveScalingCustomizedMetricSpecification) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingMaxCapacityBreachBehavior added in v1.0.20

type PredictiveScalingMaxCapacityBreachBehavior string
const (
	PredictiveScalingMaxCapacityBreachBehavior_HonorMaxCapacity    PredictiveScalingMaxCapacityBreachBehavior = "HonorMaxCapacity"
	PredictiveScalingMaxCapacityBreachBehavior_IncreaseMaxCapacity PredictiveScalingMaxCapacityBreachBehavior = "IncreaseMaxCapacity"
)

type PredictiveScalingMetric added in v1.0.20

type PredictiveScalingMetric struct {
	Dimensions []*PredictiveScalingMetricDimension `json:"dimensions,omitempty"`
	MetricName *string                             `json:"metricName,omitempty"`
	Namespace  *string                             `json:"namespace,omitempty"`
}

Describes the scaling metric.

func (*PredictiveScalingMetric) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingMetric.

func (*PredictiveScalingMetric) DeepCopyInto added in v1.0.20

func (in *PredictiveScalingMetric) DeepCopyInto(out *PredictiveScalingMetric)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingMetricDataQuery added in v1.0.20

type PredictiveScalingMetricDataQuery struct {
	Expression *string `json:"expression,omitempty"`
	ID         *string `json:"id,omitempty"`
	Label      *string `json:"label,omitempty"`
	// This structure defines the CloudWatch metric to return, along with the statistic
	// and unit.
	MetricStat *PredictiveScalingMetricStat `json:"metricStat,omitempty"`
	ReturnData *bool                        `json:"returnData,omitempty"`
}

The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.

func (*PredictiveScalingMetricDataQuery) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingMetricDataQuery.

func (*PredictiveScalingMetricDataQuery) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingMetricDimension added in v1.0.20

type PredictiveScalingMetricDimension struct {
	Name  *string `json:"name,omitempty"`
	Value *string `json:"value,omitempty"`
}

Describes the dimension of a metric.

func (*PredictiveScalingMetricDimension) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingMetricDimension.

func (*PredictiveScalingMetricDimension) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingMetricSpecification added in v1.0.20

type PredictiveScalingMetricSpecification struct {
	// Represents a CloudWatch metric of your choosing for a predictive scaling
	// policy.
	CustomizedCapacityMetricSpecification *PredictiveScalingCustomizedMetricSpecification `json:"customizedCapacityMetricSpecification,omitempty"`
	// Represents a CloudWatch metric of your choosing for a predictive scaling
	// policy.
	CustomizedLoadMetricSpecification *PredictiveScalingCustomizedMetricSpecification `json:"customizedLoadMetricSpecification,omitempty"`
	// Represents a CloudWatch metric of your choosing for a predictive scaling
	// policy.
	CustomizedScalingMetricSpecification *PredictiveScalingCustomizedMetricSpecification `json:"customizedScalingMetricSpecification,omitempty"`
	// Describes a load metric for a predictive scaling policy.
	//
	// When returned in the output of DescribePolicies, it indicates that a predictive
	// scaling policy uses individually specified load and scaling metrics instead
	// of a metric pair.
	PredefinedLoadMetricSpecification *PredictiveScalingPredefinedLoadMetricSpecification `json:"predefinedLoadMetricSpecification,omitempty"`
	// Represents a metric pair for a predictive scaling policy.
	PredefinedMetricPairSpecification *PredictiveScalingPredefinedMetricPairSpecification `json:"predefinedMetricPairSpecification,omitempty"`
	// Describes a scaling metric for a predictive scaling policy.
	//
	// When returned in the output of DescribePolicies, it indicates that a predictive
	// scaling policy uses individually specified load and scaling metrics instead
	// of a metric pair.
	PredefinedScalingMetricSpecification *PredictiveScalingPredefinedScalingMetricSpecification `json:"predefinedScalingMetricSpecification,omitempty"`
	TargetValue                          *float64                                               `json:"targetValue,omitempty"`
}

This structure specifies the metrics and target utilization settings for a predictive scaling policy.

You must specify either a metric pair, or a load metric and a scaling metric individually. Specifying a metric pair instead of individual metrics provides a simpler way to configure metrics for a scaling policy. You choose the metric pair, and the policy automatically knows the correct sum and average statistics to use for the load metric and the scaling metric.

func (*PredictiveScalingMetricSpecification) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingMetricSpecification.

func (*PredictiveScalingMetricSpecification) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingMetricStat added in v1.0.20

type PredictiveScalingMetricStat struct {
	// Describes the scaling metric.
	Metric *PredictiveScalingMetric `json:"metric,omitempty"`
	Stat   *string                  `json:"stat,omitempty"`
	Unit   *string                  `json:"unit,omitempty"`
}

This structure defines the CloudWatch metric to return, along with the statistic and unit.

func (*PredictiveScalingMetricStat) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingMetricStat.

func (*PredictiveScalingMetricStat) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingMode added in v1.0.20

type PredictiveScalingMode string
const (
	PredictiveScalingMode_ForecastAndScale PredictiveScalingMode = "ForecastAndScale"
	PredictiveScalingMode_ForecastOnly     PredictiveScalingMode = "ForecastOnly"
)

type PredictiveScalingPolicyConfiguration added in v1.0.20

type PredictiveScalingPolicyConfiguration struct {
	MaxCapacityBreachBehavior *string                                 `json:"maxCapacityBreachBehavior,omitempty"`
	MaxCapacityBuffer         *int64                                  `json:"maxCapacityBuffer,omitempty"`
	MetricSpecifications      []*PredictiveScalingMetricSpecification `json:"metricSpecifications,omitempty"`
	Mode                      *string                                 `json:"mode,omitempty"`
	SchedulingBufferTime      *int64                                  `json:"schedulingBufferTime,omitempty"`
}

Represents a predictive scaling policy configuration.

func (*PredictiveScalingPolicyConfiguration) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingPolicyConfiguration.

func (*PredictiveScalingPolicyConfiguration) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingPredefinedLoadMetricSpecification added in v1.0.20

type PredictiveScalingPredefinedLoadMetricSpecification struct {
	PredefinedMetricType *string `json:"predefinedMetricType,omitempty"`
	ResourceLabel        *string `json:"resourceLabel,omitempty"`
}

Describes a load metric for a predictive scaling policy.

When returned in the output of DescribePolicies, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.

func (*PredictiveScalingPredefinedLoadMetricSpecification) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingPredefinedLoadMetricSpecification.

func (*PredictiveScalingPredefinedLoadMetricSpecification) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingPredefinedMetricPairSpecification added in v1.0.20

type PredictiveScalingPredefinedMetricPairSpecification struct {
	PredefinedMetricType *string `json:"predefinedMetricType,omitempty"`
	ResourceLabel        *string `json:"resourceLabel,omitempty"`
}

Represents a metric pair for a predictive scaling policy.

func (*PredictiveScalingPredefinedMetricPairSpecification) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingPredefinedMetricPairSpecification.

func (*PredictiveScalingPredefinedMetricPairSpecification) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictiveScalingPredefinedScalingMetricSpecification added in v1.0.20

type PredictiveScalingPredefinedScalingMetricSpecification struct {
	PredefinedMetricType *string `json:"predefinedMetricType,omitempty"`
	ResourceLabel        *string `json:"resourceLabel,omitempty"`
}

Describes a scaling metric for a predictive scaling policy.

When returned in the output of DescribePolicies, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.

func (*PredictiveScalingPredefinedScalingMetricSpecification) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictiveScalingPredefinedScalingMetricSpecification.

func (*PredictiveScalingPredefinedScalingMetricSpecification) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalableDimension

type ScalableDimension string
const (
	ScalableDimension_appstream_fleet_DesiredCapacity                               ScalableDimension = "appstream:fleet:DesiredCapacity"
	ScalableDimension_cassandra_table_ReadCapacityUnits                             ScalableDimension = "cassandra:table:ReadCapacityUnits"
	ScalableDimension_cassandra_table_WriteCapacityUnits                            ScalableDimension = "cassandra:table:WriteCapacityUnits"
	ScalableDimension_comprehend_document_classifier_endpoint_DesiredInferenceUnits ScalableDimension = "comprehend:document-classifier-endpoint:DesiredInferenceUnits"
	ScalableDimension_comprehend_entity_recognizer_endpoint_DesiredInferenceUnits   ScalableDimension = "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits"
	ScalableDimension_custom_resource_ResourceType_Property                         ScalableDimension = "custom-resource:ResourceType:Property"
	ScalableDimension_dynamodb_index_ReadCapacityUnits                              ScalableDimension = "dynamodb:index:ReadCapacityUnits"
	ScalableDimension_dynamodb_index_WriteCapacityUnits                             ScalableDimension = "dynamodb:index:WriteCapacityUnits"
	ScalableDimension_dynamodb_table_ReadCapacityUnits                              ScalableDimension = "dynamodb:table:ReadCapacityUnits"
	ScalableDimension_dynamodb_table_WriteCapacityUnits                             ScalableDimension = "dynamodb:table:WriteCapacityUnits"
	ScalableDimension_ec2_spot_fleet_request_TargetCapacity                         ScalableDimension = "ec2:spot-fleet-request:TargetCapacity"
	ScalableDimension_ecs_service_DesiredCount                                      ScalableDimension = "ecs:service:DesiredCount"
	ScalableDimension_elasticache_replication_group_NodeGroups                      ScalableDimension = "elasticache:replication-group:NodeGroups"
	ScalableDimension_elasticache_replication_group_Replicas                        ScalableDimension = "elasticache:replication-group:Replicas"
	ScalableDimension_elasticmapreduce_instancegroup_InstanceCount                  ScalableDimension = "elasticmapreduce:instancegroup:InstanceCount"
	ScalableDimension_kafka_broker_storage_VolumeSize                               ScalableDimension = "kafka:broker-storage:VolumeSize"
	ScalableDimension_lambda_function_ProvisionedConcurrency                        ScalableDimension = "lambda:function:ProvisionedConcurrency"
	ScalableDimension_neptune_cluster_ReadReplicaCount                              ScalableDimension = "neptune:cluster:ReadReplicaCount"
	ScalableDimension_rds_cluster_ReadReplicaCount                                  ScalableDimension = "rds:cluster:ReadReplicaCount"
	ScalableDimension_sagemaker_inference_component_DesiredCopyCount                ScalableDimension = "sagemaker:inference-component:DesiredCopyCount"
	ScalableDimension_sagemaker_variant_DesiredInstanceCount                        ScalableDimension = "sagemaker:variant:DesiredInstanceCount"
	ScalableDimension_sagemaker_variant_DesiredProvisionedConcurrency               ScalableDimension = "sagemaker:variant:DesiredProvisionedConcurrency"
	ScalableDimension_workspaces_workspacespool_DesiredUserSessions                 ScalableDimension = "workspaces:workspacespool:DesiredUserSessions"
)

type ScalableTarget

type ScalableTarget struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ScalableTargetSpec   `json:"spec,omitempty"`
	Status            ScalableTargetStatus `json:"status,omitempty"`
}

ScalableTarget is the Schema for the ScalableTargets API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*ScalableTarget) DeepCopy

func (in *ScalableTarget) DeepCopy() *ScalableTarget

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableTarget.

func (*ScalableTarget) DeepCopyInto

func (in *ScalableTarget) DeepCopyInto(out *ScalableTarget)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScalableTarget) DeepCopyObject

func (in *ScalableTarget) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ScalableTargetAction

type ScalableTargetAction struct {
	MaxCapacity *int64 `json:"maxCapacity,omitempty"`
	MinCapacity *int64 `json:"minCapacity,omitempty"`
}

Represents the minimum and maximum capacity for a scheduled action.

func (*ScalableTargetAction) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableTargetAction.

func (*ScalableTargetAction) DeepCopyInto

func (in *ScalableTargetAction) DeepCopyInto(out *ScalableTargetAction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalableTargetList

type ScalableTargetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ScalableTarget `json:"items"`
}

ScalableTargetList contains a list of ScalableTarget +kubebuilder:object:root=true

func (*ScalableTargetList) DeepCopy

func (in *ScalableTargetList) DeepCopy() *ScalableTargetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableTargetList.

func (*ScalableTargetList) DeepCopyInto

func (in *ScalableTargetList) DeepCopyInto(out *ScalableTargetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScalableTargetList) DeepCopyObject

func (in *ScalableTargetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ScalableTargetSpec

type ScalableTargetSpec struct {

	// The maximum value that you plan to scale out to. When a scaling policy is
	// in effect, Application Auto Scaling can scale out (expand) as needed to the
	// maximum capacity limit in response to changing demand. This property is required
	// when registering a new scalable target.
	//
	// Although you can specify a large maximum capacity, note that service quotas
	// might impose lower limits. Each service has its own default quotas for the
	// maximum capacity of the resource. If you want to specify a higher limit,
	// you can request an increase. For more information, consult the documentation
	// for that service. For information about the default quotas for each service,
	// see Service endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)
	// in the Amazon Web Services General Reference.
	MaxCapacity *int64 `json:"maxCapacity,omitempty"`
	// The minimum value that you plan to scale in to. When a scaling policy is
	// in effect, Application Auto Scaling can scale in (contract) as needed to
	// the minimum capacity limit in response to changing demand. This property
	// is required when registering a new scalable target.
	//
	// For the following resources, the minimum value allowed is 0.
	//
	//   - AppStream 2.0 fleets
	//
	//   - Aurora DB clusters
	//
	//   - ECS services
	//
	//   - EMR clusters
	//
	//   - Lambda provisioned concurrency
	//
	//   - SageMaker endpoint variants
	//
	//   - SageMaker inference components
	//
	//   - SageMaker serverless endpoint provisioned concurrency
	//
	//   - Spot Fleets
	//
	//   - custom resources
	//
	// It's strongly recommended that you specify a value greater than 0. A value
	// greater than 0 means that data points are continuously reported to CloudWatch
	// that scaling policies can use to scale on a metric like average CPU utilization.
	//
	// For all other resources, the minimum allowed value depends on the type of
	// resource that you are using. If you provide a value that is lower than what
	// a resource can accept, an error occurs. In which case, the error message
	// will provide the minimum value that the resource can accept.
	MinCapacity *int64 `json:"minCapacity,omitempty"`
	// The identifier of the resource that is associated with the scalable target.
	// This string consists of the resource type and unique identifier.
	//
	//   - ECS service - The resource type is service and the unique identifier
	//     is the cluster name and service name. Example: service/my-cluster/my-service.
	//
	//   - Spot Fleet - The resource type is spot-fleet-request and the unique
	//     identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
	//
	//   - EMR cluster - The resource type is instancegroup and the unique identifier
	//     is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
	//
	//   - AppStream 2.0 fleet - The resource type is fleet and the unique identifier
	//     is the fleet name. Example: fleet/sample-fleet.
	//
	//   - DynamoDB table - The resource type is table and the unique identifier
	//     is the table name. Example: table/my-table.
	//
	//   - DynamoDB global secondary index - The resource type is index and the
	//     unique identifier is the index name. Example: table/my-table/index/my-table-index.
	//
	//   - Aurora DB cluster - The resource type is cluster and the unique identifier
	//     is the cluster name. Example: cluster:my-db-cluster.
	//
	//   - SageMaker endpoint variant - The resource type is variant and the unique
	//     identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//   - Custom resources are not supported with a resource type. This parameter
	//     must specify the OutputValue from the CloudFormation template stack used
	//     to access the resources. The unique identifier is defined by the service
	//     provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource).
	//
	//   - Amazon Comprehend document classification endpoint - The resource type
	//     and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.
	//
	//   - Amazon Comprehend entity recognizer endpoint - The resource type and
	//     unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.
	//
	//   - Lambda provisioned concurrency - The resource type is function and the
	//     unique identifier is the function name with a function version or alias
	//     name suffix that is not $LATEST. Example: function:my-function:prod or
	//     function:my-function:1.
	//
	//   - Amazon Keyspaces table - The resource type is table and the unique identifier
	//     is the table name. Example: keyspace/mykeyspace/table/mytable.
	//
	//   - Amazon MSK cluster - The resource type and unique identifier are specified
	//     using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.
	//
	//   - Amazon ElastiCache replication group - The resource type is replication-group
	//     and the unique identifier is the replication group name. Example: replication-group/mycluster.
	//
	//   - Neptune cluster - The resource type is cluster and the unique identifier
	//     is the cluster name. Example: cluster:mycluster.
	//
	//   - SageMaker serverless endpoint - The resource type is variant and the
	//     unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//   - SageMaker inference component - The resource type is inference-component
	//     and the unique identifier is the resource ID. Example: inference-component/my-inference-component.
	//
	//   - Pool of WorkSpaces - The resource type is workspacespool and the unique
	//     identifier is the pool ID. Example: workspacespool/wspool-123456.
	//
	// +kubebuilder:validation:Required
	ResourceID *string `json:"resourceID"`
	// This parameter is required for services that do not support service-linked
	// roles (such as Amazon EMR), and it must specify the ARN of an IAM role that
	// allows Application Auto Scaling to modify the scalable target on your behalf.
	//
	// If the service supports service-linked roles, Application Auto Scaling uses
	// a service-linked role, which it creates if it does not yet exist. For more
	// information, see How Application Auto Scaling works with IAM (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html).
	RoleARN *string `json:"roleARN,omitempty"`
	// The scalable dimension associated with the scalable target. This string consists
	// of the service namespace, resource type, and scaling property.
	//
	//   - ecs:service:DesiredCount - The task count of an ECS service.
	//
	//   - elasticmapreduce:instancegroup:InstanceCount - The instance count of
	//     an EMR Instance Group.
	//
	//   - ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot
	//     Fleet.
	//
	//   - appstream:fleet:DesiredCapacity - The capacity of an AppStream 2.0 fleet.
	//
	//   - dynamodb:table:ReadCapacityUnits - The provisioned read capacity for
	//     a DynamoDB table.
	//
	//   - dynamodb:table:WriteCapacityUnits - The provisioned write capacity for
	//     a DynamoDB table.
	//
	//   - dynamodb:index:ReadCapacityUnits - The provisioned read capacity for
	//     a DynamoDB global secondary index.
	//
	//   - dynamodb:index:WriteCapacityUnits - The provisioned write capacity for
	//     a DynamoDB global secondary index.
	//
	//   - rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora
	//     DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible
	//     edition.
	//
	//   - sagemaker:variant:DesiredInstanceCount - The number of EC2 instances
	//     for a SageMaker model endpoint variant.
	//
	//   - custom-resource:ResourceType:Property - The scalable dimension for a
	//     custom resource provided by your own application or service.
	//
	//   - comprehend:document-classifier-endpoint:DesiredInferenceUnits - The
	//     number of inference units for an Amazon Comprehend document classification
	//     endpoint.
	//
	//   - comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number
	//     of inference units for an Amazon Comprehend entity recognizer endpoint.
	//
	//   - lambda:function:ProvisionedConcurrency - The provisioned concurrency
	//     for a Lambda function.
	//
	//   - cassandra:table:ReadCapacityUnits - The provisioned read capacity for
	//     an Amazon Keyspaces table.
	//
	//   - cassandra:table:WriteCapacityUnits - The provisioned write capacity
	//     for an Amazon Keyspaces table.
	//
	//   - kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB)
	//     for brokers in an Amazon MSK cluster.
	//
	//   - elasticache:replication-group:NodeGroups - The number of node groups
	//     for an Amazon ElastiCache replication group.
	//
	//   - elasticache:replication-group:Replicas - The number of replicas per
	//     node group for an Amazon ElastiCache replication group.
	//
	//   - neptune:cluster:ReadReplicaCount - The count of read replicas in an
	//     Amazon Neptune DB cluster.
	//
	//   - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency
	//     for a SageMaker serverless endpoint.
	//
	//   - sagemaker:inference-component:DesiredCopyCount - The number of copies
	//     across an endpoint for a SageMaker inference component.
	//
	//   - workspaces:workspacespool:DesiredUserSessions - The number of user sessions
	//     for the WorkSpaces in the pool.
	//
	// +kubebuilder:validation:Required
	ScalableDimension *string `json:"scalableDimension"`
	// The namespace of the Amazon Web Services service that provides the resource.
	// For a resource provided by your own application or service, use custom-resource
	// instead.
	// +kubebuilder:validation:Required
	ServiceNamespace *string `json:"serviceNamespace"`
	// An embedded object that contains attributes and attribute values that are
	// used to suspend and resume automatic scaling. Setting the value of an attribute
	// to true suspends the specified scaling activities. Setting it to false (default)
	// resumes the specified scaling activities.
	//
	// Suspension Outcomes
	//
	//   - For DynamicScalingInSuspended, while a suspension is in effect, all
	//     scale-in activities that are triggered by a scaling policy are suspended.
	//
	//   - For DynamicScalingOutSuspended, while a suspension is in effect, all
	//     scale-out activities that are triggered by a scaling policy are suspended.
	//
	//   - For ScheduledScalingSuspended, while a suspension is in effect, all
	//     scaling activities that involve scheduled actions are suspended.
	//
	// For more information, see Suspend and resume scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html)
	// in the Application Auto Scaling User Guide.
	SuspendedState *SuspendedState `json:"suspendedState,omitempty"`
}

ScalableTargetSpec defines the desired state of ScalableTarget.

Represents a scalable target.

func (*ScalableTargetSpec) DeepCopy

func (in *ScalableTargetSpec) DeepCopy() *ScalableTargetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableTargetSpec.

func (*ScalableTargetSpec) DeepCopyInto

func (in *ScalableTargetSpec) DeepCopyInto(out *ScalableTargetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalableTargetStatus

type ScalableTargetStatus struct {
	// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
	// that is used to contain resource sync state, account ownership,
	// constructed ARN for the resource
	// +kubebuilder:validation:Optional
	ACKResourceMetadata *ackv1alpha1.ResourceMetadata `json:"ackResourceMetadata"`
	// All CRs managed by ACK have a common `Status.Conditions` member that
	// contains a collection of `ackv1alpha1.Condition` objects that describe
	// the various terminal states of the CR and its backend AWS service API
	// resource
	// +kubebuilder:validation:Optional
	Conditions []*ackv1alpha1.Condition `json:"conditions"`
	// The Unix timestamp for when the scalable target was created.
	// +kubebuilder:validation:Optional
	CreationTime *metav1.Time `json:"creationTime,omitempty"`
	// The Unix timestamp for when the scalable target was created.
	// +kubebuilder:validation:Optional
	LastModifiedTime *metav1.Time `json:"lastModifiedTime,omitempty"`
}

ScalableTargetStatus defines the observed state of ScalableTarget

func (*ScalableTargetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableTargetStatus.

func (*ScalableTargetStatus) DeepCopyInto

func (in *ScalableTargetStatus) DeepCopyInto(out *ScalableTargetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalableTarget_SDK

type ScalableTarget_SDK struct {
	CreationTime      *metav1.Time `json:"creationTime,omitempty"`
	MaxCapacity       *int64       `json:"maxCapacity,omitempty"`
	MinCapacity       *int64       `json:"minCapacity,omitempty"`
	PredictedCapacity *int64       `json:"predictedCapacity,omitempty"`
	ResourceID        *string      `json:"resourceID,omitempty"`
	RoleARN           *string      `json:"roleARN,omitempty"`
	ScalableDimension *string      `json:"scalableDimension,omitempty"`
	ScalableTargetARN *string      `json:"scalableTargetARN,omitempty"`
	ServiceNamespace  *string      `json:"serviceNamespace,omitempty"`
	// Specifies whether the scaling activities for a scalable target are in a suspended
	// state.
	SuspendedState *SuspendedState `json:"suspendedState,omitempty"`
}

Represents a scalable target.

func (*ScalableTarget_SDK) DeepCopy

func (in *ScalableTarget_SDK) DeepCopy() *ScalableTarget_SDK

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableTarget_SDK.

func (*ScalableTarget_SDK) DeepCopyInto

func (in *ScalableTarget_SDK) DeepCopyInto(out *ScalableTarget_SDK)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalingActivity

type ScalingActivity struct {
	ActivityID        *string      `json:"activityID,omitempty"`
	Cause             *string      `json:"cause,omitempty"`
	Description       *string      `json:"description,omitempty"`
	Details           *string      `json:"details,omitempty"`
	EndTime           *metav1.Time `json:"endTime,omitempty"`
	ResourceID        *string      `json:"resourceID,omitempty"`
	ScalableDimension *string      `json:"scalableDimension,omitempty"`
	ServiceNamespace  *string      `json:"serviceNamespace,omitempty"`
	StartTime         *metav1.Time `json:"startTime,omitempty"`
	StatusMessage     *string      `json:"statusMessage,omitempty"`
}

Represents a scaling activity.

func (*ScalingActivity) DeepCopy

func (in *ScalingActivity) DeepCopy() *ScalingActivity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingActivity.

func (*ScalingActivity) DeepCopyInto

func (in *ScalingActivity) DeepCopyInto(out *ScalingActivity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalingActivityStatusCode

type ScalingActivityStatusCode string
const (
	ScalingActivityStatusCode_Failed      ScalingActivityStatusCode = "Failed"
	ScalingActivityStatusCode_InProgress  ScalingActivityStatusCode = "InProgress"
	ScalingActivityStatusCode_Overridden  ScalingActivityStatusCode = "Overridden"
	ScalingActivityStatusCode_Pending     ScalingActivityStatusCode = "Pending"
	ScalingActivityStatusCode_Successful  ScalingActivityStatusCode = "Successful"
	ScalingActivityStatusCode_Unfulfilled ScalingActivityStatusCode = "Unfulfilled"
)

type ScalingPolicy

type ScalingPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ScalingPolicySpec   `json:"spec,omitempty"`
	Status            ScalingPolicyStatus `json:"status,omitempty"`
}

ScalingPolicy is the Schema for the ScalingPolicies API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*ScalingPolicy) DeepCopy

func (in *ScalingPolicy) DeepCopy() *ScalingPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingPolicy.

func (*ScalingPolicy) DeepCopyInto

func (in *ScalingPolicy) DeepCopyInto(out *ScalingPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScalingPolicy) DeepCopyObject

func (in *ScalingPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ScalingPolicyList

type ScalingPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ScalingPolicy `json:"items"`
}

ScalingPolicyList contains a list of ScalingPolicy +kubebuilder:object:root=true

func (*ScalingPolicyList) DeepCopy

func (in *ScalingPolicyList) DeepCopy() *ScalingPolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingPolicyList.

func (*ScalingPolicyList) DeepCopyInto

func (in *ScalingPolicyList) DeepCopyInto(out *ScalingPolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScalingPolicyList) DeepCopyObject

func (in *ScalingPolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ScalingPolicySpec

type ScalingPolicySpec struct {

	// The name of the scaling policy.
	//
	// You cannot change the name of a scaling policy, but you can delete the original
	// scaling policy and create a new scaling policy with the same settings and
	// a different name.
	// +kubebuilder:validation:Required
	PolicyName *string `json:"policyName"`
	// The scaling policy type. This parameter is required if you are creating a
	// scaling policy.
	//
	// The following policy types are supported:
	//
	// TargetTrackingScaling—Not supported for Amazon EMR.
	//
	// StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon
	// Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.
	//
	// For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)
	// and Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)
	// in the Application Auto Scaling User Guide.
	PolicyType *string `json:"policyType,omitempty"`
	// The identifier of the resource associated with the scaling policy. This string
	// consists of the resource type and unique identifier.
	//
	//   - ECS service - The resource type is service and the unique identifier
	//     is the cluster name and service name. Example: service/my-cluster/my-service.
	//
	//   - Spot Fleet - The resource type is spot-fleet-request and the unique
	//     identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
	//
	//   - EMR cluster - The resource type is instancegroup and the unique identifier
	//     is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
	//
	//   - AppStream 2.0 fleet - The resource type is fleet and the unique identifier
	//     is the fleet name. Example: fleet/sample-fleet.
	//
	//   - DynamoDB table - The resource type is table and the unique identifier
	//     is the table name. Example: table/my-table.
	//
	//   - DynamoDB global secondary index - The resource type is index and the
	//     unique identifier is the index name. Example: table/my-table/index/my-table-index.
	//
	//   - Aurora DB cluster - The resource type is cluster and the unique identifier
	//     is the cluster name. Example: cluster:my-db-cluster.
	//
	//   - SageMaker endpoint variant - The resource type is variant and the unique
	//     identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//   - Custom resources are not supported with a resource type. This parameter
	//     must specify the OutputValue from the CloudFormation template stack used
	//     to access the resources. The unique identifier is defined by the service
	//     provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource).
	//
	//   - Amazon Comprehend document classification endpoint - The resource type
	//     and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.
	//
	//   - Amazon Comprehend entity recognizer endpoint - The resource type and
	//     unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.
	//
	//   - Lambda provisioned concurrency - The resource type is function and the
	//     unique identifier is the function name with a function version or alias
	//     name suffix that is not $LATEST. Example: function:my-function:prod or
	//     function:my-function:1.
	//
	//   - Amazon Keyspaces table - The resource type is table and the unique identifier
	//     is the table name. Example: keyspace/mykeyspace/table/mytable.
	//
	//   - Amazon MSK cluster - The resource type and unique identifier are specified
	//     using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.
	//
	//   - Amazon ElastiCache replication group - The resource type is replication-group
	//     and the unique identifier is the replication group name. Example: replication-group/mycluster.
	//
	//   - Neptune cluster - The resource type is cluster and the unique identifier
	//     is the cluster name. Example: cluster:mycluster.
	//
	//   - SageMaker serverless endpoint - The resource type is variant and the
	//     unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//   - SageMaker inference component - The resource type is inference-component
	//     and the unique identifier is the resource ID. Example: inference-component/my-inference-component.
	//
	//   - Pool of WorkSpaces - The resource type is workspacespool and the unique
	//     identifier is the pool ID. Example: workspacespool/wspool-123456.
	//
	// +kubebuilder:validation:Required
	ResourceID *string `json:"resourceID"`
	// The scalable dimension. This string consists of the service namespace, resource
	// type, and scaling property.
	//
	//   - ecs:service:DesiredCount - The task count of an ECS service.
	//
	//   - elasticmapreduce:instancegroup:InstanceCount - The instance count of
	//     an EMR Instance Group.
	//
	//   - ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot
	//     Fleet.
	//
	//   - appstream:fleet:DesiredCapacity - The capacity of an AppStream 2.0 fleet.
	//
	//   - dynamodb:table:ReadCapacityUnits - The provisioned read capacity for
	//     a DynamoDB table.
	//
	//   - dynamodb:table:WriteCapacityUnits - The provisioned write capacity for
	//     a DynamoDB table.
	//
	//   - dynamodb:index:ReadCapacityUnits - The provisioned read capacity for
	//     a DynamoDB global secondary index.
	//
	//   - dynamodb:index:WriteCapacityUnits - The provisioned write capacity for
	//     a DynamoDB global secondary index.
	//
	//   - rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora
	//     DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible
	//     edition.
	//
	//   - sagemaker:variant:DesiredInstanceCount - The number of EC2 instances
	//     for a SageMaker model endpoint variant.
	//
	//   - custom-resource:ResourceType:Property - The scalable dimension for a
	//     custom resource provided by your own application or service.
	//
	//   - comprehend:document-classifier-endpoint:DesiredInferenceUnits - The
	//     number of inference units for an Amazon Comprehend document classification
	//     endpoint.
	//
	//   - comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number
	//     of inference units for an Amazon Comprehend entity recognizer endpoint.
	//
	//   - lambda:function:ProvisionedConcurrency - The provisioned concurrency
	//     for a Lambda function.
	//
	//   - cassandra:table:ReadCapacityUnits - The provisioned read capacity for
	//     an Amazon Keyspaces table.
	//
	//   - cassandra:table:WriteCapacityUnits - The provisioned write capacity
	//     for an Amazon Keyspaces table.
	//
	//   - kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB)
	//     for brokers in an Amazon MSK cluster.
	//
	//   - elasticache:replication-group:NodeGroups - The number of node groups
	//     for an Amazon ElastiCache replication group.
	//
	//   - elasticache:replication-group:Replicas - The number of replicas per
	//     node group for an Amazon ElastiCache replication group.
	//
	//   - neptune:cluster:ReadReplicaCount - The count of read replicas in an
	//     Amazon Neptune DB cluster.
	//
	//   - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency
	//     for a SageMaker serverless endpoint.
	//
	//   - sagemaker:inference-component:DesiredCopyCount - The number of copies
	//     across an endpoint for a SageMaker inference component.
	//
	//   - workspaces:workspacespool:DesiredUserSessions - The number of user sessions
	//     for the WorkSpaces in the pool.
	//
	// +kubebuilder:validation:Required
	ScalableDimension *string `json:"scalableDimension"`
	// The namespace of the Amazon Web Services service that provides the resource.
	// For a resource provided by your own application or service, use custom-resource
	// instead.
	// +kubebuilder:validation:Required
	ServiceNamespace *string `json:"serviceNamespace"`
	// A step scaling policy.
	//
	// This parameter is required if you are creating a policy and the policy type
	// is StepScaling.
	StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `json:"stepScalingPolicyConfiguration,omitempty"`
	// A target tracking scaling policy. Includes support for predefined or customized
	// metrics.
	//
	// This parameter is required if you are creating a policy and the policy type
	// is TargetTrackingScaling.
	TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration `json:"targetTrackingScalingPolicyConfiguration,omitempty"`
}

ScalingPolicySpec defines the desired state of ScalingPolicy.

Represents a scaling policy to use with Application Auto Scaling.

For more information about configuring scaling policies for a specific service, see Amazon Web Services services that you can use with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/integrated-services-list.html) in the Application Auto Scaling User Guide.

func (*ScalingPolicySpec) DeepCopy

func (in *ScalingPolicySpec) DeepCopy() *ScalingPolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingPolicySpec.

func (*ScalingPolicySpec) DeepCopyInto

func (in *ScalingPolicySpec) DeepCopyInto(out *ScalingPolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalingPolicyStatus

type ScalingPolicyStatus struct {
	// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
	// that is used to contain resource sync state, account ownership,
	// constructed ARN for the resource
	// +kubebuilder:validation:Optional
	ACKResourceMetadata *ackv1alpha1.ResourceMetadata `json:"ackResourceMetadata"`
	// All CRs managed by ACK have a common `Status.Conditions` member that
	// contains a collection of `ackv1alpha1.Condition` objects that describe
	// the various terminal states of the CR and its backend AWS service API
	// resource
	// +kubebuilder:validation:Optional
	Conditions []*ackv1alpha1.Condition `json:"conditions"`
	// The CloudWatch alarms created for the target tracking scaling policy.
	// +kubebuilder:validation:Optional
	Alarms []*Alarm `json:"alarms,omitempty"`
	// The Unix timestamp for when the scaling policy was created.
	// +kubebuilder:validation:Optional
	CreationTime *metav1.Time `json:"creationTime,omitempty"`
	// The Unix timestamp for when the scaling policy was created.
	// +kubebuilder:validation:Optional
	LastModifiedTime *metav1.Time `json:"lastModifiedTime,omitempty"`
}

ScalingPolicyStatus defines the observed state of ScalingPolicy

func (*ScalingPolicyStatus) DeepCopy

func (in *ScalingPolicyStatus) DeepCopy() *ScalingPolicyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingPolicyStatus.

func (*ScalingPolicyStatus) DeepCopyInto

func (in *ScalingPolicyStatus) DeepCopyInto(out *ScalingPolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalingPolicy_SDK

type ScalingPolicy_SDK struct {
	Alarms       []*Alarm     `json:"alarms,omitempty"`
	CreationTime *metav1.Time `json:"creationTime,omitempty"`
	PolicyARN    *string      `json:"policyARN,omitempty"`
	PolicyName   *string      `json:"policyName,omitempty"`
	PolicyType   *string      `json:"policyType,omitempty"`
	// Represents a predictive scaling policy configuration.
	PredictiveScalingPolicyConfiguration *PredictiveScalingPolicyConfiguration `json:"predictiveScalingPolicyConfiguration,omitempty"`
	ResourceID                           *string                               `json:"resourceID,omitempty"`
	ScalableDimension                    *string                               `json:"scalableDimension,omitempty"`
	ServiceNamespace                     *string                               `json:"serviceNamespace,omitempty"`
	// Represents a step scaling policy configuration to use with Application Auto
	// Scaling.
	//
	// For more information, see Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)
	// in the Application Auto Scaling User Guide.
	StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `json:"stepScalingPolicyConfiguration,omitempty"`
	// Represents a target tracking scaling policy configuration to use with Application
	// Auto Scaling.
	//
	// For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)
	// in the Application Auto Scaling User Guide.
	TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration `json:"targetTrackingScalingPolicyConfiguration,omitempty"`
}

Represents a scaling policy to use with Application Auto Scaling.

For more information about configuring scaling policies for a specific service, see Amazon Web Services services that you can use with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/integrated-services-list.html) in the Application Auto Scaling User Guide.

func (*ScalingPolicy_SDK) DeepCopy

func (in *ScalingPolicy_SDK) DeepCopy() *ScalingPolicy_SDK

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingPolicy_SDK.

func (*ScalingPolicy_SDK) DeepCopyInto

func (in *ScalingPolicy_SDK) DeepCopyInto(out *ScalingPolicy_SDK)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScheduledAction

type ScheduledAction struct {
	CreationTime       *metav1.Time `json:"creationTime,omitempty"`
	EndTime            *metav1.Time `json:"endTime,omitempty"`
	ResourceID         *string      `json:"resourceID,omitempty"`
	ScalableDimension  *string      `json:"scalableDimension,omitempty"`
	Schedule           *string      `json:"schedule,omitempty"`
	ScheduledActionARN *string      `json:"scheduledActionARN,omitempty"`
	ServiceNamespace   *string      `json:"serviceNamespace,omitempty"`
	StartTime          *metav1.Time `json:"startTime,omitempty"`
	Timezone           *string      `json:"timezone,omitempty"`
}

Represents a scheduled action.

func (*ScheduledAction) DeepCopy

func (in *ScheduledAction) DeepCopy() *ScheduledAction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduledAction.

func (*ScheduledAction) DeepCopyInto

func (in *ScheduledAction) DeepCopyInto(out *ScheduledAction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceNamespace

type ServiceNamespace string
const (
	ServiceNamespace_appstream        ServiceNamespace = "appstream"
	ServiceNamespace_cassandra        ServiceNamespace = "cassandra"
	ServiceNamespace_comprehend       ServiceNamespace = "comprehend"
	ServiceNamespace_custom_resource  ServiceNamespace = "custom-resource"
	ServiceNamespace_dynamodb         ServiceNamespace = "dynamodb"
	ServiceNamespace_ec2              ServiceNamespace = "ec2"
	ServiceNamespace_ecs              ServiceNamespace = "ecs"
	ServiceNamespace_elasticache      ServiceNamespace = "elasticache"
	ServiceNamespace_elasticmapreduce ServiceNamespace = "elasticmapreduce"
	ServiceNamespace_kafka            ServiceNamespace = "kafka"
	ServiceNamespace_lambda           ServiceNamespace = "lambda"
	ServiceNamespace_neptune          ServiceNamespace = "neptune"
	ServiceNamespace_rds              ServiceNamespace = "rds"
	ServiceNamespace_sagemaker        ServiceNamespace = "sagemaker"
	ServiceNamespace_workspaces       ServiceNamespace = "workspaces"
)

type StepAdjustment

type StepAdjustment struct {
	MetricIntervalLowerBound *float64 `json:"metricIntervalLowerBound,omitempty"`
	MetricIntervalUpperBound *float64 `json:"metricIntervalUpperBound,omitempty"`
	ScalingAdjustment        *int64   `json:"scalingAdjustment,omitempty"`
}

Represents a step adjustment for a StepScalingPolicyConfiguration (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html). Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • To initiate the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • To initiate the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

func (*StepAdjustment) DeepCopy

func (in *StepAdjustment) DeepCopy() *StepAdjustment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepAdjustment.

func (*StepAdjustment) DeepCopyInto

func (in *StepAdjustment) DeepCopyInto(out *StepAdjustment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StepScalingPolicyConfiguration

type StepScalingPolicyConfiguration struct {
	AdjustmentType         *string           `json:"adjustmentType,omitempty"`
	Cooldown               *int64            `json:"cooldown,omitempty"`
	MetricAggregationType  *string           `json:"metricAggregationType,omitempty"`
	MinAdjustmentMagnitude *int64            `json:"minAdjustmentMagnitude,omitempty"`
	StepAdjustments        []*StepAdjustment `json:"stepAdjustments,omitempty"`
}

Represents a step scaling policy configuration to use with Application Auto Scaling.

For more information, see Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the Application Auto Scaling User Guide.

func (*StepScalingPolicyConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepScalingPolicyConfiguration.

func (*StepScalingPolicyConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SuspendedState

type SuspendedState struct {
	DynamicScalingInSuspended  *bool `json:"dynamicScalingInSuspended,omitempty"`
	DynamicScalingOutSuspended *bool `json:"dynamicScalingOutSuspended,omitempty"`
	ScheduledScalingSuspended  *bool `json:"scheduledScalingSuspended,omitempty"`
}

Specifies whether the scaling activities for a scalable target are in a suspended state.

func (*SuspendedState) DeepCopy

func (in *SuspendedState) DeepCopy() *SuspendedState

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuspendedState.

func (*SuspendedState) DeepCopyInto

func (in *SuspendedState) DeepCopyInto(out *SuspendedState)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetTrackingMetricDataQuery added in v1.0.20

type TargetTrackingMetricDataQuery struct {
	Expression *string `json:"expression,omitempty"`
	ID         *string `json:"id,omitempty"`
	Label      *string `json:"label,omitempty"`
	ReturnData *bool   `json:"returnData,omitempty"`
}

The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.

For more information and examples, see Create a target tracking scaling policy for Application Auto Scaling using metric math (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking-metric-math.html) in the Application Auto Scaling User Guide.

func (*TargetTrackingMetricDataQuery) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTrackingMetricDataQuery.

func (*TargetTrackingMetricDataQuery) DeepCopyInto added in v1.0.20

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetTrackingMetricStat added in v1.0.20

type TargetTrackingMetricStat struct {
	Stat *string `json:"stat,omitempty"`
}

This structure defines the CloudWatch metric to return, along with the statistic and unit.

For more information about the CloudWatch terminology below, see Amazon CloudWatch concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) in the Amazon CloudWatch User Guide.

func (*TargetTrackingMetricStat) DeepCopy added in v1.0.20

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTrackingMetricStat.

func (*TargetTrackingMetricStat) DeepCopyInto added in v1.0.20

func (in *TargetTrackingMetricStat) DeepCopyInto(out *TargetTrackingMetricStat)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetTrackingScalingPolicyConfiguration

type TargetTrackingScalingPolicyConfiguration struct {
	// Represents a CloudWatch metric of your choosing for a target tracking scaling
	// policy to use with Application Auto Scaling.
	//
	// For information about the available metrics for a service, see Amazon Web
	// Services services that publish CloudWatch metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)
	// in the Amazon CloudWatch User Guide.
	//
	// To create your customized metric specification:
	//
	//    * Add values for each required parameter from CloudWatch. You can use
	//    an existing metric, or a new metric that you create. To use your own metric,
	//    you must first publish the metric to CloudWatch. For more information,
	//    see Publish custom metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
	//    in the Amazon CloudWatch User Guide.
	//
	//    * Choose a metric that changes proportionally with capacity. The value
	//    of the metric should increase or decrease in inverse proportion to the
	//    number of capacity units. That is, the value of the metric should decrease
	//    when capacity increases, and increase when capacity decreases.
	//
	// For more information about the CloudWatch terminology below, see Amazon CloudWatch
	// concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)
	// in the Amazon CloudWatch User Guide.
	CustomizedMetricSpecification *CustomizedMetricSpecification `json:"customizedMetricSpecification,omitempty"`
	DisableScaleIn                *bool                          `json:"disableScaleIn,omitempty"`
	// Represents a predefined metric for a target tracking scaling policy to use
	// with Application Auto Scaling.
	//
	// For more information, Predefined metrics for target tracking scaling policies
	// (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html#predefined-metrics)
	// in the Application Auto Scaling User Guide.
	PredefinedMetricSpecification *PredefinedMetricSpecification `json:"predefinedMetricSpecification,omitempty"`
	ScaleInCooldown               *int64                         `json:"scaleInCooldown,omitempty"`
	ScaleOutCooldown              *int64                         `json:"scaleOutCooldown,omitempty"`
	TargetValue                   *float64                       `json:"targetValue,omitempty"`
}

Represents a target tracking scaling policy configuration to use with Application Auto Scaling.

For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) in the Application Auto Scaling User Guide.

func (*TargetTrackingScalingPolicyConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTrackingScalingPolicyConfiguration.

func (*TargetTrackingScalingPolicyConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL