Interface ClusterProps

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

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:47.247Z") @Stability(Stable) public interface ClusterProps extends software.amazon.jsii.JsiiSerializable
The properties used to define an ECS cluster.

Example:

 IVpc vpc = Vpc.fromLookup(this, "Vpc", VpcLookupOptions.builder()
         .isDefault(true)
         .build());
 Cluster cluster = Cluster.Builder.create(this, "FargateCluster").vpc(vpc).build();
 TaskDefinition taskDefinition = TaskDefinition.Builder.create(this, "TD")
         .memoryMiB("512")
         .cpu("256")
         .compatibility(Compatibility.FARGATE)
         .build();
 ContainerDefinition containerDefinition = taskDefinition.addContainer("TheContainer", ContainerDefinitionOptions.builder()
         .image(ContainerImage.fromRegistry("foo/bar"))
         .memoryLimitMiB(256)
         .build());
 EcsRunTask runTask = EcsRunTask.Builder.create(this, "RunFargate")
         .integrationPattern(IntegrationPattern.RUN_JOB)
         .cluster(cluster)
         .taskDefinition(taskDefinition)
         .assignPublicIp(true)
         .containerOverrides(List.of(ContainerOverride.builder()
                 .containerDefinition(containerDefinition)
                 .environment(List.of(TaskEnvironmentVariable.builder().name("SOME_KEY").value(JsonPath.stringAt("$.SomeKey")).build()))
                 .build()))
         .launchTarget(new EcsFargateLaunchTarget())
         .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.

    • getCapacityProviders

      @Stability(Deprecated) @Deprecated @Nullable default List<String> getCapacityProviders()
      Deprecated.
      Use ClusterProps.enableFargateCapacityProviders instead.
      (deprecated) The capacity providers to add to the cluster.

      Default: - None. Currently only FARGATE and FARGATE_SPOT are supported.

    • 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 cluser.

    • 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