Class BaseServiceOptions
The properties for the base Ec2Service or FargateService service.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.ECS
Assembly: Amazon.CDK.AWS.ECS.dll
Syntax (csharp)
public class BaseServiceOptions : Object, IBaseServiceOptions
Syntax (vb)
Public Class BaseServiceOptions
Inherits Object
Implements IBaseServiceOptions
Remarks
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ECS;
using Amazon.CDK.AWS.ServiceDiscovery;
using Amazon.CDK;
Cluster cluster;
ContainerDefinition containerDefinition;
INamespace namespace;
var baseServiceOptions = new BaseServiceOptions {
Cluster = cluster,
// the properties below are optional
CapacityProviderStrategies = new [] { new CapacityProviderStrategy {
CapacityProvider = "capacityProvider",
// the properties below are optional
Base = 123,
Weight = 123
} },
CircuitBreaker = new DeploymentCircuitBreaker {
Rollback = false
},
CloudMapOptions = new CloudMapOptions {
CloudMapNamespace = namespace,
Container = containerDefinition,
ContainerPort = 123,
DnsRecordType = DnsRecordType.A,
DnsTtl = Duration.Minutes(30),
FailureThreshold = 123,
Name = "name"
},
DeploymentController = new DeploymentController {
Type = DeploymentControllerType.ECS
},
DesiredCount = 123,
EnableECSManagedTags = false,
EnableExecuteCommand = false,
HealthCheckGracePeriod = Duration.Minutes(30),
MaxHealthyPercent = 123,
MinHealthyPercent = 123,
PropagateTags = PropagatedTagSource.SERVICE,
PropagateTaskTagsFrom = PropagatedTagSource.SERVICE,
ServiceName = "serviceName"
};
Synopsis
Constructors
BaseServiceOptions() |
Properties
CapacityProviderStrategies | A list of Capacity Provider strategies used to place a service. |
CircuitBreaker | Whether to enable the deployment circuit breaker. |
CloudMapOptions | The options for configuring an Amazon ECS service to use service discovery. |
Cluster | The name of the cluster that hosts the service. |
DeploymentController | Specifies which deployment controller to use for the service. |
DesiredCount | The desired number of instantiations of the task definition to keep running on the service. |
EnableECSManagedTags | Specifies whether to enable Amazon ECS managed tags for the tasks within the service. |
EnableExecuteCommand | Whether to enable the ability to execute into a container. |
HealthCheckGracePeriod | 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. |
MaxHealthyPercent | The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. |
MinHealthyPercent | The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. |
PropagateTags | Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. |
PropagateTaskTagsFrom | (deprecated) Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. |
ServiceName | The name of the service. |
Constructors
BaseServiceOptions()
public BaseServiceOptions()
Properties
CapacityProviderStrategies
A list of Capacity Provider strategies used to place a service.
public ICapacityProviderStrategy[] CapacityProviderStrategies { get; set; }
Property Value
Remarks
Default: - undefined
CircuitBreaker
Whether to enable the deployment circuit breaker.
public IDeploymentCircuitBreaker CircuitBreaker { get; set; }
Property Value
Remarks
If this property is defined, circuit breaker will be implicitly enabled.
Default: - disabled
CloudMapOptions
The options for configuring an Amazon ECS service to use service discovery.
public ICloudMapOptions CloudMapOptions { get; set; }
Property Value
Remarks
Default: - AWS Cloud Map service discovery is not enabled.
Cluster
The name of the cluster that hosts the service.
public ICluster Cluster { get; set; }
Property Value
DeploymentController
Specifies which deployment controller to use for the service.
public IDeploymentController DeploymentController { get; set; }
Property Value
Remarks
For more information, see Amazon ECS Deployment Types
Default: - Rolling update (ECS)
DesiredCount
The desired number of instantiations of the task definition to keep running on the service.
public Nullable<double> DesiredCount { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
EnableECSManagedTags
Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
public Nullable<bool> EnableECSManagedTags { get; set; }
Property Value
System.Nullable<System.Boolean>
Remarks
For more information, see Tagging Your Amazon ECS Resources
Default: false
EnableExecuteCommand
Whether to enable the ability to execute into a container.
public Nullable<bool> EnableExecuteCommand { get; set; }
Property Value
System.Nullable<System.Boolean>
Remarks
Default: - undefined
HealthCheckGracePeriod
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.
public Duration HealthCheckGracePeriod { get; set; }
Property Value
Remarks
Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
MaxHealthyPercent
The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
public Nullable<double> MaxHealthyPercent { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Default: - 100 if daemon, otherwise 200
MinHealthyPercent
The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment.
public Nullable<double> MinHealthyPercent { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Default: - 0 if daemon, otherwise 50
PropagateTags
Specifies whether to propagate the tags from the task definition or the service to the tasks in the service.
public Nullable<PropagatedTagSource> PropagateTags { get; set; }
Property Value
System.Nullable<PropagatedTagSource>
Remarks
Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE
Default: PropagatedTagSource.NONE
PropagateTaskTagsFrom
(deprecated) Specifies whether to propagate the tags from the task definition or the service to the tasks in the service.
public Nullable<PropagatedTagSource> PropagateTaskTagsFrom { get; set; }
Property Value
System.Nullable<PropagatedTagSource>
Remarks
Tags can only be propagated to the tasks within the service during service creation.
Default: PropagatedTagSource.NONE
Stability: Deprecated
ServiceName
The name of the service.
public string ServiceName { get; set; }
Property Value
System.String
Remarks
Default: - CloudFormation-generated name.