Cluster
Provides an ECS cluster.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ecs.Cluster("foo", {
name: "white-hart",
settings: [{
name: "containerInsights",
value: "enabled",
}],
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
foo = aws.ecs.Cluster("foo",
name="white-hart",
settings=[aws.ecs.ClusterSettingArgs(
name="containerInsights",
value="enabled",
)])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var foo = new Aws.Ecs.Cluster("foo", new()
{
Name = "white-hart",
Settings = new[]
{
new Aws.Ecs.Inputs.ClusterSettingArgs
{
Name = "containerInsights",
Value = "enabled",
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ecs.NewCluster(ctx, "foo", &ecs.ClusterArgs{
Name: pulumi.String("white-hart"),
Settings: ecs.ClusterSettingArray{
&ecs.ClusterSettingArgs{
Name: pulumi.String("containerInsights"),
Value: pulumi.String("enabled"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
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()
.name("white-hart")
.settings(ClusterSettingArgs.builder()
.name("containerInsights")
.value("enabled")
.build())
.build());
}
}
Content copied to clipboard
resources:
foo:
type: aws:ecs:Cluster
properties:
name: white-hart
settings:
- name: containerInsights
value: enabled
Content copied to clipboard
Example with Log Configuration
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.kms.Key("example", {
description: "example",
deletionWindowInDays: 7,
});
const exampleLogGroup = new aws.cloudwatch.LogGroup("example", {name: "example"});
const test = new aws.ecs.Cluster("test", {
name: "example",
configuration: {
executeCommandConfiguration: {
kmsKeyId: example.arn,
logging: "OVERRIDE",
logConfiguration: {
cloudWatchEncryptionEnabled: true,
cloudWatchLogGroupName: exampleLogGroup.name,
},
},
},
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.kms.Key("example",
description="example",
deletion_window_in_days=7)
example_log_group = aws.cloudwatch.LogGroup("example", name="example")
test = aws.ecs.Cluster("test",
name="example",
configuration=aws.ecs.ClusterConfigurationArgs(
execute_command_configuration=aws.ecs.ClusterConfigurationExecuteCommandConfigurationArgs(
kms_key_id=example.arn,
logging="OVERRIDE",
log_configuration=aws.ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs(
cloud_watch_encryption_enabled=True,
cloud_watch_log_group_name=example_log_group.name,
),
),
))
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Kms.Key("example", new()
{
Description = "example",
DeletionWindowInDays = 7,
});
var exampleLogGroup = new Aws.CloudWatch.LogGroup("example", new()
{
Name = "example",
});
var test = new Aws.Ecs.Cluster("test", new()
{
Name = "example",
Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs
{
ExecuteCommandConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationArgs
{
KmsKeyId = example.Arn,
Logging = "OVERRIDE",
LogConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs
{
CloudWatchEncryptionEnabled = true,
CloudWatchLogGroupName = exampleLogGroup.Name,
},
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
Description: pulumi.String("example"),
DeletionWindowInDays: pulumi.Int(7),
})
if err != nil {
return err
}
exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{
Name: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = ecs.NewCluster(ctx, "test", &ecs.ClusterArgs{
Name: pulumi.String("example"),
Configuration: &ecs.ClusterConfigurationArgs{
ExecuteCommandConfiguration: &ecs.ClusterConfigurationExecuteCommandConfigurationArgs{
KmsKeyId: example.Arn,
Logging: pulumi.String("OVERRIDE"),
LogConfiguration: &ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs{
CloudWatchEncryptionEnabled: pulumi.Bool(true),
CloudWatchLogGroupName: exampleLogGroup.Name,
},
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
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.cloudwatch.LogGroupArgs;
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 example = new Key("example", KeyArgs.builder()
.description("example")
.deletionWindowInDays(7)
.build());
var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder()
.name("example")
.build());
var test = new Cluster("test", ClusterArgs.builder()
.name("example")
.configuration(ClusterConfigurationArgs.builder()
.executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder()
.kmsKeyId(example.arn())
.logging("OVERRIDE")
.logConfiguration(ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs.builder()
.cloudWatchEncryptionEnabled(true)
.cloudWatchLogGroupName(exampleLogGroup.name())
.build())
.build())
.build())
.build());
}
}
Content copied to clipboard
resources:
example:
type: aws:kms:Key
properties:
description: example
deletionWindowInDays: 7
exampleLogGroup:
type: aws:cloudwatch:LogGroup
name: example
properties:
name: example
test:
type: aws:ecs:Cluster
properties:
name: example
configuration:
executeCommandConfiguration:
kmsKeyId: ${example.arn}
logging: OVERRIDE
logConfiguration:
cloudWatchEncryptionEnabled: true
cloudWatchLogGroupName: ${exampleLogGroup.name}
Content copied to clipboard
Import
Using pulumi import
, import ECS clusters using the name
. For example:
$ pulumi import aws:ecs/cluster:Cluster stateless stateless-app
Content copied to clipboard
Properties
Link copied to clipboard
The execute command configuration for the cluster. Detailed below.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Configures a default Service Connect namespace. Detailed below.
Link copied to clipboard
Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. Detailed below.