Cluster Args
data class ClusterArgs(val capacityProviders: Output<List<String>>? = null, val configuration: Output<ClusterConfigurationArgs>? = null, val defaultCapacityProviderStrategies: Output<List<ClusterDefaultCapacityProviderStrategyArgs>>? = null, val name: Output<String>? = null, val serviceConnectDefaults: Output<ClusterServiceConnectDefaultsArgs>? = null, val settings: Output<List<ClusterSettingArgs>>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ClusterArgs>
Provides an ECS cluster.
NOTE on Clusters and Cluster Capacity Providers: this provider provides both a standalone
aws.ecs.ClusterCapacityProviders
resource, as well as allowing the capacity providers and default strategies to be managed in-line by theaws.ecs.Cluster
resource. You cannot use a Cluster with in-line capacity providers in conjunction with the Capacity Providers resource, nor use more than one Capacity Providers resource with a single Cluster, as doing so will cause a conflict and will lead to mutual overwrites.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ecs.Cluster;
import com.pulumi.aws.ecs.ClusterArgs;
import com.pulumi.aws.ecs.inputs.ClusterSettingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var foo = new Cluster("foo", ClusterArgs.builder()
.settings(ClusterSettingArgs.builder()
.name("containerInsights")
.value("enabled")
.build())
.build());
}
}
Content copied to clipboard
Example with Log Configuration
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.cloudwatch.LogGroup;
import com.pulumi.aws.ecs.Cluster;
import com.pulumi.aws.ecs.ClusterArgs;
import com.pulumi.aws.ecs.inputs.ClusterConfigurationArgs;
import com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationArgs;
import com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleKey = new Key("exampleKey", KeyArgs.builder()
.description("example")
.deletionWindowInDays(7)
.build());
var exampleLogGroup = new LogGroup("exampleLogGroup");
var test = new Cluster("test", ClusterArgs.builder()
.configuration(ClusterConfigurationArgs.builder()
.executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder()
.kmsKeyId(exampleKey.arn())
.logging("OVERRIDE")
.logConfiguration(ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs.builder()
.cloudWatchEncryptionEnabled(true)
.cloudWatchLogGroupName(exampleLogGroup.name())
.build())
.build())
.build())
.build());
}
}
Content copied to clipboard
Example with Capacity Providers
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ecs.Cluster;
import com.pulumi.aws.ecs.CapacityProvider;
import com.pulumi.aws.ecs.CapacityProviderArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderArgs;
import com.pulumi.aws.ecs.ClusterCapacityProviders;
import com.pulumi.aws.ecs.ClusterCapacityProvidersArgs;
import com.pulumi.aws.ecs.inputs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleCluster = new Cluster("exampleCluster");
var exampleCapacityProvider = new CapacityProvider("exampleCapacityProvider", CapacityProviderArgs.builder()
.autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()
.autoScalingGroupArn(aws_autoscaling_group.example().arn())
.build())
.build());
var exampleClusterCapacityProviders = new ClusterCapacityProviders("exampleClusterCapacityProviders", ClusterCapacityProvidersArgs.builder()
.clusterName(exampleCluster.name())
.capacityProviders(exampleCapacityProvider.name())
.defaultCapacityProviderStrategies(ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs.builder()
.base(1)
.weight(100)
.capacityProvider(exampleCapacityProvider.name())
.build())
.build());
}
}
Content copied to clipboard
Import
ECS clusters can be imported using the name
, e.g.,
$ pulumi import aws:ecs/cluster:Cluster stateless stateless-app
Content copied to clipboard
Constructors
Link copied to clipboard
fun ClusterArgs(capacityProviders: Output<List<String>>? = null, configuration: Output<ClusterConfigurationArgs>? = null, defaultCapacityProviderStrategies: Output<List<ClusterDefaultCapacityProviderStrategyArgs>>? = null, name: Output<String>? = null, serviceConnectDefaults: Output<ClusterServiceConnectDefaultsArgs>? = null, settings: Output<List<ClusterSettingArgs>>? = null, tags: Output<Map<String, String>>? = null)
Functions
Properties
Link copied to clipboard
val defaultCapacityProviderStrategies: Output<List<ClusterDefaultCapacityProviderStrategyArgs>>? = null