1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 smithydocument "github.com/aws/smithy-go/document" 7 "time" 8) 9 10// Contains details about an API destination. 11type ApiDestination struct { 12 13 // The ARN of the API destination. 14 ApiDestinationArn *string 15 16 // The state of the API destination. 17 ApiDestinationState ApiDestinationState 18 19 // The ARN of the connection specified for the API destination. 20 ConnectionArn *string 21 22 // A time stamp for the time that the API destination was created. 23 CreationTime *time.Time 24 25 // The method to use to connect to the HTTP endpoint. 26 HttpMethod ApiDestinationHttpMethod 27 28 // The URL to the endpoint for the API destination. 29 InvocationEndpoint *string 30 31 // The maximum number of invocations per second to send to the HTTP endpoint. 32 InvocationRateLimitPerSecond *int32 33 34 // A time stamp for the time that the API destination was last modified. 35 LastModifiedTime *time.Time 36 37 // The name of the API destination. 38 Name *string 39 40 noSmithyDocumentSerde 41} 42 43// An Archive object that contains details about an archive. 44type Archive struct { 45 46 // The name of the archive. 47 ArchiveName *string 48 49 // The time stamp for the time that the archive was created. 50 CreationTime *time.Time 51 52 // The number of events in the archive. 53 EventCount int64 54 55 // The ARN of the event bus associated with the archive. Only events from this 56 // event bus are sent to the archive. 57 EventSourceArn *string 58 59 // The number of days to retain events in the archive before they are deleted. 60 RetentionDays *int32 61 62 // The size of the archive, in bytes. 63 SizeBytes int64 64 65 // The current state of the archive. 66 State ArchiveState 67 68 // A description for the reason that the archive is in the current state. 69 StateReason *string 70 71 noSmithyDocumentSerde 72} 73 74// This structure specifies the VPC subnets and security groups for the task, and 75// whether a public IP address is to be used. This structure is relevant only for 76// ECS tasks that use the awsvpc network mode. 77type AwsVpcConfiguration struct { 78 79 // Specifies the subnets associated with the task. These subnets must all be in the 80 // same VPC. You can specify as many as 16 subnets. 81 // 82 // This member is required. 83 Subnets []string 84 85 // Specifies whether the task's elastic network interface receives a public IP 86 // address. You can specify ENABLED only when LaunchType in EcsParameters is set to 87 // FARGATE. 88 AssignPublicIp AssignPublicIp 89 90 // Specifies the security groups associated with the task. These security groups 91 // must all be in the same VPC. You can specify as many as five security groups. If 92 // you do not specify a security group, the default security group for the VPC is 93 // used. 94 SecurityGroups []string 95 96 noSmithyDocumentSerde 97} 98 99// The array properties for the submitted job, such as the size of the array. The 100// array size can be between 2 and 10,000. If you specify array properties for a 101// job, it becomes an array job. This parameter is used only if the target is an 102// Batch job. 103type BatchArrayProperties struct { 104 105 // The size of the array, if this is an array batch job. Valid values are integers 106 // between 2 and 10,000. 107 Size int32 108 109 noSmithyDocumentSerde 110} 111 112// The custom parameters to be used when the target is an Batch job. 113type BatchParameters struct { 114 115 // The ARN or name of the job definition to use if the event target is an Batch 116 // job. This job definition must already exist. 117 // 118 // This member is required. 119 JobDefinition *string 120 121 // The name to use for this execution of the job, if the target is an Batch job. 122 // 123 // This member is required. 124 JobName *string 125 126 // The array properties for the submitted job, such as the size of the array. The 127 // array size can be between 2 and 10,000. If you specify array properties for a 128 // job, it becomes an array job. This parameter is used only if the target is an 129 // Batch job. 130 ArrayProperties *BatchArrayProperties 131 132 // The retry strategy to use for failed jobs, if the target is an Batch job. The 133 // retry strategy is the number of times to retry the failed job execution. Valid 134 // values are 1–10. When you specify a retry strategy here, it overrides the retry 135 // strategy defined in the job definition. 136 RetryStrategy *BatchRetryStrategy 137 138 noSmithyDocumentSerde 139} 140 141// The retry strategy to use for failed jobs, if the target is an Batch job. If you 142// specify a retry strategy here, it overrides the retry strategy defined in the 143// job definition. 144type BatchRetryStrategy struct { 145 146 // The number of times to attempt to retry, if the job fails. Valid values are 147 // 1–10. 148 Attempts int32 149 150 noSmithyDocumentSerde 151} 152 153// The details of a capacity provider strategy. To learn more, see 154// CapacityProviderStrategyItem 155// (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CapacityProviderStrategyItem.html) 156// in the Amazon ECS API Reference. 157type CapacityProviderStrategyItem struct { 158 159 // The short name of the capacity provider. 160 // 161 // This member is required. 162 CapacityProvider *string 163 164 // The base value designates how many tasks, at a minimum, to run on the specified 165 // capacity provider. Only one capacity provider in a capacity provider strategy 166 // can have a base defined. If no value is specified, the default value of 0 is 167 // used. 168 Base int32 169 170 // The weight value designates the relative percentage of the total number of tasks 171 // launched that should use the specified capacity provider. The weight value is 172 // taken into consideration after the base value, if defined, is satisfied. 173 Weight int32 174 175 noSmithyDocumentSerde 176} 177 178// A JSON string which you can use to limit the event bus permissions you are 179// granting to only accounts that fulfill the condition. Currently, the only 180// supported condition is membership in a certain Amazon Web Services organization. 181// The string must contain Type, Key, and Value fields. The Value field specifies 182// the ID of the Amazon Web Services organization. Following is an example value 183// for Condition: '{"Type" : "StringEquals", "Key": "aws:PrincipalOrgID", "Value": 184// "o-1234567890"}' 185type Condition struct { 186 187 // Specifies the key for the condition. Currently the only supported key is 188 // aws:PrincipalOrgID. 189 // 190 // This member is required. 191 Key *string 192 193 // Specifies the type of condition. Currently the only supported value is 194 // StringEquals. 195 // 196 // This member is required. 197 Type *string 198 199 // Specifies the value for the key. Currently, this must be the ID of the 200 // organization. 201 // 202 // This member is required. 203 Value *string 204 205 noSmithyDocumentSerde 206} 207 208// Contains information about a connection. 209type Connection struct { 210 211 // The authorization type specified for the connection. 212 AuthorizationType ConnectionAuthorizationType 213 214 // The ARN of the connection. 215 ConnectionArn *string 216 217 // The state of the connection. 218 ConnectionState ConnectionState 219 220 // A time stamp for the time that the connection was created. 221 CreationTime *time.Time 222 223 // A time stamp for the time that the connection was last authorized. 224 LastAuthorizedTime *time.Time 225 226 // A time stamp for the time that the connection was last modified. 227 LastModifiedTime *time.Time 228 229 // The name of the connection. 230 Name *string 231 232 // The reason that the connection is in the connection state. 233 StateReason *string 234 235 noSmithyDocumentSerde 236} 237 238// Contains the authorization parameters for the connection if API Key is specified 239// as the authorization type. 240type ConnectionApiKeyAuthResponseParameters struct { 241 242 // The name of the header to use for the APIKeyValue used for authorization. 243 ApiKeyName *string 244 245 noSmithyDocumentSerde 246} 247 248// Contains the authorization parameters to use for the connection. 249type ConnectionAuthResponseParameters struct { 250 251 // The API Key parameters to use for authorization. 252 ApiKeyAuthParameters *ConnectionApiKeyAuthResponseParameters 253 254 // The authorization parameters for Basic authorization. 255 BasicAuthParameters *ConnectionBasicAuthResponseParameters 256 257 // Additional parameters for the connection that are passed through with every 258 // invocation to the HTTP endpoint. 259 InvocationHttpParameters *ConnectionHttpParameters 260 261 // The OAuth parameters to use for authorization. 262 OAuthParameters *ConnectionOAuthResponseParameters 263 264 noSmithyDocumentSerde 265} 266 267// Contains the authorization parameters for the connection if Basic is specified 268// as the authorization type. 269type ConnectionBasicAuthResponseParameters struct { 270 271 // The user name to use for Basic authorization. 272 Username *string 273 274 noSmithyDocumentSerde 275} 276 277// Additional parameter included in the body. You can include up to 100 additional 278// body parameters per request. An event payload cannot exceed 64 KB. 279type ConnectionBodyParameter struct { 280 281 // Specified whether the value is secret. 282 IsValueSecret bool 283 284 // The key for the parameter. 285 Key *string 286 287 // The value associated with the key. 288 Value *string 289 290 noSmithyDocumentSerde 291} 292 293// Additional parameter included in the header. You can include up to 100 294// additional header parameters per request. An event payload cannot exceed 64 KB. 295type ConnectionHeaderParameter struct { 296 297 // Specified whether the value is a secret. 298 IsValueSecret bool 299 300 // The key for the parameter. 301 Key *string 302 303 // The value associated with the key. 304 Value *string 305 306 noSmithyDocumentSerde 307} 308 309// Contains additional parameters for the connection. 310type ConnectionHttpParameters struct { 311 312 // Contains additional body string parameters for the connection. 313 BodyParameters []ConnectionBodyParameter 314 315 // Contains additional header parameters for the connection. 316 HeaderParameters []ConnectionHeaderParameter 317 318 // Contains additional query string parameters for the connection. 319 QueryStringParameters []ConnectionQueryStringParameter 320 321 noSmithyDocumentSerde 322} 323 324// Contains the client response parameters for the connection when OAuth is 325// specified as the authorization type. 326type ConnectionOAuthClientResponseParameters struct { 327 328 // The client ID associated with the response to the connection request. 329 ClientID *string 330 331 noSmithyDocumentSerde 332} 333 334// Contains the response parameters when OAuth is specified as the authorization 335// type. 336type ConnectionOAuthResponseParameters struct { 337 338 // The URL to the HTTP endpoint that authorized the request. 339 AuthorizationEndpoint *string 340 341 // A ConnectionOAuthClientResponseParameters object that contains details about the 342 // client parameters returned when OAuth is specified as the authorization type. 343 ClientParameters *ConnectionOAuthClientResponseParameters 344 345 // The method used to connect to the HTTP endpoint. 346 HttpMethod ConnectionOAuthHttpMethod 347 348 // The additional HTTP parameters used for the OAuth authorization request. 349 OAuthHttpParameters *ConnectionHttpParameters 350 351 noSmithyDocumentSerde 352} 353 354// Additional query string parameter for the connection. You can include up to 100 355// additional query string parameters per request. Each additional parameter counts 356// towards the event payload size, which cannot exceed 64 KB. 357type ConnectionQueryStringParameter struct { 358 359 // Specifies whether the value is secret. 360 IsValueSecret bool 361 362 // The key for a query string parameter. 363 Key *string 364 365 // The value associated with the key for the query string parameter. 366 Value *string 367 368 noSmithyDocumentSerde 369} 370 371// Contains the API key authorization parameters for the connection. 372type CreateConnectionApiKeyAuthRequestParameters struct { 373 374 // The name of the API key to use for authorization. 375 // 376 // This member is required. 377 ApiKeyName *string 378 379 // The value for the API key to use for authorization. 380 // 381 // This member is required. 382 ApiKeyValue *string 383 384 noSmithyDocumentSerde 385} 386 387// Contains the authorization parameters for the connection. 388type CreateConnectionAuthRequestParameters struct { 389 390 // A CreateConnectionApiKeyAuthRequestParameters object that contains the API key 391 // authorization parameters to use for the connection. 392 ApiKeyAuthParameters *CreateConnectionApiKeyAuthRequestParameters 393 394 // A CreateConnectionBasicAuthRequestParameters object that contains the Basic 395 // authorization parameters to use for the connection. 396 BasicAuthParameters *CreateConnectionBasicAuthRequestParameters 397 398 // A ConnectionHttpParameters object that contains the API key authorization 399 // parameters to use for the connection. Note that if you include additional 400 // parameters for the target of a rule via HttpParameters, including query strings, 401 // the parameters added for the connection take precedence. 402 InvocationHttpParameters *ConnectionHttpParameters 403 404 // A CreateConnectionOAuthRequestParameters object that contains the OAuth 405 // authorization parameters to use for the connection. 406 OAuthParameters *CreateConnectionOAuthRequestParameters 407 408 noSmithyDocumentSerde 409} 410 411// Contains the Basic authorization parameters to use for the connection. 412type CreateConnectionBasicAuthRequestParameters struct { 413 414 // The password associated with the user name to use for Basic authorization. 415 // 416 // This member is required. 417 Password *string 418 419 // The user name to use for Basic authorization. 420 // 421 // This member is required. 422 Username *string 423 424 noSmithyDocumentSerde 425} 426 427// Contains the Basic authorization parameters to use for the connection. 428type CreateConnectionOAuthClientRequestParameters struct { 429 430 // The client ID to use for OAuth authorization for the connection. 431 // 432 // This member is required. 433 ClientID *string 434 435 // The client secret associated with the client ID to use for OAuth authorization 436 // for the connection. 437 // 438 // This member is required. 439 ClientSecret *string 440 441 noSmithyDocumentSerde 442} 443 444// Contains the OAuth authorization parameters to use for the connection. 445type CreateConnectionOAuthRequestParameters struct { 446 447 // The URL to the authorization endpoint when OAuth is specified as the 448 // authorization type. 449 // 450 // This member is required. 451 AuthorizationEndpoint *string 452 453 // A CreateConnectionOAuthClientRequestParameters object that contains the client 454 // parameters for OAuth authorization. 455 // 456 // This member is required. 457 ClientParameters *CreateConnectionOAuthClientRequestParameters 458 459 // The method to use for the authorization request. 460 // 461 // This member is required. 462 HttpMethod ConnectionOAuthHttpMethod 463 464 // A ConnectionHttpParameters object that contains details about the additional 465 // parameters to use for the connection. 466 OAuthHttpParameters *ConnectionHttpParameters 467 468 noSmithyDocumentSerde 469} 470 471// A DeadLetterConfig object that contains information about a dead-letter queue 472// configuration. 473type DeadLetterConfig struct { 474 475 // The ARN of the SQS queue specified as the target for the dead-letter queue. 476 Arn *string 477 478 noSmithyDocumentSerde 479} 480 481// The custom parameters to be used when the target is an Amazon ECS task. 482type EcsParameters struct { 483 484 // The ARN of the task definition to use if the event target is an Amazon ECS task. 485 // 486 // This member is required. 487 TaskDefinitionArn *string 488 489 // The capacity provider strategy to use for the task. If a 490 // capacityProviderStrategy is specified, the launchType parameter must be omitted. 491 // If no capacityProviderStrategy or launchType is specified, the 492 // defaultCapacityProviderStrategy for the cluster is used. 493 CapacityProviderStrategy []CapacityProviderStrategyItem 494 495 // Specifies whether to enable Amazon ECS managed tags for the task. For more 496 // information, see Tagging Your Amazon ECS Resources 497 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 498 // in the Amazon Elastic Container Service Developer Guide. 499 EnableECSManagedTags bool 500 501 // Whether or not to enable the execute command functionality for the containers in 502 // this task. If true, this enables execute command functionality on all containers 503 // in the task. 504 EnableExecuteCommand bool 505 506 // Specifies an ECS task group for the task. The maximum length is 255 characters. 507 Group *string 508 509 // Specifies the launch type on which your task is running. The launch type that 510 // you specify here must match one of the launch type (compatibilities) of the 511 // target task. The FARGATE value is supported only in the Regions where Fargate 512 // witt Amazon ECS is supported. For more information, see Fargate on Amazon ECS 513 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) 514 // in the Amazon Elastic Container Service Developer Guide. 515 LaunchType LaunchType 516 517 // Use this structure if the Amazon ECS task uses the awsvpc network mode. This 518 // structure specifies the VPC subnets and security groups associated with the 519 // task, and whether a public IP address is to be used. This structure is required 520 // if LaunchType is FARGATE because the awsvpc mode is required for Fargate tasks. 521 // If you specify NetworkConfiguration when the target ECS task does not use the 522 // awsvpc network mode, the task fails. 523 NetworkConfiguration *NetworkConfiguration 524 525 // An array of placement constraint objects to use for the task. You can specify up 526 // to 10 constraints per task (including constraints in the task definition and 527 // those specified at runtime). 528 PlacementConstraints []PlacementConstraint 529 530 // The placement strategy objects to use for the task. You can specify a maximum of 531 // five strategy rules per task. 532 PlacementStrategy []PlacementStrategy 533 534 // Specifies the platform version for the task. Specify only the numeric portion of 535 // the platform version, such as 1.1.0. This structure is used only if LaunchType 536 // is FARGATE. For more information about valid platform versions, see Fargate 537 // Platform Versions 538 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 539 // in the Amazon Elastic Container Service Developer Guide. 540 PlatformVersion *string 541 542 // Specifies whether to propagate the tags from the task definition to the task. If 543 // no value is specified, the tags are not propagated. Tags can only be propagated 544 // to the task during task creation. To add tags to a task after task creation, use 545 // the TagResource API action. 546 PropagateTags PropagateTags 547 548 // The reference ID to use for the task. 549 ReferenceId *string 550 551 // The metadata that you apply to the task to help you categorize and organize 552 // them. Each tag consists of a key and an optional value, both of which you 553 // define. To learn more, see RunTask 554 // (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) 555 // in the Amazon ECS API Reference. 556 Tags []Tag 557 558 // The number of tasks to create based on TaskDefinition. The default is 1. 559 TaskCount *int32 560 561 noSmithyDocumentSerde 562} 563 564// An event bus receives events from a source and routes them to rules associated 565// with that event bus. Your account's default event bus receives events from 566// Amazon Web Services services. A custom event bus can receive events from your 567// custom applications and services. A partner event bus receives events from an 568// event source created by an SaaS partner. These events come from the partners 569// services or applications. 570type EventBus struct { 571 572 // The ARN of the event bus. 573 Arn *string 574 575 // The name of the event bus. 576 Name *string 577 578 // The permissions policy of the event bus, describing which other Amazon Web 579 // Services accounts can write events to this event bus. 580 Policy *string 581 582 noSmithyDocumentSerde 583} 584 585// A partner event source is created by an SaaS partner. If a customer creates a 586// partner event bus that matches this event source, that Amazon Web Services 587// account can receive events from the partner's applications or services. 588type EventSource struct { 589 590 // The ARN of the event source. 591 Arn *string 592 593 // The name of the partner that created the event source. 594 CreatedBy *string 595 596 // The date and time the event source was created. 597 CreationTime *time.Time 598 599 // The date and time that the event source will expire, if the Amazon Web Services 600 // account doesn't create a matching event bus for it. 601 ExpirationTime *time.Time 602 603 // The name of the event source. 604 Name *string 605 606 // The state of the event source. If it is ACTIVE, you have already created a 607 // matching event bus for this event source, and that event bus is active. If it is 608 // PENDING, either you haven't yet created a matching event bus, or that event bus 609 // is deactivated. If it is DELETED, you have created a matching event bus, but the 610 // event source has since been deleted. 611 State EventSourceState 612 613 noSmithyDocumentSerde 614} 615 616// These are custom parameter to be used when the target is an API Gateway REST 617// APIs or EventBridge ApiDestinations. In the latter case, these are merged with 618// any InvocationParameters specified on the Connection, with any values from the 619// Connection taking precedence. 620type HttpParameters struct { 621 622 // The headers that need to be sent as part of request invoking the API Gateway 623 // REST API or EventBridge ApiDestination. 624 HeaderParameters map[string]string 625 626 // The path parameter values to be used to populate API Gateway REST API or 627 // EventBridge ApiDestination path wildcards ("*"). 628 PathParameterValues []string 629 630 // The query string keys/values that need to be sent as part of request invoking 631 // the API Gateway REST API or EventBridge ApiDestination. 632 QueryStringParameters map[string]string 633 634 noSmithyDocumentSerde 635} 636 637// Contains the parameters needed for you to provide custom input to a target based 638// on one or more pieces of data extracted from the event. 639type InputTransformer struct { 640 641 // Input template where you specify placeholders that will be filled with the 642 // values of the keys from InputPathsMap to customize the data sent to the target. 643 // Enclose each InputPathsMaps value in brackets: <value> The InputTemplate must be 644 // valid JSON. If InputTemplate is a JSON object (surrounded by curly braces), the 645 // following restrictions apply: 646 // 647 // * The placeholder cannot be used as an object 648 // key. 649 // 650 // The following example shows the syntax for using InputPathsMap and 651 // InputTemplate. "InputTransformer": 652 // { 653 // 654 // "InputPathsMap": {"instance": 655 // "$.detail.instance","status": "$.detail.status"}, 656 // 657 // "InputTemplate": " is in 658 // state " 659 // 660 // } To have the InputTemplate include quote marks within a JSON string, 661 // escape each quote marks with a slash, as in the following example: 662 // "InputTransformer": 663 // { 664 // 665 // "InputPathsMap": {"instance": 666 // "$.detail.instance","status": "$.detail.status"}, 667 // 668 // "InputTemplate": " is in 669 // state """ 670 // 671 // } The InputTemplate can also be valid JSON with varibles in quotes or 672 // out, as in the following example: "InputTransformer": 673 // { 674 // 675 // 676 // "InputPathsMap": {"instance": "$.detail.instance","status": 677 // "$.detail.status"}, 678 // 679 // "InputTemplate": '{"myInstance": ,"myStatus": " is in 680 // state """}' 681 // 682 // } 683 // 684 // This member is required. 685 InputTemplate *string 686 687 // Map of JSON paths to be extracted from the event. You can then insert these in 688 // the template in InputTemplate to produce the output you want to be sent to the 689 // target. InputPathsMap is an array key-value pairs, where each value is a valid 690 // JSON path. You can have as many as 100 key-value pairs. You must use JSON dot 691 // notation, not bracket notation. The keys cannot start with "Amazon Web 692 // Services." 693 InputPathsMap map[string]string 694 695 noSmithyDocumentSerde 696} 697 698// This object enables you to specify a JSON path to extract from the event and use 699// as the partition key for the Amazon Kinesis data stream, so that you can control 700// the shard to which the event goes. If you do not include this parameter, the 701// default is to use the eventId as the partition key. 702type KinesisParameters struct { 703 704 // The JSON path to be extracted from the event and used as the partition key. For 705 // more information, see Amazon Kinesis Streams Key Concepts 706 // (https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key) 707 // in the Amazon Kinesis Streams Developer Guide. 708 // 709 // This member is required. 710 PartitionKeyPath *string 711 712 noSmithyDocumentSerde 713} 714 715// This structure specifies the network configuration for an ECS task. 716type NetworkConfiguration struct { 717 718 // Use this structure to specify the VPC subnets and security groups for the task, 719 // and whether a public IP address is to be used. This structure is relevant only 720 // for ECS tasks that use the awsvpc network mode. 721 AwsvpcConfiguration *AwsVpcConfiguration 722 723 noSmithyDocumentSerde 724} 725 726// A partner event source is created by an SaaS partner. If a customer creates a 727// partner event bus that matches this event source, that Amazon Web Services 728// account can receive events from the partner's applications or services. 729type PartnerEventSource struct { 730 731 // The ARN of the partner event source. 732 Arn *string 733 734 // The name of the partner event source. 735 Name *string 736 737 noSmithyDocumentSerde 738} 739 740// The Amazon Web Services account that a partner event source has been offered to. 741type PartnerEventSourceAccount struct { 742 743 // The Amazon Web Services account ID that the partner event source was offered to. 744 Account *string 745 746 // The date and time the event source was created. 747 CreationTime *time.Time 748 749 // The date and time that the event source will expire, if the Amazon Web Services 750 // account doesn't create a matching event bus for it. 751 ExpirationTime *time.Time 752 753 // The state of the event source. If it is ACTIVE, you have already created a 754 // matching event bus for this event source, and that event bus is active. If it is 755 // PENDING, either you haven't yet created a matching event bus, or that event bus 756 // is deactivated. If it is DELETED, you have created a matching event bus, but the 757 // event source has since been deleted. 758 State EventSourceState 759 760 noSmithyDocumentSerde 761} 762 763// An object representing a constraint on task placement. To learn more, see Task 764// Placement Constraints 765// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 766// in the Amazon Elastic Container Service Developer Guide. 767type PlacementConstraint struct { 768 769 // A cluster query language expression to apply to the constraint. You cannot 770 // specify an expression if the constraint type is distinctInstance. To learn more, 771 // see Cluster Query Language 772 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 773 // in the Amazon Elastic Container Service Developer Guide. 774 Expression *string 775 776 // The type of constraint. Use distinctInstance to ensure that each task in a 777 // particular group is running on a different container instance. Use memberOf to 778 // restrict the selection to a group of valid candidates. 779 Type PlacementConstraintType 780 781 noSmithyDocumentSerde 782} 783 784// The task placement strategy for a task or service. To learn more, see Task 785// Placement Strategies 786// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 787// in the Amazon Elastic Container Service Service Developer Guide. 788type PlacementStrategy struct { 789 790 // The field to apply the placement strategy against. For the spread placement 791 // strategy, valid values are instanceId (or host, which has the same effect), or 792 // any platform or custom attribute that is applied to a container instance, such 793 // as attribute:ecs.availability-zone. For the binpack placement strategy, valid 794 // values are cpu and memory. For the random placement strategy, this field is not 795 // used. 796 Field *string 797 798 // The type of placement strategy. The random placement strategy randomly places 799 // tasks on available candidates. The spread placement strategy spreads placement 800 // across available candidates evenly based on the field parameter. The binpack 801 // strategy places tasks on available candidates that have the least available 802 // amount of the resource that is specified with the field parameter. For example, 803 // if you binpack on memory, a task is placed on the instance with the least amount 804 // of remaining memory (but still enough to run the task). 805 Type PlacementStrategyType 806 807 noSmithyDocumentSerde 808} 809 810// Represents an event to be submitted. 811type PutEventsRequestEntry struct { 812 813 // A valid JSON string. There is no other schema imposed. The JSON string may 814 // contain fields and nested subobjects. 815 Detail *string 816 817 // Free-form string used to decide what fields to expect in the event detail. 818 DetailType *string 819 820 // The name or ARN of the event bus to receive the event. Only the rules that are 821 // associated with this event bus are used to match the event. If you omit this, 822 // the default event bus is used. 823 EventBusName *string 824 825 // Amazon Web Services resources, identified by Amazon Resource Name (ARN), which 826 // the event primarily concerns. Any number, including zero, may be present. 827 Resources []string 828 829 // The source of the event. 830 Source *string 831 832 // The time stamp of the event, per RFC3339 833 // (https://www.rfc-editor.org/rfc/rfc3339.txt). If no time stamp is provided, the 834 // time stamp of the PutEvents 835 // (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) 836 // call is used. 837 Time *time.Time 838 839 // An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains 840 // the trace-id associated with the event. To learn more about X-Ray trace headers, 841 // see Tracing header 842 // (https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader) 843 // in the X-Ray Developer Guide. 844 TraceHeader *string 845 846 noSmithyDocumentSerde 847} 848 849// Represents an event that failed to be submitted. 850type PutEventsResultEntry struct { 851 852 // The error code that indicates why the event submission failed. 853 ErrorCode *string 854 855 // The error message that explains why the event submission failed. 856 ErrorMessage *string 857 858 // The ID of the event. 859 EventId *string 860 861 noSmithyDocumentSerde 862} 863 864// The details about an event generated by an SaaS partner. 865type PutPartnerEventsRequestEntry struct { 866 867 // A valid JSON string. There is no other schema imposed. The JSON string may 868 // contain fields and nested subobjects. 869 Detail *string 870 871 // A free-form string used to decide what fields to expect in the event detail. 872 DetailType *string 873 874 // Amazon Web Services resources, identified by Amazon Resource Name (ARN), which 875 // the event primarily concerns. Any number, including zero, may be present. 876 Resources []string 877 878 // The event source that is generating the entry. 879 Source *string 880 881 // The date and time of the event. 882 Time *time.Time 883 884 noSmithyDocumentSerde 885} 886 887// Represents an event that a partner tried to generate, but failed. 888type PutPartnerEventsResultEntry struct { 889 890 // The error code that indicates why the event submission failed. 891 ErrorCode *string 892 893 // The error message that explains why the event submission failed. 894 ErrorMessage *string 895 896 // The ID of the event. 897 EventId *string 898 899 noSmithyDocumentSerde 900} 901 902// Represents a target that failed to be added to a rule. 903type PutTargetsResultEntry struct { 904 905 // The error code that indicates why the target addition failed. If the value is 906 // ConcurrentModificationException, too many requests were made at the same time. 907 ErrorCode *string 908 909 // The error message that explains why the target addition failed. 910 ErrorMessage *string 911 912 // The ID of the target. 913 TargetId *string 914 915 noSmithyDocumentSerde 916} 917 918// These are custom parameters to be used when the target is a Amazon Redshift 919// cluster to invoke the Amazon Redshift Data API ExecuteStatement based on 920// EventBridge events. 921type RedshiftDataParameters struct { 922 923 // The name of the database. Required when authenticating using temporary 924 // credentials. 925 // 926 // This member is required. 927 Database *string 928 929 // The SQL statement text to run. 930 // 931 // This member is required. 932 Sql *string 933 934 // The database user name. Required when authenticating using temporary 935 // credentials. 936 DbUser *string 937 938 // The name or ARN of the secret that enables access to the database. Required when 939 // authenticating using Amazon Web Services Secrets Manager. 940 SecretManagerArn *string 941 942 // The name of the SQL statement. You can name the SQL statement when you create it 943 // to identify the query. 944 StatementName *string 945 946 // Indicates whether to send an event back to EventBridge after the SQL statement 947 // runs. 948 WithEvent bool 949 950 noSmithyDocumentSerde 951} 952 953// Represents a target that failed to be removed from a rule. 954type RemoveTargetsResultEntry struct { 955 956 // The error code that indicates why the target removal failed. If the value is 957 // ConcurrentModificationException, too many requests were made at the same time. 958 ErrorCode *string 959 960 // The error message that explains why the target removal failed. 961 ErrorMessage *string 962 963 // The ID of the target. 964 TargetId *string 965 966 noSmithyDocumentSerde 967} 968 969// A Replay object that contains details about a replay. 970type Replay struct { 971 972 // A time stamp for the time to start replaying events. Any event with a creation 973 // time prior to the EventEndTime specified is replayed. 974 EventEndTime *time.Time 975 976 // A time stamp for the time that the last event was replayed. 977 EventLastReplayedTime *time.Time 978 979 // The ARN of the archive to replay event from. 980 EventSourceArn *string 981 982 // A time stamp for the time to start replaying events. This is determined by the 983 // time in the event as described in Time 984 // (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time). 985 EventStartTime *time.Time 986 987 // A time stamp for the time that the replay completed. 988 ReplayEndTime *time.Time 989 990 // The name of the replay. 991 ReplayName *string 992 993 // A time stamp for the time that the replay started. 994 ReplayStartTime *time.Time 995 996 // The current state of the replay. 997 State ReplayState 998 999 // A description of why the replay is in the current state. 1000 StateReason *string 1001 1002 noSmithyDocumentSerde 1003} 1004 1005// A ReplayDestination object that contains details about a replay. 1006type ReplayDestination struct { 1007 1008 // The ARN of the event bus to replay event to. You can replay events only to the 1009 // event bus specified to create the archive. 1010 // 1011 // This member is required. 1012 Arn *string 1013 1014 // A list of ARNs for rules to replay events to. 1015 FilterArns []string 1016 1017 noSmithyDocumentSerde 1018} 1019 1020// A RetryPolicy object that includes information about the retry policy settings. 1021type RetryPolicy struct { 1022 1023 // The maximum amount of time, in seconds, to continue to make retry attempts. 1024 MaximumEventAgeInSeconds *int32 1025 1026 // The maximum number of retry attempts to make before the request fails. Retry 1027 // attempts continue until either the maximum number of attempts is made or until 1028 // the duration of the MaximumEventAgeInSeconds is met. 1029 MaximumRetryAttempts *int32 1030 1031 noSmithyDocumentSerde 1032} 1033 1034// Contains information about a rule in Amazon EventBridge. 1035type Rule struct { 1036 1037 // The Amazon Resource Name (ARN) of the rule. 1038 Arn *string 1039 1040 // The description of the rule. 1041 Description *string 1042 1043 // The name or ARN of the event bus associated with the rule. If you omit this, the 1044 // default event bus is used. 1045 EventBusName *string 1046 1047 // The event pattern of the rule. For more information, see Events and Event 1048 // Patterns 1049 // (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) 1050 // in the Amazon EventBridge User Guide. 1051 EventPattern *string 1052 1053 // If the rule was created on behalf of your account by an Amazon Web Services 1054 // service, this field displays the principal name of the service that created the 1055 // rule. 1056 ManagedBy *string 1057 1058 // The name of the rule. 1059 Name *string 1060 1061 // The Amazon Resource Name (ARN) of the role that is used for target invocation. 1062 // If you're setting an event bus in another account as the target and that account 1063 // granted permission to your account through an organization instead of directly 1064 // by the account ID, you must specify a RoleArn with proper permissions in the 1065 // Target structure, instead of here in this parameter. 1066 RoleArn *string 1067 1068 // The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". 1069 // For more information, see Creating an Amazon EventBridge rule that runs on a 1070 // schedule 1071 // (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html). 1072 ScheduleExpression *string 1073 1074 // The state of the rule. 1075 State RuleState 1076 1077 noSmithyDocumentSerde 1078} 1079 1080// This parameter contains the criteria (either InstanceIds or a tag) used to 1081// specify which EC2 instances are to be sent the command. 1082type RunCommandParameters struct { 1083 1084 // Currently, we support including only one RunCommandTarget block, which specifies 1085 // either an array of InstanceIds or a tag. 1086 // 1087 // This member is required. 1088 RunCommandTargets []RunCommandTarget 1089 1090 noSmithyDocumentSerde 1091} 1092 1093// Information about the EC2 instances that are to be sent the command, specified 1094// as key-value pairs. Each RunCommandTarget block can include only one key, but 1095// this key may specify multiple values. 1096type RunCommandTarget struct { 1097 1098 // Can be either tag: tag-key or InstanceIds. 1099 // 1100 // This member is required. 1101 Key *string 1102 1103 // If Key is tag: tag-key, Values is a list of tag values. If Key is InstanceIds, 1104 // Values is a list of Amazon EC2 instance IDs. 1105 // 1106 // This member is required. 1107 Values []string 1108 1109 noSmithyDocumentSerde 1110} 1111 1112// Name/Value pair of a parameter to start execution of a SageMaker Model Building 1113// Pipeline. 1114type SageMakerPipelineParameter struct { 1115 1116 // Name of parameter to start execution of a SageMaker Model Building Pipeline. 1117 // 1118 // This member is required. 1119 Name *string 1120 1121 // Value of parameter to start execution of a SageMaker Model Building Pipeline. 1122 // 1123 // This member is required. 1124 Value *string 1125 1126 noSmithyDocumentSerde 1127} 1128 1129// These are custom parameters to use when the target is a SageMaker Model Building 1130// Pipeline that starts based on EventBridge events. 1131type SageMakerPipelineParameters struct { 1132 1133 // List of Parameter names and values for SageMaker Model Building Pipeline 1134 // execution. 1135 PipelineParameterList []SageMakerPipelineParameter 1136 1137 noSmithyDocumentSerde 1138} 1139 1140// This structure includes the custom parameter to be used when the target is an 1141// SQS FIFO queue. 1142type SqsParameters struct { 1143 1144 // The FIFO message group ID to use as the target. 1145 MessageGroupId *string 1146 1147 noSmithyDocumentSerde 1148} 1149 1150// A key-value pair associated with an Amazon Web Services resource. In 1151// EventBridge, rules and event buses support tagging. 1152type Tag struct { 1153 1154 // A string you can use to assign a value. The combination of tag keys and values 1155 // can help you organize and categorize your resources. 1156 // 1157 // This member is required. 1158 Key *string 1159 1160 // The value for the specified tag key. 1161 // 1162 // This member is required. 1163 Value *string 1164 1165 noSmithyDocumentSerde 1166} 1167 1168// Targets are the resources to be invoked when a rule is triggered. For a complete 1169// list of services and resources that can be set as a target, see PutTargets 1170// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html). 1171// If you are setting the event bus of another account as the target, and that 1172// account granted permission to your account through an organization instead of 1173// directly by the account ID, then you must specify a RoleArn with proper 1174// permissions in the Target structure. For more information, see Sending and 1175// Receiving Events Between Amazon Web Services Accounts 1176// (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) 1177// in the Amazon EventBridge User Guide. 1178type Target struct { 1179 1180 // The Amazon Resource Name (ARN) of the target. 1181 // 1182 // This member is required. 1183 Arn *string 1184 1185 // The ID of the target. We recommend using a memorable and unique string. 1186 // 1187 // This member is required. 1188 Id *string 1189 1190 // If the event target is an Batch job, this contains the job definition, job name, 1191 // and other parameters. For more information, see Jobs 1192 // (https://docs.aws.amazon.com/batch/latest/userguide/jobs.html) in the Batch User 1193 // Guide. 1194 BatchParameters *BatchParameters 1195 1196 // The DeadLetterConfig that defines the target queue to send dead-letter queue 1197 // events to. 1198 DeadLetterConfig *DeadLetterConfig 1199 1200 // Contains the Amazon ECS task definition and task count to be used, if the event 1201 // target is an Amazon ECS task. For more information about Amazon ECS tasks, see 1202 // Task Definitions 1203 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 1204 // in the Amazon EC2 Container Service Developer Guide. 1205 EcsParameters *EcsParameters 1206 1207 // Contains the HTTP parameters to use when the target is a API Gateway REST 1208 // endpoint or EventBridge ApiDestination. If you specify an API Gateway REST API 1209 // or EventBridge ApiDestination as a target, you can use this parameter to specify 1210 // headers, path parameters, and query string keys/values as part of your target 1211 // invoking request. If you're using ApiDestinations, the corresponding Connection 1212 // can also have these values configured. In case of any conflicting keys, values 1213 // from the Connection take precedence. 1214 HttpParameters *HttpParameters 1215 1216 // Valid JSON text passed to the target. In this case, nothing from the event 1217 // itself is passed to the target. For more information, see The JavaScript Object 1218 // Notation (JSON) Data Interchange Format 1219 // (http://www.rfc-editor.org/rfc/rfc7159.txt). 1220 Input *string 1221 1222 // The value of the JSONPath that is used for extracting part of the matched event 1223 // when passing it to the target. You must use JSON dot notation, not bracket 1224 // notation. For more information about JSON paths, see JSONPath 1225 // (http://goessner.net/articles/JsonPath/). 1226 InputPath *string 1227 1228 // Settings to enable you to provide custom input to a target based on certain 1229 // event data. You can extract one or more key-value pairs from the event and then 1230 // use that data to send customized input to the target. 1231 InputTransformer *InputTransformer 1232 1233 // The custom parameter you can use to control the shard assignment, when the 1234 // target is a Kinesis data stream. If you do not include this parameter, the 1235 // default is to use the eventId as the partition key. 1236 KinesisParameters *KinesisParameters 1237 1238 // Contains the Amazon Redshift Data API parameters to use when the target is a 1239 // Amazon Redshift cluster. If you specify a Amazon Redshift Cluster as a Target, 1240 // you can use this to specify parameters to invoke the Amazon Redshift Data API 1241 // ExecuteStatement based on EventBridge events. 1242 RedshiftDataParameters *RedshiftDataParameters 1243 1244 // The RetryPolicy object that contains the retry policy configuration to use for 1245 // the dead-letter queue. 1246 RetryPolicy *RetryPolicy 1247 1248 // The Amazon Resource Name (ARN) of the IAM role to be used for this target when 1249 // the rule is triggered. If one rule triggers multiple targets, you can use a 1250 // different IAM role for each target. 1251 RoleArn *string 1252 1253 // Parameters used when you are using the rule to invoke Amazon EC2 Run Command. 1254 RunCommandParameters *RunCommandParameters 1255 1256 // Contains the SageMaker Model Building Pipeline parameters to start execution of 1257 // a SageMaker Model Building Pipeline. If you specify a SageMaker Model Building 1258 // Pipeline as a target, you can use this to specify parameters to start a pipeline 1259 // execution based on EventBridge events. 1260 SageMakerPipelineParameters *SageMakerPipelineParameters 1261 1262 // Contains the message group ID to use when the target is a FIFO queue. If you 1263 // specify an SQS FIFO queue as a target, the queue must have content-based 1264 // deduplication enabled. 1265 SqsParameters *SqsParameters 1266 1267 noSmithyDocumentSerde 1268} 1269 1270// Contains the API key authorization parameters to use to update the connection. 1271type UpdateConnectionApiKeyAuthRequestParameters struct { 1272 1273 // The name of the API key to use for authorization. 1274 ApiKeyName *string 1275 1276 // The value associated with teh API key to use for authorization. 1277 ApiKeyValue *string 1278 1279 noSmithyDocumentSerde 1280} 1281 1282// Contains the additional parameters to use for the connection. 1283type UpdateConnectionAuthRequestParameters struct { 1284 1285 // A UpdateConnectionApiKeyAuthRequestParameters object that contains the 1286 // authorization parameters for API key authorization. 1287 ApiKeyAuthParameters *UpdateConnectionApiKeyAuthRequestParameters 1288 1289 // A UpdateConnectionBasicAuthRequestParameters object that contains the 1290 // authorization parameters for Basic authorization. 1291 BasicAuthParameters *UpdateConnectionBasicAuthRequestParameters 1292 1293 // A ConnectionHttpParameters object that contains the additional parameters to use 1294 // for the connection. 1295 InvocationHttpParameters *ConnectionHttpParameters 1296 1297 // A UpdateConnectionOAuthRequestParameters object that contains the authorization 1298 // parameters for OAuth authorization. 1299 OAuthParameters *UpdateConnectionOAuthRequestParameters 1300 1301 noSmithyDocumentSerde 1302} 1303 1304// Contains the Basic authorization parameters for the connection. 1305type UpdateConnectionBasicAuthRequestParameters struct { 1306 1307 // The password associated with the user name to use for Basic authorization. 1308 Password *string 1309 1310 // The user name to use for Basic authorization. 1311 Username *string 1312 1313 noSmithyDocumentSerde 1314} 1315 1316// Contains the OAuth authorization parameters to use for the connection. 1317type UpdateConnectionOAuthClientRequestParameters struct { 1318 1319 // The client ID to use for OAuth authorization. 1320 ClientID *string 1321 1322 // The client secret assciated with the client ID to use for OAuth authorization. 1323 ClientSecret *string 1324 1325 noSmithyDocumentSerde 1326} 1327 1328// Contains the OAuth request parameters to use for the connection. 1329type UpdateConnectionOAuthRequestParameters struct { 1330 1331 // The URL to the authorization endpoint when OAuth is specified as the 1332 // authorization type. 1333 AuthorizationEndpoint *string 1334 1335 // A UpdateConnectionOAuthClientRequestParameters object that contains the client 1336 // parameters to use for the connection when OAuth is specified as the 1337 // authorization type. 1338 ClientParameters *UpdateConnectionOAuthClientRequestParameters 1339 1340 // The method used to connect to the HTTP endpoint. 1341 HttpMethod ConnectionOAuthHttpMethod 1342 1343 // The additional HTTP parameters used for the OAuth authorization request. 1344 OAuthHttpParameters *ConnectionHttpParameters 1345 1346 noSmithyDocumentSerde 1347} 1348 1349type noSmithyDocumentSerde = smithydocument.NoSerde 1350