Skip to content

Commit

Permalink
With the current release, you can suspend and later resume any of the…
Browse files Browse the repository at this point in the history
… following scaling actions in Application Auto Scaling: scheduled scaling actions, dynamic scaling in actions, dynamic scaling out actions.

This release of Amazon Elastic Container Service (Amazon ECS) introduces support for including Docker container IDs in the API response when describing and stopping tasks. This enables customers to easily map containers to the tasks they are associated with.

Adds a "MaximumBatchingWindowInSeconds" parameter to event source mapping api's. Usable by Dynamodb and Kinesis event sources.

Amazon ElastiCache for Redis now supports encryption at rest using customer managed customer master keys (CMKs) in AWS Key Management Service (KMS). Amazon ElastiCache now supports cluster names upto 40 characters for replicationGoups and upto 50 characters for cacheClusters.

Introducing pipeline execution trigger details in ListPipelineExecutions API.
  • Loading branch information
aws-sdk-cpp-automation committed Aug 29, 2019
1 parent 3eebcc3 commit d77abf6
Show file tree
Hide file tree
Showing 63 changed files with 2,452 additions and 618 deletions.
Expand Up @@ -126,14 +126,19 @@ namespace Model
* Aurora Replicas</p> </li> <li> <p>Amazon SageMaker endpoint variants</p> </li>
* <li> <p>Custom resources provided by your own applications or services</p> </li>
* </ul> <p> <b>API Summary</b> </p> <p>The Application Auto Scaling service API
* includes two key sets of actions: </p> <ul> <li> <p>Register and manage scalable
* targets - Register AWS or custom resources as scalable targets (a resource that
* Application Auto Scaling can scale), set minimum and maximum capacity limits,
* and retrieve information on existing scalable targets.</p> </li> <li>
* <p>Configure and manage automatic scaling - Define scaling policies to
* dynamically scale your resources in response to CloudWatch alarms, schedule
* includes three key sets of actions: </p> <ul> <li> <p>Register and manage
* scalable targets - Register AWS or custom resources as scalable targets (a
* resource that Application Auto Scaling can scale), set minimum and maximum
* capacity limits, and retrieve information on existing scalable targets.</p>
* </li> <li> <p>Configure and manage automatic scaling - Define scaling policies
* to dynamically scale your resources in response to CloudWatch alarms, schedule
* one-time or recurring scaling actions, and retrieve your recent scaling activity
* history.</p> </li> </ul> <p>To learn more about Application Auto Scaling,
* history.</p> </li> <li> <p>Suspend and resume scaling - Temporarily suspend and
* later resume automatic scaling by calling the <a>RegisterScalableTarget</a>
* action for any Application Auto Scaling scalable target. You can suspend and
* resume, individually or in combination, scale-out activities triggered by a
* scaling policy, scale-in activities triggered by a scaling policy, and scheduled
* scaling. </p> </li> </ul> <p>To learn more about Application Auto Scaling,
* including information about granting IAM users required permissions for
* Application Auto Scaling actions, see the <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html">Application
Expand Down
Expand Up @@ -19,6 +19,7 @@
#include <aws/application-autoscaling/model/ServiceNamespace.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/application-autoscaling/model/SuspendedState.h>
#include <utility>

namespace Aws
Expand Down Expand Up @@ -687,6 +688,121 @@ namespace Model
*/
inline RegisterScalableTargetRequest& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}


/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspend
* and Resume Application Auto Scaling</a> in the <i>Application Auto Scaling User
* Guide</i>.</p>
*/
inline const SuspendedState& GetSuspendedState() const{ return m_suspendedState; }

/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspend
* and Resume Application Auto Scaling</a> in the <i>Application Auto Scaling User
* Guide</i>.</p>
*/
inline bool SuspendedStateHasBeenSet() const { return m_suspendedStateHasBeenSet; }

/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspend
* and Resume Application Auto Scaling</a> in the <i>Application Auto Scaling User
* Guide</i>.</p>
*/
inline void SetSuspendedState(const SuspendedState& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = value; }

/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspend
* and Resume Application Auto Scaling</a> in the <i>Application Auto Scaling User
* Guide</i>.</p>
*/
inline void SetSuspendedState(SuspendedState&& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = std::move(value); }

/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspend
* and Resume Application Auto Scaling</a> in the <i>Application Auto Scaling User
* Guide</i>.</p>
*/
inline RegisterScalableTargetRequest& WithSuspendedState(const SuspendedState& value) { SetSuspendedState(value); return *this;}

/**
* <p>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 <code>true</code> suspends the specified scaling activities. Setting it to
* <code>false</code> (default) resumes the specified scaling activities. </p> <p>
* <b>Suspension Outcomes</b> </p> <ul> <li> <p>For
* <code>DynamicScalingInSuspended</code>, while a suspension is in effect, all
* scale-in activities that are triggered by a scaling policy are suspended.</p>
* </li> <li> <p>For <code>DynamicScalingOutSuspended</code>, while a suspension is
* in effect, all scale-out activities that are triggered by a scaling policy are
* suspended.</p> </li> <li> <p>For <code>ScheduledScalingSuspended</code>, while a
* suspension is in effect, all scaling activities that involve scheduled actions
* are suspended. </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html">Suspend
* and Resume Application Auto Scaling</a> in the <i>Application Auto Scaling User
* Guide</i>.</p>
*/
inline RegisterScalableTargetRequest& WithSuspendedState(SuspendedState&& value) { SetSuspendedState(std::move(value)); return *this;}

private:

ServiceNamespace m_serviceNamespace;
Expand All @@ -706,6 +822,9 @@ namespace Model

