aws.ecs.Cluster
Explore with Pulumi AI
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",
    }],
});
import pulumi
import pulumi_aws as aws
foo = aws.ecs.Cluster("foo",
    name="white-hart",
    settings=[{
        "name": "containerInsights",
        "value": "enabled",
    }])
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
	})
}
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",
            },
        },
    });
});
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());
    }
}
resources:
  foo:
    type: aws:ecs:Cluster
    properties:
      name: white-hart
      settings:
        - name: containerInsights
          value: enabled
Execute Command Configuration with Override Logging
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,
            },
        },
    },
});
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={
        "execute_command_configuration": {
            "kms_key_id": example.arn,
            "logging": "OVERRIDE",
            "log_configuration": {
                "cloud_watch_encryption_enabled": True,
                "cloud_watch_log_group_name": example_log_group.name,
            },
        },
    })
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
	})
}
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,
                },
            },
        },
    });
});
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());
    }
}
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}
Fargate Ephemeral Storage Encryption with Customer-Managed KMS Key
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const current = aws.getCallerIdentity({});
const example = new aws.kms.Key("example", {
    description: "example",
    deletionWindowInDays: 7,
});
const exampleKeyPolicy = new aws.kms.KeyPolicy("example", {
    keyId: example.id,
    policy: JSON.stringify({
        Id: "ECSClusterFargatePolicy",
        Statement: [
            {
                Sid: "Enable IAM User Permissions",
                Effect: "Allow",
                Principal: {
                    AWS: "*",
                },
                Action: "kms:*",
                Resource: "*",
            },
            {
                Sid: "Allow generate data key access for Fargate tasks.",
                Effect: "Allow",
                Principal: {
                    Service: "fargate.amazonaws.com",
                },
                Action: ["kms:GenerateDataKeyWithoutPlaintext"],
                Condition: {
                    StringEquals: {
                        "kms:EncryptionContext:aws:ecs:clusterAccount": [current.then(current => current.accountId)],
                        "kms:EncryptionContext:aws:ecs:clusterName": ["example"],
                    },
                },
                Resource: "*",
            },
            {
                Sid: "Allow grant creation permission for Fargate tasks.",
                Effect: "Allow",
                Principal: {
                    Service: "fargate.amazonaws.com",
                },
                Action: ["kms:CreateGrant"],
                Condition: {
                    StringEquals: {
                        "kms:EncryptionContext:aws:ecs:clusterAccount": [current.then(current => current.accountId)],
                        "kms:EncryptionContext:aws:ecs:clusterName": ["example"],
                    },
                    "ForAllValues:StringEquals": {
                        "kms:GrantOperations": ["Decrypt"],
                    },
                },
                Resource: "*",
            },
        ],
        Version: "2012-10-17",
    }),
});
const test = new aws.ecs.Cluster("test", {
    name: "example",
    configuration: {
        managedStorageConfiguration: {
            fargateEphemeralStorageKmsKeyId: example.id,
        },
    },
}, {
    dependsOn: [exampleKeyPolicy],
});
import pulumi
import json
import pulumi_aws as aws
current = aws.get_caller_identity()
example = aws.kms.Key("example",
    description="example",
    deletion_window_in_days=7)
example_key_policy = aws.kms.KeyPolicy("example",
    key_id=example.id,
    policy=json.dumps({
        "Id": "ECSClusterFargatePolicy",
        "Statement": [
            {
                "Sid": "Enable IAM User Permissions",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "*",
                },
                "Action": "kms:*",
                "Resource": "*",
            },
            {
                "Sid": "Allow generate data key access for Fargate tasks.",
                "Effect": "Allow",
                "Principal": {
                    "Service": "fargate.amazonaws.com",
                },
                "Action": ["kms:GenerateDataKeyWithoutPlaintext"],
                "Condition": {
                    "StringEquals": {
                        "kms:EncryptionContext:aws:ecs:clusterAccount": [current.account_id],
                        "kms:EncryptionContext:aws:ecs:clusterName": ["example"],
                    },
                },
                "Resource": "*",
            },
            {
                "Sid": "Allow grant creation permission for Fargate tasks.",
                "Effect": "Allow",
                "Principal": {
                    "Service": "fargate.amazonaws.com",
                },
                "Action": ["kms:CreateGrant"],
                "Condition": {
                    "StringEquals": {
                        "kms:EncryptionContext:aws:ecs:clusterAccount": [current.account_id],
                        "kms:EncryptionContext:aws:ecs:clusterName": ["example"],
                    },
                    "ForAllValues:StringEquals": {
                        "kms:GrantOperations": ["Decrypt"],
                    },
                },
                "Resource": "*",
            },
        ],
        "Version": "2012-10-17",
    }))
