Interface ApplicationLoadBalancedTaskImageProps
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
ApplicationLoadBalancedTaskImageProps.Jsii$Proxy
Example:
import software.amazon.awscdk.services.certificatemanager.Certificate; import software.amazon.awscdk.services.ec2.InstanceType; import software.amazon.awscdk.services.ecs.Cluster; import software.amazon.awscdk.services.ecs.ContainerImage; import software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol; import software.amazon.awscdk.services.elasticloadbalancingv2.SslPolicy; import software.amazon.awscdk.services.route53.PublicHostedZone; Vpc vpc = Vpc.Builder.create(this, "Vpc").maxAzs(1).build(); ApplicationMultipleTargetGroupsFargateService loadBalancedFargateService = ApplicationMultipleTargetGroupsFargateService.Builder.create(this, "myService") .cluster(Cluster.Builder.create(this, "EcsCluster").vpc(vpc).build()) .memoryLimitMiB(256) .taskImageOptions(ApplicationLoadBalancedTaskImageProps.builder() .image(ContainerImage.fromRegistry("amazon/amazon-ecs-sample")) .build()) .enableExecuteCommand(true) .loadBalancers(List.of(ApplicationLoadBalancerProps.builder() .name("lb") .idleTimeout(Duration.seconds(400)) .domainName("api.example.com") .domainZone(PublicHostedZone.Builder.create(this, "HostedZone").zoneName("example.com").build()) .listeners(List.of(ApplicationListenerProps.builder() .name("listener") .protocol(ApplicationProtocol.HTTPS) .certificate(Certificate.fromCertificateArn(this, "Cert", "helloworld")) .sslPolicy(SslPolicy.TLS12_EXT) .build())) .build(), ApplicationLoadBalancerProps.builder() .name("lb2") .idleTimeout(Duration.seconds(120)) .domainName("frontend.com") .domainZone(PublicHostedZone.Builder.create(this, "HostedZone").zoneName("frontend.com").build()) .listeners(List.of(ApplicationListenerProps.builder() .name("listener2") .protocol(ApplicationProtocol.HTTPS) .certificate(Certificate.fromCertificateArn(this, "Cert2", "helloworld")) .sslPolicy(SslPolicy.TLS12_EXT) .build())) .build())) .targetGroups(List.of(ApplicationTargetProps.builder() .containerPort(80) .listener("listener") .build(), ApplicationTargetProps.builder() .containerPort(90) .pathPattern("a/b/c") .priority(10) .listener("listener") .build(), ApplicationTargetProps.builder() .containerPort(443) .listener("listener2") .build(), ApplicationTargetProps.builder() .containerPort(80) .pathPattern("a/b/c") .priority(10) .listener("listener2") .build())) .build();
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic final class
A builder forApplicationLoadBalancedTaskImageProps
static final class
An implementation forApplicationLoadBalancedTaskImageProps
-
Method Summary
Modifier and TypeMethodDescriptionbuilder()
default String
The container name value to be specified in the task definition.A list of port numbers on the container that is bound to the user-specified or automatically assigned host port.A key/value map of labels to add to the container.default Boolean
Flag to indicate whether to enable logging.The environment variables to pass to the container.default IRole
The name of the task execution IAM role that grants the Amazon ECS container agent permission to call AWS APIs on your behalf.default String
The name of a family that this task definition is registered to.getImage()
The image used to start a container.default LogDriver
The log driver to use.The secrets to expose to the container as an environment variable.default IRole
The name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getImage
The image used to start a container.Image or taskDefinition must be specified, not both.
Default: - none
-
getContainerName
The container name value to be specified in the task definition.Default: - web
-
getContainerPorts
A list of port numbers on the container that is bound to the user-specified or automatically assigned host port.If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort. If you are using containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range.
Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.
For more information, see hostPort.
Default: - [80]
-
getDockerLabels
A key/value map of labels to add to the container.Default: - No labels.
-
getEnableLogging
Flag to indicate whether to enable logging.Default: true
-
getEnvironment
The environment variables to pass to the container.Default: - No environment variables.
-
getExecutionRole
The name of the task execution IAM role that grants the Amazon ECS container agent permission to call AWS APIs on your behalf.Default: - No value
-
getFamily
The name of a family that this task definition is registered to.A family groups multiple versions of a task definition.
Default: - Automatically generated name.
-
getLogDriver
The log driver to use.Default: - AwsLogDriver if enableLogging is true
-
getSecrets
The secrets to expose to the container as an environment variable.Default: - No secret environment variables.
-
getTaskRole
The name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf.Default: - A task role is automatically created for you.
-
builder
-