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 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// This structure specifies the VPC subnets and security groups for the task, and
// whether a public IP address is to be used. This structure is relevant only for
// ECS tasks that use the awsvpc network mode.
type AwsVpcConfiguration struct {
// Specifies the subnets associated with the task. These subnets must all be in
// the same VPC. You can specify as many as 16 subnets.
//
// This member is required.
Subnets []string
// Specifies whether the task's elastic network interface receives a public IP
// address. You can specify ENABLED only when LaunchType in EcsParameters is set
// to FARGATE .
AssignPublicIp AssignPublicIp
// Specifies the security groups associated with the task. These security groups
// must all be in the same VPC. You can specify as many as five security groups. If
// you do not specify a security group, the default security group for the VPC is
// used.
SecurityGroups []string
noSmithyDocumentSerde
}
// The details of a capacity provider strategy.
type CapacityProviderStrategyItem struct {
// The short name of the capacity provider.
//
// This member is required.
CapacityProvider *string
// The base value designates how many tasks, at a minimum, to run on the specified
// capacity provider. Only one capacity provider in a capacity provider strategy
// can have a base defined. If no value is specified, the default value of 0 is
// used.
Base int32
// The weight value designates the relative percentage of the total number of
// tasks launched that should use the specified capacity provider. The weight value
// is taken into consideration after the base value, if defined, is satisfied.
Weight int32
noSmithyDocumentSerde
}
// An object that contains information about an Amazon SQS queue that EventBridge
// Scheduler uses as a dead-letter queue for your schedule. If specified,
// EventBridge Scheduler delivers failed events that could not be successfully
// delivered to a target to the queue.
type DeadLetterConfig struct {
// The Amazon Resource Name (ARN) of the SQS queue specified as the destination
// for the dead-letter queue.
Arn *string
noSmithyDocumentSerde
}
// The templated target type for the Amazon ECS RunTask (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)
// API operation.
type EcsParameters struct {
// The Amazon Resource Name (ARN) of the task definition to use if the event
// target is an Amazon ECS task.
//
// This member is required.
TaskDefinitionArn *string
// The capacity provider strategy to use for the task.
CapacityProviderStrategy []CapacityProviderStrategyItem
// 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 ECS Developer Guide.
EnableECSManagedTags *bool
// 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.
EnableExecuteCommand *bool
// Specifies an ECS task group for the task. The maximum length is 255 characters.
Group *string
// 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 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 ECS Developer Guide.
LaunchType LaunchType
// This structure specifies the network configuration for an ECS task.
NetworkConfiguration *NetworkConfiguration
// 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).
PlacementConstraints []PlacementConstraint
// The task placement strategy for a task or service.
PlacementStrategy []PlacementStrategy
// Specifies the platform version for the task. Specify only the numeric portion
// of the platform version, such as 1.1.0 .
PlatformVersion *string
// 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 Amazon ECS's TagResource (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html)
// API action.
PropagateTags PropagateTags
// The reference ID to use for the task.
ReferenceId *string
// 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. For more information, see RunTask (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)
// in the Amazon ECS API Reference.
Tags []map[string]string
// The number of tasks to create based on TaskDefinition . The default is 1 .
TaskCount *int32
noSmithyDocumentSerde
}
// The templated target type for the EventBridge PutEvents (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)
// API operation.
type EventBridgeParameters struct {
// A free-form string, with a maximum of 128 characters, used to decide what
// fields to expect in the event detail.
//
// This member is required.
DetailType *string
// The source of the event.
//
// This member is required.
Source *string
noSmithyDocumentSerde
}
// Allows you to configure a time window during which EventBridge Scheduler
// invokes the schedule.
type FlexibleTimeWindow struct {
// Determines whether the schedule is invoked within a flexible time window.
//
// This member is required.
Mode FlexibleTimeWindowMode
// The maximum time window during which a schedule can be invoked.
MaximumWindowInMinutes *int32
noSmithyDocumentSerde
}
// The templated target type for the Amazon Kinesis PutRecord API operation.
type KinesisParameters struct {
// Specifies the shard to which EventBridge Scheduler sends the event. For more
// information, see Amazon Kinesis Data Streams terminology and concepts (https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html)
// in the Amazon Kinesis Streams Developer Guide.
//
// This member is required.
PartitionKey *string
noSmithyDocumentSerde
}
// Specifies the network configuration for an ECS task.
type NetworkConfiguration struct {
// Specifies the Amazon VPC subnets and security groups for the task, and whether
// a public IP address is to be used. This structure is relevant only for ECS tasks
// that use the awsvpc network mode.
AwsvpcConfiguration *AwsVpcConfiguration
noSmithyDocumentSerde
}
// An object representing a constraint on task placement.
type PlacementConstraint struct {
// A cluster query language expression to apply to the constraint. You cannot
// specify an expression if the constraint type is distinctInstance . For more
// information, see Cluster query language (https://docs.aws.amazon.com/latest/developerguide/cluster-query-language.html)
// in the Amazon ECS Developer Guide.
Expression *string
// The type of constraint. Use distinctInstance to ensure that each task in a
// particular group is running on a different container instance. Use memberOf to
// restrict the selection to a group of valid candidates.
Type PlacementConstraintType
noSmithyDocumentSerde
}
// The task placement strategy for a task or service.
type PlacementStrategy struct {
// The field to apply the placement strategy against. For the spread placement
// strategy, valid values are instanceId (or instanceId , which has the same
// effect), or any platform or custom attribute that is applied to a container
// instance, such as attribute:ecs.availability-zone . For the binpack placement
// strategy, valid values are cpu and memory . For the random placement strategy,
// this field is not used.
Field *string
// The type of placement strategy. The random placement strategy randomly places
// tasks on available candidates. The spread placement strategy spreads placement
// across available candidates evenly based on the field parameter. The binpack
// strategy places tasks on available candidates that have the least available
// amount of the resource that is specified with the field parameter. For example,
// if you binpack on memory, a task is placed on the instance with the least amount
// of remaining memory (but still enough to run the task).
Type PlacementStrategyType
noSmithyDocumentSerde
}
// A RetryPolicy object that includes information about the retry policy settings,
// including the maximum age of an event, and the maximum number of times
// EventBridge Scheduler will try to deliver the event to a target.
type RetryPolicy struct {
// The maximum amount of time, in seconds, to continue to make retry attempts.
MaximumEventAgeInSeconds *int32
// The maximum number of retry attempts to make before the request fails. Retry
// attempts with exponential backoff continue until either the maximum number of
// attempts is made or until the duration of the MaximumEventAgeInSeconds is
// reached.
MaximumRetryAttempts *int32
noSmithyDocumentSerde
}
// The name and value pair of a parameter to use to start execution of a SageMaker
// Model Building Pipeline.
type SageMakerPipelineParameter struct {
// Name of parameter to start execution of a SageMaker Model Building Pipeline.
//
// This member is required.
Name *string
// Value of parameter to start execution of a SageMaker Model Building Pipeline.
//
// This member is required.
Value *string
noSmithyDocumentSerde
}
// The templated target type for the Amazon SageMaker StartPipelineExecution (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html)
// API operation.
type SageMakerPipelineParameters struct {
// List of parameter names and values to use when executing the SageMaker Model
// Building Pipeline.
PipelineParameterList []SageMakerPipelineParameter
noSmithyDocumentSerde
}
// The details of a schedule group.
type ScheduleGroupSummary struct {
// The Amazon Resource Name (ARN) of the schedule group.
Arn *string
// The time at which the schedule group was created.
CreationDate *time.Time
// The time at which the schedule group was last modified.
LastModificationDate *time.Time
// The name of the schedule group.
Name *string
// Specifies the state of the schedule group.
State ScheduleGroupState
noSmithyDocumentSerde
}
// The details of a schedule.
type ScheduleSummary struct {
// The Amazon Resource Name (ARN) of the schedule.
Arn *string
// The time at which the schedule was created.
CreationDate *time.Time
// The name of the schedule group associated with this schedule.
GroupName *string
// The time at which the schedule was last modified.
LastModificationDate *time.Time
// The name of the schedule.
Name *string
// Specifies whether the schedule is enabled or disabled.
State ScheduleState
// The schedule's target details.
Target *TargetSummary
noSmithyDocumentSerde
}
// The templated target type for the Amazon SQS SendMessage (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)
// API operation. Contains the message group ID to use when the target is a FIFO
// queue. If you specify an Amazon SQS FIFO queue as a target, the queue must have
// content-based deduplication enabled. For more information, see Using the Amazon
// SQS message deduplication ID (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html)
// in the Amazon SQS Developer Guide.
type SqsParameters struct {
// The FIFO message group ID to use as the target.
MessageGroupId *string
noSmithyDocumentSerde
}
// Tag to associate with a schedule group.
type Tag struct {
// The key for the tag.
//
// This member is required.
Key *string
// The value for the tag.
//
// This member is required.
Value *string
noSmithyDocumentSerde
}
// The schedule's target. EventBridge Scheduler supports templated target that
// invoke common API operations, as well as universal targets that you can
// customize to invoke over 6,000 API operations across more than 270 services. You
// can only specify one templated or universal target for a schedule.
type Target struct {
// The Amazon Resource Name (ARN) of the target.
//
// This member is required.
Arn *string
// The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler will
// use for this target when the schedule is invoked.
//
// This member is required.
RoleArn *string
// An object that contains information about an Amazon SQS queue that EventBridge
// Scheduler uses as a dead-letter queue for your schedule. If specified,
// EventBridge Scheduler delivers failed events that could not be successfully
// delivered to a target to the queue.
DeadLetterConfig *DeadLetterConfig
// The templated target type for the Amazon ECS RunTask (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)
// API operation.
EcsParameters *EcsParameters
// The templated target type for the EventBridge PutEvents (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)
// API operation.
EventBridgeParameters *EventBridgeParameters
// The text, or well-formed JSON, passed to the target. If you are configuring a
// templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input
// must be a well-formed JSON. For all other target types, a JSON is not required.
// If you do not specify anything for this field, EventBridge Scheduler delivers a
// default notification to the target.
Input *string
// The templated target type for the Amazon Kinesis PutRecord API operation.
KinesisParameters *KinesisParameters
// A RetryPolicy object that includes information about the retry policy settings,
// including the maximum age of an event, and the maximum number of times
// EventBridge Scheduler will try to deliver the event to a target.
RetryPolicy *RetryPolicy
// The templated target type for the Amazon SageMaker StartPipelineExecution (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html)
// API operation.
SageMakerPipelineParameters *SageMakerPipelineParameters
// The templated target type for the Amazon SQS SendMessage (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)
// API operation. Contains the message group ID to use when the target is a FIFO
// queue. If you specify an Amazon SQS FIFO queue as a target, the queue must have
// content-based deduplication enabled. For more information, see Using the Amazon
// SQS message deduplication ID (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html)
// in the Amazon SQS Developer Guide.
SqsParameters *SqsParameters
noSmithyDocumentSerde
}
// The details of a target.
type TargetSummary struct {
// The Amazon Resource Name (ARN) of the target.
//
// This member is required.
Arn *string
noSmithyDocumentSerde
}
type noSmithyDocumentSerde = smithydocument.NoSerde
|