/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the ecs-2014-11-13.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ECS.Model
{
///
/// Container for the parameters to the CreateService operation.
/// Runs and maintains your desired number of tasks from a specified task definition.
/// If the number of tasks running in a service drops below the desiredCount
,
/// Amazon ECS runs another copy of the task in the specified cluster. To update an existing
/// service, see the UpdateService action.
///
///
///
/// Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon
/// Elastic Inference (EI), and will help current customers migrate their workloads to
/// options that offer better price and performance. After April 15, 2023, new customers
/// will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker,
/// Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once
/// during the past 30-day period are considered current customers and will be able to
/// continue using the service.
///
///
///
/// In addition to maintaining the desired count of tasks in your service, you can optionally
/// run your service behind one or more load balancers. The load balancers distribute
/// 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 don't use a load balancer are considered healthy if they're
/// in the RUNNING
state. Tasks for services that use a load balancer are
/// considered healthy if they're in the RUNNING
state and are reported as
/// healthy by the load balancer.
///
///
///
/// There are two service scheduler strategies available:
///
/// -
///
///
REPLICA
- The replica scheduling strategy places and maintains your
/// 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. For more information, see Service
/// scheduler concepts in the Amazon Elastic Container Service Developer Guide.
///
/// -
///
///
DAEMON
- The daemon scheduling strategy deploys exactly one task on
/// each active container instance that 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 also stops tasks that don't meet the placement constraints.
/// When using this strategy, you don't need to specify a desired number of tasks, a task
/// placement strategy, or use Service Auto Scaling policies. For more information, see
/// Service
/// scheduler concepts in the Amazon Elastic Container Service Developer Guide.
///
///
///
/// You can optionally specify a deployment configuration for your service. The deployment
/// is initiated by changing properties. For example, the deployment might be initiated
/// by the task definition or by your desired count of a service. This is done with an
/// UpdateService operation. The default value for a replica service for minimumHealthyPercent
/// is 100%. The default value for a daemon service for minimumHealthyPercent
/// is 0%.
///
///
///
/// If a service uses the ECS
deployment controller, the minimum healthy
/// percent represents a lower limit on the number of tasks in a service that must remain
/// in the RUNNING
state during a deployment. Specifically, it represents
/// it as a percentage of your desired number of tasks (rounded up to the nearest integer).
/// This happens when any of your container instances are in the DRAINING
/// state if the service contains tasks using the EC2 launch type. Using this parameter,
/// you can deploy without using additional cluster capacity. For example, if you set
/// your service to have desired number of four tasks and a minimum healthy percent of
/// 50%, the scheduler might stop two existing tasks to free up cluster capacity before
/// starting two new tasks. If they're in the RUNNING
state, tasks for services
/// that don't use a load balancer are considered healthy . If they're in the RUNNING
/// state and reported as healthy by the load balancer, tasks for services that do
/// use a load balancer are considered healthy . The default value for minimum healthy
/// percent is 100%.
///
///
///
/// If a service uses the ECS
deployment controller, the maximum percent
/// parameter represents an upper limit on the number of tasks in a service that are allowed
/// in the RUNNING
or PENDING
state during a deployment. Specifically,
/// it represents it as a percentage of the desired number of tasks (rounded down to the
/// nearest integer). This happens when any of your container instances are in the DRAINING
/// state if the service contains tasks using the EC2 launch type. Using this parameter,
/// you can define the deployment batch size. For example, if your service has a desired
/// number of four tasks and a maximum percent value of 200%, the scheduler may start
/// four new tasks before stopping the four older tasks (provided that the cluster resources
/// required to do this are available). The default value for maximum percent is 200%.
///
///
///
/// If a service uses either the CODE_DEPLOY
or EXTERNAL
deployment
/// controller types and tasks that use the EC2 launch type, the minimum healthy percent
/// and maximum percent values are used only to define the lower and upper limit
/// on the number of the tasks in the service that remain in the RUNNING
/// state. This is while the container instances are in the DRAINING
state.
/// If the tasks in the service use the Fargate launch type, the minimum healthy percent
/// and maximum percent values aren't used. This is the case even if they're currently
/// visible when describing your service.
///
///
///
/// When creating a service that uses the EXTERNAL
deployment controller,
/// you can specify only parameters that aren't controlled at the task set level. The
/// only required parameter is the service name. You control your services using the CreateTaskSet
/// operation. For more information, see Amazon
/// ECS deployment types in the Amazon Elastic Container Service Developer Guide.
///
///
///
/// When the service scheduler launches new tasks, it determines task placement. For information
/// about task placement and task placement strategies, see Amazon
/// ECS task placement in the Amazon Elastic Container Service Developer Guide.
///
///
public partial class CreateServiceRequest : AmazonECSRequest
{
private List _capacityProviderStrategy = new List();
private string _clientToken;
private string _cluster;
private DeploymentConfiguration _deploymentConfiguration;
private DeploymentController _deploymentController;
private int? _desiredCount;
private bool? _enableecsManagedTags;
private bool? _enableExecuteCommand;
private int? _healthCheckGracePeriodSeconds;
private LaunchType _launchType;
private List _loadBalancers = new List();
private NetworkConfiguration _networkConfiguration;
private List _placementConstraints = new List();
private List _placementStrategy = new List();
private string _platformVersion;
private PropagateTags _propagateTags;
private string _role;
private SchedulingStrategy _schedulingStrategy;
private ServiceConnectConfiguration _serviceConnectConfiguration;
private string _serviceName;
private List _serviceRegistries = new List();
private List _tags = new List();
private string _taskDefinition;
///
/// Gets and sets the property CapacityProviderStrategy.
///
/// The capacity provider strategy to use for the service.
///
///
///
/// If a capacityProviderStrategy
is specified, the launchType
/// parameter must be omitted. If no capacityProviderStrategy
or launchType
/// is specified, the defaultCapacityProviderStrategy
for the cluster is
/// used.
///
///
///
/// A capacity provider strategy may contain a maximum of 6 capacity providers.
///
///
public List CapacityProviderStrategy
{
get { return this._capacityProviderStrategy; }
set { this._capacityProviderStrategy = value; }
}
// Check to see if CapacityProviderStrategy property is set
internal bool IsSetCapacityProviderStrategy()
{
return this._capacityProviderStrategy != null && this._capacityProviderStrategy.Count > 0;
}
///
/// Gets and sets the property ClientToken.
///
/// An identifier that you provide to ensure the idempotency of the request. It must be
/// unique and is case sensitive. Up to 32 ASCII characters are allowed.
///
///
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property Cluster.
///
/// The short name or full Amazon Resource Name (ARN) of the cluster that you run your
/// service on. If you do not specify a cluster, the default cluster is assumed.
///
///
public string Cluster
{
get { return this._cluster; }
set { this._cluster = value; }
}
// Check to see if Cluster property is set
internal bool IsSetCluster()
{
return this._cluster != null;
}
///
/// Gets and sets the property DeploymentConfiguration.
///
/// Optional deployment parameters that control how many tasks run during the deployment
/// and the ordering of stopping and starting tasks.
///
///
public DeploymentConfiguration DeploymentConfiguration
{
get { return this._deploymentConfiguration; }
set { this._deploymentConfiguration = value; }
}
// Check to see if DeploymentConfiguration property is set
internal bool IsSetDeploymentConfiguration()
{
return this._deploymentConfiguration != null;
}
///
/// Gets and sets the property DeploymentController.
///
/// The deployment controller to use for the service. If no deployment controller is specified,
/// the default value of ECS
is used.
///
///
public DeploymentController DeploymentController
{
get { return this._deploymentController; }
set { this._deploymentController = value; }
}
// Check to see if DeploymentController property is set
internal bool IsSetDeploymentController()
{
return this._deploymentController != null;
}
///
/// Gets and sets the property DesiredCount.
///
/// The number of instantiations of the specified task definition to place and keep running
/// in your service.
///
///
///
/// This is required if schedulingStrategy
is REPLICA
or isn't
/// specified. If schedulingStrategy
is DAEMON
then this isn't
/// required.
///
///
public int DesiredCount
{
get { return this._desiredCount.GetValueOrDefault(); }
set { this._desiredCount = value; }
}
// Check to see if DesiredCount property is set
internal bool IsSetDesiredCount()
{
return this._desiredCount.HasValue;
}
///
/// Gets and sets the property EnableECSManagedTags.
///
/// Specifies whether to turn on Amazon ECS managed tags for the tasks within the service.
/// For more information, see Tagging
/// your Amazon ECS resources in the Amazon Elastic Container Service Developer
/// Guide.
///
///
///
/// When you use Amazon ECS managed tags, you need to set the propagateTags
/// request parameter.
///
///
public bool EnableECSManagedTags
{
get { return this._enableecsManagedTags.GetValueOrDefault(); }
set { this._enableecsManagedTags = value; }
}
// Check to see if EnableECSManagedTags property is set
internal bool IsSetEnableECSManagedTags()
{
return this._enableecsManagedTags.HasValue;
}
///
/// Gets and sets the property EnableExecuteCommand.
///
/// Determines whether the execute command functionality is turned on for the service.
/// If true
, this enables execute command functionality on all containers
/// in the service tasks.
///
///
public bool EnableExecuteCommand
{
get { return this._enableExecuteCommand.GetValueOrDefault(); }
set { this._enableExecuteCommand = value; }
}
// Check to see if EnableExecuteCommand property is set
internal bool IsSetEnableExecuteCommand()
{
return this._enableExecuteCommand.HasValue;
}
///
/// Gets and sets the property 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. This is
/// only used when your service is configured to use a load balancer. If your service
/// has a load balancer defined and you don't specify a health check grace period value,
/// the default value of 0
is used.
///
///
///
/// If you do not use an Elastic Load Balancing, we recommend that you use the startPeriod
/// in the task definition health check parameters. For more information, see Health
/// check.
///
///
///
/// If your service's tasks take a while to start and respond to Elastic Load Balancing
/// health checks, you can specify a health check grace period of up to 2,147,483,647
/// seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores
/// health check status. This grace period can prevent the service scheduler from marking
/// tasks as unhealthy and stopping them before they have time to come up.
///
///
public int HealthCheckGracePeriodSeconds
{
get { return this._healthCheckGracePeriodSeconds.GetValueOrDefault(); }
set { this._healthCheckGracePeriodSeconds = value; }
}
// Check to see if HealthCheckGracePeriodSeconds property is set
internal bool IsSetHealthCheckGracePeriodSeconds()
{
return this._healthCheckGracePeriodSeconds.HasValue;
}
///
/// Gets and sets the property LaunchType.
///
/// The infrastructure that you run your service on. For more information, see Amazon
/// ECS launch types in the Amazon Elastic Container Service Developer Guide.
///
///
///
/// The FARGATE
launch type runs your tasks on Fargate On-Demand infrastructure.
///
///
///
/// Fargate Spot infrastructure is available for use but a capacity provider strategy
/// must be used. For more information, see Fargate
/// capacity providers in the Amazon ECS User Guide for Fargate.
///
///
///
/// The EC2
launch type runs your tasks on Amazon EC2 instances registered
/// to your cluster.
///
///
///
/// The EXTERNAL
launch type runs your tasks on your on-premises server or
/// virtual machine (VM) capacity registered to your cluster.
///
///
///
/// A service can use either a launch type or a capacity provider strategy. If a launchType
/// is specified, the capacityProviderStrategy
parameter must be omitted.
///
///
public LaunchType LaunchType
{
get { return this._launchType; }
set { this._launchType = value; }
}
// Check to see if LaunchType property is set
internal bool IsSetLaunchType()
{
return this._launchType != null;
}
///
/// Gets and sets the property LoadBalancers.
///
/// 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 uses the rolling update (ECS
) deployment controller and
/// using either an Application Load Balancer or Network Load Balancer, you must specify
/// one or more target group ARNs to attach to the service. The service-linked role is
/// required for services that use multiple target groups. For more information, see Using
/// service-linked roles for Amazon ECS in the Amazon Elastic Container Service
/// Developer Guide.
///
///
///
/// If the service uses the CODE_DEPLOY
deployment controller, the service
/// is required to use either an Application Load Balancer or Network Load Balancer. When
/// creating an CodeDeploy deployment group, you specify two target groups (referred to
/// as a targetGroupPair
). During a deployment, CodeDeploy determines which
/// task set in your service has the status PRIMARY
, and it associates one
/// target group with it. Then, it also 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 you can use to perform validation
/// tests with Lambda functions before routing production traffic to it.
///
///
///
/// If you use the CODE_DEPLOY
deployment controller, these values can be
/// changed when updating the service.
///
///
///
/// For Application Load Balancers and Network Load Balancers, this object must contain
/// the load balancer target group ARN, the container name, and the container port to
/// access from the load balancer. The container name must be as it appears in a container
/// definition. The load balancer name parameter must be omitted. 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 that's specified here.
///
///
///
/// For Classic Load Balancers, this object must contain the load balancer name, the container
/// name , and the container port to access from the load balancer. The container name
/// must be as it appears in a container definition. The target group ARN parameter must
/// be omitted. When a task from this service is placed on a container instance, the container
/// instance is registered with the load balancer that's 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 aren't supported. Also, when you create any
/// target groups for these services, you must choose ip
as the target type,
/// not instance
. This is because tasks that use the awsvpc
/// network mode are associated with an elastic network interface, not an Amazon EC2 instance.
///
///
public List LoadBalancers
{
get { return this._loadBalancers; }
set { this._loadBalancers = value; }
}
// Check to see if LoadBalancers property is set
internal bool IsSetLoadBalancers()
{
return this._loadBalancers != null && this._loadBalancers.Count > 0;
}
///
/// Gets and sets the property NetworkConfiguration.
///
/// The network configuration for the service. This parameter is required for task definitions
/// that use the awsvpc
network mode to receive their own elastic network
/// interface, and it isn't supported for other network modes. For more information, see
/// Task
/// networking in the Amazon Elastic Container Service Developer Guide.
///
///
public NetworkConfiguration NetworkConfiguration
{
get { return this._networkConfiguration; }
set { this._networkConfiguration = value; }
}
// Check to see if NetworkConfiguration property is set
internal bool IsSetNetworkConfiguration()
{
return this._networkConfiguration != null;
}
///
/// Gets and sets the property PlacementConstraints.
///
/// An array of placement constraint objects to use for tasks in your service. You can
/// specify a maximum of 10 constraints for each task. This limit includes constraints
/// in the task definition and those specified at runtime.
///
///
public List PlacementConstraints
{
get { return this._placementConstraints; }
set { this._placementConstraints = value; }
}
// Check to see if PlacementConstraints property is set
internal bool IsSetPlacementConstraints()
{
return this._placementConstraints != null && this._placementConstraints.Count > 0;
}
///
/// Gets and sets the property PlacementStrategy.
///
/// The placement strategy objects to use for tasks in your service. You can specify a
/// maximum of 5 strategy rules for each service.
///
///
public List PlacementStrategy
{
get { return this._placementStrategy; }
set { this._placementStrategy = value; }
}
// Check to see if PlacementStrategy property is set
internal bool IsSetPlacementStrategy()
{
return this._placementStrategy != null && this._placementStrategy.Count > 0;
}
///
/// Gets and sets the property PlatformVersion.
///
/// The platform version that your tasks in the service are running on. A platform version
/// is specified only for tasks using the Fargate launch type. 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.
///
///
public string PlatformVersion
{
get { return this._platformVersion; }
set { this._platformVersion = value; }
}
// Check to see if PlatformVersion property is set
internal bool IsSetPlatformVersion()
{
return this._platformVersion != null;
}
///
/// Gets and sets the property PropagateTags.
///
/// Specifies whether to propagate the tags from the task definition to the task. If no
/// value is specified, the tags aren't propagated. Tags can only be propagated to the
/// task during task creation. To add tags to a task after task creation, use the TagResource
/// API action.
///
///
///
/// The default is NONE
.
///
///
public PropagateTags PropagateTags
{
get { return this._propagateTags; }
set { this._propagateTags = value; }
}
// Check to see if PropagateTags property is set
internal bool IsSetPropagateTags()
{
return this._propagateTags != null;
}
///
/// Gets and sets the property Role.
///
/// The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS
/// to make calls to your load balancer on your behalf. This parameter is only permitted
/// if you are using a load balancer with your service and your task definition doesn't
/// use the awsvpc
network mode. If you specify the role
parameter,
/// you must also specify a load balancer object with the loadBalancers
parameter.
///
///
///
/// If your account has already created the Amazon ECS service-linked role, that role
/// is used for your service unless you specify a role here. The service-linked role is
/// required if your task definition uses the awsvpc
network mode or if the
/// service is configured to use service discovery, an external deployment controller,
/// multiple target groups, or Elastic Inference accelerators in which case you don't
/// specify a role here. For more information, see Using
/// service-linked roles for Amazon ECS in the Amazon Elastic Container Service
/// Developer Guide.
///
///
///
/// If your specified role has a path other than /
, then you must either
/// specify the full role ARN (this is recommended) or prefix the role name with the path.
/// For example, if a role with the name bar
has a path of /foo/
/// then you would specify /foo/bar
as the role name. For more information,
/// see Friendly
/// names and paths in the IAM User Guide.
///
///
public string Role
{
get { return this._role; }
set { this._role = value; }
}
// Check to see if Role property is set
internal bool IsSetRole()
{
return this._role != null;
}
///
/// Gets and sets the property SchedulingStrategy.
///
/// 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. This scheduler strategy is required if the service
/// uses the CODE_DEPLOY
or EXTERNAL
deployment controller types.
///
/// -
///
///
DAEMON
-The daemon scheduling strategy deploys exactly one task on each
/// active container instance that 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 and will stop tasks that don't meet the placement constraints. When
/// you're using this strategy, you don't need to specify a desired number of tasks, a
/// task placement strategy, or use Service Auto Scaling policies.
///
///
///
/// Tasks using the Fargate launch type or the CODE_DEPLOY
or EXTERNAL
/// deployment controller types don't support the DAEMON
scheduling strategy.
///
///
///
public SchedulingStrategy SchedulingStrategy
{
get { return this._schedulingStrategy; }
set { this._schedulingStrategy = value; }
}
// Check to see if SchedulingStrategy property is set
internal bool IsSetSchedulingStrategy()
{
return this._schedulingStrategy != null;
}
///
/// Gets and sets the property ServiceConnectConfiguration.
///
/// The configuration for this service to discover and connect to services, and be discovered
/// by, and connected from, other services within a namespace.
///
///
///
/// Tasks that run in a namespace can use short names to connect to services in the namespace.
/// Tasks can connect to services across all of the clusters in the namespace. Tasks connect
/// through a managed proxy container that collects logs and metrics for increased visibility.
/// Only the tasks that Amazon ECS services create are supported with Service Connect.
/// For more information, see Service
/// Connect in the Amazon Elastic Container Service Developer Guide.
///
///
public ServiceConnectConfiguration ServiceConnectConfiguration
{
get { return this._serviceConnectConfiguration; }
set { this._serviceConnectConfiguration = value; }
}
// Check to see if ServiceConnectConfiguration property is set
internal bool IsSetServiceConnectConfiguration()
{
return this._serviceConnectConfiguration != null;
}
///
/// Gets and sets the property 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, but you can
/// have similarly named services in multiple clusters within a Region or across multiple
/// Regions.
///
///
[AWSProperty(Required=true)]
public string ServiceName
{
get { return this._serviceName; }
set { this._serviceName = value; }
}
// Check to see if ServiceName property is set
internal bool IsSetServiceName()
{
return this._serviceName != null;
}
///
/// Gets and sets the property ServiceRegistries.
///
/// The details of the service discovery registry to associate with this service. For
/// more information, see Service
/// discovery.
///
///
///
/// Each service may be associated with one service registry. Multiple service registries
/// for each service isn't supported.
///
///
///
public List ServiceRegistries
{
get { return this._serviceRegistries; }
set { this._serviceRegistries = value; }
}
// Check to see if ServiceRegistries property is set
internal bool IsSetServiceRegistries()
{
return this._serviceRegistries != null && this._serviceRegistries.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// 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, both of which you define. When a
/// service is deleted, the tags are deleted as well.
///
///
///
/// 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.
///
///
///
[AWSProperty(Min=0, Max=50)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TaskDefinition.
///
/// The family
and revision
(family:revision
) or
/// full ARN of the task definition to run in your service. If a revision
/// isn't specified, the latest ACTIVE
revision is used.
///
///
///
/// A task definition must be specified if the service uses either the ECS
/// or CODE_DEPLOY
deployment controllers.
///
///
///
/// For more information about deployment types, see Amazon
/// ECS deployment types.
///
///
public string TaskDefinition
{
get { return this._taskDefinition; }
set { this._taskDefinition = value; }
}
// Check to see if TaskDefinition property is set
internal bool IsSetTaskDefinition()
{
return this._taskDefinition != null;
}
}
}