/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the application-autoscaling-2016-02-06.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.ApplicationAutoScaling.Model { /// /// 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 in the Application /// Auto Scaling User Guide. /// /// public partial class ScalingPolicy { private List _alarms = new List(); private DateTime? _creationTime; private string _policyARN; private string _policyName; private PolicyType _policyType; private string _resourceId; private ScalableDimension _scalableDimension; private ServiceNamespace _serviceNamespace; private StepScalingPolicyConfiguration _stepScalingPolicyConfiguration; private TargetTrackingScalingPolicyConfiguration _targetTrackingScalingPolicyConfiguration; /// /// Gets and sets the property Alarms. /// /// The CloudWatch alarms associated with the scaling policy. /// /// public List Alarms { get { return this._alarms; } set { this._alarms = value; } } // Check to see if Alarms property is set internal bool IsSetAlarms() { return this._alarms != null && this._alarms.Count > 0; } /// /// Gets and sets the property CreationTime. /// /// The Unix timestamp for when the scaling policy was created. /// /// [AWSProperty(Required=true)] public DateTime CreationTime { get { return this._creationTime.GetValueOrDefault(); } set { this._creationTime = value; } } // Check to see if CreationTime property is set internal bool IsSetCreationTime() { return this._creationTime.HasValue; } /// /// Gets and sets the property PolicyARN. /// /// The Amazon Resource Name (ARN) of the scaling policy. /// /// [AWSProperty(Required=true, Min=1, Max=1600)] public string PolicyARN { get { return this._policyARN; } set { this._policyARN = value; } } // Check to see if PolicyARN property is set internal bool IsSetPolicyARN() { return this._policyARN != null; } /// /// Gets and sets the property PolicyName. /// /// The name of the scaling policy. /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string PolicyName { get { return this._policyName; } set { this._policyName = value; } } // Check to see if PolicyName property is set internal bool IsSetPolicyName() { return this._policyName != null; } /// /// Gets and sets the property PolicyType. /// /// The scaling policy type. /// /// /// /// 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. /// /// [AWSProperty(Required=true)] public PolicyType PolicyType { get { return this._policyType; } set { this._policyType = value; } } // Check to see if PolicyType property is set internal bool IsSetPolicyType() { return this._policyType != null; } /// /// Gets and sets the property ResourceId. /// /// 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 - 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. /// ///
  • /// /// 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. /// ///
///
[AWSProperty(Required=true, Min=1, Max=1600)] public string ResourceId { get { return this._resourceId; } set { this._resourceId = value; } } // Check to see if ResourceId property is set internal bool IsSetResourceId() { return this._resourceId != null; } /// /// Gets and sets the property ScalableDimension. /// /// 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. /// ///
  • /// /// 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 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 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. /// ///
///
[AWSProperty(Required=true)] public ScalableDimension ScalableDimension { get { return this._scalableDimension; } set { this._scalableDimension = value; } } // Check to see if ScalableDimension property is set internal bool IsSetScalableDimension() { return this._scalableDimension != null; } /// /// Gets and sets the property ServiceNamespace. /// /// The namespace of the Amazon Web Services service that provides the resource, or a /// custom-resource. /// /// [AWSProperty(Required=true)] public ServiceNamespace ServiceNamespace { get { return this._serviceNamespace; } set { this._serviceNamespace = value; } } // Check to see if ServiceNamespace property is set internal bool IsSetServiceNamespace() { return this._serviceNamespace != null; } /// /// Gets and sets the property StepScalingPolicyConfiguration. /// /// A step scaling policy. /// /// public StepScalingPolicyConfiguration StepScalingPolicyConfiguration { get { return this._stepScalingPolicyConfiguration; } set { this._stepScalingPolicyConfiguration = value; } } // Check to see if StepScalingPolicyConfiguration property is set internal bool IsSetStepScalingPolicyConfiguration() { return this._stepScalingPolicyConfiguration != null; } /// /// Gets and sets the property TargetTrackingScalingPolicyConfiguration. /// /// A target tracking scaling policy. /// /// public TargetTrackingScalingPolicyConfiguration TargetTrackingScalingPolicyConfiguration { get { return this._targetTrackingScalingPolicyConfiguration; } set { this._targetTrackingScalingPolicyConfiguration = value; } } // Check to see if TargetTrackingScalingPolicyConfiguration property is set internal bool IsSetTargetTrackingScalingPolicyConfiguration() { return this._targetTrackingScalingPolicyConfiguration != null; } } }