test = aws.ecs.Cluster("test",
    name="example",
    configuration={
        "managed_storage_configuration": {
            "fargate_ephemeral_storage_kms_key_id": example.id,
        },
    },
    opts = pulumi.ResourceOptions(depends_on=[example_key_policy]))
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
	"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 {
		current, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
		if err != nil {
			return err
		}
		example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
			Description:          pulumi.String("example"),
			DeletionWindowInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"Id": "ECSClusterFargatePolicy",
			"Statement": []interface{}{
				map[string]interface{}{
					"Sid":    "Enable IAM User Permissions",
					"Effect": "Allow",
					"Principal": map[string]interface{}{
						"AWS": "*",
					},
					"Action":   "kms:*",
					"Resource": "*",
				},
				map[string]interface{}{
					"Sid":    "Allow generate data key access for Fargate tasks.",
					"Effect": "Allow",
					"Principal": map[string]interface{}{
						"Service": "fargate.amazonaws.com",
					},
					"Action": []string{
						"kms:GenerateDataKeyWithoutPlaintext",
					},
					"Condition": map[string]interface{}{
						"StringEquals": map[string]interface{}{
							"kms:EncryptionContext:aws:ecs:clusterAccount": []*string{
								current.AccountId,
							},
							"kms:EncryptionContext:aws:ecs:clusterName": []string{
								"example",
							},
						},
					},
					"Resource": "*",
				},
				map[string]interface{}{
					"Sid":    "Allow grant creation permission for Fargate tasks.",
					"Effect": "Allow",
					"Principal": map[string]interface{}{
						"Service": "fargate.amazonaws.com",
					},
					"Action": []string{
						"kms:CreateGrant",
					},
					"Condition": map[string]interface{}{
						"StringEquals": map[string]interface{}{
							"kms:EncryptionContext:aws:ecs:clusterAccount": []*string{
								current.AccountId,
							},
							"kms:EncryptionContext:aws:ecs:clusterName": []string{
								"example",
							},
						},
						"ForAllValues:StringEquals": map[string]interface{}{
							"kms:GrantOperations": []string{
								"Decrypt",
							},
						},
					},
					"Resource": "*",
				},
			},
			"Version": "2012-10-17",
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		exampleKeyPolicy, err := kms.NewKeyPolicy(ctx, "example", &kms.KeyPolicyArgs{
			KeyId:  example.ID(),
			Policy: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewCluster(ctx, "test", &ecs.ClusterArgs{
			Name: pulumi.String("example"),
			Configuration: &ecs.ClusterConfigurationArgs{
				ManagedStorageConfiguration: &ecs.ClusterConfigurationManagedStorageConfigurationArgs{
					FargateEphemeralStorageKmsKeyId: example.ID(),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleKeyPolicy,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var current = Aws.GetCallerIdentity.Invoke();
    var example = new Aws.Kms.Key("example", new()
    {
        Description = "example",
        DeletionWindowInDays = 7,
    });
    var exampleKeyPolicy = new Aws.Kms.KeyPolicy("example", new()
    {
        KeyId = example.Id,
        Policy = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            ["Id"] = "ECSClusterFargatePolicy",
            ["Statement"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["Sid"] = "Enable IAM User Permissions",
                    ["Effect"] = "Allow",
                    ["Principal"] = new Dictionary<string, object?>
                    {
                        ["AWS"] = "*",
                    },
                    ["Action"] = "kms:*",
                    ["Resource"] = "*",
                },
                new Dictionary<string, object?>
                {
                    ["Sid"] = "Allow generate data key access for Fargate tasks.",
                    ["Effect"] = "Allow",
                    ["Principal"] = new Dictionary<string, object?>
                    {
                        ["Service"] = "fargate.amazonaws.com",
                    },
                    ["Action"] = new[]
                    {
                        "kms:GenerateDataKeyWithoutPlaintext",
                    },
                    ["Condition"] = new Dictionary<string, object?>
                    {
                        ["StringEquals"] = new Dictionary<string, object?>
                        {
                            ["kms:EncryptionContext:aws:ecs:clusterAccount"] = new[]
                            {
                                current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId),
                            },
                            ["kms:EncryptionContext:aws:ecs:clusterName"] = new[]
                            {
                                "example",
                            },
                        },
                    },
                    ["Resource"] = "*",
                },
                new Dictionary<string, object?>
                {
                    ["Sid"] = "Allow grant creation permission for Fargate tasks.",
                    ["Effect"] = "Allow",
                    ["Principal"] = new Dictionary<string, object?>
                    {
                        ["Service"] = "fargate.amazonaws.com",
                    },
                    ["Action"] = new[]
                    {
                        "kms:CreateGrant",
                    },
                    ["Condition"] = new Dictionary<string, object?>
                    {
                        ["StringEquals"] = new Dictionary<string, object?>
                        {
                            ["kms:EncryptionContext:aws:ecs:clusterAccount"] = new[]
                            {
                                current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId),
                            },
                            ["kms:EncryptionContext:aws:ecs:clusterName"] = new[]
                            {
                                "example",
                            },
                        },
                        ["ForAllValues:StringEquals"] = new Dictionary<string, object?>
                        {
                            ["kms:GrantOperations"] = new[]
                            {
                                "Decrypt",
                            },
                        },
                    },
                    ["Resource"] = "*",
                },
            },
            ["Version"] = "2012-10-17",
        }),
    });
    var test = new Aws.Ecs.Cluster("test", new()
    {
        Name = "example",
        Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs
        {
            ManagedStorageConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationManagedStorageConfigurationArgs
            {
                FargateEphemeralStorageKmsKeyId = example.Id,
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            exampleKeyPolicy,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetCallerIdentityArgs;
import com.pulumi.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.kms.KeyPolicy;
import com.pulumi.aws.kms.KeyPolicyArgs;
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.ClusterConfigurationManagedStorageConfigurationArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import com.pulumi.resources.CustomResourceOptions;
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) {
        final var current = AwsFunctions.getCallerIdentity();
        var example = new Key("example", KeyArgs.builder()
            .description("example")
            .deletionWindowInDays(7)
            .build());
        var exampleKeyPolicy = new KeyPolicy("exampleKeyPolicy", KeyPolicyArgs.builder()
            .keyId(example.id())
            .policy(serializeJson(
                jsonObject(
                    jsonProperty("Id", "ECSClusterFargatePolicy"),
                    jsonProperty("Statement", jsonArray(
                        jsonObject(
                            jsonProperty("Sid", "Enable IAM User Permissions"),
                            jsonProperty("Effect", "Allow"),
                            jsonProperty("Principal", jsonObject(
                                jsonProperty("AWS", "*")
                            )),
                            jsonProperty("Action", "kms:*"),
                            jsonProperty("Resource", "*")
                        ), 
                        jsonObject(
                            jsonProperty("Sid", "Allow generate data key access for Fargate tasks."),
                            jsonProperty("Effect", "Allow"),
                            jsonProperty("Principal", jsonObject(
                                jsonProperty("Service", "fargate.amazonaws.com")
                            )),
                            jsonProperty("Action", jsonArray("kms:GenerateDataKeyWithoutPlaintext")),
                            jsonProperty("Condition", jsonObject(
                                jsonProperty("StringEquals", jsonObject(
                                    jsonProperty("kms:EncryptionContext:aws:ecs:clusterAccount", jsonArray(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))),
                                    jsonProperty("kms:EncryptionContext:aws:ecs:clusterName", jsonArray("example"))
                                ))
                            )),
                            jsonProperty("Resource", "*")
                        ), 
                        jsonObject(
                            jsonProperty("Sid", "Allow grant creation permission for Fargate tasks."),
                            jsonProperty("Effect", "Allow"),
                            jsonProperty("Principal", jsonObject(
                                jsonProperty("Service", "fargate.amazonaws.com")
                            )),
                            jsonProperty("Action", jsonArray("kms:CreateGrant")),
                            jsonProperty("Condition", jsonObject(
                                jsonProperty("StringEquals", jsonObject(
                                    jsonProperty("kms:EncryptionContext:aws:ecs:clusterAccount", jsonArray(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))),
                                    jsonProperty("kms:EncryptionContext:aws:ecs:clusterName", jsonArray("example"))
                                )),
                                jsonProperty("ForAllValues:StringEquals", jsonObject(
                                    jsonProperty("kms:GrantOperations", jsonArray("Decrypt"))
                                ))
                            )),
                            jsonProperty("Resource", "*")
                        )
                    )),
                    jsonProperty("Version", "2012-10-17")
                )))
            .build());
        var test = new Cluster("test", ClusterArgs.builder()
            .name("example")
            .configuration(ClusterConfigurationArgs.builder()
                .managedStorageConfiguration(ClusterConfigurationManagedStorageConfigurationArgs.builder()
                    .fargateEphemeralStorageKmsKeyId(example.id())
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(exampleKeyPolicy)
                .build());
    }
}
resources:
  example:
    type: aws:kms:Key
    properties:
      description: example
      deletionWindowInDays: 7
  exampleKeyPolicy:
    type: aws:kms:KeyPolicy
    name: example
    properties:
      keyId: ${example.id}
      policy:
        fn::toJSON:
          Id: ECSClusterFargatePolicy
          Statement:
            - Sid: Enable IAM User Permissions
              Effect: Allow
              Principal:
                AWS: '*'
              Action: kms:*
              Resource: '*'
            - Sid: Allow generate data key access for Fargate tasks.
              Effect: Allow
              Principal:
                Service: fargate.amazonaws.com
              Action:
                - kms:GenerateDataKeyWithoutPlaintext
              Condition:
                StringEquals:
                  kms:EncryptionContext:aws:ecs:clusterAccount:
                    - ${current.accountId}
                  kms:EncryptionContext:aws:ecs:clusterName:
                    - example
              Resource: '*'
            - Sid: Allow grant creation permission for Fargate tasks.
              Effect: Allow
              Principal:
                Service: fargate.amazonaws.com
              Action:
                - kms:CreateGrant
              Condition:
                StringEquals:
                  kms:EncryptionContext:aws:ecs:clusterAccount:
                    - ${current.accountId}
                  kms:EncryptionContext:aws:ecs:clusterName:
                    - example
                ForAllValues:StringEquals:
                  kms:GrantOperations:
                    - Decrypt
              Resource: '*'
          Version: 2012-10-17
  test:
    type: aws:ecs:Cluster
    properties:
      name: example
      configuration:
        managedStorageConfiguration:
          fargateEphemeralStorageKmsKeyId: ${example.id}
    options:
      dependsOn:
        - ${exampleKeyPolicy}
variables:
  current:
    fn::invoke:
      function: aws:getCallerIdentity
      arguments: {}
Create Cluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Cluster(name: string, args?: ClusterArgs, opts?: CustomResourceOptions);@overload
def Cluster(resource_name: str,
            args: Optional[ClusterArgs] = None,
            opts: Optional[ResourceOptions] = None)
@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            configuration: Optional[ClusterConfigurationArgs] = None,
            name: Optional[str] = None,
            service_connect_defaults: Optional[ClusterServiceConnectDefaultsArgs] = None,
            settings: Optional[Sequence[ClusterSettingArgs]] = None,
            tags: Optional[Mapping[str, str]] = None)func NewCluster(ctx *Context, name string, args *ClusterArgs, opts ...ResourceOption) (*Cluster, error)public Cluster(string name, ClusterArgs? args = null, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: aws:ecs:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var exampleclusterResourceResourceFromEcscluster = new Aws.Ecs.Cluster("exampleclusterResourceResourceFromEcscluster", new()
{
    Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs
    {
        ExecuteCommandConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationArgs
        {
            KmsKeyId = "string",
            LogConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs
            {
                CloudWatchEncryptionEnabled = false,
                CloudWatchLogGroupName = "string",
                S3BucketEncryptionEnabled = false,
                S3BucketName = "string",
                S3KeyPrefix = "string",
            },
            Logging = "string",
        },
        ManagedStorageConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationManagedStorageConfigurationArgs
        {
            FargateEphemeralStorageKmsKeyId = "string",
            KmsKeyId = "string",
        },
    },
    Name = "string",
    ServiceConnectDefaults = new Aws.Ecs.Inputs.ClusterServiceConnectDefaultsArgs
    {
        Namespace = "string",
    },
    Settings = new[]
    {
        new Aws.Ecs.Inputs.ClusterSettingArgs
        {
            Name = "string",
            Value = "string",
        },
    },
    Tags = 
    {
        { "string", "string" },
    },
});
example, err := ecs.NewCluster(ctx, "exampleclusterResourceResourceFromEcscluster", &ecs.ClusterArgs{
	Configuration: &ecs.ClusterConfigurationArgs{
		ExecuteCommandConfiguration: &ecs.ClusterConfigurationExecuteCommandConfigurationArgs{
			KmsKeyId: pulumi.String("string"),
			LogConfiguration: &ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs{
				CloudWatchEncryptionEnabled: pulumi.Bool(false),
				CloudWatchLogGroupName:      pulumi.String("string"),
				S3BucketEncryptionEnabled:   pulumi.Bool(false),
				S3BucketName:                pulumi.String("string"),
				S3KeyPrefix:                 pulumi.String("string"),
			},
			Logging: pulumi.String("string"),
		},
		ManagedStorageConfiguration: &ecs.ClusterConfigurationManagedStorageConfigurationArgs{
			FargateEphemeralStorageKmsKeyId: pulumi.String("string"),
			KmsKeyId:                        pulumi.String("string"),
		},
	},
	Name: pulumi.String("string"),
	ServiceConnectDefaults: &ecs.ClusterServiceConnectDefaultsArgs{
		Namespace: pulumi.String("string"),
	},
	Settings: ecs.ClusterSettingArray{
		&ecs.ClusterSettingArgs{
			Name:  pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
var exampleclusterResourceResourceFromEcscluster = new Cluster("exampleclusterResourceResourceFromEcscluster", ClusterArgs.builder()
    .configuration(ClusterConfigurationArgs.builder()
        .executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder()
            .kmsKeyId("string")
            .logConfiguration(ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs.builder()
                .cloudWatchEncryptionEnabled(false)
                .cloudWatchLogGroupName("string")
                .s3BucketEncryptionEnabled(false)
                .s3BucketName("string")
                .s3KeyPrefix("string")
                .build())
            .logging("string")
            .build())
        .managedStorageConfiguration(ClusterConfigurationManagedStorageConfigurationArgs.builder()
            .fargateEphemeralStorageKmsKeyId("string")
            .kmsKeyId("string")
            .build())
        .build())
    .name("string")
    .serviceConnectDefaults(ClusterServiceConnectDefaultsArgs.builder()
        .namespace("string")
        .build())
    .settings(ClusterSettingArgs.builder()
        .name("string")
        .value("string")
        .build())
    .tags(Map.of("string", "string"))
    .build());
examplecluster_resource_resource_from_ecscluster = aws.ecs.Cluster("exampleclusterResourceResourceFromEcscluster",
    configuration={
        "execute_command_configuration": {
            "kms_key_id": "string",
            "log_configuration": {
                "cloud_watch_encryption_enabled": False,
                "cloud_watch_log_group_name": "string",
                "s3_bucket_encryption_enabled": False,
                "s3_bucket_name": "string",
                "s3_key_prefix": "string",
            },
            "logging": "string",
        },
        "managed_storage_configuration": {
            "fargate_ephemeral_storage_kms_key_id": "string",
            "kms_key_id": "string",
        },
    },
    name="string",
    service_connect_defaults={
        "namespace": "string",
    },
    settings=[{
        "name": "string",
        "value": "string",
    }],
    tags={
        "string": "string",
    })
const exampleclusterResourceResourceFromEcscluster = new aws.ecs.Cluster("exampleclusterResourceResourceFromEcscluster", {
    configuration: {
        executeCommandConfiguration: {
            kmsKeyId: "string",
            logConfiguration: {
                cloudWatchEncryptionEnabled: false,
                cloudWatchLogGroupName: "string",
                s3BucketEncryptionEnabled: false,
                s3BucketName: "string",
                s3KeyPrefix: "string",
            },
            logging: "string",
        },
        managedStorageConfiguration: {
            fargateEphemeralStorageKmsKeyId: "string",
            kmsKeyId: "string",
        },
    },
    name: "string",
    serviceConnectDefaults: {
        namespace: "string",
    },
    settings: [{
        name: "string",
        value: "string",
    }],
    tags: {
        string: "string",
    },
});
type: aws:ecs:Cluster
properties:
    configuration:
        executeCommandConfiguration:
            kmsKeyId: string
            logConfiguration:
                cloudWatchEncryptionEnabled: false
                cloudWatchLogGroupName: string
                s3BucketEncryptionEnabled: false
                s3BucketName: string
                s3KeyPrefix: string
            logging: string
        managedStorageConfiguration:
            fargateEphemeralStorageKmsKeyId: string
            kmsKeyId: string
    name: string
    serviceConnectDefaults:
        namespace: string
    settings:
        - name: string
          value: string
    tags:
        string: string
Cluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Cluster resource accepts the following input properties:
- Configuration
ClusterConfiguration 
- Execute command configuration for the cluster. See configurationBlock for details.
- Name string
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- ServiceConnect ClusterDefaults Service Connect Defaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- Settings
List<ClusterSetting> 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Configuration
ClusterConfiguration Args 
- Execute command configuration for the cluster. See configurationBlock for details.
- Name string
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- ServiceConnect ClusterDefaults Service Connect Defaults Args 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- Settings
[]ClusterSetting Args 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- map[string]string
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- configuration
ClusterConfiguration 
- Execute command configuration for the cluster. See configurationBlock for details.
- name String
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- serviceConnect ClusterDefaults Service Connect Defaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings
List<ClusterSetting> 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Map<String,String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- configuration
ClusterConfiguration 
- Execute command configuration for the cluster. See configurationBlock for details.
- name string
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- serviceConnect ClusterDefaults Service Connect Defaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings
ClusterSetting[] 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- configuration
ClusterConfiguration Args 
- Execute command configuration for the cluster. See configurationBlock for details.
- name str
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- service_connect_ Clusterdefaults Service Connect Defaults Args 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings
Sequence[ClusterSetting Args] 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- configuration Property Map
- Execute command configuration for the cluster. See configurationBlock for details.
- name String
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- serviceConnect Property MapDefaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings List<Property Map>
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Map<String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
Look up Existing Cluster Resource
Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        configuration: Optional[ClusterConfigurationArgs] = None,
        name: Optional[str] = None,
        service_connect_defaults: Optional[ClusterServiceConnectDefaultsArgs] = None,
        settings: Optional[Sequence[ClusterSettingArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> Clusterfunc GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)resources:  _:    type: aws:ecs:Cluster    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- ARN that identifies the cluster.
- Configuration
ClusterConfiguration 
- Execute command configuration for the cluster. See configurationBlock for details.
- Name string
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- ServiceConnect ClusterDefaults Service Connect Defaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- Settings
List<ClusterSetting> 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Arn string
- ARN that identifies the cluster.
- Configuration
ClusterConfiguration Args 
- Execute command configuration for the cluster. See configurationBlock for details.
- Name string
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- ServiceConnect ClusterDefaults Service Connect Defaults Args 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- Settings
[]ClusterSetting Args 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- map[string]string
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN that identifies the cluster.
- configuration
ClusterConfiguration 
- Execute command configuration for the cluster. See configurationBlock for details.
- name String
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- serviceConnect ClusterDefaults Service Connect Defaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings
List<ClusterSetting> 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Map<String,String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn string
- ARN that identifies the cluster.
- configuration
ClusterConfiguration 
- Execute command configuration for the cluster. See configurationBlock for details.
- name string
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- serviceConnect ClusterDefaults Service Connect Defaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings
ClusterSetting[] 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn str
- ARN that identifies the cluster.
- configuration
ClusterConfiguration Args 
- Execute command configuration for the cluster. See configurationBlock for details.
- name str
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- service_connect_ Clusterdefaults Service Connect Defaults Args 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings
Sequence[ClusterSetting Args] 
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN that identifies the cluster.
- configuration Property Map
- Execute command configuration for the cluster. See configurationBlock for details.
- name String
- Name of the cluster (up to 255 letters, numbers, hyphens, and underscores) - The following arguments are optional: 
- serviceConnect Property MapDefaults 
- Default Service Connect namespace. See service_connect_defaultsBlock for details.
- settings List<Property Map>
- Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. See settingBlock for details.
- Map<String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Supporting Types
ClusterConfiguration, ClusterConfigurationArgs    
- ExecuteCommand ClusterConfiguration Configuration Execute Command Configuration 
- Details of the execute command configuration. See execute_command_configurationBlock for details.
- ManagedStorage ClusterConfiguration Configuration Managed Storage Configuration 
- Details of the managed storage configuration. See managed_storage_configurationBlock for details.
- ExecuteCommand ClusterConfiguration Configuration Execute Command Configuration 
- Details of the execute command configuration. See execute_command_configurationBlock for details.
- ManagedStorage ClusterConfiguration Configuration Managed Storage Configuration 
- Details of the managed storage configuration. See managed_storage_configurationBlock for details.
- executeCommand ClusterConfiguration Configuration Execute Command Configuration 
- Details of the execute command configuration. See execute_command_configurationBlock for details.
- managedStorage ClusterConfiguration Configuration Managed Storage Configuration 
- Details of the managed storage configuration. See managed_storage_configurationBlock for details.
- executeCommand ClusterConfiguration Configuration Execute Command Configuration 
- Details of the execute command configuration. See execute_command_configurationBlock for details.
- managedStorage ClusterConfiguration Configuration Managed Storage Configuration 
- Details of the managed storage configuration. See managed_storage_configurationBlock for details.
- execute_command_ Clusterconfiguration Configuration Execute Command Configuration 
- Details of the execute command configuration. See execute_command_configurationBlock for details.
- managed_storage_ Clusterconfiguration Configuration Managed Storage Configuration 
- Details of the managed storage configuration. See managed_storage_configurationBlock for details.
- executeCommand Property MapConfiguration 
- Details of the execute command configuration. See execute_command_configurationBlock for details.
- managedStorage Property MapConfiguration 
- Details of the managed storage configuration. See managed_storage_configurationBlock for details.
ClusterConfigurationExecuteCommandConfiguration, ClusterConfigurationExecuteCommandConfigurationArgs          
- KmsKey stringId 
- AWS Key Management Service key ID to encrypt the data between the local client and the container.
- LogConfiguration ClusterConfiguration Execute Command Configuration Log Configuration 
- Log configuration for the results of the execute command actions. Required when loggingisOVERRIDE. Seelog_configurationBlock for details.
- Logging string
- Log setting to use for redirecting logs for your execute command results. Valid values: NONE,DEFAULT,OVERRIDE.
- KmsKey stringId 
- AWS Key Management Service key ID to encrypt the data between the local client and the container.
- LogConfiguration ClusterConfiguration Execute Command Configuration Log Configuration 
- Log configuration for the results of the execute command actions. Required when loggingisOVERRIDE. Seelog_configurationBlock for details.
- Logging string
- Log setting to use for redirecting logs for your execute command results. Valid values: NONE,DEFAULT,OVERRIDE.
- kmsKey StringId 
- AWS Key Management Service key ID to encrypt the data between the local client and the container.
- logConfiguration ClusterConfiguration Execute Command Configuration Log Configuration 
- Log configuration for the results of the execute command actions. Required when loggingisOVERRIDE. Seelog_configurationBlock for details.
- logging String
- Log setting to use for redirecting logs for your execute command results. Valid values: NONE,DEFAULT,OVERRIDE.
- kmsKey stringId 
- AWS Key Management Service key ID to encrypt the data between the local client and the container.
- logConfiguration ClusterConfiguration Execute Command Configuration Log Configuration 
- Log configuration for the results of the execute command actions. Required when loggingisOVERRIDE. Seelog_configurationBlock for details.
- logging string
- Log setting to use for redirecting logs for your execute command results. Valid values: NONE,DEFAULT,OVERRIDE.
- kms_key_ strid 
- AWS Key Management Service key ID to encrypt the data between the local client and the container.
- log_configuration ClusterConfiguration Execute Command Configuration Log Configuration 
- Log configuration for the results of the execute command actions. Required when loggingisOVERRIDE. Seelog_configurationBlock for details.
- logging str
- Log setting to use for redirecting logs for your execute command results. Valid values: NONE,DEFAULT,OVERRIDE.
- kmsKey StringId 
- AWS Key Management Service key ID to encrypt the data between the local client and the container.
- logConfiguration Property Map
- Log configuration for the results of the execute command actions. Required when loggingisOVERRIDE. Seelog_configurationBlock for details.
- logging String
- Log setting to use for redirecting logs for your execute command results. Valid values: NONE,DEFAULT,OVERRIDE.
ClusterConfigurationExecuteCommandConfigurationLogConfiguration, ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs              
- CloudWatch boolEncryption Enabled 
- Whether to enable encryption on the CloudWatch logs. If not specified, encryption will be disabled.
- CloudWatch stringLog Group Name 
- The name of the CloudWatch log group to send logs to.
- S3BucketEncryption boolEnabled 
- Whether to enable encryption on the logs sent to S3. If not specified, encryption will be disabled.
- S3BucketName string
- Name of the S3 bucket to send logs to.
- S3KeyPrefix string
- Optional folder in the S3 bucket to place logs in.
- CloudWatch boolEncryption Enabled 
- Whether to enable encryption on the CloudWatch logs. If not specified, encryption will be disabled.
- CloudWatch stringLog Group Name 
- The name of the CloudWatch log group to send logs to.
- S3BucketEncryption boolEnabled 
- Whether to enable encryption on the logs sent to S3. If not specified, encryption will be disabled.
- S3BucketName string
- Name of the S3 bucket to send logs to.
- S3KeyPrefix string
- Optional folder in the S3 bucket to place logs in.
- cloudWatch BooleanEncryption Enabled 
- Whether to enable encryption on the CloudWatch logs. If not specified, encryption will be disabled.
- cloudWatch StringLog Group Name 
- The name of the CloudWatch log group to send logs to.
- s3BucketEncryption BooleanEnabled 
- Whether to enable encryption on the logs sent to S3. If not specified, encryption will be disabled.
- s3BucketName String
- Name of the S3 bucket to send logs to.
- s3KeyPrefix String
- Optional folder in the S3 bucket to place logs in.
- cloudWatch booleanEncryption Enabled 
- Whether to enable encryption on the CloudWatch logs. If not specified, encryption will be disabled.
- cloudWatch stringLog Group Name 
- The name of the CloudWatch log group to send logs to.
- s3BucketEncryption booleanEnabled 
- Whether to enable encryption on the logs sent to S3. If not specified, encryption will be disabled.
- s3BucketName string
- Name of the S3 bucket to send logs to.
- s3KeyPrefix string
- Optional folder in the S3 bucket to place logs in.
- cloud_watch_ boolencryption_ enabled 
- Whether to enable encryption on the CloudWatch logs. If not specified, encryption will be disabled.
- cloud_watch_ strlog_ group_ name 
- The name of the CloudWatch log group to send logs to.
- s3_bucket_ boolencryption_ enabled 
- Whether to enable encryption on the logs sent to S3. If not specified, encryption will be disabled.
- s3_bucket_ strname 
- Name of the S3 bucket to send logs to.
- s3_key_ strprefix 
- Optional folder in the S3 bucket to place logs in.
- cloudWatch BooleanEncryption Enabled 
- Whether to enable encryption on the CloudWatch logs. If not specified, encryption will be disabled.
- cloudWatch StringLog Group Name 
- The name of the CloudWatch log group to send logs to.
- s3BucketEncryption BooleanEnabled 
- Whether to enable encryption on the logs sent to S3. If not specified, encryption will be disabled.
- s3BucketName String
- Name of the S3 bucket to send logs to.
- s3KeyPrefix String
- Optional folder in the S3 bucket to place logs in.
ClusterConfigurationManagedStorageConfiguration, ClusterConfigurationManagedStorageConfigurationArgs          
- FargateEphemeral stringStorage Kms Key Id 
- AWS Key Management Service key ID for the Fargate ephemeral storage.
- KmsKey stringId 
- AWS Key Management Service key ID to encrypt the managed storage.
- FargateEphemeral stringStorage Kms Key Id 
- AWS Key Management Service key ID for the Fargate ephemeral storage.
- KmsKey stringId 
- AWS Key Management Service key ID to encrypt the managed storage.
- fargateEphemeral StringStorage Kms Key Id 
- AWS Key Management Service key ID for the Fargate ephemeral storage.
- kmsKey StringId 
- AWS Key Management Service key ID to encrypt the managed storage.
- fargateEphemeral stringStorage Kms Key Id 
- AWS Key Management Service key ID for the Fargate ephemeral storage.
- kmsKey stringId 
- AWS Key Management Service key ID to encrypt the managed storage.
- fargate_ephemeral_ strstorage_ kms_ key_ id 
- AWS Key Management Service key ID for the Fargate ephemeral storage.
- kms_key_ strid 
- AWS Key Management Service key ID to encrypt the managed storage.
- fargateEphemeral StringStorage Kms Key Id 
- AWS Key Management Service key ID for the Fargate ephemeral storage.
- kmsKey StringId 
- AWS Key Management Service key ID to encrypt the managed storage.
ClusterServiceConnectDefaults, ClusterServiceConnectDefaultsArgs        
- Namespace string
- ARN of the aws.servicediscovery.HttpNamespacethat's used when you create a service and don't specify a Service Connect configuration.
- Namespace string
- ARN of the aws.servicediscovery.HttpNamespacethat's used when you create a service and don't specify a Service Connect configuration.
- namespace String
- ARN of the aws.servicediscovery.HttpNamespacethat's used when you create a service and don't specify a Service Connect configuration.
- namespace string
- ARN of the aws.servicediscovery.HttpNamespacethat's used when you create a service and don't specify a Service Connect configuration.
- namespace str
- ARN of the aws.servicediscovery.HttpNamespacethat's used when you create a service and don't specify a Service Connect configuration.
- namespace String
- ARN of the aws.servicediscovery.HttpNamespacethat's used when you create a service and don't specify a Service Connect configuration.
ClusterSetting, ClusterSettingArgs    
Import
Using pulumi import, import ECS clusters using the cluster name. For example:
$ pulumi import aws:ecs/cluster:Cluster stateless stateless-app
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.