ExternalServiceProps Struct
The properties for defining a service using the External launch type.
Example
declare const cluster: ecs.Cluster;
declare const taskDefinition: ecs.TaskDefinition;
new ecs.Ec2Service(this, 'Ec2Service', {
cluster,
taskDefinition,
daemon: true,
});
new ecs.ExternalService(this, 'ExternalService', {
cluster,
taskDefinition,
daemon: true,
});
Properties
bakeTimeoptionalDurationbake_timeoptionalDurationbakeTimeoptionalDurationBakeTimeoptionalDurationBakeTimeoptionalDuration= none#canaryConfigurationoptionalTrafficShiftConfigcanary_configurationoptionalTrafficShiftConfigcanaryConfigurationoptionalTrafficShiftConfigCanaryConfigurationoptionalTrafficShiftConfigCanaryConfigurationoptionalTrafficShiftConfig#Default: no canary configuration
Only valid when deploymentStrategy is set to CANARY.
capacityProviderStrategiesoptionalCapacityProviderStrategy[]capacity_provider_strategiesoptionaltyping.List[CapacityProviderStrategy]capacityProviderStrategiesoptionalList<CapacityProviderStrategy>CapacityProviderStrategiesoptionalCapacityProviderStrategy[]CapacityProviderStrategiesoptional*[]CapacityProviderStrategy= undefined#circuitBreakeroptionalDeploymentCircuitBreakercircuit_breakeroptionalDeploymentCircuitBreakercircuitBreakeroptionalDeploymentCircuitBreakerCircuitBreakeroptionalDeploymentCircuitBreakerCircuitBreakeroptionalDeploymentCircuitBreaker= disabled#If this property is defined, circuit breaker will be implicitly enabled.
cloudMapOptionsoptionalCloudMapOptionscloud_map_optionsoptionalCloudMapOptionscloudMapOptionsoptionalCloudMapOptionsCloudMapOptionsoptionalCloudMapOptionsCloudMapOptionsoptionalCloudMapOptions#Default: AWS Cloud Map service discovery is not enabled.
daemonoptionalbooleandaemonoptionalbooldaemonoptionalBooleanDaemonoptionalboolDaemonoptional*bool= false#notes
If true, the service scheduler deploys exactly one task on each container instance in your cluster.
When you are using this strategy, do not specify a desired number of tasks or any task placement strategies. Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
deploymentAlarmsoptionalDeploymentAlarmConfigdeployment_alarmsoptionalDeploymentAlarmConfigdeploymentAlarmsoptionalDeploymentAlarmConfigDeploymentAlarmsoptionalDeploymentAlarmConfigDeploymentAlarmsoptionalDeploymentAlarmConfig#Default: No alarms will be monitored during deployment.
deploymentControlleroptionalDeploymentControllerdeployment_controlleroptionalDeploymentControllerdeploymentControlleroptionalDeploymentControllerDeploymentControlleroptionalDeploymentControllerDeploymentControlleroptionalDeploymentController#Default: Rolling update (ECS)
For more information, see Amazon ECS Deployment Types
deploymentStrategyoptionalDeploymentStrategydeployment_strategyoptionalDeploymentStrategydeploymentStrategyoptionalDeploymentStrategyDeploymentStrategyoptionalDeploymentStrategyDeploymentStrategyoptionalDeploymentStrategy= ROLLING#desiredCountoptionalnumberdesired_countoptionalint | floatdesiredCountoptionalNumberDesiredCountoptionaldoubleDesiredCountoptional*float64#Default: When creating the service, default is 1; when updating the service, default uses the current task number.
enableECSManagedTagsoptionalbooleanenable_ecs_managed_tagsoptionalboolenableECSManagedTagsoptionalBooleanEnableECSManagedTagsoptionalboolEnableECSManagedTagsoptional*bool= false#For more information, see Tagging Your Amazon ECS Resources
enableExecuteCommandoptionalbooleanenable_execute_commandoptionalboolenableExecuteCommandoptionalBooleanEnableExecuteCommandoptionalboolEnableExecuteCommandoptional*bool= undefined#forceNewDeploymentoptionalForceNewDeploymentforce_new_deploymentoptionalForceNewDeploymentforceNewDeploymentoptionalForceNewDeploymentForceNewDeploymentoptionalForceNewDeploymentForceNewDeploymentoptionalForceNewDeployment#Default: no forced deployment
notes
By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination (my_image:latest) or to roll Fargate tasks onto a newer platform version.
This is equivalent to calling the forceNewDeployment() method, but allows you to configure it declaratively at construction time, including the ability to explicitly disable it with enabled: false.
healthCheckGracePeriodoptionalDurationhealth_check_grace_periodoptionalDurationhealthCheckGracePeriodoptionalDurationHealthCheckGracePeriodoptionalDurationHealthCheckGracePeriodoptionalDuration#Default: defaults to 60 seconds if at least one load balancer is in-use and it is not already set
lifecycleHooksoptionalIDeploymentLifecycleHookTarget[]lifecycle_hooksoptionaltyping.List[IDeploymentLifecycleHookTarget]lifecycleHooksoptionalList<IDeploymentLifecycleHookTarget>LifecycleHooksoptionalIDeploymentLifecycleHookTarget[]LifecycleHooksoptional*[]IDeploymentLifecycleHookTarget= none;#linearConfigurationoptionalTrafficShiftConfiglinear_configurationoptionalTrafficShiftConfiglinearConfigurationoptionalTrafficShiftConfigLinearConfigurationoptionalTrafficShiftConfigLinearConfigurationoptionalTrafficShiftConfig#Default: no linear configuration
Only valid when deploymentStrategy is set to LINEAR.
maxHealthyPercentoptionalnumbermax_healthy_percentoptionalint | floatmaxHealthyPercentoptionalNumberMaxHealthyPercentoptionaldoubleMaxHealthyPercentoptional*float64#Default: 100 if daemon, otherwise 200
minHealthyPercentoptionalnumbermin_healthy_percentoptionalint | floatminHealthyPercentoptionalNumberMinHealthyPercentoptionaldoubleMinHealthyPercentoptional*float64#Default: 0 if daemon, otherwise 50
propagateTagsoptionalPropagatedTagSourcepropagate_tagsoptionalPropagatedTagSourcepropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSource= PropagatedTagSource.NONE#Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE
securityGroupsoptionalISecurityGroup[]security_groupsoptionaltyping.List[ISecurityGroup]securityGroupsoptionalList<ISecurityGroup>SecurityGroupsoptionalISecurityGroup[]SecurityGroupsoptional*[]ISecurityGroup#Default: A new security group is created.
If you do not specify a security group, a new security group is created.
serviceConnectConfigurationoptionalServiceConnectPropsservice_connect_configurationoptionalServiceConnectPropsserviceConnectConfigurationoptionalServiceConnectPropsServiceConnectConfigurationoptionalServiceConnectPropsServiceConnectConfigurationoptionalServiceConnectProps#Default: No ports are advertised via Service Connect on this service, and the service cannot make requests to other services via Service Connect.
serviceNameoptionalstringservice_nameoptionalstrserviceNameoptionalStringServiceNameoptionalstringServiceNameoptional*string#Default: CloudFormation-generated name.
taskDefinitionTaskDefinitiontask_definitionTaskDefinitiontaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionrequired#[disable-awslint:ref-via-interface]
taskDefinitionRevisionoptionalTaskDefinitionRevisiontask_definition_revisionoptionalTaskDefinitionRevisiontaskDefinitionRevisionoptionalTaskDefinitionRevisionTaskDefinitionRevisionoptionalTaskDefinitionRevisionTaskDefinitionRevisionoptionalTaskDefinitionRevision#Default: Uses the revision of the passed task definition deployed by CloudFormation
volumeConfigurationsoptionalServiceManagedVolume[]volume_configurationsoptionaltyping.List[ServiceManagedVolume]volumeConfigurationsoptionalList<ServiceManagedVolume>VolumeConfigurationsoptionalServiceManagedVolume[]VolumeConfigurationsoptional*[]ServiceManagedVolume= undefined#This allows you to specify details about the EBS volume that can be attached to ECS tasks.