-
Notifications
You must be signed in to change notification settings - Fork 17
/
CfnPipe_PipeTargetEcsTaskParametersProperty.go
208 lines (205 loc) · 11.1 KB
/
CfnPipe_PipeTargetEcsTaskParametersProperty.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
package awspipes
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
)
// The parameters for using an Amazon ECS task as a target.
//
// Example:
// // The code below shows an example of how to instantiate this type.
// // The values are placeholders you should change.
// import "github.com/aws/aws-cdk-go/awscdk"
//
// pipeTargetEcsTaskParametersProperty := &PipeTargetEcsTaskParametersProperty{
// TaskDefinitionArn: jsii.String("taskDefinitionArn"),
//
// // the properties below are optional
// CapacityProviderStrategy: []interface{}{
// &CapacityProviderStrategyItemProperty{
// CapacityProvider: jsii.String("capacityProvider"),
//
// // the properties below are optional
// Base: jsii.Number(123),
// Weight: jsii.Number(123),
// },
// },
// EnableEcsManagedTags: jsii.Boolean(false),
// EnableExecuteCommand: jsii.Boolean(false),
// Group: jsii.String("group"),
// LaunchType: jsii.String("launchType"),
// NetworkConfiguration: &NetworkConfigurationProperty{
// AwsvpcConfiguration: &AwsVpcConfigurationProperty{
// Subnets: []*string{
// jsii.String("subnets"),
// },
//
// // the properties below are optional
// AssignPublicIp: jsii.String("assignPublicIp"),
// SecurityGroups: []*string{
// jsii.String("securityGroups"),
// },
// },
// },
// Overrides: &EcsTaskOverrideProperty{
// ContainerOverrides: []interface{}{
// &EcsContainerOverrideProperty{
// Command: []*string{
// jsii.String("command"),
// },
// Cpu: jsii.Number(123),
// Environment: []interface{}{
// &EcsEnvironmentVariableProperty{
// Name: jsii.String("name"),
// Value: jsii.String("value"),
// },
// },
// EnvironmentFiles: []interface{}{
// &EcsEnvironmentFileProperty{
// Type: jsii.String("type"),
// Value: jsii.String("value"),
// },
// },
// Memory: jsii.Number(123),
// MemoryReservation: jsii.Number(123),
// Name: jsii.String("name"),
// ResourceRequirements: []interface{}{
// &EcsResourceRequirementProperty{
// Type: jsii.String("type"),
// Value: jsii.String("value"),
// },
// },
// },
// },
// Cpu: jsii.String("cpu"),
// EphemeralStorage: &EcsEphemeralStorageProperty{
// SizeInGiB: jsii.Number(123),
// },
// ExecutionRoleArn: jsii.String("executionRoleArn"),
// InferenceAcceleratorOverrides: []interface{}{
// &EcsInferenceAcceleratorOverrideProperty{
// DeviceName: jsii.String("deviceName"),
// DeviceType: jsii.String("deviceType"),
// },
// },
// Memory: jsii.String("memory"),
// TaskRoleArn: jsii.String("taskRoleArn"),
// },
// PlacementConstraints: []interface{}{
// &PlacementConstraintProperty{
// Expression: jsii.String("expression"),
// Type: jsii.String("type"),
// },
// },
// PlacementStrategy: []interface{}{
// &PlacementStrategyProperty{
// Field: jsii.String("field"),
// Type: jsii.String("type"),
// },
// },
// PlatformVersion: jsii.String("platformVersion"),
// PropagateTags: jsii.String("propagateTags"),
// ReferenceId: jsii.String("referenceId"),
// Tags: []cfnTag{
// &cfnTag{
// Key: jsii.String("key"),
// Value: jsii.String("value"),
// },
// },
// TaskCount: jsii.Number(123),
// }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html
//
type CfnPipe_PipeTargetEcsTaskParametersProperty struct {
// The ARN of the task definition to use if the event target is an Amazon ECS task.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-taskdefinitionarn
//
TaskDefinitionArn *string `field:"required" json:"taskDefinitionArn" yaml:"taskDefinitionArn"`
// The capacity provider strategy to use for the task.
//
// If a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or launchType is specified, the `defaultCapacityProviderStrategy` for the cluster is used.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-capacityproviderstrategy
//
CapacityProviderStrategy interface{} `field:"optional" json:"capacityProviderStrategy" yaml:"capacityProviderStrategy"`
// Specifies whether to enable Amazon ECS managed tags for the task.
//
// For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the Amazon Elastic Container Service Developer Guide.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-enableecsmanagedtags
//
// Default: - false.
//
EnableEcsManagedTags interface{} `field:"optional" json:"enableEcsManagedTags" yaml:"enableEcsManagedTags"`
// Whether or not to enable the execute command functionality for the containers in this task.
//
// If true, this enables execute command functionality on all containers in the task.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-enableexecutecommand
//
// Default: - false.
//
EnableExecuteCommand interface{} `field:"optional" json:"enableExecuteCommand" yaml:"enableExecuteCommand"`
// Specifies an Amazon ECS task group for the task.
//
// The maximum length is 255 characters.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-group
//
Group *string `field:"optional" json:"group" yaml:"group"`
// Specifies the launch type on which your task is running.
//
// The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) in the *Amazon Elastic Container Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-launchtype
//
LaunchType *string `field:"optional" json:"launchType" yaml:"launchType"`
// Use this structure if the Amazon ECS task uses the `awsvpc` network mode.
//
// This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if `LaunchType` is `FARGATE` because the `awsvpc` mode is required for Fargate tasks.
//
// If you specify `NetworkConfiguration` when the target ECS task does not use the `awsvpc` network mode, the task fails.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-networkconfiguration
//
NetworkConfiguration interface{} `field:"optional" json:"networkConfiguration" yaml:"networkConfiguration"`
// The overrides that are associated with a task.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-overrides
//
Overrides interface{} `field:"optional" json:"overrides" yaml:"overrides"`
// An array of placement constraint objects to use for the task.
//
// You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-placementconstraints
//
PlacementConstraints interface{} `field:"optional" json:"placementConstraints" yaml:"placementConstraints"`
// The placement strategy objects to use for the task.
//
// You can specify a maximum of five strategy rules per task.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-placementstrategy
//
PlacementStrategy interface{} `field:"optional" json:"placementStrategy" yaml:"placementStrategy"`
// Specifies the platform version for the task.
//
// Specify only the numeric portion of the platform version, such as `1.1.0` .
//
// This structure is used only if `LaunchType` is `FARGATE` . For more information about valid platform versions, see [AWS Fargate Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-platformversion
//
PlatformVersion *string `field:"optional" json:"platformVersion" yaml:"platformVersion"`
// Specifies whether to propagate the tags from the task definition to the task.
//
// If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the `TagResource` API action.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-propagatetags
//
PropagateTags *string `field:"optional" json:"propagateTags" yaml:"propagateTags"`
// The reference ID to use for the task.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-referenceid
//
ReferenceId *string `field:"optional" json:"referenceId" yaml:"referenceId"`
// The metadata that you apply to the task to help you categorize and organize them.
//
// Each tag consists of a key and an optional value, both of which you define. To learn more, see [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) in the Amazon ECS API Reference.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-tags
//
Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
// The number of tasks to create based on `TaskDefinition` .
//
// The default is 1.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-taskcount
//
TaskCount *float64 `field:"optional" json:"taskCount" yaml:"taskCount"`
}