diff --git a/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h index 46a442a1d3d..8da56af0c6c 100644 --- a/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h +++ b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h @@ -126,14 +126,19 @@ namespace Model * Aurora Replicas

  • Amazon SageMaker endpoint variants

  • *
  • Custom resources provided by your own applications or services

  • *

    API Summary

    The Application Auto Scaling service API - * includes two key sets of actions:

    To learn more about Application Auto Scaling, * including information about granting IAM users required permissions for * Application Auto Scaling actions, see the Application diff --git a/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/RegisterScalableTargetRequest.h b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/RegisterScalableTargetRequest.h index e8a507f9d4f..55afa280c31 100644 --- a/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/RegisterScalableTargetRequest.h +++ b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/RegisterScalableTargetRequest.h @@ -19,6 +19,7 @@ #include #include #include +#include #include namespace Aws @@ -687,6 +688,121 @@ namespace Model */ inline RegisterScalableTargetRequest& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} + + /** + *

    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 more information, see Suspend + * and Resume Application Auto Scaling in the Application Auto Scaling User + * Guide.

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

    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 more information, see Suspend + * and Resume Application Auto Scaling in the Application Auto Scaling User + * Guide.

    + */ + inline bool SuspendedStateHasBeenSet() const { return m_suspendedStateHasBeenSet; } + + /** + *

    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 more information, see Suspend + * and Resume Application Auto Scaling in the Application Auto Scaling User + * Guide.

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

    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 more information, see Suspend + * and Resume Application Auto Scaling in the Application Auto Scaling User + * Guide.

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

    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 more information, see Suspend + * and Resume Application Auto Scaling in the Application Auto Scaling User + * Guide.

    + */ + inline RegisterScalableTargetRequest& WithSuspendedState(const SuspendedState& value) { SetSuspendedState(value); return *this;} + + /** + *

    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 more information, see Suspend + * and Resume Application Auto Scaling in the Application Auto Scaling User + * Guide.

    + */ + inline RegisterScalableTargetRequest& WithSuspendedState(SuspendedState&& value) { SetSuspendedState(std::move(value)); return *this;} + private: ServiceNamespace m_serviceNamespace; @@ -706,6 +822,9 @@ namespace Model Aws::String m_roleARN; bool m_roleARNHasBeenSet; + + SuspendedState m_suspendedState; + bool m_suspendedStateHasBeenSet; }; } // namespace Model diff --git a/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/ScalableTarget.h b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/ScalableTarget.h index 65cbec271ce..4438f3c3858 100644 --- a/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/ScalableTarget.h +++ b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/ScalableTarget.h @@ -19,6 +19,7 @@ #include #include #include +#include #include namespace Aws @@ -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; @@ -688,6 +708,9 @@ namespace Model Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet; + + SuspendedState m_suspendedState; + bool m_suspendedStateHasBeenSet; }; } // namespace Model diff --git a/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/SuspendedState.h b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/SuspendedState.h new file mode 100644 index 00000000000..0845c0e81af --- /dev/null +++ b/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/SuspendedState.h @@ -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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationAutoScaling +{ +namespace Model +{ + + /** + *

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

    See Also:

    AWS + * API Reference

    + */ + 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; + + + /** + *

    Whether scale in by a target tracking scaling policy or a step scaling policy + * is suspended. Set the value to true if you don't want Application + * Auto Scaling to remove capacity when a scaling policy is triggered. The default + * is false.

    + */ + inline bool GetDynamicScalingInSuspended() const{ return m_dynamicScalingInSuspended; } + + /** + *

    Whether scale in by a target tracking scaling policy or a step scaling policy + * is suspended. Set the value to true if you don't want Application + * Auto Scaling to remove capacity when a scaling policy is triggered. The default + * is false.

    + */ + inline bool DynamicScalingInSuspendedHasBeenSet() const { return m_dynamicScalingInSuspendedHasBeenSet; } + + /** + *

    Whether scale in by a target tracking scaling policy or a step scaling policy + * is suspended. Set the value to true if you don't want Application + * Auto Scaling to remove capacity when a scaling policy is triggered. The default + * is false.

    + */ + inline void SetDynamicScalingInSuspended(bool value) { m_dynamicScalingInSuspendedHasBeenSet = true; m_dynamicScalingInSuspended = value; } + + /** + *

    Whether scale in by a target tracking scaling policy or a step scaling policy + * is suspended. Set the value to true if you don't want Application + * Auto Scaling to remove capacity when a scaling policy is triggered. The default + * is false.

    + */ + inline SuspendedState& WithDynamicScalingInSuspended(bool value) { SetDynamicScalingInSuspended(value); return *this;} + + + /** + *

    Whether scale out by a target tracking scaling policy or a step scaling + * policy is suspended. Set the value to true if you don't want + * Application Auto Scaling to add capacity when a scaling policy is triggered. The + * default is false.

    + */ + inline bool GetDynamicScalingOutSuspended() const{ return m_dynamicScalingOutSuspended; } + + /** + *

    Whether scale out by a target tracking scaling policy or a step scaling + * policy is suspended. Set the value to true if you don't want + * Application Auto Scaling to add capacity when a scaling policy is triggered. The + * default is false.

    + */ + inline bool DynamicScalingOutSuspendedHasBeenSet() const { return m_dynamicScalingOutSuspendedHasBeenSet; } + + /** + *

    Whether scale out by a target tracking scaling policy or a step scaling + * policy is suspended. Set the value to true if you don't want + * Application Auto Scaling to add capacity when a scaling policy is triggered. The + * default is false.

    + */ + inline void SetDynamicScalingOutSuspended(bool value) { m_dynamicScalingOutSuspendedHasBeenSet = true; m_dynamicScalingOutSuspended = value; } + + /** + *

    Whether scale out by a target tracking scaling policy or a step scaling + * policy is suspended. Set the value to true if you don't want + * Application Auto Scaling to add capacity when a scaling policy is triggered. The + * default is false.

    + */ + inline SuspendedState& WithDynamicScalingOutSuspended(bool value) { SetDynamicScalingOutSuspended(value); return *this;} + + + /** + *

    Whether scheduled scaling is suspended. Set the value to true if + * you don't want Application Auto Scaling to add or remove capacity by initiating + * scheduled actions. The default is false.

    + */ + inline bool GetScheduledScalingSuspended() const{ return m_scheduledScalingSuspended; } + + /** + *

    Whether scheduled scaling is suspended. Set the value to true if + * you don't want Application Auto Scaling to add or remove capacity by initiating + * scheduled actions. The default is false.

    + */ + inline bool ScheduledScalingSuspendedHasBeenSet() const { return m_scheduledScalingSuspendedHasBeenSet; } + + /** + *

    Whether scheduled scaling is suspended. Set the value to true if + * you don't want Application Auto Scaling to add or remove capacity by initiating + * scheduled actions. The default is false.

    + */ + inline void SetScheduledScalingSuspended(bool value) { m_scheduledScalingSuspendedHasBeenSet = true; m_scheduledScalingSuspended = value; } + + /** + *

    Whether scheduled scaling is suspended. Set the value to true if + * you don't want Application Auto Scaling to add or remove capacity by initiating + * scheduled actions. The default is false.

    + */ + 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 diff --git a/aws-cpp-sdk-application-autoscaling/source/model/RegisterScalableTargetRequest.cpp b/aws-cpp-sdk-application-autoscaling/source/model/RegisterScalableTargetRequest.cpp index 7a7230b407d..8b511a92894 100644 --- a/aws-cpp-sdk-application-autoscaling/source/model/RegisterScalableTargetRequest.cpp +++ b/aws-cpp-sdk-application-autoscaling/source/model/RegisterScalableTargetRequest.cpp @@ -32,7 +32,8 @@ RegisterScalableTargetRequest::RegisterScalableTargetRequest() : m_minCapacityHasBeenSet(false), m_maxCapacity(0), m_maxCapacityHasBeenSet(false), - m_roleARNHasBeenSet(false) + m_roleARNHasBeenSet(false), + m_suspendedStateHasBeenSet(false) { } @@ -74,6 +75,12 @@ Aws::String RegisterScalableTargetRequest::SerializePayload() const } + if(m_suspendedStateHasBeenSet) + { + payload.WithObject("SuspendedState", m_suspendedState.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/aws-cpp-sdk-application-autoscaling/source/model/ScalableTarget.cpp b/aws-cpp-sdk-application-autoscaling/source/model/ScalableTarget.cpp index 036d24bb592..332c2fd9683 100644 --- a/aws-cpp-sdk-application-autoscaling/source/model/ScalableTarget.cpp +++ b/aws-cpp-sdk-application-autoscaling/source/model/ScalableTarget.cpp @@ -39,7 +39,8 @@ ScalableTarget::ScalableTarget() : m_maxCapacity(0), m_maxCapacityHasBeenSet(false), m_roleARNHasBeenSet(false), - m_creationTimeHasBeenSet(false) + m_creationTimeHasBeenSet(false), + m_suspendedStateHasBeenSet(false) { } @@ -54,7 +55,8 @@ ScalableTarget::ScalableTarget(JsonView jsonValue) : m_maxCapacity(0), m_maxCapacityHasBeenSet(false), m_roleARNHasBeenSet(false), - m_creationTimeHasBeenSet(false) + m_creationTimeHasBeenSet(false), + m_suspendedStateHasBeenSet(false) { *this = jsonValue; } @@ -110,6 +112,13 @@ ScalableTarget& ScalableTarget::operator =(JsonView jsonValue) m_creationTimeHasBeenSet = true; } + if(jsonValue.ValueExists("SuspendedState")) + { + m_suspendedState = jsonValue.GetObject("SuspendedState"); + + m_suspendedStateHasBeenSet = true; + } + return *this; } @@ -156,6 +165,12 @@ JsonValue ScalableTarget::Jsonize() const payload.WithDouble("CreationTime", m_creationTime.SecondsWithMSPrecision()); } + if(m_suspendedStateHasBeenSet) + { + payload.WithObject("SuspendedState", m_suspendedState.Jsonize()); + + } + return payload; } diff --git a/aws-cpp-sdk-application-autoscaling/source/model/SuspendedState.cpp b/aws-cpp-sdk-application-autoscaling/source/model/SuspendedState.cpp new file mode 100644 index 00000000000..746acbc2587 --- /dev/null +++ b/aws-cpp-sdk-application-autoscaling/source/model/SuspendedState.cpp @@ -0,0 +1,105 @@ +/* +* 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. +*/ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationAutoScaling +{ +namespace Model +{ + +SuspendedState::SuspendedState() : + m_dynamicScalingInSuspended(false), + m_dynamicScalingInSuspendedHasBeenSet(false), + m_dynamicScalingOutSuspended(false), + m_dynamicScalingOutSuspendedHasBeenSet(false), + m_scheduledScalingSuspended(false), + m_scheduledScalingSuspendedHasBeenSet(false) +{ +} + +SuspendedState::SuspendedState(JsonView jsonValue) : + m_dynamicScalingInSuspended(false), + m_dynamicScalingInSuspendedHasBeenSet(false), + m_dynamicScalingOutSuspended(false), + m_dynamicScalingOutSuspendedHasBeenSet(false), + m_scheduledScalingSuspended(false), + m_scheduledScalingSuspendedHasBeenSet(false) +{ + *this = jsonValue; +} + +SuspendedState& SuspendedState::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DynamicScalingInSuspended")) + { + m_dynamicScalingInSuspended = jsonValue.GetBool("DynamicScalingInSuspended"); + + m_dynamicScalingInSuspendedHasBeenSet = true; + } + + if(jsonValue.ValueExists("DynamicScalingOutSuspended")) + { + m_dynamicScalingOutSuspended = jsonValue.GetBool("DynamicScalingOutSuspended"); + + m_dynamicScalingOutSuspendedHasBeenSet = true; + } + + if(jsonValue.ValueExists("ScheduledScalingSuspended")) + { + m_scheduledScalingSuspended = jsonValue.GetBool("ScheduledScalingSuspended"); + + m_scheduledScalingSuspendedHasBeenSet = true; + } + + return *this; +} + +JsonValue SuspendedState::Jsonize() const +{ + JsonValue payload; + + if(m_dynamicScalingInSuspendedHasBeenSet) + { + payload.WithBool("DynamicScalingInSuspended", m_dynamicScalingInSuspended); + + } + + if(m_dynamicScalingOutSuspendedHasBeenSet) + { + payload.WithBool("DynamicScalingOutSuspended", m_dynamicScalingOutSuspended); + + } + + if(m_scheduledScalingSuspendedHasBeenSet) + { + payload.WithBool("ScheduledScalingSuspended", m_scheduledScalingSuspended); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationAutoScaling +} // namespace Aws diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h index 6e4a75baec3..d51832cce40 100644 --- a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h @@ -437,14 +437,22 @@ namespace Model virtual void CreateCustomActionTypeAsync(const Model::CreateCustomActionTypeRequest& request, const CreateCustomActionTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** - *

    Creates a pipeline.

    See Also:

    Creates a pipeline.

    In the pipeline structure, you must include + * either artifactStore or artifactStores in your + * pipeline, but you cannot use both. If you create a cross-region action in your + * pipeline, you must use artifactStores.

    See + * Also:

    AWS * API Reference

    */ virtual Model::CreatePipelineOutcome CreatePipeline(const Model::CreatePipelineRequest& request) const; /** - *

    Creates a pipeline.

    See Also:

    Creates a pipeline.

    In the pipeline structure, you must include + * either artifactStore or artifactStores in your + * pipeline, but you cannot use both. If you create a cross-region action in your + * pipeline, you must use artifactStores.

    See + * Also:

    AWS * API Reference

    * @@ -453,7 +461,11 @@ namespace Model virtual Model::CreatePipelineOutcomeCallable CreatePipelineCallable(const Model::CreatePipelineRequest& request) const; /** - *

    Creates a pipeline.

    See Also:

    Creates a pipeline.

    In the pipeline structure, you must include + * either artifactStore or artifactStores in your + * pipeline, but you cannot use both. If you create a cross-region action in your + * pipeline, you must use artifactStores.

    See + * Also:

    AWS * API Reference

    * diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ActionDeclaration.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ActionDeclaration.h index 44d0ef1cb8a..27253f9c30c 100644 --- a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ActionDeclaration.h +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ActionDeclaration.h @@ -95,32 +95,32 @@ namespace Model /** - *

    The configuration information for the action type.

    + *

    Specifies the action type and the provider of the action.

    */ inline const ActionTypeId& GetActionTypeId() const{ return m_actionTypeId; } /** - *

    The configuration information for the action type.

    + *

    Specifies the action type and the provider of the action.

    */ inline bool ActionTypeIdHasBeenSet() const { return m_actionTypeIdHasBeenSet; } /** - *

    The configuration information for the action type.

    + *

    Specifies the action type and the provider of the action.

    */ inline void SetActionTypeId(const ActionTypeId& value) { m_actionTypeIdHasBeenSet = true; m_actionTypeId = value; } /** - *

    The configuration information for the action type.

    + *

    Specifies the action type and the provider of the action.

    */ inline void SetActionTypeId(ActionTypeId&& value) { m_actionTypeIdHasBeenSet = true; m_actionTypeId = std::move(value); } /** - *

    The configuration information for the action type.

    + *

    Specifies the action type and the provider of the action.

    */ inline ActionDeclaration& WithActionTypeId(const ActionTypeId& value) { SetActionTypeId(value); return *this;} /** - *

    The configuration information for the action type.

    + *

    Specifies the action type and the provider of the action.

    */ inline ActionDeclaration& WithActionTypeId(ActionTypeId&& value) { SetActionTypeId(std::move(value)); return *this;} @@ -147,67 +147,236 @@ namespace Model /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline const Aws::Map& GetConfiguration() const{ return m_configuration; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline void SetConfiguration(const Aws::Map& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline void SetConfiguration(Aws::Map&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& WithConfiguration(const Aws::Map& value) { SetConfiguration(value); return *this;} /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& WithConfiguration(Aws::Map&& value) { SetConfiguration(std::move(value)); return *this;} /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& AddConfiguration(const Aws::String& key, const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, value); return *this; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& AddConfiguration(Aws::String&& key, const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration.emplace(std::move(key), value); return *this; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& AddConfiguration(const Aws::String& key, Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, std::move(value)); return *this; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& AddConfiguration(Aws::String&& key, Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration.emplace(std::move(key), std::move(value)); return *this; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& AddConfiguration(const char* key, Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, std::move(value)); return *this; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& AddConfiguration(Aws::String&& key, const char* value) { m_configurationHasBeenSet = true; m_configuration.emplace(std::move(key), value); return *this; } /** - *

    The action declaration's configuration.

    + *

    The action's configuration. These are key-value pairs that specify input + * values for an action. For more information, see Action + * Structure Requirements in CodePipeline. For the list of configuration + * properties for the AWS CloudFormation action type in CodePipeline, see Configuration + * Properties Reference in the AWS CloudFormation User Guide. For + * template snippets with examples, see Using + * Parameter Override Functions with CodePipeline Pipelines in the AWS + * CloudFormation User Guide.

    The values can be represented in either + * JSON or YAML format. For example, the JSON configuration item format is as + * follows:

    JSON:

    "Configuration" : { Key : Value + * },

    */ inline ActionDeclaration& AddConfiguration(const char* key, const char* value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, value); return *this; } diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ArtifactStore.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ArtifactStore.h index 41255bc9a0d..a9f160b33e0 100644 --- a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ArtifactStore.h +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ArtifactStore.h @@ -36,8 +36,11 @@ namespace Model { /** - *

    The Amazon S3 bucket where artifacts are stored for the - * pipeline.

    See Also:

    The Amazon S3 bucket where artifacts are stored for the pipeline.

    + *

    You must include either artifactStore or + * artifactStores in your pipeline, but you cannot use both. If you + * create a cross-region action in your pipeline, you must use + * artifactStores.

    See Also:

    AWS * API Reference

    */ diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/EncryptionKey.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/EncryptionKey.h index dc65068fb73..8caf493d0c1 100644 --- a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/EncryptionKey.h +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/EncryptionKey.h @@ -51,50 +51,66 @@ namespace Model /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline const Aws::String& GetId() const{ return m_id; } /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline EncryptionKey& WithId(const Aws::String& value) { SetId(value); return *this;} /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline EncryptionKey& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** - *

    The ID used to identify the key. For an AWS KMS key, this is the key ID or - * key ARN.

    + *

    The ID used to identify the key. For an AWS KMS key, you can use the key ID, + * the key ARN, or the alias ARN.

    Aliases are recognized only in the + * account that created the customer master key (CMK). For cross-account actions, + * you can only use the key ID or key ARN to identify the key.

    */ inline EncryptionKey& WithId(const char* value) { SetId(value); return *this;} diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ExecutionTrigger.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ExecutionTrigger.h new file mode 100644 index 00000000000..238fa59acb6 --- /dev/null +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/ExecutionTrigger.h @@ -0,0 +1,156 @@ +/* +* 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 +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CodePipeline +{ +namespace Model +{ + + /** + *

    The interaction or event that started a pipeline execution.

    See + * Also:

    AWS + * API Reference

    + */ + class AWS_CODEPIPELINE_API ExecutionTrigger + { + public: + ExecutionTrigger(); + ExecutionTrigger(Aws::Utils::Json::JsonView jsonValue); + ExecutionTrigger& operator=(Aws::Utils::Json::JsonView jsonValue); + Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

    The type of change-detection method, command, or user interaction that + * started a pipeline execution.

    + */ + inline const TriggerType& GetTriggerType() const{ return m_triggerType; } + + /** + *

    The type of change-detection method, command, or user interaction that + * started a pipeline execution.

    + */ + inline bool TriggerTypeHasBeenSet() const { return m_triggerTypeHasBeenSet; } + + /** + *

    The type of change-detection method, command, or user interaction that + * started a pipeline execution.

    + */ + inline void SetTriggerType(const TriggerType& value) { m_triggerTypeHasBeenSet = true; m_triggerType = value; } + + /** + *

    The type of change-detection method, command, or user interaction that + * started a pipeline execution.

    + */ + inline void SetTriggerType(TriggerType&& value) { m_triggerTypeHasBeenSet = true; m_triggerType = std::move(value); } + + /** + *

    The type of change-detection method, command, or user interaction that + * started a pipeline execution.

    + */ + inline ExecutionTrigger& WithTriggerType(const TriggerType& value) { SetTriggerType(value); return *this;} + + /** + *

    The type of change-detection method, command, or user interaction that + * started a pipeline execution.

    + */ + inline ExecutionTrigger& WithTriggerType(TriggerType&& value) { SetTriggerType(std::move(value)); return *this;} + + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline const Aws::String& GetTriggerDetail() const{ return m_triggerDetail; } + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline bool TriggerDetailHasBeenSet() const { return m_triggerDetailHasBeenSet; } + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline void SetTriggerDetail(const Aws::String& value) { m_triggerDetailHasBeenSet = true; m_triggerDetail = value; } + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline void SetTriggerDetail(Aws::String&& value) { m_triggerDetailHasBeenSet = true; m_triggerDetail = std::move(value); } + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline void SetTriggerDetail(const char* value) { m_triggerDetailHasBeenSet = true; m_triggerDetail.assign(value); } + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline ExecutionTrigger& WithTriggerDetail(const Aws::String& value) { SetTriggerDetail(value); return *this;} + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline ExecutionTrigger& WithTriggerDetail(Aws::String&& value) { SetTriggerDetail(std::move(value)); return *this;} + + /** + *

    Detail related to the event that started a pipeline execution, such as the + * webhook ARN of the webhook that triggered the pipeline execution or the user ARN + * for a user-initiated start-pipeline-execution CLI command.

    + */ + inline ExecutionTrigger& WithTriggerDetail(const char* value) { SetTriggerDetail(value); return *this;} + + private: + + TriggerType m_triggerType; + bool m_triggerTypeHasBeenSet; + + Aws::String m_triggerDetail; + bool m_triggerDetailHasBeenSet; + }; + +} // namespace Model +} // namespace CodePipeline +} // namespace Aws diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineDeclaration.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineDeclaration.h index f2474ebc77d..b426f298fa2 100644 --- a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineDeclaration.h +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineDeclaration.h @@ -152,37 +152,55 @@ namespace Model /** *

    Represents information about the Amazon S3 bucket where artifacts are stored - * for the pipeline.

    + * for the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline const ArtifactStore& GetArtifactStore() const{ return m_artifactStore; } /** *

    Represents information about the Amazon S3 bucket where artifacts are stored - * for the pipeline.

    + * for the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline bool ArtifactStoreHasBeenSet() const { return m_artifactStoreHasBeenSet; } /** *

    Represents information about the Amazon S3 bucket where artifacts are stored - * for the pipeline.

    + * for the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline void SetArtifactStore(const ArtifactStore& value) { m_artifactStoreHasBeenSet = true; m_artifactStore = value; } /** *

    Represents information about the Amazon S3 bucket where artifacts are stored - * for the pipeline.

    + * for the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline void SetArtifactStore(ArtifactStore&& value) { m_artifactStoreHasBeenSet = true; m_artifactStore = std::move(value); } /** *

    Represents information about the Amazon S3 bucket where artifacts are stored - * for the pipeline.

    + * for the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& WithArtifactStore(const ArtifactStore& value) { SetArtifactStore(value); return *this;} /** *

    Represents information about the Amazon S3 bucket where artifacts are stored - * for the pipeline.

    + * for the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& WithArtifactStore(ArtifactStore&& value) { SetArtifactStore(std::move(value)); return *this;} @@ -190,120 +208,120 @@ namespace Model /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline const Aws::Map& GetArtifactStores() const{ return m_artifactStores; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline bool ArtifactStoresHasBeenSet() const { return m_artifactStoresHasBeenSet; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline void SetArtifactStores(const Aws::Map& value) { m_artifactStoresHasBeenSet = true; m_artifactStores = value; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline void SetArtifactStores(Aws::Map&& value) { m_artifactStoresHasBeenSet = true; m_artifactStores = std::move(value); } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& WithArtifactStores(const Aws::Map& value) { SetArtifactStores(value); return *this;} /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& WithArtifactStores(Aws::Map&& value) { SetArtifactStores(std::move(value)); return *this;} /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& AddArtifactStores(const Aws::String& key, const ArtifactStore& value) { m_artifactStoresHasBeenSet = true; m_artifactStores.emplace(key, value); return *this; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& AddArtifactStores(Aws::String&& key, const ArtifactStore& value) { m_artifactStoresHasBeenSet = true; m_artifactStores.emplace(std::move(key), value); return *this; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& AddArtifactStores(const Aws::String& key, ArtifactStore&& value) { m_artifactStoresHasBeenSet = true; m_artifactStores.emplace(key, std::move(value)); return *this; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& AddArtifactStores(Aws::String&& key, ArtifactStore&& value) { m_artifactStoresHasBeenSet = true; m_artifactStores.emplace(std::move(key), std::move(value)); return *this; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& AddArtifactStores(const char* key, ArtifactStore&& value) { m_artifactStoresHasBeenSet = true; m_artifactStores.emplace(key, std::move(value)); return *this; } /** *

    A mapping of artifactStore objects and their corresponding * regions. There must be an artifact store for the pipeline region and for each - * cross-region action within the pipeline. You can only use either - * artifactStore or artifactStores, not both.

    If - * you create a cross-region action in your pipeline, you must use - * artifactStores.

    + * cross-region action within the pipeline.

    You must include either + * artifactStore or artifactStores in your pipeline, but + * you cannot use both. If you create a cross-region action in your pipeline, you + * must use artifactStores.

    */ inline PipelineDeclaration& AddArtifactStores(const char* key, const ArtifactStore& value) { m_artifactStoresHasBeenSet = true; m_artifactStores.emplace(key, value); return *this; } diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineExecutionSummary.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineExecutionSummary.h index 5775f5ec511..da046b30a1b 100644 --- a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineExecutionSummary.h +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/PipelineExecutionSummary.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -275,6 +276,43 @@ namespace Model */ inline PipelineExecutionSummary& AddSourceRevisions(SourceRevision&& value) { m_sourceRevisionsHasBeenSet = true; m_sourceRevisions.push_back(std::move(value)); return *this; } + + /** + *

    The interaction or event that started a pipeline execution, such as automated + * change detection or a StartPipelineExecution API call.

    + */ + inline const ExecutionTrigger& GetTrigger() const{ return m_trigger; } + + /** + *

    The interaction or event that started a pipeline execution, such as automated + * change detection or a StartPipelineExecution API call.

    + */ + inline bool TriggerHasBeenSet() const { return m_triggerHasBeenSet; } + + /** + *

    The interaction or event that started a pipeline execution, such as automated + * change detection or a StartPipelineExecution API call.

    + */ + inline void SetTrigger(const ExecutionTrigger& value) { m_triggerHasBeenSet = true; m_trigger = value; } + + /** + *

    The interaction or event that started a pipeline execution, such as automated + * change detection or a StartPipelineExecution API call.

    + */ + inline void SetTrigger(ExecutionTrigger&& value) { m_triggerHasBeenSet = true; m_trigger = std::move(value); } + + /** + *

    The interaction or event that started a pipeline execution, such as automated + * change detection or a StartPipelineExecution API call.

    + */ + inline PipelineExecutionSummary& WithTrigger(const ExecutionTrigger& value) { SetTrigger(value); return *this;} + + /** + *

    The interaction or event that started a pipeline execution, such as automated + * change detection or a StartPipelineExecution API call.

    + */ + inline PipelineExecutionSummary& WithTrigger(ExecutionTrigger&& value) { SetTrigger(std::move(value)); return *this;} + private: Aws::String m_pipelineExecutionId; @@ -291,6 +329,9 @@ namespace Model Aws::Vector m_sourceRevisions; bool m_sourceRevisionsHasBeenSet; + + ExecutionTrigger m_trigger; + bool m_triggerHasBeenSet; }; } // namespace Model diff --git a/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/TriggerType.h b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/TriggerType.h new file mode 100644 index 00000000000..85a8660c9bb --- /dev/null +++ b/aws-cpp-sdk-codepipeline/include/aws/codepipeline/model/TriggerType.h @@ -0,0 +1,45 @@ +/* +* 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 +#include + +namespace Aws +{ +namespace CodePipeline +{ +namespace Model +{ + enum class TriggerType + { + NOT_SET, + CreatePipeline, + StartPipelineExecution, + PollForSourceChanges, + Webhook, + CloudWatchEvent, + PutActionRevision + }; + +namespace TriggerTypeMapper +{ +AWS_CODEPIPELINE_API TriggerType GetTriggerTypeForName(const Aws::String& name); + +AWS_CODEPIPELINE_API Aws::String GetNameForTriggerType(TriggerType value); +} // namespace TriggerTypeMapper +} // namespace Model +} // namespace CodePipeline +} // namespace Aws diff --git a/aws-cpp-sdk-codepipeline/source/model/ExecutionTrigger.cpp b/aws-cpp-sdk-codepipeline/source/model/ExecutionTrigger.cpp new file mode 100644 index 00000000000..25a0d8a8de9 --- /dev/null +++ b/aws-cpp-sdk-codepipeline/source/model/ExecutionTrigger.cpp @@ -0,0 +1,85 @@ +/* +* 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. +*/ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CodePipeline +{ +namespace Model +{ + +ExecutionTrigger::ExecutionTrigger() : + m_triggerType(TriggerType::NOT_SET), + m_triggerTypeHasBeenSet(false), + m_triggerDetailHasBeenSet(false) +{ +} + +ExecutionTrigger::ExecutionTrigger(JsonView jsonValue) : + m_triggerType(TriggerType::NOT_SET), + m_triggerTypeHasBeenSet(false), + m_triggerDetailHasBeenSet(false) +{ + *this = jsonValue; +} + +ExecutionTrigger& ExecutionTrigger::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("triggerType")) + { + m_triggerType = TriggerTypeMapper::GetTriggerTypeForName(jsonValue.GetString("triggerType")); + + m_triggerTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("triggerDetail")) + { + m_triggerDetail = jsonValue.GetString("triggerDetail"); + + m_triggerDetailHasBeenSet = true; + } + + return *this; +} + +JsonValue ExecutionTrigger::Jsonize() const +{ + JsonValue payload; + + if(m_triggerTypeHasBeenSet) + { + payload.WithString("triggerType", TriggerTypeMapper::GetNameForTriggerType(m_triggerType)); + } + + if(m_triggerDetailHasBeenSet) + { + payload.WithString("triggerDetail", m_triggerDetail); + + } + + return payload; +} + +} // namespace Model +} // namespace CodePipeline +} // namespace Aws diff --git a/aws-cpp-sdk-codepipeline/source/model/PipelineExecutionSummary.cpp b/aws-cpp-sdk-codepipeline/source/model/PipelineExecutionSummary.cpp index 511488c1ccc..fe30e42ba3a 100644 --- a/aws-cpp-sdk-codepipeline/source/model/PipelineExecutionSummary.cpp +++ b/aws-cpp-sdk-codepipeline/source/model/PipelineExecutionSummary.cpp @@ -34,7 +34,8 @@ PipelineExecutionSummary::PipelineExecutionSummary() : m_statusHasBeenSet(false), m_startTimeHasBeenSet(false), m_lastUpdateTimeHasBeenSet(false), - m_sourceRevisionsHasBeenSet(false) + m_sourceRevisionsHasBeenSet(false), + m_triggerHasBeenSet(false) { } @@ -44,7 +45,8 @@ PipelineExecutionSummary::PipelineExecutionSummary(JsonView jsonValue) : m_statusHasBeenSet(false), m_startTimeHasBeenSet(false), m_lastUpdateTimeHasBeenSet(false), - m_sourceRevisionsHasBeenSet(false) + m_sourceRevisionsHasBeenSet(false), + m_triggerHasBeenSet(false) { *this = jsonValue; } @@ -89,6 +91,13 @@ PipelineExecutionSummary& PipelineExecutionSummary::operator =(JsonView jsonValu m_sourceRevisionsHasBeenSet = true; } + if(jsonValue.ValueExists("trigger")) + { + m_trigger = jsonValue.GetObject("trigger"); + + m_triggerHasBeenSet = true; + } + return *this; } @@ -128,6 +137,12 @@ JsonValue PipelineExecutionSummary::Jsonize() const } + if(m_triggerHasBeenSet) + { + payload.WithObject("trigger", m_trigger.Jsonize()); + + } + return payload; } diff --git a/aws-cpp-sdk-codepipeline/source/model/TriggerType.cpp b/aws-cpp-sdk-codepipeline/source/model/TriggerType.cpp new file mode 100644 index 00000000000..fb5753cbe71 --- /dev/null +++ b/aws-cpp-sdk-codepipeline/source/model/TriggerType.cpp @@ -0,0 +1,108 @@ +/* +* 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. +*/ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CodePipeline + { + namespace Model + { + namespace TriggerTypeMapper + { + + static const int CreatePipeline_HASH = HashingUtils::HashString("CreatePipeline"); + static const int StartPipelineExecution_HASH = HashingUtils::HashString("StartPipelineExecution"); + static const int PollForSourceChanges_HASH = HashingUtils::HashString("PollForSourceChanges"); + static const int Webhook_HASH = HashingUtils::HashString("Webhook"); + static const int CloudWatchEvent_HASH = HashingUtils::HashString("CloudWatchEvent"); + static const int PutActionRevision_HASH = HashingUtils::HashString("PutActionRevision"); + + + TriggerType GetTriggerTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CreatePipeline_HASH) + { + return TriggerType::CreatePipeline; + } + else if (hashCode == StartPipelineExecution_HASH) + { + return TriggerType::StartPipelineExecution; + } + else if (hashCode == PollForSourceChanges_HASH) + { + return TriggerType::PollForSourceChanges; + } + else if (hashCode == Webhook_HASH) + { + return TriggerType::Webhook; + } + else if (hashCode == CloudWatchEvent_HASH) + { + return TriggerType::CloudWatchEvent; + } + else if (hashCode == PutActionRevision_HASH) + { + return TriggerType::PutActionRevision; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TriggerType::NOT_SET; + } + + Aws::String GetNameForTriggerType(TriggerType enumValue) + { + switch(enumValue) + { + case TriggerType::CreatePipeline: + return "CreatePipeline"; + case TriggerType::StartPipelineExecution: + return "StartPipelineExecution"; + case TriggerType::PollForSourceChanges: + return "PollForSourceChanges"; + case TriggerType::Webhook: + return "Webhook"; + case TriggerType::CloudWatchEvent: + return "CloudWatchEvent"; + case TriggerType::PutActionRevision: + return "PutActionRevision"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TriggerTypeMapper + } // namespace Model + } // namespace CodePipeline +} // namespace Aws diff --git a/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 74d11c2e871..2fe486110bc 100644 --- a/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -13,4 +13,4 @@ * permissions and limitations under the License. */ -#define AWS_SDK_VERSION_STRING "1.7.172" +#define AWS_SDK_VERSION_STRING "1.7.173" diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index 31e0d0552cb..4d25337a56c 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -396,12 +396,12 @@ namespace Model /** *

    Runs and maintains a desired number of tasks from a specified task * definition. If the number of tasks running in a service drops below the - * desiredCount, Amazon ECS spawns another copy of the task in the + * desiredCount, Amazon ECS runs another copy of the task in the * specified cluster. To update an existing service, see UpdateService.

    *

    In addition to maintaining the desired count of tasks in your service, you - * can optionally run your service behind a load balancer. The load balancer - * distributes traffic across the tasks that are associated with the service. For - * more information, see Service * Load Balancing in the Amazon Elastic Container Service Developer * Guide.

    Tasks for services that do not use a load balancer are @@ -493,12 +493,12 @@ namespace Model /** *

    Runs and maintains a desired number of tasks from a specified task * definition. If the number of tasks running in a service drops below the - * desiredCount, Amazon ECS spawns another copy of the task in the + * desiredCount, Amazon ECS runs another copy of the task in the * specified cluster. To update an existing service, see UpdateService.

    *

    In addition to maintaining the desired count of tasks in your service, you - * can optionally run your service behind a load balancer. The load balancer - * distributes traffic across the tasks that are associated with the service. For - * more information, see Service * Load Balancing in the Amazon Elastic Container Service Developer * Guide.

    Tasks for services that do not use a load balancer are @@ -592,12 +592,12 @@ namespace Model /** *

    Runs and maintains a desired number of tasks from a specified task * definition. If the number of tasks running in a service drops below the - * desiredCount, Amazon ECS spawns another copy of the task in the + * desiredCount, Amazon ECS runs another copy of the task in the * specified cluster. To update an existing service, see UpdateService.

    *

    In addition to maintaining the desired count of tasks in your service, you - * can optionally run your service behind a load balancer. The load balancer - * distributes traffic across the tasks that are associated with the service. For - * more information, see Service * Load Balancing in the Amazon Elastic Container Service Developer * Guide.

    Tasks for services that do not use a load balancer are diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/model/Container.h b/aws-cpp-sdk-ecs/include/aws/ecs/model/Container.h index b7d614ecd67..1d8d74632f5 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/model/Container.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/model/Container.h @@ -174,6 +174,47 @@ namespace Model inline Container& WithName(const char* value) { SetName(value); return *this;} + /** + *

    The ID of the Docker container.

    + */ + inline const Aws::String& GetRuntimeId() const{ return m_runtimeId; } + + /** + *

    The ID of the Docker container.

    + */ + inline bool RuntimeIdHasBeenSet() const { return m_runtimeIdHasBeenSet; } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(const Aws::String& value) { m_runtimeIdHasBeenSet = true; m_runtimeId = value; } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(Aws::String&& value) { m_runtimeIdHasBeenSet = true; m_runtimeId = std::move(value); } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(const char* value) { m_runtimeIdHasBeenSet = true; m_runtimeId.assign(value); } + + /** + *

    The ID of the Docker container.

    + */ + inline Container& WithRuntimeId(const Aws::String& value) { SetRuntimeId(value); return *this;} + + /** + *

    The ID of the Docker container.

    + */ + inline Container& WithRuntimeId(Aws::String&& value) { SetRuntimeId(std::move(value)); return *this;} + + /** + *

    The ID of the Docker container.

    + */ + inline Container& WithRuntimeId(const char* value) { SetRuntimeId(value); return *this;} + + /** *

    The last known status of the container.

    */ @@ -605,6 +646,9 @@ namespace Model Aws::String m_name; bool m_nameHasBeenSet; + Aws::String m_runtimeId; + bool m_runtimeIdHasBeenSet; + Aws::String m_lastStatus; bool m_lastStatusHasBeenSet; diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h b/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h index 4e0b34709e1..9c16f60c786 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h @@ -2276,11 +2276,11 @@ namespace Model /** - *

    Time duration to wait before giving up on resolving dependencies for a - * container. For example, you specify two containers in a task definition with - * containerA having a dependency on containerB reaching a COMPLETE, - * SUCCESS, or HEALTHY status. If a - * startTimeout value is specified for containerB and it does not + *

    Time duration (in seconds) to wait before giving up on resolving dependencies + * for a container. For example, you specify two containers in a task definition + * with containerA having a dependency on containerB reaching a + * COMPLETE, SUCCESS, or HEALTHY status. If + * a startTimeout value is specified for containerB and it does not * reach the desired status within that time then containerA will give up and not * start. This results in the task transitioning to a STOPPED * state.

    For tasks using the EC2 launch type, the container instances @@ -2304,11 +2304,11 @@ namespace Model inline int GetStartTimeout() const{ return m_startTimeout; } /** - *

    Time duration to wait before giving up on resolving dependencies for a - * container. For example, you specify two containers in a task definition with - * containerA having a dependency on containerB reaching a COMPLETE, - * SUCCESS, or HEALTHY status. If a - * startTimeout value is specified for containerB and it does not + *

    Time duration (in seconds) to wait before giving up on resolving dependencies + * for a container. For example, you specify two containers in a task definition + * with containerA having a dependency on containerB reaching a + * COMPLETE, SUCCESS, or HEALTHY status. If + * a startTimeout value is specified for containerB and it does not * reach the desired status within that time then containerA will give up and not * start. This results in the task transitioning to a STOPPED * state.

    For tasks using the EC2 launch type, the container instances @@ -2332,11 +2332,11 @@ namespace Model inline bool StartTimeoutHasBeenSet() const { return m_startTimeoutHasBeenSet; } /** - *

    Time duration to wait before giving up on resolving dependencies for a - * container. For example, you specify two containers in a task definition with - * containerA having a dependency on containerB reaching a COMPLETE, - * SUCCESS, or HEALTHY status. If a - * startTimeout value is specified for containerB and it does not + *

    Time duration (in seconds) to wait before giving up on resolving dependencies + * for a container. For example, you specify two containers in a task definition + * with containerA having a dependency on containerB reaching a + * COMPLETE, SUCCESS, or HEALTHY status. If + * a startTimeout value is specified for containerB and it does not * reach the desired status within that time then containerA will give up and not * start. This results in the task transitioning to a STOPPED * state.

    For tasks using the EC2 launch type, the container instances @@ -2360,11 +2360,11 @@ namespace Model inline void SetStartTimeout(int value) { m_startTimeoutHasBeenSet = true; m_startTimeout = value; } /** - *

    Time duration to wait before giving up on resolving dependencies for a - * container. For example, you specify two containers in a task definition with - * containerA having a dependency on containerB reaching a COMPLETE, - * SUCCESS, or HEALTHY status. If a - * startTimeout value is specified for containerB and it does not + *

    Time duration (in seconds) to wait before giving up on resolving dependencies + * for a container. For example, you specify two containers in a task definition + * with containerA having a dependency on containerB reaching a + * COMPLETE, SUCCESS, or HEALTHY status. If + * a startTimeout value is specified for containerB and it does not * reach the desired status within that time then containerA will give up and not * start. This results in the task transitioning to a STOPPED * state.

    For tasks using the EC2 launch type, the container instances @@ -2389,17 +2389,17 @@ namespace Model /** - *

    Time duration to wait before the container is forcefully killed if it doesn't - * exit normally on its own. For tasks using the Fargate launch type, the max - * stopTimeout value is 2 minutes. This parameter is available for - * tasks using the Fargate launch type in the Ohio (us-east-2) region only and the - * task or service requires platform version 1.3.0 or later.

    For tasks using - * the EC2 launch type, the stop timeout value for the container takes precedence - * over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration - * parameter, if used. Container instances require at least version 1.26.0 of the - * container agent to enable a container stop timeout value. However, we recommend - * using the latest container agent version. For information about checking your - * agent version and updating to the latest version, see Time duration (in seconds) to wait before the container is forcefully killed + * if it doesn't exit normally on its own. For tasks using the Fargate launch type, + * the max stopTimeout value is 2 minutes. This parameter is available + * for tasks using the Fargate launch type in the Ohio (us-east-2) region only and + * the task or service requires platform version 1.3.0 or later.

    For tasks + * using the EC2 launch type, the stop timeout value for the container takes + * precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent + * configuration parameter, if used. Container instances require at least version + * 1.26.0 of the container agent to enable a container stop timeout value. However, + * we recommend using the latest container agent version. For information about + * checking your agent version and updating to the latest version, see Updating * the Amazon ECS Container Agent in the Amazon Elastic Container Service * Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your @@ -2414,17 +2414,17 @@ namespace Model inline int GetStopTimeout() const{ return m_stopTimeout; } /** - *

    Time duration to wait before the container is forcefully killed if it doesn't - * exit normally on its own. For tasks using the Fargate launch type, the max - * stopTimeout value is 2 minutes. This parameter is available for - * tasks using the Fargate launch type in the Ohio (us-east-2) region only and the - * task or service requires platform version 1.3.0 or later.

    For tasks using - * the EC2 launch type, the stop timeout value for the container takes precedence - * over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration - * parameter, if used. Container instances require at least version 1.26.0 of the - * container agent to enable a container stop timeout value. However, we recommend - * using the latest container agent version. For information about checking your - * agent version and updating to the latest version, see Time duration (in seconds) to wait before the container is forcefully killed + * if it doesn't exit normally on its own. For tasks using the Fargate launch type, + * the max stopTimeout value is 2 minutes. This parameter is available + * for tasks using the Fargate launch type in the Ohio (us-east-2) region only and + * the task or service requires platform version 1.3.0 or later.

    For tasks + * using the EC2 launch type, the stop timeout value for the container takes + * precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent + * configuration parameter, if used. Container instances require at least version + * 1.26.0 of the container agent to enable a container stop timeout value. However, + * we recommend using the latest container agent version. For information about + * checking your agent version and updating to the latest version, see Updating * the Amazon ECS Container Agent in the Amazon Elastic Container Service * Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your @@ -2439,17 +2439,17 @@ namespace Model inline bool StopTimeoutHasBeenSet() const { return m_stopTimeoutHasBeenSet; } /** - *

    Time duration to wait before the container is forcefully killed if it doesn't - * exit normally on its own. For tasks using the Fargate launch type, the max - * stopTimeout value is 2 minutes. This parameter is available for - * tasks using the Fargate launch type in the Ohio (us-east-2) region only and the - * task or service requires platform version 1.3.0 or later.

    For tasks using - * the EC2 launch type, the stop timeout value for the container takes precedence - * over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration - * parameter, if used. Container instances require at least version 1.26.0 of the - * container agent to enable a container stop timeout value. However, we recommend - * using the latest container agent version. For information about checking your - * agent version and updating to the latest version, see Time duration (in seconds) to wait before the container is forcefully killed + * if it doesn't exit normally on its own. For tasks using the Fargate launch type, + * the max stopTimeout value is 2 minutes. This parameter is available + * for tasks using the Fargate launch type in the Ohio (us-east-2) region only and + * the task or service requires platform version 1.3.0 or later.

    For tasks + * using the EC2 launch type, the stop timeout value for the container takes + * precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent + * configuration parameter, if used. Container instances require at least version + * 1.26.0 of the container agent to enable a container stop timeout value. However, + * we recommend using the latest container agent version. For information about + * checking your agent version and updating to the latest version, see Updating * the Amazon ECS Container Agent in the Amazon Elastic Container Service * Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your @@ -2464,17 +2464,17 @@ namespace Model inline void SetStopTimeout(int value) { m_stopTimeoutHasBeenSet = true; m_stopTimeout = value; } /** - *

    Time duration to wait before the container is forcefully killed if it doesn't - * exit normally on its own. For tasks using the Fargate launch type, the max - * stopTimeout value is 2 minutes. This parameter is available for - * tasks using the Fargate launch type in the Ohio (us-east-2) region only and the - * task or service requires platform version 1.3.0 or later.

    For tasks using - * the EC2 launch type, the stop timeout value for the container takes precedence - * over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration - * parameter, if used. Container instances require at least version 1.26.0 of the - * container agent to enable a container stop timeout value. However, we recommend - * using the latest container agent version. For information about checking your - * agent version and updating to the latest version, see Time duration (in seconds) to wait before the container is forcefully killed + * if it doesn't exit normally on its own. For tasks using the Fargate launch type, + * the max stopTimeout value is 2 minutes. This parameter is available + * for tasks using the Fargate launch type in the Ohio (us-east-2) region only and + * the task or service requires platform version 1.3.0 or later.

    For tasks + * using the EC2 launch type, the stop timeout value for the container takes + * precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent + * configuration parameter, if used. Container instances require at least version + * 1.26.0 of the container agent to enable a container stop timeout value. However, + * we recommend using the latest container agent version. For information about + * checking your agent version and updating to the latest version, see Updating * the Amazon ECS Container Agent in the Amazon Elastic Container Service * Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerStateChange.h b/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerStateChange.h index 712610075c1..ab2f38ee0b0 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerStateChange.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerStateChange.h @@ -91,6 +91,47 @@ namespace Model inline ContainerStateChange& WithContainerName(const char* value) { SetContainerName(value); return *this;} + /** + *

    The ID of the Docker container.

    + */ + inline const Aws::String& GetRuntimeId() const{ return m_runtimeId; } + + /** + *

    The ID of the Docker container.

    + */ + inline bool RuntimeIdHasBeenSet() const { return m_runtimeIdHasBeenSet; } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(const Aws::String& value) { m_runtimeIdHasBeenSet = true; m_runtimeId = value; } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(Aws::String&& value) { m_runtimeIdHasBeenSet = true; m_runtimeId = std::move(value); } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(const char* value) { m_runtimeIdHasBeenSet = true; m_runtimeId.assign(value); } + + /** + *

    The ID of the Docker container.

    + */ + inline ContainerStateChange& WithRuntimeId(const Aws::String& value) { SetRuntimeId(value); return *this;} + + /** + *

    The ID of the Docker container.

    + */ + inline ContainerStateChange& WithRuntimeId(Aws::String&& value) { SetRuntimeId(std::move(value)); return *this;} + + /** + *

    The ID of the Docker container.

    + */ + inline ContainerStateChange& WithRuntimeId(const char* value) { SetRuntimeId(value); return *this;} + + /** *

    The exit code for the container, if the state change is a result of the * container exiting.

    @@ -243,6 +284,9 @@ namespace Model Aws::String m_containerName; bool m_containerNameHasBeenSet; + Aws::String m_runtimeId; + bool m_runtimeIdHasBeenSet; + int m_exitCode; bool m_exitCodeHasBeenSet; diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h b/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h index c1fe43945b2..f6b0080e984 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h @@ -252,16 +252,20 @@ namespace Model /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -269,16 +273,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. @@ -290,16 +294,20 @@ namespace Model inline const Aws::Vector& GetLoadBalancers() const{ return m_loadBalancers; } /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -307,16 +315,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. @@ -328,16 +336,20 @@ namespace Model inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; } /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -345,16 +357,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. @@ -366,16 +378,20 @@ namespace Model inline void SetLoadBalancers(const Aws::Vector& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = value; } /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -383,16 +399,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. @@ -404,16 +420,20 @@ namespace Model inline void SetLoadBalancers(Aws::Vector&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = std::move(value); } /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -421,16 +441,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. @@ -442,16 +462,20 @@ namespace Model inline CreateServiceRequest& WithLoadBalancers(const Aws::Vector& value) { SetLoadBalancers(value); return *this;} /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -459,16 +483,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. @@ -480,16 +504,20 @@ namespace Model inline CreateServiceRequest& WithLoadBalancers(Aws::Vector&& value) { SetLoadBalancers(std::move(value)); return *this;} /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -497,16 +525,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. @@ -518,16 +546,20 @@ namespace Model inline CreateServiceRequest& AddLoadBalancers(const LoadBalancer& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(value); return *this; } /** - *

    A load balancer object representing the load balancer to use with your - * service.

    If the service is using the ECS deployment - * controller, you are limited to one load balancer or target group.

    If the - * service is using the CODE_DEPLOY deployment controller, the service - * is required to use either an Application Load Balancer or Network Load Balancer. - * When creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). During a deployment, AWS - * CodeDeploy determines which task set in your service has the status - * PRIMARY and associates one target group with it, and then - * associates the other target group with the replacement task set. The load + *

    A load balancer object representing the load balancers to use with your + * service. For more information, see Service + * Load Balancing in the Amazon Elastic Container Service Developer + * Guide.

    If the service is using the rolling update (ECS) + * deployment controller and using either an Application Load Balancer or Network + * Load Balancer, you can specify multiple target groups to attach to the + * service.

    If the service is using the CODE_DEPLOY deployment + * controller, the service is required to use either an Application Load Balancer + * or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you + * specify two target groups (referred to as a targetGroupPair). + * During a deployment, AWS CodeDeploy determines which task set in your service + * has the status PRIMARY and associates one target group with it, and + * then associates the other target group with the replacement task set. The load * balancer can also have up to two listeners: a required listener for production * traffic and an optional listener that allows you perform validation tests with * Lambda functions before routing production traffic to it.

    After you @@ -535,16 +567,16 @@ namespace Model * balancer name or target group ARN, container name, and container port specified * in the service definition are immutable. If you are using the * CODE_DEPLOY deployment controller, these values can be changed when - * updating the service.

    For Classic Load Balancers, this object must - * contain the load balancer name, the container name (as it appears in a container - * definition), and the container port to access from the load balancer. When a - * task from this service is placed on a container instance, the container instance - * is registered with the load balancer specified here.

    For Application Load - * Balancers and Network Load Balancers, this object must contain the load balancer - * target group ARN, the container name (as it appears in a container definition), - * and the container port to access from the load balancer. When a task from this - * service is placed on a container instance, the container instance and port - * combination is registered as a target in the target group specified here.

    + * updating the service.

    For Application Load Balancers and Network Load + * Balancers, this object must contain the load balancer target group ARN, the + * container name (as it appears in a container definition), and the container port + * to access from the load balancer. When a task from this service is placed on a + * container instance, the container instance and port combination is registered as + * a target in the target group specified here.

    For Classic Load Balancers, + * this object must contain the load balancer name, the container name (as it + * appears in a container definition), and the container port to access from the + * load balancer. When a task from this service is placed on a container instance, + * the container instance is registered with the load balancer specified here.

    *

    Services with tasks that use the awsvpc network mode (for * example, those with the Fargate launch type) only support Application Load * Balancers and Network Load Balancers. Classic Load Balancers are not supported. diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h b/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h index b910bb4d69e..95664a96e72 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h @@ -34,24 +34,9 @@ namespace Model { /** - *

    Details on a load balancer to be used with a service or task set.

    If - * the service is using the ECS deployment controller, you are limited - * to one load balancer or target group.

    If the service is using the - * CODE_DEPLOY deployment controller, the service is required to use - * either an Application Load Balancer or Network Load Balancer. When you are - * creating an AWS CodeDeploy deployment group, you specify two target groups - * (referred to as a targetGroupPair). Each target group binds to a - * separate task set in the deployment. The load balancer can also have up to two - * listeners, a required listener for production traffic and an optional listener - * that allows you to test new revisions of the service before routing production - * traffic to it.

    Services with tasks that use the awsvpc - * network mode (for example, those with the Fargate launch type) only support - * Application Load Balancers and Network Load Balancers. Classic Load Balancers - * are not supported. Also, when you create any target groups for these services, - * you must choose ip as the target type, not instance. - * Tasks that use the awsvpc network mode are associated with an - * elastic network interface, not an Amazon EC2 instance.

    See Also:

    - * AWS + *

    Details on the load balancer or load balancers to use with a service or task + * set.

    See Also:

    AWS * API Reference

    */ class AWS_ECS_API LoadBalancer @@ -66,201 +51,249 @@ namespace Model /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline const Aws::String& GetTargetGroupArn() const{ return m_targetGroupArn; } /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline bool TargetGroupArnHasBeenSet() const { return m_targetGroupArnHasBeenSet; } /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline void SetTargetGroupArn(const Aws::String& value) { m_targetGroupArnHasBeenSet = true; m_targetGroupArn = value; } /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline void SetTargetGroupArn(Aws::String&& value) { m_targetGroupArnHasBeenSet = true; m_targetGroupArn = std::move(value); } /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline void SetTargetGroupArn(const char* value) { m_targetGroupArnHasBeenSet = true; m_targetGroupArn.assign(value); } /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline LoadBalancer& WithTargetGroupArn(const Aws::String& value) { SetTargetGroupArn(value); return *this;} /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline LoadBalancer& WithTargetGroupArn(Aws::String&& value) { SetTargetGroupArn(std::move(value)); return *this;} /** *

    The full Amazon Resource Name (ARN) of the Elastic Load Balancing target * group or groups associated with a service or task set.

    A target group ARN - * is only specified when using an application load balancer or a network load - * balancer. If you are using a classic load balancer this should be omitted.

    - *

    For services using the ECS deployment controller, you are - * limited to one target group. For services using the CODE_DEPLOY - * deployment controller, you are required to define two target groups for the load - * balancer.

    If your service's task definition uses the - * awsvpc network mode (which is required for the Fargate launch + * is only specified when using an Application Load Balancer or Network Load + * Balancer. If you are using a Classic Load Balancer this should be omitted.

    + *

    For services using the ECS deployment controller, you can + * specify one or multiple target groups. For more information, see Registering + * Multiple Target Groups with a Service in the Amazon Elastic Container + * Service Developer Guide.

    For services using the + * CODE_DEPLOY deployment controller, you are required to define two + * target groups for the load balancer. For more information, see Blue/Green + * Deployment with CodeDeploy in the Amazon Elastic Container Service + * Developer Guide.

    If your service's task definition uses + * the awsvpc network mode (which is required for the Fargate launch * type), you must choose ip as the target type, not - * instance, because tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * instance, when creating your target groups because tasks that use + * the awsvpc network mode are associated with an elastic network + * interface, not an Amazon EC2 instance.

    */ inline LoadBalancer& WithTargetGroupArn(const char* value) { SetTargetGroupArn(value); return *this;} /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; } /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; } /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline void SetLoadBalancerName(const Aws::String& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = value; } /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline void SetLoadBalancerName(Aws::String&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::move(value); } /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline void SetLoadBalancerName(const char* value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName.assign(value); } /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline LoadBalancer& WithLoadBalancerName(const Aws::String& value) { SetLoadBalancerName(value); return *this;} /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline LoadBalancer& WithLoadBalancerName(Aws::String&& value) { SetLoadBalancerName(std::move(value)); return *this;} /** *

    The name of the load balancer to associate with the Amazon ECS service or - * task set.

    A load balancer name is only specified when using a classic - * load balancer. If you are using an application load balancer or a network load - * balancer this should be omitted.

    + * task set.

    A load balancer name is only specified when using a Classic + * Load Balancer. If you are using an Application Load Balancer or a Network Load + * Balancer this should be omitted.

    */ inline LoadBalancer& WithLoadBalancerName(const char* value) { SetLoadBalancerName(value); return *this;} @@ -316,33 +349,37 @@ namespace Model /** *

    The port on the container to associate with the load balancer. This port must - * correspond to a containerPort in the service's task definition. - * Your container instances must allow ingress traffic on the hostPort - * of the port mapping.

    + * correspond to a containerPort in the task definition the tasks in + * the service are using. For tasks that use the EC2 launch type, the container + * instance they are launched on must allow ingress traffic on the + * hostPort of the port mapping.

    */ inline int GetContainerPort() const{ return m_containerPort; } /** *

    The port on the container to associate with the load balancer. This port must - * correspond to a containerPort in the service's task definition. - * Your container instances must allow ingress traffic on the hostPort - * of the port mapping.

    + * correspond to a containerPort in the task definition the tasks in + * the service are using. For tasks that use the EC2 launch type, the container + * instance they are launched on must allow ingress traffic on the + * hostPort of the port mapping.

    */ inline bool ContainerPortHasBeenSet() const { return m_containerPortHasBeenSet; } /** *

    The port on the container to associate with the load balancer. This port must - * correspond to a containerPort in the service's task definition. - * Your container instances must allow ingress traffic on the hostPort - * of the port mapping.

    + * correspond to a containerPort in the task definition the tasks in + * the service are using. For tasks that use the EC2 launch type, the container + * instance they are launched on must allow ingress traffic on the + * hostPort of the port mapping.

    */ inline void SetContainerPort(int value) { m_containerPortHasBeenSet = true; m_containerPort = value; } /** *

    The port on the container to associate with the load balancer. This port must - * correspond to a containerPort in the service's task definition. - * Your container instances must allow ingress traffic on the hostPort - * of the port mapping.

    + * correspond to a containerPort in the task definition the tasks in + * the service are using. For tasks that use the EC2 launch type, the container + * instance they are launched on must allow ingress traffic on the + * hostPort of the port mapping.

    */ inline LoadBalancer& WithContainerPort(int value) { SetContainerPort(value); return *this;} diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h b/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h index ac685027e04..65c37c288c6 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h @@ -245,112 +245,56 @@ namespace Model /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline const Aws::Vector& GetLoadBalancers() const{ return m_loadBalancers; } /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; } /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline void SetLoadBalancers(const Aws::Vector& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = value; } /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline void SetLoadBalancers(Aws::Vector&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = std::move(value); } /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline Service& WithLoadBalancers(const Aws::Vector& value) { SetLoadBalancers(value); return *this;} /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline Service& WithLoadBalancers(Aws::Vector&& value) { SetLoadBalancers(std::move(value)); return *this;} /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline Service& AddLoadBalancers(const LoadBalancer& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(value); return *this; } /** *

    A list of Elastic Load Balancing load balancer objects, containing the load * balancer name, the container name (as it appears in a container definition), and - * the container port to access from the load balancer.

    Services with tasks - * that use the awsvpc network mode (for example, those with the - * Fargate launch type) only support Application Load Balancers and Network Load - * Balancers. Classic Load Balancers are not supported. Also, when you create any - * target groups for these services, you must choose ip as the target - * type, not instance. Tasks that use the awsvpc network - * mode are associated with an elastic network interface, not an Amazon EC2 - * instance.

    + * the container port to access from the load balancer.

    */ inline Service& AddLoadBalancers(LoadBalancer&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(std::move(value)); return *this; } diff --git a/aws-cpp-sdk-ecs/include/aws/ecs/model/SubmitContainerStateChangeRequest.h b/aws-cpp-sdk-ecs/include/aws/ecs/model/SubmitContainerStateChangeRequest.h index dd06815e6bd..393f98dcb52 100644 --- a/aws-cpp-sdk-ecs/include/aws/ecs/model/SubmitContainerStateChangeRequest.h +++ b/aws-cpp-sdk-ecs/include/aws/ecs/model/SubmitContainerStateChangeRequest.h @@ -177,6 +177,47 @@ namespace Model inline SubmitContainerStateChangeRequest& WithContainerName(const char* value) { SetContainerName(value); return *this;} + /** + *

    The ID of the Docker container.

    + */ + inline const Aws::String& GetRuntimeId() const{ return m_runtimeId; } + + /** + *

    The ID of the Docker container.

    + */ + inline bool RuntimeIdHasBeenSet() const { return m_runtimeIdHasBeenSet; } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(const Aws::String& value) { m_runtimeIdHasBeenSet = true; m_runtimeId = value; } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(Aws::String&& value) { m_runtimeIdHasBeenSet = true; m_runtimeId = std::move(value); } + + /** + *

    The ID of the Docker container.

    + */ + inline void SetRuntimeId(const char* value) { m_runtimeIdHasBeenSet = true; m_runtimeId.assign(value); } + + /** + *

    The ID of the Docker container.

    + */ + inline SubmitContainerStateChangeRequest& WithRuntimeId(const Aws::String& value) { SetRuntimeId(value); return *this;} + + /** + *

    The ID of the Docker container.

    + */ + inline SubmitContainerStateChangeRequest& WithRuntimeId(Aws::String&& value) { SetRuntimeId(std::move(value)); return *this;} + + /** + *

    The ID of the Docker container.

    + */ + inline SubmitContainerStateChangeRequest& WithRuntimeId(const char* value) { SetRuntimeId(value); return *this;} + + /** *

    The status of the state change request.

    */ @@ -331,6 +372,9 @@ namespace Model Aws::String m_containerName; bool m_containerNameHasBeenSet; + Aws::String m_runtimeId; + bool m_runtimeIdHasBeenSet; + Aws::String m_status; bool m_statusHasBeenSet; diff --git a/aws-cpp-sdk-ecs/source/model/Container.cpp b/aws-cpp-sdk-ecs/source/model/Container.cpp index 3c09af419fe..7bd16d948de 100644 --- a/aws-cpp-sdk-ecs/source/model/Container.cpp +++ b/aws-cpp-sdk-ecs/source/model/Container.cpp @@ -32,6 +32,7 @@ Container::Container() : m_containerArnHasBeenSet(false), m_taskArnHasBeenSet(false), m_nameHasBeenSet(false), + m_runtimeIdHasBeenSet(false), m_lastStatusHasBeenSet(false), m_exitCode(0), m_exitCodeHasBeenSet(false), @@ -51,6 +52,7 @@ Container::Container(JsonView jsonValue) : m_containerArnHasBeenSet(false), m_taskArnHasBeenSet(false), m_nameHasBeenSet(false), + m_runtimeIdHasBeenSet(false), m_lastStatusHasBeenSet(false), m_exitCode(0), m_exitCodeHasBeenSet(false), @@ -90,6 +92,13 @@ Container& Container::operator =(JsonView jsonValue) m_nameHasBeenSet = true; } + if(jsonValue.ValueExists("runtimeId")) + { + m_runtimeId = jsonValue.GetString("runtimeId"); + + m_runtimeIdHasBeenSet = true; + } + if(jsonValue.ValueExists("lastStatus")) { m_lastStatus = jsonValue.GetString("lastStatus"); @@ -194,6 +203,12 @@ JsonValue Container::Jsonize() const } + if(m_runtimeIdHasBeenSet) + { + payload.WithString("runtimeId", m_runtimeId); + + } + if(m_lastStatusHasBeenSet) { payload.WithString("lastStatus", m_lastStatus); diff --git a/aws-cpp-sdk-ecs/source/model/ContainerStateChange.cpp b/aws-cpp-sdk-ecs/source/model/ContainerStateChange.cpp index 9789a244b29..caee0be523b 100644 --- a/aws-cpp-sdk-ecs/source/model/ContainerStateChange.cpp +++ b/aws-cpp-sdk-ecs/source/model/ContainerStateChange.cpp @@ -30,6 +30,7 @@ namespace Model ContainerStateChange::ContainerStateChange() : m_containerNameHasBeenSet(false), + m_runtimeIdHasBeenSet(false), m_exitCode(0), m_exitCodeHasBeenSet(false), m_networkBindingsHasBeenSet(false), @@ -40,6 +41,7 @@ ContainerStateChange::ContainerStateChange() : ContainerStateChange::ContainerStateChange(JsonView jsonValue) : m_containerNameHasBeenSet(false), + m_runtimeIdHasBeenSet(false), m_exitCode(0), m_exitCodeHasBeenSet(false), m_networkBindingsHasBeenSet(false), @@ -58,6 +60,13 @@ ContainerStateChange& ContainerStateChange::operator =(JsonView jsonValue) m_containerNameHasBeenSet = true; } + if(jsonValue.ValueExists("runtimeId")) + { + m_runtimeId = jsonValue.GetString("runtimeId"); + + m_runtimeIdHasBeenSet = true; + } + if(jsonValue.ValueExists("exitCode")) { m_exitCode = jsonValue.GetInteger("exitCode"); @@ -102,6 +111,12 @@ JsonValue ContainerStateChange::Jsonize() const } + if(m_runtimeIdHasBeenSet) + { + payload.WithString("runtimeId", m_runtimeId); + + } + if(m_exitCodeHasBeenSet) { payload.WithInteger("exitCode", m_exitCode); diff --git a/aws-cpp-sdk-ecs/source/model/SubmitContainerStateChangeRequest.cpp b/aws-cpp-sdk-ecs/source/model/SubmitContainerStateChangeRequest.cpp index 1d0294adaba..1d59aa39313 100644 --- a/aws-cpp-sdk-ecs/source/model/SubmitContainerStateChangeRequest.cpp +++ b/aws-cpp-sdk-ecs/source/model/SubmitContainerStateChangeRequest.cpp @@ -26,6 +26,7 @@ SubmitContainerStateChangeRequest::SubmitContainerStateChangeRequest() : m_clusterHasBeenSet(false), m_taskHasBeenSet(false), m_containerNameHasBeenSet(false), + m_runtimeIdHasBeenSet(false), m_statusHasBeenSet(false), m_exitCode(0), m_exitCodeHasBeenSet(false), @@ -56,6 +57,12 @@ Aws::String SubmitContainerStateChangeRequest::SerializePayload() const } + if(m_runtimeIdHasBeenSet) + { + payload.WithString("runtimeId", m_runtimeId); + + } + if(m_statusHasBeenSet) { payload.WithString("status", m_status); diff --git a/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h b/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h index 92d4b3d3dae..d742dd9078d 100644 --- a/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h +++ b/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h @@ -1718,9 +1718,9 @@ namespace Model /** *

    Lists all available node types that you can scale your Redis cluster's or - * replication group's current node type up to.

    When you use the + * replication group's current node type.

    When you use the * ModifyCacheCluster or ModifyReplicationGroup - * operations to scale up your cluster or replication group, the value of the + * operations to scale your cluster or replication group, the value of the * CacheNodeType parameter must be one of the node types returned by * this operation.

    See Also:

    AWS @@ -1730,9 +1730,9 @@ namespace Model /** *

    Lists all available node types that you can scale your Redis cluster's or - * replication group's current node type up to.

    When you use the + * replication group's current node type.

    When you use the * ModifyCacheCluster or ModifyReplicationGroup - * operations to scale up your cluster or replication group, the value of the + * operations to scale your cluster or replication group, the value of the * CacheNodeType parameter must be one of the node types returned by * this operation.

    See Also:

    AWS @@ -1744,9 +1744,9 @@ namespace Model /** *

    Lists all available node types that you can scale your Redis cluster's or - * replication group's current node type up to.

    When you use the + * replication group's current node type.

    When you use the * ModifyCacheCluster or ModifyReplicationGroup - * operations to scale up your cluster or replication group, the value of the + * operations to scale your cluster or replication group, the value of the * CacheNodeType parameter must be one of the node types returned by * this operation.

    See Also:

    AWS diff --git a/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheErrors.h b/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheErrors.h index e155d890969..0fdb0c3a64d 100644 --- a/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheErrors.h +++ b/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheErrors.h @@ -78,6 +78,7 @@ enum class ElastiCacheErrors INVALID_CACHE_CLUSTER_STATE_FAULT, INVALID_CACHE_PARAMETER_GROUP_STATE_FAULT, INVALID_CACHE_SECURITY_GROUP_STATE_FAULT, + INVALID_K_M_S_KEY_FAULT, INVALID_REPLICATION_GROUP_STATE_FAULT, INVALID_SNAPSHOT_STATE_FAULT, INVALID_SUBNET, diff --git a/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CopySnapshotRequest.h b/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CopySnapshotRequest.h index 81d47fc7402..98ef513f940 100644 --- a/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CopySnapshotRequest.h +++ b/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CopySnapshotRequest.h @@ -252,6 +252,47 @@ namespace Model */ inline CopySnapshotRequest& WithTargetBucket(const char* value) { SetTargetBucket(value); return *this;} + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline CopySnapshotRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline CopySnapshotRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + + /** + *

    The ID of the KMS key used to encrypt the target snapshot.

    + */ + inline CopySnapshotRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + private: Aws::String m_sourceSnapshotName; @@ -262,6 +303,9 @@ namespace Model Aws::String m_targetBucket; bool m_targetBucketHasBeenSet; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet; }; } // namespace Model diff --git a/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateCacheClusterRequest.h b/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateCacheClusterRequest.h index 3bed3745831..5266c86d066 100644 --- a/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateCacheClusterRequest.h +++ b/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateCacheClusterRequest.h @@ -56,7 +56,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ @@ -65,7 +65,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ @@ -74,7 +74,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ @@ -83,7 +83,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ @@ -92,7 +92,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ @@ -101,7 +101,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ @@ -110,7 +110,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ @@ -119,7 +119,7 @@ namespace Model /** *

    The node group (shard) identifier. This parameter is stored as a lowercase * string.

    Constraints:

    • A name must contain from 1 - * to 20 alphanumeric characters or hyphens.

    • The first character + * to 50 alphanumeric characters or hyphens.

    • The first character * must be a letter.

    • A name cannot end with a hyphen or contain * two consecutive hyphens.

    */ diff --git a/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateReplicationGroupRequest.h b/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateReplicationGroupRequest.h index 6d97e68e97e..33892157077 100644 --- a/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateReplicationGroupRequest.h +++ b/aws-cpp-sdk-elasticache/include/aws/elasticache/model/CreateReplicationGroupRequest.h @@ -55,7 +55,7 @@ namespace Model /** *

    The replication group identifier. This parameter is stored as a lowercase - * string.

    Constraints: