Class FargateServiceProps
The properties for defining a service using the Fargate launch type.
Inheritance
Namespace: Amazon.CDK.AWS.ECS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class FargateServiceProps : Object, IFargateServiceProps, IBaseServiceOptions
Syntax (vb)
Public Class FargateServiceProps
Inherits Object
Implements IFargateServiceProps, IBaseServiceOptions
Remarks
ExampleMetadata: infused
Examples
using Amazon.CDK.AWS.CloudWatch;
Cluster cluster;
TaskDefinition taskDefinition;
Alarm elbAlarm;
var service = new FargateService(this, "Service", new FargateServiceProps {
Cluster = cluster,
TaskDefinition = taskDefinition,
DeploymentAlarms = new DeploymentAlarmConfig {
AlarmNames = new [] { elbAlarm.AlarmName },
Behavior = AlarmBehavior.ROLLBACK_ON_ALARM
}
});
// Defining a deployment alarm after the service has been created
var cpuAlarmName = "MyCpuMetricAlarm";
new Alarm(this, "CPUAlarm", new AlarmProps {
AlarmName = cpuAlarmName,
Metric = service.MetricCpuUtilization(),
EvaluationPeriods = 2,
Threshold = 80
});
service.EnableDeploymentAlarms(new [] { cpuAlarmName }, new DeploymentAlarmOptions {
Behavior = AlarmBehavior.FAIL_ON_ALARM
});
Synopsis
Constructors
FargateServiceProps() |
Properties
AssignPublicIp | Specifies whether the task's elastic network interface receives a public IP address. |
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. |
DeploymentAlarms | The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. |
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. |
PlatformVersion | The platform version on which to run your service. |
PropagateTags | Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. |
SecurityGroups | The security groups to associate with the service. |
ServiceConnectConfiguration | Configuration for Service Connect. |
ServiceName | The name of the service. |
TaskDefinition | The task definition to use for tasks in the service. |
TaskDefinitionRevision | Revision number for the task definition or |
VolumeConfigurations | Configuration details for a volume used by the service. |
VpcSubnets | The subnets to associate with the service. |
Constructors
FargateServiceProps()
public FargateServiceProps()
Properties
AssignPublicIp
Specifies whether the task's elastic network interface receives a public IP address.
public Nullable<bool> AssignPublicIp { get; set; }
Property Value
System.Nullable<System.Boolean>
Remarks
If true, each task will receive a public IP address.
Default: false
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
DeploymentAlarms
The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time.
public IDeploymentAlarmConfig DeploymentAlarms { get; set; }
Property Value
Remarks
Default: - No alarms will be monitored during deployment.
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
PlatformVersion
The platform version on which to run your service.
public Nullable<FargatePlatformVersion> PlatformVersion { get; set; }
Property Value
System.Nullable<FargatePlatformVersion>
Remarks
If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.
Default: Latest
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
SecurityGroups
The security groups to associate with the service.
public ISecurityGroup[] SecurityGroups { get; set; }
Property Value
Remarks
If you do not specify a security group, a new security group is created.
Default: - A new security group is created.
ServiceConnectConfiguration
Configuration for Service Connect.
public IServiceConnectProps ServiceConnectConfiguration { get; set; }
Property Value
Remarks
Default: No ports are advertised via Service Connect on this service, and the service cannot make requests to other services via Service Connect.
ServiceName
The name of the service.
public string ServiceName { get; set; }
Property Value
System.String
Remarks
Default: - CloudFormation-generated name.
TaskDefinition
The task definition to use for tasks in the service.
public TaskDefinition TaskDefinition { get; set; }
Property Value
Remarks
[disable-awslint:ref-via-interface]
TaskDefinitionRevision
Revision number for the task definition or latest
to use the latest active task revision.
public TaskDefinitionRevision TaskDefinitionRevision { get; set; }
Property Value
Remarks
Default: - Uses the revision of the passed task definition deployed by CloudFormation
VolumeConfigurations
Configuration details for a volume used by the service.
public ServiceManagedVolume[] VolumeConfigurations { get; set; }
Property Value
Remarks
This allows you to specify details about the EBS volume that can be attched to ECS tasks.
Default: - undefined
VpcSubnets
The subnets to associate with the service.
public ISubnetSelection VpcSubnets { get; set; }
Property Value
Remarks
Default: - Public subnets if assignPublicIp
is set, otherwise the first available one of Private, Isolated, Public, in that order.