/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details on a service within a cluster.See Also:
AWS API
* Reference
The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline const Aws::String& GetServiceArn() const{ return m_serviceArn; } /** *The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline bool ServiceArnHasBeenSet() const { return m_serviceArnHasBeenSet; } /** *The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline void SetServiceArn(const Aws::String& value) { m_serviceArnHasBeenSet = true; m_serviceArn = value; } /** *The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline void SetServiceArn(Aws::String&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::move(value); } /** *The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline void SetServiceArn(const char* value) { m_serviceArnHasBeenSet = true; m_serviceArn.assign(value); } /** *The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline Service& WithServiceArn(const Aws::String& value) { SetServiceArn(value); return *this;} /** *The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline Service& WithServiceArn(Aws::String&& value) { SetServiceArn(std::move(value)); return *this;} /** *The ARN that identifies the service. For more information about the ARN * format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.
*/ inline Service& WithServiceArn(const char* value) { SetServiceArn(value); return *this;} /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline Service& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline Service& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *The name of your service. Up to 255 letters (uppercase and lowercase), * numbers, underscores, and hyphens are allowed. Service names must be unique * within a cluster. However, you can have similarly named services in multiple * clusters within a Region or across multiple Regions.
*/ inline Service& WithServiceName(const char* value) { SetServiceName(value); return *this;} /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline Service& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline Service& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the cluster that hosts the service.
*/ inline Service& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} /** *A list of Elastic Load Balancing load balancer objects. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ inline const Aws::VectorA list of Elastic Load Balancing load balancer objects. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; } /** *A list of Elastic Load Balancing load balancer objects. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ inline void SetLoadBalancers(const Aws::VectorA list of Elastic Load Balancing load balancer objects. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ inline void SetLoadBalancers(Aws::VectorA list of Elastic Load Balancing load balancer objects. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ inline Service& WithLoadBalancers(const Aws::VectorA list of Elastic Load Balancing load balancer objects. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ inline Service& WithLoadBalancers(Aws::VectorA list of Elastic Load Balancing load balancer objects. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ 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. It contains the load * balancer name, the container name, and the container port to access from the * load balancer. The container name is as it appears in a container * definition.
*/ inline Service& AddLoadBalancers(LoadBalancer&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(std::move(value)); return *this; } /** *The details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline const Aws::VectorThe details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline bool ServiceRegistriesHasBeenSet() const { return m_serviceRegistriesHasBeenSet; } /** *The details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline void SetServiceRegistries(const Aws::VectorThe details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline void SetServiceRegistries(Aws::VectorThe details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline Service& WithServiceRegistries(const Aws::VectorThe details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline Service& WithServiceRegistries(Aws::VectorThe details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline Service& AddServiceRegistries(const ServiceRegistry& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(value); return *this; } /** *The details for the service discovery registries to assign to this service. * For more information, see Service * Discovery.
*/ inline Service& AddServiceRegistries(ServiceRegistry&& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(std::move(value)); return *this; } /** *The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The status of the service. The valid values are ACTIVE
,
* DRAINING
, or INACTIVE
.
The desired number of instantiations of the task definition to keep running * on the service. This value is specified when the service is created with * CreateService, and it can be modified with UpdateService.
*/ inline int GetDesiredCount() const{ return m_desiredCount; } /** *The desired number of instantiations of the task definition to keep running * on the service. This value is specified when the service is created with * CreateService, and it can be modified with UpdateService.
*/ inline bool DesiredCountHasBeenSet() const { return m_desiredCountHasBeenSet; } /** *The desired number of instantiations of the task definition to keep running * on the service. This value is specified when the service is created with * CreateService, and it can be modified with UpdateService.
*/ inline void SetDesiredCount(int value) { m_desiredCountHasBeenSet = true; m_desiredCount = value; } /** *The desired number of instantiations of the task definition to keep running * on the service. This value is specified when the service is created with * CreateService, and it can be modified with UpdateService.
*/ inline Service& WithDesiredCount(int value) { SetDesiredCount(value); return *this;} /** *The number of tasks in the cluster that are in the RUNNING
* state.
The number of tasks in the cluster that are in the RUNNING
* state.
The number of tasks in the cluster that are in the RUNNING
* state.
The number of tasks in the cluster that are in the RUNNING
* state.
The number of tasks in the cluster that are in the PENDING
* state.
The number of tasks in the cluster that are in the PENDING
* state.
The number of tasks in the cluster that are in the PENDING
* state.
The number of tasks in the cluster that are in the PENDING
* state.
The launch type the service is using. When using the DescribeServices API, * this field is omitted if the service was created using a capacity provider * strategy.
*/ inline const LaunchType& GetLaunchType() const{ return m_launchType; } /** *The launch type the service is using. When using the DescribeServices API, * this field is omitted if the service was created using a capacity provider * strategy.
*/ inline bool LaunchTypeHasBeenSet() const { return m_launchTypeHasBeenSet; } /** *The launch type the service is using. When using the DescribeServices API, * this field is omitted if the service was created using a capacity provider * strategy.
*/ inline void SetLaunchType(const LaunchType& value) { m_launchTypeHasBeenSet = true; m_launchType = value; } /** *The launch type the service is using. When using the DescribeServices API, * this field is omitted if the service was created using a capacity provider * strategy.
*/ inline void SetLaunchType(LaunchType&& value) { m_launchTypeHasBeenSet = true; m_launchType = std::move(value); } /** *The launch type the service is using. When using the DescribeServices API, * this field is omitted if the service was created using a capacity provider * strategy.
*/ inline Service& WithLaunchType(const LaunchType& value) { SetLaunchType(value); return *this;} /** *The launch type the service is using. When using the DescribeServices API, * this field is omitted if the service was created using a capacity provider * strategy.
*/ inline Service& WithLaunchType(LaunchType&& value) { SetLaunchType(std::move(value)); return *this;} /** *The capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline const Aws::VectorThe capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline bool CapacityProviderStrategyHasBeenSet() const { return m_capacityProviderStrategyHasBeenSet; } /** *The capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline void SetCapacityProviderStrategy(const Aws::VectorThe capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline void SetCapacityProviderStrategy(Aws::VectorThe capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline Service& WithCapacityProviderStrategy(const Aws::VectorThe capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline Service& WithCapacityProviderStrategy(Aws::VectorThe capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline Service& AddCapacityProviderStrategy(const CapacityProviderStrategyItem& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(value); return *this; } /** *The capacity provider strategy the service uses. When using the * DescribeServices API, this field is omitted if the service was created using a * launch type.
*/ inline Service& AddCapacityProviderStrategy(CapacityProviderStrategyItem&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(std::move(value)); return *this; } /** *The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The platform version to run your service on. A platform version is only
* specified for tasks that are hosted on Fargate. If one isn't specified, the
* LATEST
platform version is used. For more information, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The operating system that your tasks in the service run on. A platform family * is specified only for tasks using the Fargate launch type.
All tasks
* that run as part of this service must use the same platformFamily
* value as the service (for example, LINUX
).
The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline const Aws::String& GetTaskDefinition() const{ return m_taskDefinition; } /** *The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline bool TaskDefinitionHasBeenSet() const { return m_taskDefinitionHasBeenSet; } /** *The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline void SetTaskDefinition(const Aws::String& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = value; } /** *The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline void SetTaskDefinition(Aws::String&& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = std::move(value); } /** *The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline void SetTaskDefinition(const char* value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition.assign(value); } /** *The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline Service& WithTaskDefinition(const Aws::String& value) { SetTaskDefinition(value); return *this;} /** *The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline Service& WithTaskDefinition(Aws::String&& value) { SetTaskDefinition(std::move(value)); return *this;} /** *The task definition to use for tasks in the service. This value is specified * when the service is created with CreateService, and it can be modified * with UpdateService.
*/ inline Service& WithTaskDefinition(const char* value) { SetTaskDefinition(value); return *this;} /** *Optional deployment parameters that control how many tasks run during the * deployment and the ordering of stopping and starting tasks.
*/ inline const DeploymentConfiguration& GetDeploymentConfiguration() const{ return m_deploymentConfiguration; } /** *Optional deployment parameters that control how many tasks run during the * deployment and the ordering of stopping and starting tasks.
*/ inline bool DeploymentConfigurationHasBeenSet() const { return m_deploymentConfigurationHasBeenSet; } /** *Optional deployment parameters that control how many tasks run during the * deployment and the ordering of stopping and starting tasks.
*/ inline void SetDeploymentConfiguration(const DeploymentConfiguration& value) { m_deploymentConfigurationHasBeenSet = true; m_deploymentConfiguration = value; } /** *Optional deployment parameters that control how many tasks run during the * deployment and the ordering of stopping and starting tasks.
*/ inline void SetDeploymentConfiguration(DeploymentConfiguration&& value) { m_deploymentConfigurationHasBeenSet = true; m_deploymentConfiguration = std::move(value); } /** *Optional deployment parameters that control how many tasks run during the * deployment and the ordering of stopping and starting tasks.
*/ inline Service& WithDeploymentConfiguration(const DeploymentConfiguration& value) { SetDeploymentConfiguration(value); return *this;} /** *Optional deployment parameters that control how many tasks run during the * deployment and the ordering of stopping and starting tasks.
*/ inline Service& WithDeploymentConfiguration(DeploymentConfiguration&& value) { SetDeploymentConfiguration(std::move(value)); return *this;} /** *Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
* EXTERNAL
deployment. An Amazon ECS task set includes details such
* as the desired number of tasks, how many tasks are running, and whether the task
* set serves production traffic.
The current state of deployments for the service.
*/ inline const Aws::VectorThe current state of deployments for the service.
*/ inline bool DeploymentsHasBeenSet() const { return m_deploymentsHasBeenSet; } /** *The current state of deployments for the service.
*/ inline void SetDeployments(const Aws::VectorThe current state of deployments for the service.
*/ inline void SetDeployments(Aws::VectorThe current state of deployments for the service.
*/ inline Service& WithDeployments(const Aws::VectorThe current state of deployments for the service.
*/ inline Service& WithDeployments(Aws::VectorThe current state of deployments for the service.
*/ inline Service& AddDeployments(const Deployment& value) { m_deploymentsHasBeenSet = true; m_deployments.push_back(value); return *this; } /** *The current state of deployments for the service.
*/ inline Service& AddDeployments(Deployment&& value) { m_deploymentsHasBeenSet = true; m_deployments.push_back(std::move(value)); return *this; } /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline Service& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline Service& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *The ARN of the IAM role that's associated with the service. It allows the * Amazon ECS container agent to register container instances with an Elastic Load * Balancing load balancer.
*/ inline Service& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *The event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline const Aws::VectorThe event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** *The event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline void SetEvents(const Aws::VectorThe event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline void SetEvents(Aws::VectorThe event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline Service& WithEvents(const Aws::VectorThe event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline Service& WithEvents(Aws::VectorThe event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline Service& AddEvents(const ServiceEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } /** *The event stream for your service. A maximum of 100 of the latest events are * displayed.
*/ inline Service& AddEvents(ServiceEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } /** *The Unix timestamp for the time when the service was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *The Unix timestamp for the time when the service was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *The Unix timestamp for the time when the service was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *The Unix timestamp for the time when the service was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *The Unix timestamp for the time when the service was created.
*/ inline Service& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *The Unix timestamp for the time when the service was created.
*/ inline Service& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *The placement constraints for the tasks in the service.
*/ inline const Aws::VectorThe placement constraints for the tasks in the service.
*/ inline bool PlacementConstraintsHasBeenSet() const { return m_placementConstraintsHasBeenSet; } /** *The placement constraints for the tasks in the service.
*/ inline void SetPlacementConstraints(const Aws::VectorThe placement constraints for the tasks in the service.
*/ inline void SetPlacementConstraints(Aws::VectorThe placement constraints for the tasks in the service.
*/ inline Service& WithPlacementConstraints(const Aws::VectorThe placement constraints for the tasks in the service.
*/ inline Service& WithPlacementConstraints(Aws::VectorThe placement constraints for the tasks in the service.
*/ inline Service& AddPlacementConstraints(const PlacementConstraint& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(value); return *this; } /** *The placement constraints for the tasks in the service.
*/ inline Service& AddPlacementConstraints(PlacementConstraint&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(std::move(value)); return *this; } /** *The placement strategy that determines how tasks for the service are * placed.
*/ inline const Aws::VectorThe placement strategy that determines how tasks for the service are * placed.
*/ inline bool PlacementStrategyHasBeenSet() const { return m_placementStrategyHasBeenSet; } /** *The placement strategy that determines how tasks for the service are * placed.
*/ inline void SetPlacementStrategy(const Aws::VectorThe placement strategy that determines how tasks for the service are * placed.
*/ inline void SetPlacementStrategy(Aws::VectorThe placement strategy that determines how tasks for the service are * placed.
*/ inline Service& WithPlacementStrategy(const Aws::VectorThe placement strategy that determines how tasks for the service are * placed.
*/ inline Service& WithPlacementStrategy(Aws::VectorThe placement strategy that determines how tasks for the service are * placed.
*/ inline Service& AddPlacementStrategy(const PlacementStrategy& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy.push_back(value); return *this; } /** *The placement strategy that determines how tasks for the service are * placed.
*/ inline Service& AddPlacementStrategy(PlacementStrategy&& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy.push_back(std::move(value)); return *this; } /** *The VPC subnet and security group configuration for tasks that receive their
* own elastic network interface by using the awsvpc
networking
* mode.
The VPC subnet and security group configuration for tasks that receive their
* own elastic network interface by using the awsvpc
networking
* mode.
The VPC subnet and security group configuration for tasks that receive their
* own elastic network interface by using the awsvpc
networking
* mode.
The VPC subnet and security group configuration for tasks that receive their
* own elastic network interface by using the awsvpc
networking
* mode.
The VPC subnet and security group configuration for tasks that receive their
* own elastic network interface by using the awsvpc
networking
* mode.
The VPC subnet and security group configuration for tasks that receive their
* own elastic network interface by using the awsvpc
networking
* mode.
The period of time, in seconds, that the Amazon ECS service scheduler ignores * unhealthy Elastic Load Balancing target health checks after a task has first * started.
*/ inline int GetHealthCheckGracePeriodSeconds() const{ return m_healthCheckGracePeriodSeconds; } /** *The period of time, in seconds, that the Amazon ECS service scheduler ignores * unhealthy Elastic Load Balancing target health checks after a task has first * started.
*/ inline bool HealthCheckGracePeriodSecondsHasBeenSet() const { return m_healthCheckGracePeriodSecondsHasBeenSet; } /** *The period of time, in seconds, that the Amazon ECS service scheduler ignores * unhealthy Elastic Load Balancing target health checks after a task has first * started.
*/ inline void SetHealthCheckGracePeriodSeconds(int value) { m_healthCheckGracePeriodSecondsHasBeenSet = true; m_healthCheckGracePeriodSeconds = value; } /** *The period of time, in seconds, that the Amazon ECS service scheduler ignores * unhealthy Elastic Load Balancing target health checks after a task has first * started.
*/ inline Service& WithHealthCheckGracePeriodSeconds(int value) { SetHealthCheckGracePeriodSeconds(value); return *this;} /** *The scheduling strategy to use for the service. For more information, see Services.
*There are two service scheduler strategies available.
* REPLICA
-The replica scheduling strategy places and maintains the
* desired number of tasks across your cluster. By default, the service scheduler
* spreads tasks across Availability Zones. You can use task placement strategies
* and constraints to customize task placement decisions.
* DAEMON
-The daemon scheduling strategy deploys exactly one task on
* each active container instance. This task meets all of the task placement
* constraints that you specify in your cluster. The service scheduler also
* evaluates the task placement constraints for running tasks. It stop tasks that
* don't meet the placement constraints.
Fargate tasks don't support
* the DAEMON
scheduling strategy.
The scheduling strategy to use for the service. For more information, see Services.
*There are two service scheduler strategies available.
* REPLICA
-The replica scheduling strategy places and maintains the
* desired number of tasks across your cluster. By default, the service scheduler
* spreads tasks across Availability Zones. You can use task placement strategies
* and constraints to customize task placement decisions.
* DAEMON
-The daemon scheduling strategy deploys exactly one task on
* each active container instance. This task meets all of the task placement
* constraints that you specify in your cluster. The service scheduler also
* evaluates the task placement constraints for running tasks. It stop tasks that
* don't meet the placement constraints.
Fargate tasks don't support
* the DAEMON
scheduling strategy.
The scheduling strategy to use for the service. For more information, see Services.
*There are two service scheduler strategies available.
* REPLICA
-The replica scheduling strategy places and maintains the
* desired number of tasks across your cluster. By default, the service scheduler
* spreads tasks across Availability Zones. You can use task placement strategies
* and constraints to customize task placement decisions.
* DAEMON
-The daemon scheduling strategy deploys exactly one task on
* each active container instance. This task meets all of the task placement
* constraints that you specify in your cluster. The service scheduler also
* evaluates the task placement constraints for running tasks. It stop tasks that
* don't meet the placement constraints.
Fargate tasks don't support
* the DAEMON
scheduling strategy.
The scheduling strategy to use for the service. For more information, see Services.
*There are two service scheduler strategies available.
* REPLICA
-The replica scheduling strategy places and maintains the
* desired number of tasks across your cluster. By default, the service scheduler
* spreads tasks across Availability Zones. You can use task placement strategies
* and constraints to customize task placement decisions.
* DAEMON
-The daemon scheduling strategy deploys exactly one task on
* each active container instance. This task meets all of the task placement
* constraints that you specify in your cluster. The service scheduler also
* evaluates the task placement constraints for running tasks. It stop tasks that
* don't meet the placement constraints.
Fargate tasks don't support
* the DAEMON
scheduling strategy.
The scheduling strategy to use for the service. For more information, see Services.
*There are two service scheduler strategies available.
* REPLICA
-The replica scheduling strategy places and maintains the
* desired number of tasks across your cluster. By default, the service scheduler
* spreads tasks across Availability Zones. You can use task placement strategies
* and constraints to customize task placement decisions.
* DAEMON
-The daemon scheduling strategy deploys exactly one task on
* each active container instance. This task meets all of the task placement
* constraints that you specify in your cluster. The service scheduler also
* evaluates the task placement constraints for running tasks. It stop tasks that
* don't meet the placement constraints.
Fargate tasks don't support
* the DAEMON
scheduling strategy.
The scheduling strategy to use for the service. For more information, see Services.
*There are two service scheduler strategies available.
* REPLICA
-The replica scheduling strategy places and maintains the
* desired number of tasks across your cluster. By default, the service scheduler
* spreads tasks across Availability Zones. You can use task placement strategies
* and constraints to customize task placement decisions.
* DAEMON
-The daemon scheduling strategy deploys exactly one task on
* each active container instance. This task meets all of the task placement
* constraints that you specify in your cluster. The service scheduler also
* evaluates the task placement constraints for running tasks. It stop tasks that
* don't meet the placement constraints.
Fargate tasks don't support
* the DAEMON
scheduling strategy.
The deployment controller type the service is using.
*/ inline const DeploymentController& GetDeploymentController() const{ return m_deploymentController; } /** *The deployment controller type the service is using.
*/ inline bool DeploymentControllerHasBeenSet() const { return m_deploymentControllerHasBeenSet; } /** *The deployment controller type the service is using.
*/ inline void SetDeploymentController(const DeploymentController& value) { m_deploymentControllerHasBeenSet = true; m_deploymentController = value; } /** *The deployment controller type the service is using.
*/ inline void SetDeploymentController(DeploymentController&& value) { m_deploymentControllerHasBeenSet = true; m_deploymentController = std::move(value); } /** *The deployment controller type the service is using.
*/ inline Service& WithDeploymentController(const DeploymentController& value) { SetDeploymentController(value); return *this;} /** *The deployment controller type the service is using.
*/ inline Service& WithDeploymentController(DeploymentController&& value) { SetDeploymentController(std::move(value)); return *this;} /** *The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and * organize them. Each tag consists of a key and an optional value. You define bot * the key and value.
The following basic restrictions apply to tags:
*Maximum number of tags per resource - 50
For each * resource, each tag key must be unique, and each tag key can have only one * value.
Maximum key length - 128 Unicode characters in * UTF-8
Maximum value length - 256 Unicode characters in * UTF-8
If your tagging schema is used across multiple services * and resources, remember that other services may have restrictions on allowed * characters. Generally allowed characters are: letters, numbers, and spaces * representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use
* aws:
, AWS:
, or any upper or lowercase combination of
* such as a prefix for either keys or values as it is reserved for Amazon Web
* Services use. You cannot edit or delete tag keys or values with this prefix.
* Tags with this prefix do not count against your tags per resource limit.
The principal that created the service.
*/ inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } /** *The principal that created the service.
*/ inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } /** *The principal that created the service.
*/ inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } /** *The principal that created the service.
*/ inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } /** *The principal that created the service.
*/ inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } /** *The principal that created the service.
*/ inline Service& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} /** *The principal that created the service.
*/ inline Service& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} /** *The principal that created the service.
*/ inline Service& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} /** *Determines whether to use Amazon ECS managed tags for the tasks in the * service. For more information, see Tagging * Your Amazon ECS Resources in the Amazon Elastic Container Service * Developer Guide.
*/ inline bool GetEnableECSManagedTags() const{ return m_enableECSManagedTags; } /** *Determines whether to use Amazon ECS managed tags for the tasks in the * service. For more information, see Tagging * Your Amazon ECS Resources in the Amazon Elastic Container Service * Developer Guide.
*/ inline bool EnableECSManagedTagsHasBeenSet() const { return m_enableECSManagedTagsHasBeenSet; } /** *Determines whether to use Amazon ECS managed tags for the tasks in the * service. For more information, see Tagging * Your Amazon ECS Resources in the Amazon Elastic Container Service * Developer Guide.
*/ inline void SetEnableECSManagedTags(bool value) { m_enableECSManagedTagsHasBeenSet = true; m_enableECSManagedTags = value; } /** *Determines whether to use Amazon ECS managed tags for the tasks in the * service. For more information, see Tagging * Your Amazon ECS Resources in the Amazon Elastic Container Service * Developer Guide.
*/ inline Service& WithEnableECSManagedTags(bool value) { SetEnableECSManagedTags(value); return *this;} /** *Determines whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.
*/ inline const PropagateTags& GetPropagateTags() const{ return m_propagateTags; } /** *Determines whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.
*/ inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; } /** *Determines whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.
*/ inline void SetPropagateTags(const PropagateTags& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = value; } /** *Determines whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.
*/ inline void SetPropagateTags(PropagateTags&& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = std::move(value); } /** *Determines whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.
*/ inline Service& WithPropagateTags(const PropagateTags& value) { SetPropagateTags(value); return *this;} /** *Determines whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.
*/ inline Service& WithPropagateTags(PropagateTags&& value) { SetPropagateTags(std::move(value)); return *this;} /** *Determines whether the execute command functionality is turned on for the
* service. If true
, the execute command functionality is turned on
* for all containers in tasks as part of the service.
Determines whether the execute command functionality is turned on for the
* service. If true
, the execute command functionality is turned on
* for all containers in tasks as part of the service.
Determines whether the execute command functionality is turned on for the
* service. If true
, the execute command functionality is turned on
* for all containers in tasks as part of the service.
Determines whether the execute command functionality is turned on for the
* service. If true
, the execute command functionality is turned on
* for all containers in tasks as part of the service.