v1alpha1

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2022 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_PercentChangeInCapacity AdjustmentType = "PercentChangeInCapacity"
	AdjustmentType_ExactCapacity           AdjustmentType = "ExactCapacity"
)

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 AWS 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 CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).

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 MetricAggregationType

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

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_Minimum     MetricStatistic = "Minimum"
	MetricStatistic_Maximum     MetricStatistic = "Maximum"
	MetricStatistic_SampleCount MetricStatistic = "SampleCount"
	MetricStatistic_Sum         MetricStatistic = "Sum"
)

type MetricType

type MetricType string
const (
	MetricType_DynamoDBReadCapacityUtilization          MetricType = "DynamoDBReadCapacityUtilization"
	MetricType_DynamoDBWriteCapacityUtilization         MetricType = "DynamoDBWriteCapacityUtilization"
	MetricType_ALBRequestCountPerTarget                 MetricType = "ALBRequestCountPerTarget"
	MetricType_RDSReaderAverageCPUUtilization           MetricType = "RDSReaderAverageCPUUtilization"
	MetricType_RDSReaderAverageDatabaseConnections      MetricType = "RDSReaderAverageDatabaseConnections"
	MetricType_EC2SpotFleetRequestAverageCPUUtilization MetricType = "EC2SpotFleetRequestAverageCPUUtilization"
	MetricType_EC2SpotFleetRequestAverageNetworkIn      MetricType = "EC2SpotFleetRequestAverageNetworkIn"
	MetricType_EC2SpotFleetRequestAverageNetworkOut     MetricType = "EC2SpotFleetRequestAverageNetworkOut"
	MetricType_SageMakerVariantInvocationsPerInstance   MetricType = "SageMakerVariantInvocationsPerInstance"
	MetricType_ECSServiceAverageCPUUtilization          MetricType = "ECSServiceAverageCPUUtilization"
	MetricType_ECSServiceAverageMemoryUtilization       MetricType = "ECSServiceAverageMemoryUtilization"
	MetricType_AppStreamAverageCapacityUtilization      MetricType = "AppStreamAverageCapacityUtilization"
	MetricType_ComprehendInferenceUtilization           MetricType = "ComprehendInferenceUtilization"
	MetricType_LambdaProvisionedConcurrencyUtilization  MetricType = "LambdaProvisionedConcurrencyUtilization"
	MetricType_CassandraReadCapacityUtilization         MetricType = "CassandraReadCapacityUtilization"
	MetricType_CassandraWriteCapacityUtilization        MetricType = "CassandraWriteCapacityUtilization"
	MetricType_KafkaBrokerStorageUtilization            MetricType = "KafkaBrokerStorageUtilization"
)

type PolicyType

type PolicyType string
const (
	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.

Only the AWS services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Building dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) 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 ScalableDimension

type ScalableDimension string
const (
	ScalableDimension_ecs_service_DesiredCount                                      ScalableDimension = "ecs:service:DesiredCount"
	ScalableDimension_ec2_spot_fleet_request_TargetCapacity                         ScalableDimension = "ec2:spot-fleet-request:TargetCapacity"
	ScalableDimension_elasticmapreduce_instancegroup_InstanceCount                  ScalableDimension = "elasticmapreduce:instancegroup:InstanceCount"
	ScalableDimension_appstream_fleet_DesiredCapacity                               ScalableDimension = "appstream:fleet:DesiredCapacity"
	ScalableDimension_dynamodb_table_ReadCapacityUnits                              ScalableDimension = "dynamodb:table:ReadCapacityUnits"
	ScalableDimension_dynamodb_table_WriteCapacityUnits                             ScalableDimension = "dynamodb:table:WriteCapacityUnits"
	ScalableDimension_dynamodb_index_ReadCapacityUnits                              ScalableDimension = "dynamodb:index:ReadCapacityUnits"
	ScalableDimension_dynamodb_index_WriteCapacityUnits                             ScalableDimension = "dynamodb:index:WriteCapacityUnits"
	ScalableDimension_rds_cluster_ReadReplicaCount                                  ScalableDimension = "rds:cluster:ReadReplicaCount"
	ScalableDimension_sagemaker_variant_DesiredInstanceCount                        ScalableDimension = "sagemaker:variant:DesiredInstanceCount"
	ScalableDimension_custom_resource_ResourceType_Property                         ScalableDimension = "custom-resource:ResourceType:Property"
	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_lambda_function_ProvisionedConcurrency                        ScalableDimension = "lambda:function:ProvisionedConcurrency"
	ScalableDimension_cassandra_table_ReadCapacityUnits                             ScalableDimension = "cassandra:table:ReadCapacityUnits"
	ScalableDimension_cassandra_table_WriteCapacityUnits                            ScalableDimension = "cassandra:table:WriteCapacityUnits"
	ScalableDimension_kafka_broker_storage_VolumeSize                               ScalableDimension = "kafka:broker-storage:VolumeSize"
)

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
	// may 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 certain resources, the minimum value allowed is 0. This includes Lambda
	// provisioned concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR
	// clusters, and custom resources. For all other resources, the minimum value
	// allowed is 1.
	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/default/sample-webapp.
	//
	//    * Spot Fleet request - 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.
	//
	//    * Amazon 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.
	// +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 Application Auto Scaling IAM roles (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles).
	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 desired task count of an ECS service.
	//
	//    * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot
	//    Fleet request.
	//
	//    * elasticmapreduce:instancegroup:InstanceCount - The instance count of
	//    an EMR Instance Group.
	//
	//    * appstream:fleet:DesiredCapacity - The desired 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 an Amazon 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.
	// +kubebuilder:validation:Required
	ScalableDimension *string `json:"scalableDimension"`
	// The namespace of the AWS 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 Suspending and resuming 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"`
	ResourceID        *string      `json:"resourceID,omitempty"`
	RoleARN           *string      `json:"roleARN,omitempty"`
	ScalableDimension *string      `json:"scalableDimension,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_Pending     ScalingActivityStatusCode = "Pending"
	ScalingActivityStatusCode_InProgress  ScalingActivityStatusCode = "InProgress"
	ScalingActivityStatusCode_Successful  ScalingActivityStatusCode = "Successful"
	ScalingActivityStatusCode_Overridden  ScalingActivityStatusCode = "Overridden"
	ScalingActivityStatusCode_Unfulfilled ScalingActivityStatusCode = "Unfulfilled"
	ScalingActivityStatusCode_Failed      ScalingActivityStatusCode = "Failed"
)

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.
	// +kubebuilder:validation:Required
	PolicyName *string `json:"policyName"`
	// The 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 (for Apache Cassandra), or Amazon MSK.
	//
	// 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/default/sample-webapp.
	//
	//    * Spot Fleet request - 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.
	//
	//    * Amazon 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.
	// +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 desired task count of an ECS service.
	//
	//    * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot
	//    Fleet request.
	//
	//    * elasticmapreduce:instancegroup:InstanceCount - The instance count of
	//    an EMR Instance Group.
	//
	//    * appstream:fleet:DesiredCapacity - The desired 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 an Amazon 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.
	// +kubebuilder:validation:Required
	ScalableDimension *string `json:"scalableDimension"`
	// The namespace of the AWS 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 Getting started with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.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"`
	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.
	StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `json:"stepScalingPolicyConfiguration,omitempty"`
	// Represents a target tracking scaling policy configuration to use with Application
	// Auto Scaling.
	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 Getting started with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.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_ecs              ServiceNamespace = "ecs"
	ServiceNamespace_elasticmapreduce ServiceNamespace = "elasticmapreduce"
	ServiceNamespace_ec2              ServiceNamespace = "ec2"
	ServiceNamespace_appstream        ServiceNamespace = "appstream"
	ServiceNamespace_dynamodb         ServiceNamespace = "dynamodb"
	ServiceNamespace_rds              ServiceNamespace = "rds"
	ServiceNamespace_sagemaker        ServiceNamespace = "sagemaker"
	ServiceNamespace_custom_resource  ServiceNamespace = "custom-resource"
	ServiceNamespace_comprehend       ServiceNamespace = "comprehend"
	ServiceNamespace_lambda           ServiceNamespace = "lambda"
	ServiceNamespace_cassandra        ServiceNamespace = "cassandra"
	ServiceNamespace_kafka            ServiceNamespace = "kafka"
)

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 trigger 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 trigger 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.

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 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 AWS 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 CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).
	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.
	//
	// Only the AWS services that you're using send metrics to Amazon CloudWatch.
	// To determine whether a desired metric already exists by looking up its namespace
	// and dimension using the CloudWatch metrics dashboard in the console, follow
	// the procedure in Building dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html)
	// 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.

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