Aws::String m_roleARN;
bool m_roleARNHasBeenSet;

SuspendedState m_suspendedState;
bool m_suspendedStateHasBeenSet;
};

} // namespace Model
Expand Down
Expand Up @@ -19,6 +19,7 @@
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/application-autoscaling/model/ScalableDimension.h>
#include <aws/core/utils/DateTime.h>
#include <aws/application-autoscaling/model/SuspendedState.h>
#include <utility>

namespace Aws
Expand Down Expand Up @@ -666,6 +667,25 @@ namespace Model
*/
inline ScalableTarget& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}



inline const SuspendedState& GetSuspendedState() const{ return m_suspendedState; }


inline bool SuspendedStateHasBeenSet() const { return m_suspendedStateHasBeenSet; }


inline void SetSuspendedState(const SuspendedState& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = value; }


inline void SetSuspendedState(SuspendedState&& value) { m_suspendedStateHasBeenSet = true; m_suspendedState = std::move(value); }


inline ScalableTarget& WithSuspendedState(const SuspendedState& value) { SetSuspendedState(value); return *this;}


inline ScalableTarget& WithSuspendedState(SuspendedState&& value) { SetSuspendedState(std::move(value)); return *this;}

private:

ServiceNamespace m_serviceNamespace;
Expand All @@ -688,6 +708,9 @@ namespace Model

Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;

SuspendedState m_suspendedState;
bool m_suspendedStateHasBeenSet;
};

} // namespace Model
Expand Down
@@ -0,0 +1,157 @@
/*
* Copyright 2010-2017 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.
*/

#pragma once
#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>

namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ApplicationAutoScaling
{
namespace Model
{

/**
* <p>Specifies whether the scaling activities for a scalable target are in a
* suspended state. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/SuspendedState">AWS
* API Reference</a></p>
*/
class AWS_APPLICATIONAUTOSCALING_API SuspendedState
{
public:
SuspendedState();
SuspendedState(Aws::Utils::Json::JsonView jsonValue);
SuspendedState& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;


/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline bool GetDynamicScalingInSuspended() const{ return m_dynamicScalingInSuspended; }

/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline bool DynamicScalingInSuspendedHasBeenSet() const { return m_dynamicScalingInSuspendedHasBeenSet; }

/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline void SetDynamicScalingInSuspended(bool value) { m_dynamicScalingInSuspendedHasBeenSet = true; m_dynamicScalingInSuspended = value; }

/**
* <p>Whether scale in by a target tracking scaling policy or a step scaling policy
* is suspended. Set the value to <code>true</code> if you don't want Application
* Auto Scaling to remove capacity when a scaling policy is triggered. The default
* is <code>false</code>. </p>
*/
inline SuspendedState& WithDynamicScalingInSuspended(bool value) { SetDynamicScalingInSuspended(value); return *this;}


/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline bool GetDynamicScalingOutSuspended() const{ return m_dynamicScalingOutSuspended; }

/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline bool DynamicScalingOutSuspendedHasBeenSet() const { return m_dynamicScalingOutSuspendedHasBeenSet; }

/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline void SetDynamicScalingOutSuspended(bool value) { m_dynamicScalingOutSuspendedHasBeenSet = true; m_dynamicScalingOutSuspended = value; }

/**
* <p>Whether scale out by a target tracking scaling policy or a step scaling
* policy is suspended. Set the value to <code>true</code> if you don't want
* Application Auto Scaling to add capacity when a scaling policy is triggered. The
* default is <code>false</code>. </p>
*/
inline SuspendedState& WithDynamicScalingOutSuspended(bool value) { SetDynamicScalingOutSuspended(value); return *this;}


/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline bool GetScheduledScalingSuspended() const{ return m_scheduledScalingSuspended; }

/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline bool ScheduledScalingSuspendedHasBeenSet() const { return m_scheduledScalingSuspendedHasBeenSet; }

/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline void SetScheduledScalingSuspended(bool value) { m_scheduledScalingSuspendedHasBeenSet = true; m_scheduledScalingSuspended = value; }

/**
* <p>Whether scheduled scaling is suspended. Set the value to <code>true</code> if
* you don't want Application Auto Scaling to add or remove capacity by initiating
* scheduled actions. The default is <code>false</code>. </p>
*/
inline SuspendedState& WithScheduledScalingSuspended(bool value) { SetScheduledScalingSuspended(value); return *this;}

private:

bool m_dynamicScalingInSuspended;
bool m_dynamicScalingInSuspendedHasBeenSet;

bool m_dynamicScalingOutSuspended;
bool m_dynamicScalingOutSuspendedHasBeenSet;

bool m_scheduledScalingSuspended;
bool m_scheduledScalingSuspendedHasBeenSet;
};

} // namespace Model
} // namespace ApplicationAutoScaling
} // namespace Aws
Expand Up @@ -32,7 +32,8 @@ RegisterScalableTargetRequest::RegisterScalableTargetRequest() :
m_minCapacityHasBeenSet(false),
m_maxCapacity(0),
m_maxCapacityHasBeenSet(false),
m_roleARNHasBeenSet(false)
m_roleARNHasBeenSet(false),
m_suspendedStateHasBeenSet(false)
{
}

Expand Down Expand Up @@ -74,6 +75,12 @@ Aws::String RegisterScalableTargetRequest::SerializePayload() const

}

if(m_suspendedStateHasBeenSet)
{
payload.WithObject("SuspendedState", m_suspendedState.Jsonize());

}

return payload.View().WriteReadable();
}

Expand Down

0 comments on commit d77abf6

Please sign in to comment.