/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides details about a service within an ECS cluster.See
* Also:
AWS
* API Reference
The capacity provider strategy that the service uses.
*/ inline const Aws::VectorThe capacity provider strategy that the service uses.
*/ inline bool CapacityProviderStrategyHasBeenSet() const { return m_capacityProviderStrategyHasBeenSet; } /** *The capacity provider strategy that the service uses.
*/ inline void SetCapacityProviderStrategy(const Aws::VectorThe capacity provider strategy that the service uses.
*/ inline void SetCapacityProviderStrategy(Aws::VectorThe capacity provider strategy that the service uses.
*/ inline AwsEcsServiceDetails& WithCapacityProviderStrategy(const Aws::VectorThe capacity provider strategy that the service uses.
*/ inline AwsEcsServiceDetails& WithCapacityProviderStrategy(Aws::VectorThe capacity provider strategy that the service uses.
*/ inline AwsEcsServiceDetails& AddCapacityProviderStrategy(const AwsEcsServiceCapacityProviderStrategyDetails& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(value); return *this; } /** *The capacity provider strategy that the service uses.
*/ inline AwsEcsServiceDetails& AddCapacityProviderStrategy(AwsEcsServiceCapacityProviderStrategyDetails&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(std::move(value)); return *this; } /** *The ARN of the cluster that hosts the service.
*/ inline const Aws::String& GetCluster() const{ return m_cluster; } /** *The ARN of the cluster that hosts the service.
*/ inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } /** *The ARN of the cluster that hosts the service.
*/ inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; } /** *The ARN of the cluster that hosts the service.
*/ inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); } /** *The ARN of the cluster that hosts the service.
*/ inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); } /** *The ARN of the cluster that hosts the service.
*/ inline AwsEcsServiceDetails& WithCluster(const Aws::String& value) { SetCluster(value); return *this;} /** *The ARN of the cluster that hosts the service.
*/ inline AwsEcsServiceDetails& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;} /** *The ARN of the cluster that hosts the service.
*/ inline AwsEcsServiceDetails& WithCluster(const char* value) { SetCluster(value); return *this;} /** *Deployment parameters for the service. Includes the number of tasks that run * and the order in which to start and stop tasks.
*/ inline const AwsEcsServiceDeploymentConfigurationDetails& GetDeploymentConfiguration() const{ return m_deploymentConfiguration; } /** *Deployment parameters for the service. Includes the number of tasks that run * and the order in which to start and stop tasks.
*/ inline bool DeploymentConfigurationHasBeenSet() const { return m_deploymentConfigurationHasBeenSet; } /** *Deployment parameters for the service. Includes the number of tasks that run * and the order in which to start and stop tasks.
*/ inline void SetDeploymentConfiguration(const AwsEcsServiceDeploymentConfigurationDetails& value) { m_deploymentConfigurationHasBeenSet = true; m_deploymentConfiguration = value; } /** *Deployment parameters for the service. Includes the number of tasks that run * and the order in which to start and stop tasks.
*/ inline void SetDeploymentConfiguration(AwsEcsServiceDeploymentConfigurationDetails&& value) { m_deploymentConfigurationHasBeenSet = true; m_deploymentConfiguration = std::move(value); } /** *Deployment parameters for the service. Includes the number of tasks that run * and the order in which to start and stop tasks.
*/ inline AwsEcsServiceDetails& WithDeploymentConfiguration(const AwsEcsServiceDeploymentConfigurationDetails& value) { SetDeploymentConfiguration(value); return *this;} /** *Deployment parameters for the service. Includes the number of tasks that run * and the order in which to start and stop tasks.
*/ inline AwsEcsServiceDetails& WithDeploymentConfiguration(AwsEcsServiceDeploymentConfigurationDetails&& value) { SetDeploymentConfiguration(std::move(value)); return *this;} /** *Contains the deployment controller type that the service uses.
*/ inline const AwsEcsServiceDeploymentControllerDetails& GetDeploymentController() const{ return m_deploymentController; } /** *Contains the deployment controller type that the service uses.
*/ inline bool DeploymentControllerHasBeenSet() const { return m_deploymentControllerHasBeenSet; } /** *Contains the deployment controller type that the service uses.
*/ inline void SetDeploymentController(const AwsEcsServiceDeploymentControllerDetails& value) { m_deploymentControllerHasBeenSet = true; m_deploymentController = value; } /** *Contains the deployment controller type that the service uses.
*/ inline void SetDeploymentController(AwsEcsServiceDeploymentControllerDetails&& value) { m_deploymentControllerHasBeenSet = true; m_deploymentController = std::move(value); } /** *Contains the deployment controller type that the service uses.
*/ inline AwsEcsServiceDetails& WithDeploymentController(const AwsEcsServiceDeploymentControllerDetails& value) { SetDeploymentController(value); return *this;} /** *Contains the deployment controller type that the service uses.
*/ inline AwsEcsServiceDetails& WithDeploymentController(AwsEcsServiceDeploymentControllerDetails&& value) { SetDeploymentController(std::move(value)); return *this;} /** *The number of instantiations of the task definition to run on the * service.
*/ inline int GetDesiredCount() const{ return m_desiredCount; } /** *The number of instantiations of the task definition to run on the * service.
*/ inline bool DesiredCountHasBeenSet() const { return m_desiredCountHasBeenSet; } /** *The number of instantiations of the task definition to run on the * service.
*/ inline void SetDesiredCount(int value) { m_desiredCountHasBeenSet = true; m_desiredCount = value; } /** *The number of instantiations of the task definition to run on the * service.
*/ inline AwsEcsServiceDetails& WithDesiredCount(int value) { SetDesiredCount(value); return *this;} /** *Whether to enable Amazon ECS managed tags for the tasks in the service.
*/ inline bool GetEnableEcsManagedTags() const{ return m_enableEcsManagedTags; } /** *Whether to enable Amazon ECS managed tags for the tasks in the service.
*/ inline bool EnableEcsManagedTagsHasBeenSet() const { return m_enableEcsManagedTagsHasBeenSet; } /** *Whether to enable Amazon ECS managed tags for the tasks in the service.
*/ inline void SetEnableEcsManagedTags(bool value) { m_enableEcsManagedTagsHasBeenSet = true; m_enableEcsManagedTags = value; } /** *Whether to enable Amazon ECS managed tags for the tasks in the service.
*/ inline AwsEcsServiceDetails& WithEnableEcsManagedTags(bool value) { SetEnableEcsManagedTags(value); return *this;} /** *Whether the execute command functionality is enabled for the service.
*/ inline bool GetEnableExecuteCommand() const{ return m_enableExecuteCommand; } /** *Whether the execute command functionality is enabled for the service.
*/ inline bool EnableExecuteCommandHasBeenSet() const { return m_enableExecuteCommandHasBeenSet; } /** *Whether the execute command functionality is enabled for the service.
*/ inline void SetEnableExecuteCommand(bool value) { m_enableExecuteCommandHasBeenSet = true; m_enableExecuteCommand = value; } /** *Whether the execute command functionality is enabled for the service.
*/ inline AwsEcsServiceDetails& WithEnableExecuteCommand(bool value) { SetEnableExecuteCommand(value); return *this;} /** *After a task starts, the amount of time in seconds that the Amazon ECS * service scheduler ignores unhealthy Elastic Load Balancing target health * checks.
*/ inline int GetHealthCheckGracePeriodSeconds() const{ return m_healthCheckGracePeriodSeconds; } /** *After a task starts, the amount of time in seconds that the Amazon ECS * service scheduler ignores unhealthy Elastic Load Balancing target health * checks.
*/ inline bool HealthCheckGracePeriodSecondsHasBeenSet() const { return m_healthCheckGracePeriodSecondsHasBeenSet; } /** *After a task starts, the amount of time in seconds that the Amazon ECS * service scheduler ignores unhealthy Elastic Load Balancing target health * checks.
*/ inline void SetHealthCheckGracePeriodSeconds(int value) { m_healthCheckGracePeriodSecondsHasBeenSet = true; m_healthCheckGracePeriodSeconds = value; } /** *After a task starts, the amount of time in seconds that the Amazon ECS * service scheduler ignores unhealthy Elastic Load Balancing target health * checks.
*/ inline AwsEcsServiceDetails& WithHealthCheckGracePeriodSeconds(int value) { SetHealthCheckGracePeriodSeconds(value); return *this;} /** *The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
The launch type that the service uses.
Valid values: EC2
* | FARGATE
| EXTERNAL
Information about the load balancers that the service uses.
*/ inline const Aws::VectorInformation about the load balancers that the service uses.
*/ inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; } /** *Information about the load balancers that the service uses.
*/ inline void SetLoadBalancers(const Aws::VectorInformation about the load balancers that the service uses.
*/ inline void SetLoadBalancers(Aws::VectorInformation about the load balancers that the service uses.
*/ inline AwsEcsServiceDetails& WithLoadBalancers(const Aws::VectorInformation about the load balancers that the service uses.
*/ inline AwsEcsServiceDetails& WithLoadBalancers(Aws::VectorInformation about the load balancers that the service uses.
*/ inline AwsEcsServiceDetails& AddLoadBalancers(const AwsEcsServiceLoadBalancersDetails& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(value); return *this; } /** *Information about the load balancers that the service uses.
*/ inline AwsEcsServiceDetails& AddLoadBalancers(AwsEcsServiceLoadBalancersDetails&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(std::move(value)); return *this; } /** *The name of the service.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the service.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the service.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the service.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the service.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the service.
*/ inline AwsEcsServiceDetails& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the service.
*/ inline AwsEcsServiceDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the service.
*/ inline AwsEcsServiceDetails& WithName(const char* value) { SetName(value); return *this;} /** *For tasks that use the awsvpc
networking mode, the VPC subnet
* and security group configuration.
For tasks that use the awsvpc
networking mode, the VPC subnet
* and security group configuration.
For tasks that use the awsvpc
networking mode, the VPC subnet
* and security group configuration.
For tasks that use the awsvpc
networking mode, the VPC subnet
* and security group configuration.
For tasks that use the awsvpc
networking mode, the VPC subnet
* and security group configuration.
For tasks that use the awsvpc
networking mode, the VPC subnet
* and security group configuration.
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 AwsEcsServiceDetails& WithPlacementConstraints(const Aws::VectorThe placement constraints for the tasks in the service.
*/ inline AwsEcsServiceDetails& WithPlacementConstraints(Aws::VectorThe placement constraints for the tasks in the service.
*/ inline AwsEcsServiceDetails& AddPlacementConstraints(const AwsEcsServicePlacementConstraintsDetails& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(value); return *this; } /** *The placement constraints for the tasks in the service.
*/ inline AwsEcsServiceDetails& AddPlacementConstraints(AwsEcsServicePlacementConstraintsDetails&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(std::move(value)); return *this; } /** *Information about how tasks for the service are placed.
*/ inline const Aws::VectorInformation about how tasks for the service are placed.
*/ inline bool PlacementStrategiesHasBeenSet() const { return m_placementStrategiesHasBeenSet; } /** *Information about how tasks for the service are placed.
*/ inline void SetPlacementStrategies(const Aws::VectorInformation about how tasks for the service are placed.
*/ inline void SetPlacementStrategies(Aws::VectorInformation about how tasks for the service are placed.
*/ inline AwsEcsServiceDetails& WithPlacementStrategies(const Aws::VectorInformation about how tasks for the service are placed.
*/ inline AwsEcsServiceDetails& WithPlacementStrategies(Aws::VectorInformation about how tasks for the service are placed.
*/ inline AwsEcsServiceDetails& AddPlacementStrategies(const AwsEcsServicePlacementStrategiesDetails& value) { m_placementStrategiesHasBeenSet = true; m_placementStrategies.push_back(value); return *this; } /** *Information about how tasks for the service are placed.
*/ inline AwsEcsServiceDetails& AddPlacementStrategies(AwsEcsServicePlacementStrategiesDetails&& value) { m_placementStrategiesHasBeenSet = true; m_placementStrategies.push_back(std::move(value)); return *this; } /** *The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
The platform version on which to run the service. Only specified for tasks
* that are hosted on Fargate. If a platform version is not specified, the
* LATEST
platform version is used by default.
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
Indicates whether to propagate the tags from the task definition to the task * or from the service to the task. If no value is provided, then tags are not * propagated.
Valid values: TASK_DEFINITION
|
* SERVICE
The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline const Aws::String& GetRole() const{ return m_role; } /** *The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline AwsEcsServiceDetails& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline AwsEcsServiceDetails& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *The ARN of the IAM role that is associated with the service. The role allows * the Amazon ECS container agent to register container instances with an Elastic * Load Balancing load balancer.
*/ inline AwsEcsServiceDetails& WithRole(const char* value) { SetRole(value); return *this;} /** *The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The scheduling strategy to use for the service.
The
* REPLICA
scheduling strategy places and maintains the desired number
* of tasks across the cluster. By default, the service scheduler spreads tasks
* across Availability Zones. Task placement strategies and constraints are used to
* customize task placement decisions.
The DAEMON
scheduling
* strategy deploys exactly one task on each active container instance that meets
* all of the task placement constraints that are specified in the cluster. The
* service scheduler also evaluates the task placement constraints for running
* tasks and stops tasks that do not meet the placement constraints.
Valid
* values: REPLICA
| DAEMON
The ARN of the service.
*/ inline const Aws::String& GetServiceArn() const{ return m_serviceArn; } /** *The ARN of the service.
*/ inline bool ServiceArnHasBeenSet() const { return m_serviceArnHasBeenSet; } /** *The ARN of the service.
*/ inline void SetServiceArn(const Aws::String& value) { m_serviceArnHasBeenSet = true; m_serviceArn = value; } /** *The ARN of the service.
*/ inline void SetServiceArn(Aws::String&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::move(value); } /** *The ARN of the service.
*/ inline void SetServiceArn(const char* value) { m_serviceArnHasBeenSet = true; m_serviceArn.assign(value); } /** *The ARN of the service.
*/ inline AwsEcsServiceDetails& WithServiceArn(const Aws::String& value) { SetServiceArn(value); return *this;} /** *The ARN of the service.
*/ inline AwsEcsServiceDetails& WithServiceArn(Aws::String&& value) { SetServiceArn(std::move(value)); return *this;} /** *The ARN of the service.
*/ inline AwsEcsServiceDetails& WithServiceArn(const char* value) { SetServiceArn(value); return *this;} /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline AwsEcsServiceDetails& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline AwsEcsServiceDetails& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *The name of the service.
The name can contain up to 255 characters. It * can use letters, numbers, underscores, and hyphens.
*/ inline AwsEcsServiceDetails& WithServiceName(const char* value) { SetServiceName(value); return *this;} /** *Information about the service discovery registries to assign to the * service.
*/ inline const Aws::VectorInformation about the service discovery registries to assign to the * service.
*/ inline bool ServiceRegistriesHasBeenSet() const { return m_serviceRegistriesHasBeenSet; } /** *Information about the service discovery registries to assign to the * service.
*/ inline void SetServiceRegistries(const Aws::VectorInformation about the service discovery registries to assign to the * service.
*/ inline void SetServiceRegistries(Aws::VectorInformation about the service discovery registries to assign to the * service.
*/ inline AwsEcsServiceDetails& WithServiceRegistries(const Aws::VectorInformation about the service discovery registries to assign to the * service.
*/ inline AwsEcsServiceDetails& WithServiceRegistries(Aws::VectorInformation about the service discovery registries to assign to the * service.
*/ inline AwsEcsServiceDetails& AddServiceRegistries(const AwsEcsServiceServiceRegistriesDetails& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(value); return *this; } /** *Information about the service discovery registries to assign to the * service.
*/ inline AwsEcsServiceDetails& AddServiceRegistries(AwsEcsServiceServiceRegistriesDetails&& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(std::move(value)); return *this; } /** *The task definition to use for tasks in the service.
*/ inline const Aws::String& GetTaskDefinition() const{ return m_taskDefinition; } /** *The task definition to use for tasks in the service.
*/ inline bool TaskDefinitionHasBeenSet() const { return m_taskDefinitionHasBeenSet; } /** *The task definition to use for tasks in the service.
*/ inline void SetTaskDefinition(const Aws::String& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = value; } /** *The task definition to use for tasks in the service.
*/ inline void SetTaskDefinition(Aws::String&& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = std::move(value); } /** *The task definition to use for tasks in the service.
*/ inline void SetTaskDefinition(const char* value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition.assign(value); } /** *The task definition to use for tasks in the service.
*/ inline AwsEcsServiceDetails& WithTaskDefinition(const Aws::String& value) { SetTaskDefinition(value); return *this;} /** *The task definition to use for tasks in the service.
*/ inline AwsEcsServiceDetails& WithTaskDefinition(Aws::String&& value) { SetTaskDefinition(std::move(value)); return *this;} /** *The task definition to use for tasks in the service.
*/ inline AwsEcsServiceDetails& WithTaskDefinition(const char* value) { SetTaskDefinition(value); return *this;} private: Aws::Vector