@Generated(value="jsii-pacmak/1.74.0 (build 6d08790)",
date="2023-03-22T19:35:50.904Z")
public interface NetworkLoadBalancedServiceBaseProps
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import software.amazon.awscdk.services.ec2.*; import software.amazon.awscdk.services.ecs.*; import software.amazon.awscdk.services.ecs.patterns.*; import software.amazon.awscdk.services.elasticloadbalancingv2.*; import software.amazon.awscdk.services.iam.*; import software.amazon.awscdk.services.route53.*; import software.amazon.awscdk.services.servicediscovery.*; import software.amazon.awscdk.core.*; Cluster cluster; ContainerDefinition containerDefinition; ContainerImage containerImage; HostedZone hostedZone; LogDriver logDriver; INamespace namespace; NetworkLoadBalancer networkLoadBalancer; Role role; Secret secret; Vpc vpc; NetworkLoadBalancedServiceBaseProps networkLoadBalancedServiceBaseProps = NetworkLoadBalancedServiceBaseProps.builder() .circuitBreaker(DeploymentCircuitBreaker.builder() .rollback(false) .build()) .cloudMapOptions(CloudMapOptions.builder() .cloudMapNamespace(namespace) .container(containerDefinition) .containerPort(123) .dnsRecordType(DnsRecordType.A) .dnsTtl(Duration.minutes(30)) .failureThreshold(123) .name("name") .build()) .cluster(cluster) .deploymentController(DeploymentController.builder() .type(DeploymentControllerType.ECS) .build()) .desiredCount(123) .domainName("domainName") .domainZone(hostedZone) .enableECSManagedTags(false) .healthCheckGracePeriod(Duration.minutes(30)) .listenerPort(123) .loadBalancer(networkLoadBalancer) .maxHealthyPercent(123) .minHealthyPercent(123) .propagateTags(PropagatedTagSource.SERVICE) .publicLoadBalancer(false) .recordType(NetworkLoadBalancedServiceRecordType.ALIAS) .serviceName("serviceName") .taskImageOptions(NetworkLoadBalancedTaskImageOptions.builder() .image(containerImage) // the properties below are optional .containerName("containerName") .containerPort(123) .dockerLabels(Map.of( "dockerLabelsKey", "dockerLabels")) .enableLogging(false) .environment(Map.of( "environmentKey", "environment")) .executionRole(role) .family("family") .logDriver(logDriver) .secrets(Map.of( "secretsKey", secret)) .taskRole(role) .build()) .vpc(vpc) .build();
Modifier and Type | Interface and Description |
---|---|
static class |
NetworkLoadBalancedServiceBaseProps.Builder
A builder for
NetworkLoadBalancedServiceBaseProps |
static class |
NetworkLoadBalancedServiceBaseProps.Jsii$Proxy
An implementation for
NetworkLoadBalancedServiceBaseProps |
Modifier and Type | Method and Description |
---|---|
static NetworkLoadBalancedServiceBaseProps.Builder |
builder() |
default DeploymentCircuitBreaker |
getCircuitBreaker()
Whether to enable the deployment circuit breaker.
|
default CloudMapOptions |
getCloudMapOptions()
The options for configuring an Amazon ECS service to use service discovery.
|
default ICluster |
getCluster()
The name of the cluster that hosts the service.
|
default DeploymentController |
getDeploymentController()
Specifies which deployment controller to use for the service.
|
default java.lang.Number |
getDesiredCount()
The desired number of instantiations of the task definition to keep running on the service.
|
default java.lang.String |
getDomainName()
The domain name for the service, e.g.
|
default IHostedZone |
getDomainZone()
The Route53 hosted zone for the domain, e.g.
|
default java.lang.Boolean |
getEnableECSManagedTags()
Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
|
default Duration |
getHealthCheckGracePeriod()
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.
|
default java.lang.Number |
getListenerPort()
Listener port of the network load balancer that will serve traffic to the service.
|
default INetworkLoadBalancer |
getLoadBalancer()
The network load balancer that will serve traffic to the service.
|
default java.lang.Number |
getMaxHealthyPercent()
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.
|
default java.lang.Number |
getMinHealthyPercent()
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.
|
default PropagatedTagSource |
getPropagateTags()
Specifies whether to propagate the tags from the task definition or the service to the tasks in the service.
|
default java.lang.Boolean |
getPublicLoadBalancer()
Determines whether the Load Balancer will be internet-facing.
|
default NetworkLoadBalancedServiceRecordType |
getRecordType()
Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all.
|
default java.lang.String |
getServiceName()
The name of the service.
|
default NetworkLoadBalancedTaskImageOptions |
getTaskImageOptions()
The properties required to create a new task definition.
|
default IVpc |
getVpc()
The VPC where the container instances will be launched or the elastic network interfaces (ENIs) will be deployed.
|
default DeploymentCircuitBreaker getCircuitBreaker()
If this property is defined, circuit breaker will be implicitly enabled.
Default: - disabled
default CloudMapOptions getCloudMapOptions()
Default: - AWS Cloud Map service discovery is not enabled.
default ICluster getCluster()
If a cluster is specified, the vpc construct should be omitted. Alternatively, you can omit both cluster and vpc.
Default: - create a new cluster; if both cluster and vpc are omitted, a new VPC will be created for you.
default DeploymentController getDeploymentController()
For more information, see Amazon ECS Deployment Types
Default: - Rolling update (ECS)
default java.lang.Number getDesiredCount()
The minimum value is 1
Default: - If the feature flag, ECS_REMOVE_DEFAULT_DESIRED_COUNT is false, the default is 1; if true, the default is 1 for all new services and uses the existing services desired count when updating an existing service.
default java.lang.String getDomainName()
Default: - No domain name.
default IHostedZone getDomainZone()
Default: - No Route53 hosted domain zone.
default java.lang.Boolean getEnableECSManagedTags()
For more information, see Tagging Your Amazon ECS Resources
Default: false
default Duration getHealthCheckGracePeriod()
Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
default java.lang.Number getListenerPort()
Default: 80
default INetworkLoadBalancer getLoadBalancer()
If the load balancer has been imported, the vpc attribute must be specified in the call to fromNetworkLoadBalancerAttributes().
[disable-awslint:ref-via-interface]
Default: - a new load balancer will be created.
default java.lang.Number getMaxHealthyPercent()
Default: - 100 if daemon, otherwise 200
default java.lang.Number getMinHealthyPercent()
Default: - 0 if daemon, otherwise 50
default PropagatedTagSource getPropagateTags()
Tags can only be propagated to the tasks within the service during service creation.
Default: - none
default java.lang.Boolean getPublicLoadBalancer()
Default: true
default NetworkLoadBalancedServiceRecordType getRecordType()
This is useful if you need to work with DNS systems that do not support alias records.
Default: NetworkLoadBalancedServiceRecordType.ALIAS
default java.lang.String getServiceName()
Default: - CloudFormation-generated name.
default NetworkLoadBalancedTaskImageOptions getTaskImageOptions()
One of taskImageOptions or taskDefinition must be specified.
Default: - none
default IVpc getVpc()
If a vpc is specified, the cluster construct should be omitted. Alternatively, you can omit both vpc and cluster.
Default: - uses the VPC defined in the cluster or creates a new VPC.
static NetworkLoadBalancedServiceBaseProps.Builder builder()