Class ApplicationMultipleTargetGroupsFargateService

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.services.ecs.patterns.ApplicationMultipleTargetGroupsServiceBase
software.amazon.awscdk.services.ecs.patterns.ApplicationMultipleTargetGroupsFargateService
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.97.0 (build 729de35)", date="2024-04-18T17:54:16.594Z") @Stability(Stable) public class ApplicationMultipleTargetGroupsFargateService extends ApplicationMultipleTargetGroupsServiceBase
A Fargate service running on an ECS cluster fronted by an application load balancer.

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();
 
  • Constructor Details

    • ApplicationMultipleTargetGroupsFargateService

      protected ApplicationMultipleTargetGroupsFargateService(software.amazon.jsii.JsiiObjectRef objRef)
    • ApplicationMultipleTargetGroupsFargateService

      protected ApplicationMultipleTargetGroupsFargateService(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • ApplicationMultipleTargetGroupsFargateService

      @Stability(Stable) public ApplicationMultipleTargetGroupsFargateService(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable ApplicationMultipleTargetGroupsFargateServiceProps props)
      Constructs a new instance of the ApplicationMultipleTargetGroupsFargateService class.

      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props -
    • ApplicationMultipleTargetGroupsFargateService

      @Stability(Stable) public ApplicationMultipleTargetGroupsFargateService(@NotNull software.constructs.Construct scope, @NotNull String id)
      Constructs a new instance of the ApplicationMultipleTargetGroupsFargateService class.

      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
  • Method Details

    • getAssignPublicIp

      @Stability(Stable) @NotNull public Boolean getAssignPublicIp()
      Determines whether the service will be assigned a public IP address.
    • getService

      @Stability(Stable) @NotNull public FargateService getService()
      The Fargate service in this construct.
    • getTargetGroup

      @Stability(Deprecated) @Deprecated @NotNull public ApplicationTargetGroup getTargetGroup()
      Deprecated.
      • Use targetGroups instead.
      (deprecated) The default target group for the service.

    • getTaskDefinition

      @Stability(Stable) @NotNull public FargateTaskDefinition getTaskDefinition()
      The Fargate task definition in this construct.