diff --git a/.docs.version b/.docs.version index 6b767efb1a..4eeb0f639f 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -b82e936513221f3e6c248f2a4d477c1e45551382 +fb382a056363bbba3d354043e6adbc2c9c6b8a4b diff --git a/aws-cloudformation-schema/aws-ecs-taskset.json b/aws-cloudformation-schema/aws-ecs-taskset.json index 106af7e02c..1ceea4ad95 100644 --- a/aws-cloudformation-schema/aws-ecs-taskset.json +++ b/aws-cloudformation-schema/aws-ecs-taskset.json @@ -1,157 +1,185 @@ { + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false + }, + "handlers" : { + "read" : { + "permissions" : [ "ecs:DescribeTaskSets" ] + }, + "create" : { + "permissions" : [ "ecs:CreateTaskSet", "ecs:DescribeTaskSets", "ecs:TagResource" ] + }, + "update" : { + "permissions" : [ "ecs:DescribeTaskSets", "ecs:TagResource", "ecs:UntagResource", "ecs:UpdateTaskSet" ] + }, + "delete" : { + "permissions" : [ "ecs:DeleteTaskSet", "ecs:DescribeTaskSets" ] + } + }, "typeName" : "AWS::ECS::TaskSet", + "readOnlyProperties" : [ "/properties/Id" ], "description" : "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide.", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "createOnlyProperties" : [ "/properties/Cluster", "/properties/ExternalId", "/properties/LaunchType", "/properties/LoadBalancers", "/properties/NetworkConfiguration", "/properties/PlatformVersion", "/properties/Service", "/properties/ServiceRegistries", "/properties/TaskDefinition", "/properties/CapacityProviderStrategy" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Cluster", "/properties/Service", "/properties/Id" ], "definitions" : { - "LoadBalancer" : { - "description" : "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. ", + "CapacityProviderStrategyItem" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "ContainerName" : { - "description" : "The name of the container (as it appears in a container definition) to associate with the load balancer.", + "CapacityProvider" : { "type" : "string" }, - "ContainerPort" : { - "description" : "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.", + "Base" : { "type" : "integer" }, - "TargetGroupArn" : { - "description" : "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.", - "type" : "string" - } - }, - "additionalProperties" : false - }, - "NetworkConfiguration" : { - "description" : "An object representing the network configuration for a task or service.", - "type" : "object", - "properties" : { - "AwsVpcConfiguration" : { - "$ref" : "#/definitions/AwsVpcConfiguration" + "Weight" : { + "type" : "integer" } - }, - "additionalProperties" : false + } }, "AwsVpcConfiguration" : { "description" : "The VPC subnets and security groups associated with a task. All specified subnets and security groups must be from the same VPC.", + "additionalProperties" : false, "type" : "object", "properties" : { - "AssignPublicIp" : { - "description" : "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.", - "type" : "string", - "enum" : [ "DISABLED", "ENABLED" ] - }, "SecurityGroups" : { + "maxItems" : 5, "description" : "The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration.", "type" : "array", "items" : { "type" : "string" - }, - "maxItems" : 5 + } }, "Subnets" : { + "maxItems" : 16, "description" : "The subnets associated with the task or service. There is a limit of 16 subnets that can be specified per AwsVpcConfiguration.", "type" : "array", "items" : { "type" : "string" - }, - "maxItems" : 16 + } + }, + "AssignPublicIp" : { + "description" : "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.", + "type" : "string", + "enum" : [ "DISABLED", "ENABLED" ] } }, - "required" : [ "Subnets" ], - "additionalProperties" : false + "required" : [ "Subnets" ] + }, + "LoadBalancer" : { + "description" : "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. ", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "TargetGroupArn" : { + "description" : "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.", + "type" : "string" + }, + "ContainerName" : { + "description" : "The name of the container (as it appears in a container definition) to associate with the load balancer.", + "type" : "string" + }, + "ContainerPort" : { + "description" : "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.", + "type" : "integer" + } + } + }, + "NetworkConfiguration" : { + "description" : "An object representing the network configuration for a task or service.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "AwsVpcConfiguration" : { + "$ref" : "#/definitions/AwsVpcConfiguration" + } + } }, "Scale" : { + "additionalProperties" : false, "type" : "object", "properties" : { + "Value" : { + "description" : "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.", + "maximum" : 100, + "type" : "number", + "minimum" : 0 + }, "Unit" : { "description" : "The unit of measure for the scale value.", "type" : "string", "enum" : [ "PERCENT" ] - }, - "Value" : { - "description" : "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.", - "type" : "number", - "minimum" : 0, - "maximum" : 100 } - }, - "additionalProperties" : false + } }, "ServiceRegistry" : { + "additionalProperties" : false, "type" : "object", "properties" : { "ContainerName" : { "description" : "The container name value, already specified in the task definition, to be used for your service discovery service. If the task definition that your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition that your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.", "type" : "string" }, - "ContainerPort" : { - "description" : "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.", - "type" : "integer" - }, "Port" : { "description" : "The port value used if your service discovery service specified an SRV record. This field may be used if both the awsvpc network mode and SRV records are used.", "type" : "integer" }, + "ContainerPort" : { + "description" : "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.", + "type" : "integer" + }, "RegistryArn" : { "description" : "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map. For more information, see https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html", "type" : "string" } - }, - "additionalProperties" : false + } }, "Tag" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "Key" : { + "Value" : { "type" : "string" }, - "Value" : { + "Key" : { "type" : "string" } - }, - "additionalProperties" : false + } } }, + "required" : [ "Cluster", "Service", "TaskDefinition" ], "properties" : { - "Cluster" : { - "description" : "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", + "PlatformVersion" : { + "description" : "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.", "type" : "string" }, "ExternalId" : { "description" : "An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. ", "type" : "string" }, - "Id" : { - "description" : "The ID of the task set.", + "Cluster" : { + "description" : "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", "type" : "string" }, - "LaunchType" : { - "description" : "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. ", - "type" : "string", - "enum" : [ "EC2", "FARGATE" ] - }, "LoadBalancers" : { "type" : "array", "items" : { "$ref" : "#/definitions/LoadBalancer" } }, - "NetworkConfiguration" : { - "$ref" : "#/definitions/NetworkConfiguration" - }, - "PlatformVersion" : { - "description" : "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.", + "Service" : { + "description" : "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.", "type" : "string" }, "Scale" : { "description" : "A floating-point percentage of the desired number of tasks to place and keep running in the task set.", "$ref" : "#/definitions/Scale" }, - "Service" : { - "description" : "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.", - "type" : "string" - }, "ServiceRegistries" : { "description" : "The details of the service discovery registries to assign to this task set. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html.", "type" : "array", @@ -159,40 +187,33 @@ "$ref" : "#/definitions/ServiceRegistry" } }, - "Tags" : { + "CapacityProviderStrategy" : { "type" : "array", "items" : { - "$ref" : "#/definitions/Tag" + "$ref" : "#/definitions/CapacityProviderStrategyItem" } }, + "LaunchType" : { + "description" : "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. ", + "type" : "string", + "enum" : [ "EC2", "FARGATE" ] + }, "TaskDefinition" : { "description" : "The short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use.", "type" : "string" - } - }, - "required" : [ "Cluster", "Service", "TaskDefinition" ], - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : false - }, - "createOnlyProperties" : [ "/properties/Cluster", "/properties/ExternalId", "/properties/LaunchType", "/properties/LoadBalancers", "/properties/NetworkConfiguration", "/properties/PlatformVersion", "/properties/Service", "/properties/ServiceRegistries", "/properties/TaskDefinition" ], - "readOnlyProperties" : [ "/properties/Id" ], - "primaryIdentifier" : [ "/properties/Cluster", "/properties/Service", "/properties/Id" ], - "handlers" : { - "create" : { - "permissions" : [ "ecs:CreateTaskSet", "ecs:DescribeTaskSets", "ecs:TagResource" ] }, - "read" : { - "permissions" : [ "ecs:DescribeTaskSets" ] + "NetworkConfiguration" : { + "$ref" : "#/definitions/NetworkConfiguration" }, - "update" : { - "permissions" : [ "ecs:DescribeTaskSets", "ecs:TagResource", "ecs:UntagResource", "ecs:UpdateTaskSet" ] + "Id" : { + "description" : "The ID of the task set.", + "type" : "string" }, - "delete" : { - "permissions" : [ "ecs:DeleteTaskSet", "ecs:DescribeTaskSets" ] + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } } - }, - "additionalProperties" : false + } } \ No newline at end of file diff --git a/meta/.botocore.version b/meta/.botocore.version index 3268e8ef22..7ad5152058 100644 --- a/meta/.botocore.version +++ b/meta/.botocore.version @@ -1 +1 @@ -1.35.37 +1.35.38 diff --git a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt index b6911774f0..bab3e0d8d5 100644 --- a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt @@ -3,9 +3,9 @@ AWS::Cognito::UserPoolDomain AWS::Cognito::UserPoolIdentityProvider AWS::GameCast::Application AWS::GameCast::StreamGroup -AWS::Glue::Crawler AWS::SNS::TopicPolicy AWS::SSMGuiConnect::Preferences +AWS::SecretsManager::SecretTargetAttachment AWSQS::EKS::Cluster AWSQS::Kubernetes::Get AWSQS::Kubernetes::Helm diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 1c5021683c..b110351963 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -36397,6 +36397,12 @@ "aws-native:ecs:TaskSet": { "cf": "AWS::ECS::TaskSet", "inputs": { + "capacityProviderStrategy": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" + } + }, "cluster": { "type": "string", "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in." @@ -36456,6 +36462,13 @@ "type": "string", "description": "The ID of the task set." }, + "capacityProviderStrategy": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" + }, + "replaceOnChanges": true + }, "cluster": { "type": "string", "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", @@ -36525,6 +36538,7 @@ "taskDefinition" ], "createOnly": [ + "capacityProviderStrategy", "cluster", "externalId", "launchType", @@ -127913,6 +127927,20 @@ "aws-native:ecs:TaskSetAwsVpcConfigurationAssignPublicIp": { "type": "string" }, + "aws-native:ecs:TaskSetCapacityProviderStrategyItem": { + "type": "object", + "properties": { + "base": { + "type": "integer" + }, + "capacityProvider": { + "type": "string" + }, + "weight": { + "type": "integer" + } + } + }, "aws-native:ecs:TaskSetLaunchType": { "type": "string" }, diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 751b469f90..d0b8c7a45e 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -45949,6 +45949,20 @@ } ] }, + "aws-native:ecs:TaskSetCapacityProviderStrategyItem": { + "properties": { + "base": { + "type": "integer" + }, + "capacityProvider": { + "type": "string" + }, + "weight": { + "type": "integer" + } + }, + "type": "object" + }, "aws-native:ecs:TaskSetLaunchType": { "description": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. ", "type": "string", @@ -200443,6 +200457,13 @@ "type": "string", "description": "The ID of the task set." }, + "capacityProviderStrategy": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" + }, + "replaceOnChanges": true + }, "cluster": { "type": "string", "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", @@ -200514,6 +200535,12 @@ "taskDefinition" ], "inputProperties": { + "capacityProviderStrategy": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" + } + }, "cluster": { "type": "string", "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in." diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json index 7b8c788f86..cfa26f286e 100644 --- a/reports/missedAutonaming.json +++ b/reports/missedAutonaming.json @@ -6189,6 +6189,12 @@ "aws-native:ecs:TaskSet": { "cfTypeName": "AWS::ECS::TaskSet", "properties": { + "capacityProviderStrategy": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" + } + }, "cluster": { "type": "string", "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in." diff --git a/sdk/dotnet/Ecs/Inputs/TaskSetCapacityProviderStrategyItemArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskSetCapacityProviderStrategyItemArgs.cs new file mode 100644 index 0000000000..b40a6cb078 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/TaskSetCapacityProviderStrategyItemArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ecs.Inputs +{ + + public sealed class TaskSetCapacityProviderStrategyItemArgs : global::Pulumi.ResourceArgs + { + [Input("base")] + public Input? Base { get; set; } + + [Input("capacityProvider")] + public Input? CapacityProvider { get; set; } + + [Input("weight")] + public Input? Weight { get; set; } + + public TaskSetCapacityProviderStrategyItemArgs() + { + } + public static new TaskSetCapacityProviderStrategyItemArgs Empty => new TaskSetCapacityProviderStrategyItemArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Outputs/TaskSetCapacityProviderStrategyItem.cs b/sdk/dotnet/Ecs/Outputs/TaskSetCapacityProviderStrategyItem.cs new file mode 100644 index 0000000000..e7606dfccb --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/TaskSetCapacityProviderStrategyItem.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ecs.Outputs +{ + + [OutputType] + public sealed class TaskSetCapacityProviderStrategyItem + { + public readonly int? Base; + public readonly string? CapacityProvider; + public readonly int? Weight; + + [OutputConstructor] + private TaskSetCapacityProviderStrategyItem( + int? @base, + + string? capacityProvider, + + int? weight) + { + Base = @base; + CapacityProvider = capacityProvider; + Weight = weight; + } + } +} diff --git a/sdk/dotnet/Ecs/TaskSet.cs b/sdk/dotnet/Ecs/TaskSet.cs index 41ba7e190c..1767ce14e9 100644 --- a/sdk/dotnet/Ecs/TaskSet.cs +++ b/sdk/dotnet/Ecs/TaskSet.cs @@ -21,6 +21,9 @@ public partial class TaskSet : global::Pulumi.CustomResource [Output("awsId")] public Output AwsId { get; private set; } = null!; + [Output("capacityProviderStrategy")] + public Output> CapacityProviderStrategy { get; private set; } = null!; + /// /// The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. /// @@ -122,6 +125,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, ReplaceOnChanges = { + "capacityProviderStrategy[*]", "cluster", "externalId", "launchType", @@ -154,6 +158,14 @@ public static TaskSet Get(string name, Input id, CustomResourceOptions? public sealed class TaskSetArgs : global::Pulumi.ResourceArgs { + [Input("capacityProviderStrategy")] + private InputList? _capacityProviderStrategy; + public InputList CapacityProviderStrategy + { + get => _capacityProviderStrategy ?? (_capacityProviderStrategy = new InputList()); + set => _capacityProviderStrategy = value; + } + /// /// The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. /// diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index 3e2e51a4a1..38667846cd 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -11822,6 +11822,112 @@ func (o TaskSetAwsVpcConfigurationPtrOutput) Subnets() pulumi.StringArrayOutput }).(pulumi.StringArrayOutput) } +type TaskSetCapacityProviderStrategyItem struct { + Base *int `pulumi:"base"` + CapacityProvider *string `pulumi:"capacityProvider"` + Weight *int `pulumi:"weight"` +} + +// TaskSetCapacityProviderStrategyItemInput is an input type that accepts TaskSetCapacityProviderStrategyItemArgs and TaskSetCapacityProviderStrategyItemOutput values. +// You can construct a concrete instance of `TaskSetCapacityProviderStrategyItemInput` via: +// +// TaskSetCapacityProviderStrategyItemArgs{...} +type TaskSetCapacityProviderStrategyItemInput interface { + pulumi.Input + + ToTaskSetCapacityProviderStrategyItemOutput() TaskSetCapacityProviderStrategyItemOutput + ToTaskSetCapacityProviderStrategyItemOutputWithContext(context.Context) TaskSetCapacityProviderStrategyItemOutput +} + +type TaskSetCapacityProviderStrategyItemArgs struct { + Base pulumi.IntPtrInput `pulumi:"base"` + CapacityProvider pulumi.StringPtrInput `pulumi:"capacityProvider"` + Weight pulumi.IntPtrInput `pulumi:"weight"` +} + +func (TaskSetCapacityProviderStrategyItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TaskSetCapacityProviderStrategyItem)(nil)).Elem() +} + +func (i TaskSetCapacityProviderStrategyItemArgs) ToTaskSetCapacityProviderStrategyItemOutput() TaskSetCapacityProviderStrategyItemOutput { + return i.ToTaskSetCapacityProviderStrategyItemOutputWithContext(context.Background()) +} + +func (i TaskSetCapacityProviderStrategyItemArgs) ToTaskSetCapacityProviderStrategyItemOutputWithContext(ctx context.Context) TaskSetCapacityProviderStrategyItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(TaskSetCapacityProviderStrategyItemOutput) +} + +// TaskSetCapacityProviderStrategyItemArrayInput is an input type that accepts TaskSetCapacityProviderStrategyItemArray and TaskSetCapacityProviderStrategyItemArrayOutput values. +// You can construct a concrete instance of `TaskSetCapacityProviderStrategyItemArrayInput` via: +// +// TaskSetCapacityProviderStrategyItemArray{ TaskSetCapacityProviderStrategyItemArgs{...} } +type TaskSetCapacityProviderStrategyItemArrayInput interface { + pulumi.Input + + ToTaskSetCapacityProviderStrategyItemArrayOutput() TaskSetCapacityProviderStrategyItemArrayOutput + ToTaskSetCapacityProviderStrategyItemArrayOutputWithContext(context.Context) TaskSetCapacityProviderStrategyItemArrayOutput +} + +type TaskSetCapacityProviderStrategyItemArray []TaskSetCapacityProviderStrategyItemInput + +func (TaskSetCapacityProviderStrategyItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TaskSetCapacityProviderStrategyItem)(nil)).Elem() +} + +func (i TaskSetCapacityProviderStrategyItemArray) ToTaskSetCapacityProviderStrategyItemArrayOutput() TaskSetCapacityProviderStrategyItemArrayOutput { + return i.ToTaskSetCapacityProviderStrategyItemArrayOutputWithContext(context.Background()) +} + +func (i TaskSetCapacityProviderStrategyItemArray) ToTaskSetCapacityProviderStrategyItemArrayOutputWithContext(ctx context.Context) TaskSetCapacityProviderStrategyItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TaskSetCapacityProviderStrategyItemArrayOutput) +} + +type TaskSetCapacityProviderStrategyItemOutput struct{ *pulumi.OutputState } + +func (TaskSetCapacityProviderStrategyItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TaskSetCapacityProviderStrategyItem)(nil)).Elem() +} + +func (o TaskSetCapacityProviderStrategyItemOutput) ToTaskSetCapacityProviderStrategyItemOutput() TaskSetCapacityProviderStrategyItemOutput { + return o +} + +func (o TaskSetCapacityProviderStrategyItemOutput) ToTaskSetCapacityProviderStrategyItemOutputWithContext(ctx context.Context) TaskSetCapacityProviderStrategyItemOutput { + return o +} + +func (o TaskSetCapacityProviderStrategyItemOutput) Base() pulumi.IntPtrOutput { + return o.ApplyT(func(v TaskSetCapacityProviderStrategyItem) *int { return v.Base }).(pulumi.IntPtrOutput) +} + +func (o TaskSetCapacityProviderStrategyItemOutput) CapacityProvider() pulumi.StringPtrOutput { + return o.ApplyT(func(v TaskSetCapacityProviderStrategyItem) *string { return v.CapacityProvider }).(pulumi.StringPtrOutput) +} + +func (o TaskSetCapacityProviderStrategyItemOutput) Weight() pulumi.IntPtrOutput { + return o.ApplyT(func(v TaskSetCapacityProviderStrategyItem) *int { return v.Weight }).(pulumi.IntPtrOutput) +} + +type TaskSetCapacityProviderStrategyItemArrayOutput struct{ *pulumi.OutputState } + +func (TaskSetCapacityProviderStrategyItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TaskSetCapacityProviderStrategyItem)(nil)).Elem() +} + +func (o TaskSetCapacityProviderStrategyItemArrayOutput) ToTaskSetCapacityProviderStrategyItemArrayOutput() TaskSetCapacityProviderStrategyItemArrayOutput { + return o +} + +func (o TaskSetCapacityProviderStrategyItemArrayOutput) ToTaskSetCapacityProviderStrategyItemArrayOutputWithContext(ctx context.Context) TaskSetCapacityProviderStrategyItemArrayOutput { + return o +} + +func (o TaskSetCapacityProviderStrategyItemArrayOutput) Index(i pulumi.IntInput) TaskSetCapacityProviderStrategyItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TaskSetCapacityProviderStrategyItem { + return vs[0].([]TaskSetCapacityProviderStrategyItem)[vs[1].(int)] + }).(TaskSetCapacityProviderStrategyItemOutput) +} + // A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. type TaskSetLoadBalancer struct { // The name of the container (as it appears in a container definition) to associate with the load balancer. @@ -12509,6 +12615,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TaskDefinitionVolumeFromArrayInput)(nil)).Elem(), TaskDefinitionVolumeFromArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TaskSetAwsVpcConfigurationInput)(nil)).Elem(), TaskSetAwsVpcConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TaskSetAwsVpcConfigurationPtrInput)(nil)).Elem(), TaskSetAwsVpcConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TaskSetCapacityProviderStrategyItemInput)(nil)).Elem(), TaskSetCapacityProviderStrategyItemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TaskSetCapacityProviderStrategyItemArrayInput)(nil)).Elem(), TaskSetCapacityProviderStrategyItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TaskSetLoadBalancerInput)(nil)).Elem(), TaskSetLoadBalancerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TaskSetLoadBalancerArrayInput)(nil)).Elem(), TaskSetLoadBalancerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TaskSetNetworkConfigurationInput)(nil)).Elem(), TaskSetNetworkConfigurationArgs{}) @@ -12651,6 +12759,8 @@ func init() { pulumi.RegisterOutputType(TaskDefinitionVolumeFromArrayOutput{}) pulumi.RegisterOutputType(TaskSetAwsVpcConfigurationOutput{}) pulumi.RegisterOutputType(TaskSetAwsVpcConfigurationPtrOutput{}) + pulumi.RegisterOutputType(TaskSetCapacityProviderStrategyItemOutput{}) + pulumi.RegisterOutputType(TaskSetCapacityProviderStrategyItemArrayOutput{}) pulumi.RegisterOutputType(TaskSetLoadBalancerOutput{}) pulumi.RegisterOutputType(TaskSetLoadBalancerArrayOutput{}) pulumi.RegisterOutputType(TaskSetNetworkConfigurationOutput{}) diff --git a/sdk/go/aws/ecs/taskSet.go b/sdk/go/aws/ecs/taskSet.go index 3beedb336e..ae4bec2a90 100644 --- a/sdk/go/aws/ecs/taskSet.go +++ b/sdk/go/aws/ecs/taskSet.go @@ -18,7 +18,8 @@ type TaskSet struct { pulumi.CustomResourceState // The ID of the task set. - AwsId pulumi.StringOutput `pulumi:"awsId"` + AwsId pulumi.StringOutput `pulumi:"awsId"` + CapacityProviderStrategy TaskSetCapacityProviderStrategyItemArrayOutput `pulumi:"capacityProviderStrategy"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. Cluster pulumi.StringOutput `pulumi:"cluster"` // An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. @@ -70,6 +71,7 @@ func NewTaskSet(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'TaskDefinition'") } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "capacityProviderStrategy[*]", "cluster", "externalId", "launchType", @@ -114,6 +116,7 @@ func (TaskSetState) ElementType() reflect.Type { } type taskSetArgs struct { + CapacityProviderStrategy []TaskSetCapacityProviderStrategyItem `pulumi:"capacityProviderStrategy"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. Cluster string `pulumi:"cluster"` // An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. @@ -150,6 +153,7 @@ type taskSetArgs struct { // The set of arguments for constructing a TaskSet resource. type TaskSetArgs struct { + CapacityProviderStrategy TaskSetCapacityProviderStrategyItemArrayInput // The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. Cluster pulumi.StringInput // An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. @@ -226,6 +230,10 @@ func (o TaskSetOutput) AwsId() pulumi.StringOutput { return o.ApplyT(func(v *TaskSet) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) } +func (o TaskSetOutput) CapacityProviderStrategy() TaskSetCapacityProviderStrategyItemArrayOutput { + return o.ApplyT(func(v *TaskSet) TaskSetCapacityProviderStrategyItemArrayOutput { return v.CapacityProviderStrategy }).(TaskSetCapacityProviderStrategyItemArrayOutput) +} + // The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. func (o TaskSetOutput) Cluster() pulumi.StringOutput { return o.ApplyT(func(v *TaskSet) pulumi.StringOutput { return v.Cluster }).(pulumi.StringOutput) diff --git a/sdk/nodejs/ecs/taskSet.ts b/sdk/nodejs/ecs/taskSet.ts index cc57e0b53d..b811024dc7 100644 --- a/sdk/nodejs/ecs/taskSet.ts +++ b/sdk/nodejs/ecs/taskSet.ts @@ -41,6 +41,7 @@ export class TaskSet extends pulumi.CustomResource { * The ID of the task set. */ public /*out*/ readonly awsId!: pulumi.Output; + public readonly capacityProviderStrategy!: pulumi.Output; /** * The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. */ @@ -116,6 +117,7 @@ export class TaskSet extends pulumi.CustomResource { if ((!args || args.taskDefinition === undefined) && !opts.urn) { throw new Error("Missing required property 'taskDefinition'"); } + resourceInputs["capacityProviderStrategy"] = args ? args.capacityProviderStrategy : undefined; resourceInputs["cluster"] = args ? args.cluster : undefined; resourceInputs["externalId"] = args ? args.externalId : undefined; resourceInputs["launchType"] = args ? args.launchType : undefined; @@ -130,6 +132,7 @@ export class TaskSet extends pulumi.CustomResource { resourceInputs["awsId"] = undefined /*out*/; } else { resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["capacityProviderStrategy"] = undefined /*out*/; resourceInputs["cluster"] = undefined /*out*/; resourceInputs["externalId"] = undefined /*out*/; resourceInputs["launchType"] = undefined /*out*/; @@ -143,7 +146,7 @@ export class TaskSet extends pulumi.CustomResource { resourceInputs["taskDefinition"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["cluster", "externalId", "launchType", "loadBalancers[*]", "networkConfiguration", "platformVersion", "service", "serviceRegistries[*]", "taskDefinition"] }; + const replaceOnChanges = { replaceOnChanges: ["capacityProviderStrategy[*]", "cluster", "externalId", "launchType", "loadBalancers[*]", "networkConfiguration", "platformVersion", "service", "serviceRegistries[*]", "taskDefinition"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(TaskSet.__pulumiType, name, resourceInputs, opts); } @@ -153,6 +156,7 @@ export class TaskSet extends pulumi.CustomResource { * The set of arguments for constructing a TaskSet resource. */ export interface TaskSetArgs { + capacityProviderStrategy?: pulumi.Input[]>; /** * The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. */ diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 23da08f2a8..1b3e347c29 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -25211,6 +25211,12 @@ export namespace ecs { subnets: pulumi.Input[]>; } + export interface TaskSetCapacityProviderStrategyItemArgs { + base?: pulumi.Input; + capacityProvider?: pulumi.Input; + weight?: pulumi.Input; + } + /** * A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index fcefc57489..476bd7997c 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -26535,6 +26535,12 @@ export namespace ecs { subnets: string[]; } + export interface TaskSetCapacityProviderStrategyItem { + base?: number; + capacityProvider?: string; + weight?: number; + } + /** * A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. */ diff --git a/sdk/python/pulumi_aws_native/ecs/_inputs.py b/sdk/python/pulumi_aws_native/ecs/_inputs.py index 71d01fda36..77ddc064f5 100644 --- a/sdk/python/pulumi_aws_native/ecs/_inputs.py +++ b/sdk/python/pulumi_aws_native/ecs/_inputs.py @@ -78,6 +78,7 @@ 'TaskDefinitionVolumeFromArgs', 'TaskDefinitionVolumeArgs', 'TaskSetAwsVpcConfigurationArgs', + 'TaskSetCapacityProviderStrategyItemArgs', 'TaskSetLoadBalancerArgs', 'TaskSetNetworkConfigurationArgs', 'TaskSetScaleArgs', @@ -4962,6 +4963,47 @@ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str pulumi.set(self, "security_groups", value) +@pulumi.input_type +class TaskSetCapacityProviderStrategyItemArgs: + def __init__(__self__, *, + base: Optional[pulumi.Input[int]] = None, + capacity_provider: Optional[pulumi.Input[str]] = None, + weight: Optional[pulumi.Input[int]] = None): + if base is not None: + pulumi.set(__self__, "base", base) + if capacity_provider is not None: + pulumi.set(__self__, "capacity_provider", capacity_provider) + if weight is not None: + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter + def base(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "base") + + @base.setter + def base(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "base", value) + + @property + @pulumi.getter(name="capacityProvider") + def capacity_provider(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "capacity_provider") + + @capacity_provider.setter + def capacity_provider(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_provider", value) + + @property + @pulumi.getter + def weight(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "weight") + + @weight.setter + def weight(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "weight", value) + + @pulumi.input_type class TaskSetLoadBalancerArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/ecs/outputs.py b/sdk/python/pulumi_aws_native/ecs/outputs.py index fcfcc48285..caee535f06 100644 --- a/sdk/python/pulumi_aws_native/ecs/outputs.py +++ b/sdk/python/pulumi_aws_native/ecs/outputs.py @@ -79,6 +79,7 @@ 'TaskDefinitionVolume', 'TaskDefinitionVolumeFrom', 'TaskSetAwsVpcConfiguration', + 'TaskSetCapacityProviderStrategyItem', 'TaskSetLoadBalancer', 'TaskSetNetworkConfiguration', 'TaskSetScale', @@ -5380,6 +5381,52 @@ def security_groups(self) -> Optional[Sequence[str]]: return pulumi.get(self, "security_groups") +@pulumi.output_type +class TaskSetCapacityProviderStrategyItem(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "capacityProvider": + suggest = "capacity_provider" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TaskSetCapacityProviderStrategyItem. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TaskSetCapacityProviderStrategyItem.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TaskSetCapacityProviderStrategyItem.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + base: Optional[int] = None, + capacity_provider: Optional[str] = None, + weight: Optional[int] = None): + if base is not None: + pulumi.set(__self__, "base", base) + if capacity_provider is not None: + pulumi.set(__self__, "capacity_provider", capacity_provider) + if weight is not None: + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter + def base(self) -> Optional[int]: + return pulumi.get(self, "base") + + @property + @pulumi.getter(name="capacityProvider") + def capacity_provider(self) -> Optional[str]: + return pulumi.get(self, "capacity_provider") + + @property + @pulumi.getter + def weight(self) -> Optional[int]: + return pulumi.get(self, "weight") + + @pulumi.output_type class TaskSetLoadBalancer(dict): """ diff --git a/sdk/python/pulumi_aws_native/ecs/task_set.py b/sdk/python/pulumi_aws_native/ecs/task_set.py index 24b8001914..2f5b28d913 100644 --- a/sdk/python/pulumi_aws_native/ecs/task_set.py +++ b/sdk/python/pulumi_aws_native/ecs/task_set.py @@ -22,6 +22,7 @@ def __init__(__self__, *, cluster: pulumi.Input[str], service: pulumi.Input[str], task_definition: pulumi.Input[str], + capacity_provider_strategy: Optional[pulumi.Input[Sequence[pulumi.Input['TaskSetCapacityProviderStrategyItemArgs']]]] = None, external_id: Optional[pulumi.Input[str]] = None, launch_type: Optional[pulumi.Input['TaskSetLaunchType']] = None, load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['TaskSetLoadBalancerArgs']]]] = None, @@ -57,6 +58,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cluster", cluster) pulumi.set(__self__, "service", service) pulumi.set(__self__, "task_definition", task_definition) + if capacity_provider_strategy is not None: + pulumi.set(__self__, "capacity_provider_strategy", capacity_provider_strategy) if external_id is not None: pulumi.set(__self__, "external_id", external_id) if launch_type is not None: @@ -110,6 +113,15 @@ def task_definition(self) -> pulumi.Input[str]: def task_definition(self, value: pulumi.Input[str]): pulumi.set(self, "task_definition", value) + @property + @pulumi.getter(name="capacityProviderStrategy") + def capacity_provider_strategy(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskSetCapacityProviderStrategyItemArgs']]]]: + return pulumi.get(self, "capacity_provider_strategy") + + @capacity_provider_strategy.setter + def capacity_provider_strategy(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TaskSetCapacityProviderStrategyItemArgs']]]]): + pulumi.set(self, "capacity_provider_strategy", value) + @property @pulumi.getter(name="externalId") def external_id(self) -> Optional[pulumi.Input[str]]: @@ -222,6 +234,7 @@ class TaskSet(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + capacity_provider_strategy: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TaskSetCapacityProviderStrategyItemArgs', 'TaskSetCapacityProviderStrategyItemArgsDict']]]]] = None, cluster: Optional[pulumi.Input[str]] = None, external_id: Optional[pulumi.Input[str]] = None, launch_type: Optional[pulumi.Input['TaskSetLaunchType']] = None, @@ -285,6 +298,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + capacity_provider_strategy: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TaskSetCapacityProviderStrategyItemArgs', 'TaskSetCapacityProviderStrategyItemArgsDict']]]]] = None, cluster: Optional[pulumi.Input[str]] = None, external_id: Optional[pulumi.Input[str]] = None, launch_type: Optional[pulumi.Input['TaskSetLaunchType']] = None, @@ -305,6 +319,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = TaskSetArgs.__new__(TaskSetArgs) + __props__.__dict__["capacity_provider_strategy"] = capacity_provider_strategy if cluster is None and not opts.urn: raise TypeError("Missing required property 'cluster'") __props__.__dict__["cluster"] = cluster @@ -323,7 +338,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'task_definition'") __props__.__dict__["task_definition"] = task_definition __props__.__dict__["aws_id"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["cluster", "externalId", "launchType", "loadBalancers[*]", "networkConfiguration", "platformVersion", "service", "serviceRegistries[*]", "taskDefinition"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["capacityProviderStrategy[*]", "cluster", "externalId", "launchType", "loadBalancers[*]", "networkConfiguration", "platformVersion", "service", "serviceRegistries[*]", "taskDefinition"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(TaskSet, __self__).__init__( 'aws-native:ecs:TaskSet', @@ -348,6 +363,7 @@ def get(resource_name: str, __props__ = TaskSetArgs.__new__(TaskSetArgs) __props__.__dict__["aws_id"] = None + __props__.__dict__["capacity_provider_strategy"] = None __props__.__dict__["cluster"] = None __props__.__dict__["external_id"] = None __props__.__dict__["launch_type"] = None @@ -369,6 +385,11 @@ def aws_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "aws_id") + @property + @pulumi.getter(name="capacityProviderStrategy") + def capacity_provider_strategy(self) -> pulumi.Output[Optional[Sequence['outputs.TaskSetCapacityProviderStrategyItem']]]: + return pulumi.get(self, "capacity_provider_strategy") + @property @pulumi.getter def cluster(self) -> pulumi.Output[str]: