Interface ClusterProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
ClusterProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.97.0 (build 729de35)", date="2024-04-18T17:54:16.404Z") @Stability(Stable) public interface ClusterProps extends software.amazon.jsii.JsiiSerializable
The properties used to define an ECS cluster.

Example:

 Vpc vpc;
 Cluster cluster = Cluster.Builder.create(this, "Cluster")
         .vpc(vpc)
         .build();
 AutoScalingGroup autoScalingGroup = AutoScalingGroup.Builder.create(this, "ASG")
         .vpc(vpc)
         .instanceType(new InstanceType("t2.micro"))
         .machineImage(EcsOptimizedImage.amazonLinux2())
         .minCapacity(0)
         .maxCapacity(100)
         .build();
 AsgCapacityProvider capacityProvider = AsgCapacityProvider.Builder.create(this, "AsgCapacityProvider")
         .autoScalingGroup(autoScalingGroup)
         .instanceWarmupPeriod(300)
         .build();
 cluster.addAsgCapacityProvider(capacityProvider);
 Ec2TaskDefinition taskDefinition = new Ec2TaskDefinition(this, "TaskDef");
 taskDefinition.addContainer("web", ContainerDefinitionOptions.builder()
         .image(ContainerImage.fromRegistry("amazon/amazon-ecs-sample"))
         .memoryReservationMiB(256)
         .build());
 Ec2Service.Builder.create(this, "EC2Service")
         .cluster(cluster)
         .taskDefinition(taskDefinition)
         .capacityProviderStrategies(List.of(CapacityProviderStrategy.builder()
                 .capacityProvider(capacityProvider.getCapacityProviderName())
                 .weight(1)
                 .build()))
         .build();
 
  • Method Details

    • getCapacity

      @Stability(Stable) @Nullable default AddCapacityOptions getCapacity()
      The ec2 capacity to add to the cluster.

      Default: - no EC2 capacity will be added, you can use `addCapacity` to add capacity later.

    • getClusterName

      @Stability(Stable) @Nullable default String getClusterName()
      The name for the cluster.

      Default: CloudFormation-generated name

    • getContainerInsights

      @Stability(Stable) @Nullable default Boolean getContainerInsights()
      If true CloudWatch Container Insights will be enabled for the cluster.

      Default: - Container Insights will be disabled for this cluster.

    • getDefaultCloudMapNamespace

      @Stability(Stable) @Nullable default CloudMapNamespaceOptions getDefaultCloudMapNamespace()
      The service discovery namespace created in this cluster.

      Default: - no service discovery namespace created, you can use `addDefaultCloudMapNamespace` to add a default service discovery namespace later.

    • getEnableFargateCapacityProviders

      @Stability(Stable) @Nullable default Boolean getEnableFargateCapacityProviders()
      Whether to enable Fargate Capacity Providers.

      Default: false

    • getExecuteCommandConfiguration

      @Stability(Stable) @Nullable default ExecuteCommandConfiguration getExecuteCommandConfiguration()
      The execute command configuration for the cluster.

      Default: - no configuration will be provided.

    • getVpc

      @Stability(Stable) @Nullable default IVpc getVpc()
      The VPC where your ECS instances will be running or your ENIs will be deployed.

      Default: - creates a new VPC with two AZs

    • builder

      @Stability(Stable) static ClusterProps.Builder builder()
      Returns:
      a ClusterProps.Builder of ClusterProps