amazonka-application-autoscaling-1.4.5: Amazon Application Auto Scaling SDK.

Copyright(c) 2013-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.ApplicationAutoScaling.PutScalingPolicy

Contents

Description

Creates or updates a policy for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy without first registering a scalable target using RegisterScalableTarget .

To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request.

You can view the scaling policies for a service namespace using DescribeScalingPolicies . If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy .

Synopsis

Creating a Request

putScalingPolicy Source #

Creates a value of PutScalingPolicy with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • pspPolicyType - The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required.
  • pspStepScalingPolicyConfiguration - The configuration for the step scaling policy. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required. For more information, see StepScalingPolicyConfiguration and StepAdjustment .
  • pspPolicyName - The name of the scaling policy.
  • pspServiceNamespace - The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference .
  • pspResourceId - 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: servicedefaultsample-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: instancegroupj-2EEZNYKUA1NTVig-1791Y4E1L8YI0 .
  • pspScalableDimension - 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.

data PutScalingPolicy Source #

See: putScalingPolicy smart constructor.

Instances

Eq PutScalingPolicy Source # 
Data PutScalingPolicy Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PutScalingPolicy -> c PutScalingPolicy #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PutScalingPolicy #

toConstr :: PutScalingPolicy -> Constr #

dataTypeOf :: PutScalingPolicy -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PutScalingPolicy) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PutScalingPolicy) #

gmapT :: (forall b. Data b => b -> b) -> PutScalingPolicy -> PutScalingPolicy #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PutScalingPolicy -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PutScalingPolicy -> r #

gmapQ :: (forall d. Data d => d -> u) -> PutScalingPolicy -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PutScalingPolicy -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PutScalingPolicy -> m PutScalingPolicy #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PutScalingPolicy -> m PutScalingPolicy #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PutScalingPolicy -> m PutScalingPolicy #

Read PutScalingPolicy Source # 
Show PutScalingPolicy Source # 
Generic PutScalingPolicy Source # 
Hashable PutScalingPolicy Source # 
ToJSON PutScalingPolicy Source # 
NFData PutScalingPolicy Source # 

Methods

rnf :: PutScalingPolicy -> () #

AWSRequest PutScalingPolicy Source # 
ToPath PutScalingPolicy Source # 
ToHeaders PutScalingPolicy Source # 
ToQuery PutScalingPolicy Source # 
type Rep PutScalingPolicy Source # 
type Rep PutScalingPolicy = D1 (MetaData "PutScalingPolicy" "Network.AWS.ApplicationAutoScaling.PutScalingPolicy" "amazonka-application-autoscaling-1.4.5-6PGPk1k3xtd5TOCWvikLzL" False) (C1 (MetaCons "PutScalingPolicy'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_pspPolicyType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe PolicyType))) ((:*:) (S1 (MetaSel (Just Symbol "_pspStepScalingPolicyConfiguration") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe StepScalingPolicyConfiguration))) (S1 (MetaSel (Just Symbol "_pspPolicyName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_pspServiceNamespace") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ServiceNamespace)) ((:*:) (S1 (MetaSel (Just Symbol "_pspResourceId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_pspScalableDimension") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ScalableDimension))))))
type Rs PutScalingPolicy Source # 

Request Lenses

pspPolicyType :: Lens' PutScalingPolicy (Maybe PolicyType) Source #

The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required.

pspStepScalingPolicyConfiguration :: Lens' PutScalingPolicy (Maybe StepScalingPolicyConfiguration) Source #

The configuration for the step scaling policy. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required. For more information, see StepScalingPolicyConfiguration and StepAdjustment .

pspPolicyName :: Lens' PutScalingPolicy Text Source #

The name of the scaling policy.

pspServiceNamespace :: Lens' PutScalingPolicy ServiceNamespace Source #

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference .

pspResourceId :: Lens' PutScalingPolicy Text Source #

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: servicedefaultsample-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: instancegroupj-2EEZNYKUA1NTVig-1791Y4E1L8YI0 .

pspScalableDimension :: Lens' PutScalingPolicy ScalableDimension Source #

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.

Destructuring the Response

putScalingPolicyResponse Source #

Creates a value of PutScalingPolicyResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

data PutScalingPolicyResponse Source #

See: putScalingPolicyResponse smart constructor.

Instances

Eq PutScalingPolicyResponse Source # 
Data PutScalingPolicyResponse Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PutScalingPolicyResponse -> c PutScalingPolicyResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PutScalingPolicyResponse #

toConstr :: PutScalingPolicyResponse -> Constr #

dataTypeOf :: PutScalingPolicyResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PutScalingPolicyResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PutScalingPolicyResponse) #

gmapT :: (forall b. Data b => b -> b) -> PutScalingPolicyResponse -> PutScalingPolicyResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PutScalingPolicyResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PutScalingPolicyResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> PutScalingPolicyResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PutScalingPolicyResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PutScalingPolicyResponse -> m PutScalingPolicyResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PutScalingPolicyResponse -> m PutScalingPolicyResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PutScalingPolicyResponse -> m PutScalingPolicyResponse #

Read PutScalingPolicyResponse Source # 
Show PutScalingPolicyResponse Source # 
Generic PutScalingPolicyResponse Source # 
NFData PutScalingPolicyResponse Source # 
type Rep PutScalingPolicyResponse Source # 
type Rep PutScalingPolicyResponse = D1 (MetaData "PutScalingPolicyResponse" "Network.AWS.ApplicationAutoScaling.PutScalingPolicy" "amazonka-application-autoscaling-1.4.5-6PGPk1k3xtd5TOCWvikLzL" False) (C1 (MetaCons "PutScalingPolicyResponse'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_psprsResponseStatus") NoSourceUnpackedness SourceStrict DecidedUnpack) (Rec0 Int)) (S1 (MetaSel (Just Symbol "_psprsPolicyARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

Response Lenses

psprsPolicyARN :: Lens' PutScalingPolicyResponse Text Source #

The Amazon Resource Name (ARN) of the resulting scaling policy.