@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:38.786Z") @Stability(value=Stable) public interface ApplicationLoadBalancedTaskImageProps extends software.amazon.jsii.JsiiSerializable
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();
| Modifier and Type | Interface and Description |
|---|---|
static class |
ApplicationLoadBalancedTaskImageProps.Builder
A builder for
ApplicationLoadBalancedTaskImageProps |
static class |
ApplicationLoadBalancedTaskImageProps.Jsii$Proxy
An implementation for
ApplicationLoadBalancedTaskImageProps |
| Modifier and Type | Method and Description |
|---|---|
static ApplicationLoadBalancedTaskImageProps.Builder |
builder() |
default String |
getContainerName()
The container name value to be specified in the task definition.
|
default List<Number> |
getContainerPorts()
A list of port numbers on the container that is bound to the user-specified or automatically assigned host port.
|
default Map<String,String> |
getDockerLabels()
A key/value map of labels to add to the container.
|
default Boolean |
getEnableLogging()
Flag to indicate whether to enable logging.
|
default Map<String,String> |
getEnvironment()
The environment variables to pass to the container.
|
default IRole |
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 String |
getFamily()
The name of a family that this task definition is registered to.
|
ContainerImage |
getImage()
The image used to start a container.
|
default LogDriver |
getLogDriver()
The log driver to use.
|
default Map<String,Secret> |
getSecrets()
The secrets to expose to the container as an environment variable.
|
default IRole |
getTaskRole()
The name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf.
|
@Stability(value=Stable) @NotNull ContainerImage getImage()
Image or taskDefinition must be specified, not both.
Default: - none
@Stability(value=Stable) @Nullable default String getContainerName()
Default: - web
@Stability(value=Stable) @Nullable default List<Number> getContainerPorts()
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]
@Stability(value=Stable) @Nullable default Map<String,String> getDockerLabels()
Default: - No labels.
@Stability(value=Stable) @Nullable default Boolean getEnableLogging()
Default: true
@Stability(value=Stable) @Nullable default Map<String,String> getEnvironment()
Default: - No environment variables.
@Stability(value=Stable) @Nullable default IRole getExecutionRole()
Default: - No value
@Stability(value=Stable) @Nullable default String getFamily()
A family groups multiple versions of a task definition.
Default: - Automatically generated name.
@Stability(value=Stable) @Nullable default LogDriver getLogDriver()
Default: - AwsLogDriver if enableLogging is true
@Stability(value=Stable) @Nullable default Map<String,Secret> getSecrets()
Default: - No secret environment variables.
@Stability(value=Stable) @Nullable default IRole getTaskRole()
Default: - A task role is automatically created for you.
@Stability(value=Stable) static ApplicationLoadBalancedTaskImageProps.Builder builder()
Copyright © 2022. All rights reserved.