1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// The aggregation settings that you can use to customize the output format of your 10// flow data. 11type AggregationConfig struct { 12 13 // Specifies whether Amazon AppFlow aggregates the flow records into a single file, 14 // or leave them unaggregated. 15 AggregationType AggregationType 16} 17 18// The connector-specific credentials required when using Amplitude. 19type AmplitudeConnectorProfileCredentials struct { 20 21 // A unique alphanumeric identifier used to authenticate a user, developer, or 22 // calling program to your API. 23 // 24 // This member is required. 25 ApiKey *string 26 27 // The Secret Access Key portion of the credentials. 28 // 29 // This member is required. 30 SecretKey *string 31} 32 33// The connector-specific profile properties required when using Amplitude. 34type AmplitudeConnectorProfileProperties struct { 35} 36 37// The connector metadata specific to Amplitude. 38type AmplitudeMetadata struct { 39} 40 41// The properties that are applied when Amplitude is being used as a source. 42type AmplitudeSourceProperties struct { 43 44 // The object specified in the Amplitude flow source. 45 // 46 // This member is required. 47 Object *string 48} 49 50// The configuration settings related to a given connector. 51type ConnectorConfiguration struct { 52 53 // Specifies whether the connector can be used as a destination. 54 CanUseAsDestination bool 55 56 // Specifies whether the connector can be used as a source. 57 CanUseAsSource bool 58 59 // Specifies connector-specific metadata such as oAuthScopes, supportedRegions, 60 // privateLinkServiceUrl, and so on. 61 ConnectorMetadata *ConnectorMetadata 62 63 // Specifies if PrivateLink is enabled for that connector. 64 IsPrivateLinkEnabled bool 65 66 // Specifies if a PrivateLink endpoint URL is required. 67 IsPrivateLinkEndpointUrlRequired bool 68 69 // Lists the connectors that are available for use as destinations. 70 SupportedDestinationConnectors []ConnectorType 71 72 // Specifies the supported flow frequency for that connector. 73 SupportedSchedulingFrequencies []ScheduleFrequencyType 74 75 // Specifies the supported trigger types for the flow. 76 SupportedTriggerTypes []TriggerType 77} 78 79// The high-level entity that can be queried in Amazon AppFlow. For example, a 80// Salesforce entity might be an Account or Opportunity, whereas a ServiceNow 81// entity might be an Incident. 82type ConnectorEntity struct { 83 84 // The name of the connector entity. 85 // 86 // This member is required. 87 Name *string 88 89 // Specifies whether the connector entity is a parent or a category and has more 90 // entities nested underneath it. If another call is made with entitiesPath = 91 // "the_current_entity_name_with_hasNestedEntities_true", then it returns the 92 // nested entities underneath it. This provides a way to retrieve all supported 93 // entities in a recursive fashion. 94 HasNestedEntities bool 95 96 // The label applied to the connector entity. 97 Label *string 98} 99 100// Describes the data model of a connector field. For example, for an account 101// entity, the fields would be account name, account ID, and so on. 102type ConnectorEntityField struct { 103 104 // The unique identifier of the connector field. 105 // 106 // This member is required. 107 Identifier *string 108 109 // A description of the connector entity field. 110 Description *string 111 112 // The properties applied to a field when the connector is being used as a 113 // destination. 114 DestinationProperties *DestinationFieldProperties 115 116 // The label applied to a connector entity field. 117 Label *string 118 119 // The properties that can be applied to a field when the connector is being used 120 // as a source. 121 SourceProperties *SourceFieldProperties 122 123 // Contains details regarding the supported FieldType, including the corresponding 124 // filterOperators and supportedValues. 125 SupportedFieldTypeDetails *SupportedFieldTypeDetails 126} 127 128// A structure to specify connector-specific metadata such as oAuthScopes, 129// supportedRegions, privateLinkServiceUrl, and so on. 130type ConnectorMetadata struct { 131 132 // The connector metadata specific to Amplitude. 133 Amplitude *AmplitudeMetadata 134 135 // The connector metadata specific to Datadog. 136 Datadog *DatadogMetadata 137 138 // The connector metadata specific to Dynatrace. 139 Dynatrace *DynatraceMetadata 140 141 // The connector metadata specific to Amazon EventBridge. 142 EventBridge *EventBridgeMetadata 143 144 // The connector metadata specific to Google Analytics. 145 GoogleAnalytics *GoogleAnalyticsMetadata 146 147 // The connector metadata specific to Infor Nexus. 148 InforNexus *InforNexusMetadata 149 150 // The connector metadata specific to Marketo. 151 Marketo *MarketoMetadata 152 153 // The connector metadata specific to Amazon Redshift. 154 Redshift *RedshiftMetadata 155 156 // The connector metadata specific to Amazon S3. 157 S3 *S3Metadata 158 159 // The connector metadata specific to Salesforce. 160 Salesforce *SalesforceMetadata 161 162 // The connector metadata specific to ServiceNow. 163 ServiceNow *ServiceNowMetadata 164 165 // The connector metadata specific to Singular. 166 Singular *SingularMetadata 167 168 // The connector metadata specific to Slack. 169 Slack *SlackMetadata 170 171 // The connector metadata specific to Snowflake. 172 Snowflake *SnowflakeMetadata 173 174 // The connector metadata specific to Trend Micro. 175 Trendmicro *TrendmicroMetadata 176 177 // The connector metadata specific to Upsolver. 178 Upsolver *UpsolverMetadata 179 180 // The connector metadata specific to Veeva. 181 Veeva *VeevaMetadata 182 183 // The connector metadata specific to Zendesk. 184 Zendesk *ZendeskMetadata 185} 186 187// Used by select connectors for which the OAuth workflow is supported, such as 188// Salesforce, Google Analytics, Marketo, Zendesk, and Slack. 189type ConnectorOAuthRequest struct { 190 191 // The code provided by the connector when it has been authenticated via the 192 // connected app. 193 AuthCode *string 194 195 // The URL to which the authentication server redirects the browser after 196 // authorization has been granted. 197 RedirectUri *string 198} 199 200// The operation to be performed on the provided source fields. 201type ConnectorOperator struct { 202 203 // The operation to be performed on the provided Amplitude source fields. 204 Amplitude AmplitudeConnectorOperator 205 206 // The operation to be performed on the provided Datadog source fields. 207 Datadog DatadogConnectorOperator 208 209 // The operation to be performed on the provided Dynatrace source fields. 210 Dynatrace DynatraceConnectorOperator 211 212 // The operation to be performed on the provided Google Analytics source fields. 213 GoogleAnalytics GoogleAnalyticsConnectorOperator 214 215 // The operation to be performed on the provided Infor Nexus source fields. 216 InforNexus InforNexusConnectorOperator 217 218 // The operation to be performed on the provided Marketo source fields. 219 Marketo MarketoConnectorOperator 220 221 // The operation to be performed on the provided Amazon S3 source fields. 222 S3 S3ConnectorOperator 223 224 // The operation to be performed on the provided Salesforce source fields. 225 Salesforce SalesforceConnectorOperator 226 227 // The operation to be performed on the provided ServiceNow source fields. 228 ServiceNow ServiceNowConnectorOperator 229 230 // The operation to be performed on the provided Singular source fields. 231 Singular SingularConnectorOperator 232 233 // The operation to be performed on the provided Slack source fields. 234 Slack SlackConnectorOperator 235 236 // The operation to be performed on the provided Trend Micro source fields. 237 Trendmicro TrendmicroConnectorOperator 238 239 // The operation to be performed on the provided Veeva source fields. 240 Veeva VeevaConnectorOperator 241 242 // The operation to be performed on the provided Zendesk source fields. 243 Zendesk ZendeskConnectorOperator 244} 245 246// Describes an instance of a connector. This includes the provided name, 247// credentials ARN, connection-mode, and so on. To keep the API intuitive and 248// extensible, the fields that are common to all types of connector profiles are 249// explicitly specified at the top level. The rest of the connector-specific 250// properties are available via the connectorProfileProperties field. 251type ConnectorProfile struct { 252 253 // Indicates the connection mode and if it is public or private. 254 ConnectionMode ConnectionMode 255 256 // The Amazon Resource Name (ARN) of the connector profile. 257 ConnectorProfileArn *string 258 259 // The name of the connector profile. The name is unique for each ConnectorProfile 260 // in the AWS account. 261 ConnectorProfileName *string 262 263 // The connector-specific properties of the profile configuration. 264 ConnectorProfileProperties *ConnectorProfileProperties 265 266 // The type of connector, such as Salesforce, Amplitude, and so on. 267 ConnectorType ConnectorType 268 269 // Specifies when the connector profile was created. 270 CreatedAt *time.Time 271 272 // The Amazon Resource Name (ARN) of the connector profile credentials. 273 CredentialsArn *string 274 275 // Specifies when the connector profile was last updated. 276 LastUpdatedAt *time.Time 277} 278 279// Defines the connector-specific configuration and credentials for the connector 280// profile. 281type ConnectorProfileConfig struct { 282 283 // The connector-specific credentials required by each connector. 284 // 285 // This member is required. 286 ConnectorProfileCredentials *ConnectorProfileCredentials 287 288 // The connector-specific properties of the profile configuration. 289 // 290 // This member is required. 291 ConnectorProfileProperties *ConnectorProfileProperties 292} 293 294// The connector-specific credentials required by a connector. 295type ConnectorProfileCredentials struct { 296 297 // The connector-specific credentials required when using Amplitude. 298 Amplitude *AmplitudeConnectorProfileCredentials 299 300 // The connector-specific credentials required when using Datadog. 301 Datadog *DatadogConnectorProfileCredentials 302 303 // The connector-specific credentials required when using Dynatrace. 304 Dynatrace *DynatraceConnectorProfileCredentials 305 306 // The connector-specific credentials required when using Google Analytics. 307 GoogleAnalytics *GoogleAnalyticsConnectorProfileCredentials 308 309 // The connector-specific credentials required when using Infor Nexus. 310 InforNexus *InforNexusConnectorProfileCredentials 311 312 // The connector-specific credentials required when using Marketo. 313 Marketo *MarketoConnectorProfileCredentials 314 315 // The connector-specific credentials required when using Amazon Redshift. 316 Redshift *RedshiftConnectorProfileCredentials 317 318 // The connector-specific credentials required when using Salesforce. 319 Salesforce *SalesforceConnectorProfileCredentials 320 321 // The connector-specific credentials required when using ServiceNow. 322 ServiceNow *ServiceNowConnectorProfileCredentials 323 324 // The connector-specific credentials required when using Singular. 325 Singular *SingularConnectorProfileCredentials 326 327 // The connector-specific credentials required when using Slack. 328 Slack *SlackConnectorProfileCredentials 329 330 // The connector-specific credentials required when using Snowflake. 331 Snowflake *SnowflakeConnectorProfileCredentials 332 333 // The connector-specific credentials required when using Trend Micro. 334 Trendmicro *TrendmicroConnectorProfileCredentials 335 336 // The connector-specific credentials required when using Veeva. 337 Veeva *VeevaConnectorProfileCredentials 338 339 // The connector-specific credentials required when using Zendesk. 340 Zendesk *ZendeskConnectorProfileCredentials 341} 342 343// The connector-specific profile properties required by each connector. 344type ConnectorProfileProperties struct { 345 346 // The connector-specific properties required by Amplitude. 347 Amplitude *AmplitudeConnectorProfileProperties 348 349 // The connector-specific properties required by Datadog. 350 Datadog *DatadogConnectorProfileProperties 351 352 // The connector-specific properties required by Dynatrace. 353 Dynatrace *DynatraceConnectorProfileProperties 354 355 // The connector-specific properties required Google Analytics. 356 GoogleAnalytics *GoogleAnalyticsConnectorProfileProperties 357 358 // The connector-specific properties required by Infor Nexus. 359 InforNexus *InforNexusConnectorProfileProperties 360 361 // The connector-specific properties required by Marketo. 362 Marketo *MarketoConnectorProfileProperties 363 364 // The connector-specific properties required by Amazon Redshift. 365 Redshift *RedshiftConnectorProfileProperties 366 367 // The connector-specific properties required by Salesforce. 368 Salesforce *SalesforceConnectorProfileProperties 369 370 // The connector-specific properties required by serviceNow. 371 ServiceNow *ServiceNowConnectorProfileProperties 372 373 // The connector-specific properties required by Singular. 374 Singular *SingularConnectorProfileProperties 375 376 // The connector-specific properties required by Slack. 377 Slack *SlackConnectorProfileProperties 378 379 // The connector-specific properties required by Snowflake. 380 Snowflake *SnowflakeConnectorProfileProperties 381 382 // The connector-specific properties required by Trend Micro. 383 Trendmicro *TrendmicroConnectorProfileProperties 384 385 // The connector-specific properties required by Veeva. 386 Veeva *VeevaConnectorProfileProperties 387 388 // The connector-specific properties required by Zendesk. 389 Zendesk *ZendeskConnectorProfileProperties 390} 391 392// The connector-specific credentials required by Datadog. 393type DatadogConnectorProfileCredentials struct { 394 395 // A unique alphanumeric identifier used to authenticate a user, developer, or 396 // calling program to your API. 397 // 398 // This member is required. 399 ApiKey *string 400 401 // Application keys, in conjunction with your API key, give you full access to 402 // Datadog’s programmatic API. Application keys are associated with the user 403 // account that created them. The application key is used to log all requests made 404 // to the API. 405 // 406 // This member is required. 407 ApplicationKey *string 408} 409 410// The connector-specific profile properties required by Datadog. 411type DatadogConnectorProfileProperties struct { 412 413 // The location of the Datadog resource. 414 // 415 // This member is required. 416 InstanceUrl *string 417} 418 419// The connector metadata specific to Datadog. 420type DatadogMetadata struct { 421} 422 423// The properties that are applied when Datadog is being used as a source. 424type DatadogSourceProperties struct { 425 426 // The object specified in the Datadog flow source. 427 // 428 // This member is required. 429 Object *string 430} 431 432// This stores the information that is required to query a particular connector. 433type DestinationConnectorProperties struct { 434 435 // The properties required to query Amazon EventBridge. 436 EventBridge *EventBridgeDestinationProperties 437 438 // The properties required to query Amazon Redshift. 439 Redshift *RedshiftDestinationProperties 440 441 // The properties required to query Amazon S3. 442 S3 *S3DestinationProperties 443 444 // The properties required to query Salesforce. 445 Salesforce *SalesforceDestinationProperties 446 447 // The properties required to query Snowflake. 448 Snowflake *SnowflakeDestinationProperties 449 450 // The properties required to query Upsolver. 451 Upsolver *UpsolverDestinationProperties 452} 453 454// The properties that can be applied to a field when connector is being used as a 455// destination. 456type DestinationFieldProperties struct { 457 458 // Specifies if the destination field can be created by the current user. 459 IsCreatable bool 460 461 // Specifies if the destination field can have a null value. 462 IsNullable bool 463 464 // Specifies whether the field can be updated during an UPDATE or UPSERT write 465 // operation. 466 IsUpdatable bool 467 468 // Specifies if the flow run can either insert new rows in the destination field if 469 // they do not already exist, or update them if they do. 470 IsUpsertable bool 471 472 // A list of supported write operations. For each write operation listed, this 473 // field can be used in idFieldNames when that write operation is present as a 474 // destination option. 475 SupportedWriteOperations []WriteOperationType 476} 477 478// Contains information about the configuration of destination connectors present 479// in the flow. 480type DestinationFlowConfig struct { 481 482 // The type of connector, such as Salesforce, Amplitude, and so on. 483 // 484 // This member is required. 485 ConnectorType ConnectorType 486 487 // This stores the information that is required to query a particular connector. 488 // 489 // This member is required. 490 DestinationConnectorProperties *DestinationConnectorProperties 491 492 // The name of the connector profile. This name must be unique for each connector 493 // profile in the AWS account. 494 ConnectorProfileName *string 495} 496 497// The connector-specific profile credentials required by Dynatrace. 498type DynatraceConnectorProfileCredentials struct { 499 500 // The API tokens used by Dynatrace API to authenticate various API calls. 501 // 502 // This member is required. 503 ApiToken *string 504} 505 506// The connector-specific profile properties required by Dynatrace. 507type DynatraceConnectorProfileProperties struct { 508 509 // The location of the Dynatrace resource. 510 // 511 // This member is required. 512 InstanceUrl *string 513} 514 515// The connector metadata specific to Dynatrace. 516type DynatraceMetadata struct { 517} 518 519// The properties that are applied when Dynatrace is being used as a source. 520type DynatraceSourceProperties struct { 521 522 // The object specified in the Dynatrace flow source. 523 // 524 // This member is required. 525 Object *string 526} 527 528// The settings that determine how Amazon AppFlow handles an error when placing 529// data in the destination. For example, this setting would determine if the flow 530// should fail after one insertion error, or continue and attempt to insert every 531// record regardless of the initial failure. ErrorHandlingConfig is a part of the 532// destination connector details. 533type ErrorHandlingConfig struct { 534 535 // Specifies the name of the Amazon S3 bucket. 536 BucketName *string 537 538 // Specifies the Amazon S3 bucket prefix. 539 BucketPrefix *string 540 541 // Specifies if the flow should fail after the first instance of a failure when 542 // attempting to place data in the destination. 543 FailOnFirstDestinationError bool 544} 545 546// Provides details in the event of a failed flow, including the failure count and 547// the related error messages. 548type ErrorInfo struct { 549 550 // Specifies the error message that appears if a flow fails. 551 ExecutionMessage *string 552 553 // Specifies the failure count for the attempted flow. 554 PutFailuresCount *int64 555} 556 557// The properties that are applied when Amazon EventBridge is being used as a 558// destination. 559type EventBridgeDestinationProperties struct { 560 561 // The object specified in the Amazon EventBridge flow destination. 562 // 563 // This member is required. 564 Object *string 565 566 // The settings that determine how Amazon AppFlow handles an error when placing 567 // data in the destination. For example, this setting would determine if the flow 568 // should fail after one insertion error, or continue and attempt to insert every 569 // record regardless of the initial failure. ErrorHandlingConfig is a part of the 570 // destination connector details. 571 ErrorHandlingConfig *ErrorHandlingConfig 572} 573 574// The connector metadata specific to Amazon EventBridge. 575type EventBridgeMetadata struct { 576} 577 578// Describes the details of the flow run, including the timestamp, status, and 579// message. 580type ExecutionDetails struct { 581 582 // Describes the details of the most recent flow run. 583 MostRecentExecutionMessage *string 584 585 // Specifies the status of the most recent flow run. 586 MostRecentExecutionStatus ExecutionStatus 587 588 // Specifies the time of the most recent flow run. 589 MostRecentExecutionTime *time.Time 590} 591 592// Specifies information about the past flow run instances for a given flow. 593type ExecutionRecord struct { 594 595 // Specifies the identifier of the given flow run. 596 ExecutionId *string 597 598 // Describes the result of the given flow run. 599 ExecutionResult *ExecutionResult 600 601 // Specifies the flow run status and whether it is in progress, has completed 602 // successfully, or has failed. 603 ExecutionStatus ExecutionStatus 604 605 // Specifies the time of the most recent update. 606 LastUpdatedAt *time.Time 607 608 // Specifies the start time of the flow run. 609 StartedAt *time.Time 610} 611 612// Specifies the end result of the flow run. 613type ExecutionResult struct { 614 615 // The total number of bytes processed by the flow run. 616 BytesProcessed *int64 617 618 // The total number of bytes written as a result of the flow run. 619 BytesWritten *int64 620 621 // Provides any error message information related to the flow run. 622 ErrorInfo *ErrorInfo 623 624 // The number of records processed in the flow run. 625 RecordsProcessed *int64 626} 627 628// Contains details regarding the supported field type and the operators that can 629// be applied for filtering. 630type FieldTypeDetails struct { 631 632 // The type of field, such as string, integer, date, and so on. 633 // 634 // This member is required. 635 FieldType *string 636 637 // The list of operators supported by a field. 638 // 639 // This member is required. 640 FilterOperators []Operator 641 642 // The list of values that a field can contain. For example, a Boolean fieldType 643 // can have two values: "true" and "false". 644 SupportedValues []string 645} 646 647// The properties of the flow, such as its source, destination, trigger type, and 648// so on. 649type FlowDefinition struct { 650 651 // Specifies when the flow was created. 652 CreatedAt *time.Time 653 654 // The ARN of the user who created the flow. 655 CreatedBy *string 656 657 // A user-entered description of the flow. 658 Description *string 659 660 // Specifies the destination connector type, such as Salesforce, Amazon S3, 661 // Amplitude, and so on. 662 DestinationConnectorType ConnectorType 663 664 // The flow's Amazon Resource Name (ARN). 665 FlowArn *string 666 667 // The specified name of the flow. Spaces are not allowed. Use underscores (_) or 668 // hyphens (-) only. 669 FlowName *string 670 671 // Indicates the current status of the flow. 672 FlowStatus FlowStatus 673 674 // Describes the details of the most recent flow run. 675 LastRunExecutionDetails *ExecutionDetails 676 677 // Specifies when the flow was last updated. 678 LastUpdatedAt *time.Time 679 680 // Specifies the account user name that most recently updated the flow. 681 LastUpdatedBy *string 682 683 // Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, 684 // and so on. 685 SourceConnectorType ConnectorType 686 687 // The tags used to organize, track, or control access for your flow. 688 Tags map[string]string 689 690 // Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. 691 TriggerType TriggerType 692} 693 694// The connector-specific profile credentials required by Google Analytics. 695type GoogleAnalyticsConnectorProfileCredentials struct { 696 697 // The identifier for the desired client. 698 // 699 // This member is required. 700 ClientId *string 701 702 // The client secret used by the OAuth client to authenticate to the authorization 703 // server. 704 // 705 // This member is required. 706 ClientSecret *string 707 708 // The credentials used to access protected Google Analytics resources. 709 AccessToken *string 710 711 // The OAuth requirement needed to request security tokens from the connector 712 // endpoint. 713 OAuthRequest *ConnectorOAuthRequest 714 715 // The credentials used to acquire new access tokens. This is required only for 716 // OAuth2 access tokens, and is not required for OAuth1 access tokens. 717 RefreshToken *string 718} 719 720// The connector-specific profile properties required by Google Analytics. 721type GoogleAnalyticsConnectorProfileProperties struct { 722} 723 724// The connector metadata specific to Google Analytics. 725type GoogleAnalyticsMetadata struct { 726 727 // The desired authorization scope for the Google Analytics account. 728 OAuthScopes []string 729} 730 731// The properties that are applied when Google Analytics is being used as a source. 732type GoogleAnalyticsSourceProperties struct { 733 734 // The object specified in the Google Analytics flow source. 735 // 736 // This member is required. 737 Object *string 738} 739 740// Specifies the configuration used when importing incremental records from the 741// source. 742type IncrementalPullConfig struct { 743 744 // A field that specifies the date time or timestamp field as the criteria to use 745 // when importing incremental records from the source. 746 DatetimeTypeFieldName *string 747} 748 749// The connector-specific profile credentials required by Infor Nexus. 750type InforNexusConnectorProfileCredentials struct { 751 752 // The Access Key portion of the credentials. 753 // 754 // This member is required. 755 AccessKeyId *string 756 757 // The encryption keys used to encrypt data. 758 // 759 // This member is required. 760 Datakey *string 761 762 // The secret key used to sign requests. 763 // 764 // This member is required. 765 SecretAccessKey *string 766 767 // The identifier for the user. 768 // 769 // This member is required. 770 UserId *string 771} 772 773// The connector-specific profile properties required by Infor Nexus. 774type InforNexusConnectorProfileProperties struct { 775 776 // The location of the Infor Nexus resource. 777 // 778 // This member is required. 779 InstanceUrl *string 780} 781 782// The connector metadata specific to Infor Nexus. 783type InforNexusMetadata struct { 784} 785 786// The properties that are applied when Infor Nexus is being used as a source. 787type InforNexusSourceProperties struct { 788 789 // The object specified in the Infor Nexus flow source. 790 // 791 // This member is required. 792 Object *string 793} 794 795// The connector-specific profile credentials required by Marketo. 796type MarketoConnectorProfileCredentials struct { 797 798 // The identifier for the desired client. 799 // 800 // This member is required. 801 ClientId *string 802 803 // The client secret used by the OAuth client to authenticate to the authorization 804 // server. 805 // 806 // This member is required. 807 ClientSecret *string 808 809 // The credentials used to access protected Marketo resources. 810 AccessToken *string 811 812 // The OAuth requirement needed to request security tokens from the connector 813 // endpoint. 814 OAuthRequest *ConnectorOAuthRequest 815} 816 817// The connector-specific profile properties required when using Marketo. 818type MarketoConnectorProfileProperties struct { 819 820 // The location of the Marketo resource. 821 // 822 // This member is required. 823 InstanceUrl *string 824} 825 826// The connector metadata specific to Marketo. 827type MarketoMetadata struct { 828} 829 830// The properties that are applied when Marketo is being used as a source. 831type MarketoSourceProperties struct { 832 833 // The object specified in the Marketo flow source. 834 // 835 // This member is required. 836 Object *string 837} 838 839// Determines the prefix that Amazon AppFlow applies to the destination folder 840// name. You can name your destination folders according to the flow frequency and 841// date. 842type PrefixConfig struct { 843 844 // Determines the format of the prefix, and whether it applies to the file name, 845 // file path, or both. 846 PrefixFormat PrefixFormat 847 848 // Determines the level of granularity that's included in the prefix. 849 PrefixType PrefixType 850} 851 852// The connector-specific profile credentials required when using Amazon Redshift. 853type RedshiftConnectorProfileCredentials struct { 854 855 // The password that corresponds to the user name. 856 // 857 // This member is required. 858 Password *string 859 860 // The name of the user. 861 // 862 // This member is required. 863 Username *string 864} 865 866// The connector-specific profile properties when using Amazon Redshift. 867type RedshiftConnectorProfileProperties struct { 868 869 // A name for the associated Amazon S3 bucket. 870 // 871 // This member is required. 872 BucketName *string 873 874 // The JDBC URL of the Amazon Redshift cluster. 875 // 876 // This member is required. 877 DatabaseUrl *string 878 879 // The Amazon Resource Name (ARN) of the IAM role. 880 // 881 // This member is required. 882 RoleArn *string 883 884 // The object key for the destination bucket in which Amazon AppFlow places the 885 // files. 886 BucketPrefix *string 887} 888 889// The properties that are applied when Amazon Redshift is being used as a 890// destination. 891type RedshiftDestinationProperties struct { 892 893 // The intermediate bucket that Amazon AppFlow uses when moving data into Amazon 894 // Redshift. 895 // 896 // This member is required. 897 IntermediateBucketName *string 898 899 // The object specified in the Amazon Redshift flow destination. 900 // 901 // This member is required. 902 Object *string 903 904 // The object key for the bucket in which Amazon AppFlow places the destination 905 // files. 906 BucketPrefix *string 907 908 // The settings that determine how Amazon AppFlow handles an error when placing 909 // data in the Amazon Redshift destination. For example, this setting would 910 // determine if the flow should fail after one insertion error, or continue and 911 // attempt to insert every record regardless of the initial failure. 912 // ErrorHandlingConfig is a part of the destination connector details. 913 ErrorHandlingConfig *ErrorHandlingConfig 914} 915 916// The connector metadata specific to Amazon Redshift. 917type RedshiftMetadata struct { 918} 919 920// The properties that are applied when Amazon S3 is used as a destination. 921type S3DestinationProperties struct { 922 923 // The Amazon S3 bucket name in which Amazon AppFlow places the transferred data. 924 // 925 // This member is required. 926 BucketName *string 927 928 // The object key for the destination bucket in which Amazon AppFlow places the 929 // files. 930 BucketPrefix *string 931 932 // The configuration that determines how Amazon AppFlow should format the flow 933 // output data when Amazon S3 is used as the destination. 934 S3OutputFormatConfig *S3OutputFormatConfig 935} 936 937// The connector metadata specific to Amazon S3. 938type S3Metadata struct { 939} 940 941// The configuration that determines how Amazon AppFlow should format the flow 942// output data when Amazon S3 is used as the destination. 943type S3OutputFormatConfig struct { 944 945 // The aggregation settings that you can use to customize the output format of your 946 // flow data. 947 AggregationConfig *AggregationConfig 948 949 // Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket. 950 FileType FileType 951 952 // Determines the prefix that Amazon AppFlow applies to the folder name in the 953 // Amazon S3 bucket. You can name folders according to the flow frequency and date. 954 PrefixConfig *PrefixConfig 955} 956 957// The properties that are applied when Amazon S3 is being used as the flow source. 958type S3SourceProperties struct { 959 960 // The Amazon S3 bucket name where the source files are stored. 961 // 962 // This member is required. 963 BucketName *string 964 965 // The object key for the Amazon S3 bucket in which the source files are stored. 966 BucketPrefix *string 967} 968 969// The connector-specific profile credentials required when using Salesforce. 970type SalesforceConnectorProfileCredentials struct { 971 972 // The credentials used to access protected Salesforce resources. 973 AccessToken *string 974 975 // The secret manager ARN, which contains the client ID and client secret of the 976 // connected app. 977 ClientCredentialsArn *string 978 979 // The OAuth requirement needed to request security tokens from the connector 980 // endpoint. 981 OAuthRequest *ConnectorOAuthRequest 982 983 // The credentials used to acquire new access tokens. 984 RefreshToken *string 985} 986 987// The connector-specific profile properties required when using Salesforce. 988type SalesforceConnectorProfileProperties struct { 989 990 // The location of the Salesforce resource. 991 InstanceUrl *string 992 993 // Indicates whether the connector profile applies to a sandbox or production 994 // environment. 995 IsSandboxEnvironment bool 996} 997 998// The properties that are applied when Salesforce is being used as a destination. 999type SalesforceDestinationProperties struct { 1000 1001 // The object specified in the Salesforce flow destination. 1002 // 1003 // This member is required. 1004 Object *string 1005 1006 // The settings that determine how Amazon AppFlow handles an error when placing 1007 // data in the Salesforce destination. For example, this setting would determine if 1008 // the flow should fail after one insertion error, or continue and attempt to 1009 // insert every record regardless of the initial failure. ErrorHandlingConfig is a 1010 // part of the destination connector details. 1011 ErrorHandlingConfig *ErrorHandlingConfig 1012 1013 // The name of the field that Amazon AppFlow uses as an ID when performing a write 1014 // operation such as update or delete. 1015 IdFieldNames []string 1016 1017 // This specifies the type of write operation to be performed in Salesforce. When 1018 // the value is UPSERT, then idFieldNames is required. 1019 WriteOperationType WriteOperationType 1020} 1021 1022// The connector metadata specific to Salesforce. 1023type SalesforceMetadata struct { 1024 1025 // The desired authorization scope for the Salesforce account. 1026 OAuthScopes []string 1027} 1028 1029// The properties that are applied when Salesforce is being used as a source. 1030type SalesforceSourceProperties struct { 1031 1032 // The object specified in the Salesforce flow source. 1033 // 1034 // This member is required. 1035 Object *string 1036 1037 // The flag that enables dynamic fetching of new (recently added) fields in the 1038 // Salesforce objects while running a flow. 1039 EnableDynamicFieldUpdate bool 1040 1041 // Indicates whether Amazon AppFlow includes deleted files in the flow run. 1042 IncludeDeletedRecords bool 1043} 1044 1045// Specifies the configuration details of a schedule-triggered flow as defined by 1046// the user. Currently, these settings only apply to the Scheduled trigger type. 1047type ScheduledTriggerProperties struct { 1048 1049 // The scheduling expression that determines the rate at which the schedule will 1050 // run, for example rate(5minutes). 1051 // 1052 // This member is required. 1053 ScheduleExpression *string 1054 1055 // Specifies whether a scheduled flow has an incremental data transfer or a 1056 // complete data transfer for each flow run. 1057 DataPullMode DataPullMode 1058 1059 // Specifies the scheduled end time for a schedule-triggered flow. 1060 ScheduleEndTime *time.Time 1061 1062 // Specifies the scheduled start time for a schedule-triggered flow. 1063 ScheduleStartTime *time.Time 1064 1065 // Specifies the time zone used when referring to the date and time of a 1066 // scheduled-triggered flow. 1067 Timezone *string 1068} 1069 1070// The connector-specific profile credentials required when using ServiceNow. 1071type ServiceNowConnectorProfileCredentials struct { 1072 1073 // The password that corresponds to the user name. 1074 // 1075 // This member is required. 1076 Password *string 1077 1078 // The name of the user. 1079 // 1080 // This member is required. 1081 Username *string 1082} 1083 1084// The connector-specific profile properties required when using ServiceNow. 1085type ServiceNowConnectorProfileProperties struct { 1086 1087 // The location of the ServiceNow resource. 1088 // 1089 // This member is required. 1090 InstanceUrl *string 1091} 1092 1093// The connector metadata specific to ServiceNow. 1094type ServiceNowMetadata struct { 1095} 1096 1097// The properties that are applied when ServiceNow is being used as a source. 1098type ServiceNowSourceProperties struct { 1099 1100 // The object specified in the ServiceNow flow source. 1101 // 1102 // This member is required. 1103 Object *string 1104} 1105 1106// The connector-specific profile credentials required when using Singular. 1107type SingularConnectorProfileCredentials struct { 1108 1109 // A unique alphanumeric identifier used to authenticate a user, developer, or 1110 // calling program to your API. 1111 // 1112 // This member is required. 1113 ApiKey *string 1114} 1115 1116// The connector-specific profile properties required when using Singular. 1117type SingularConnectorProfileProperties struct { 1118} 1119 1120// The connector metadata specific to Singular. 1121type SingularMetadata struct { 1122} 1123 1124// The properties that are applied when Singular is being used as a source. 1125type SingularSourceProperties struct { 1126 1127 // The object specified in the Singular flow source. 1128 // 1129 // This member is required. 1130 Object *string 1131} 1132 1133// The connector-specific profile credentials required when using Slack. 1134type SlackConnectorProfileCredentials struct { 1135 1136 // The identifier for the client. 1137 // 1138 // This member is required. 1139 ClientId *string 1140 1141 // The client secret used by the OAuth client to authenticate to the authorization 1142 // server. 1143 // 1144 // This member is required. 1145 ClientSecret *string 1146 1147 // The credentials used to access protected Slack resources. 1148 AccessToken *string 1149 1150 // The OAuth requirement needed to request security tokens from the connector 1151 // endpoint. 1152 OAuthRequest *ConnectorOAuthRequest 1153} 1154 1155// The connector-specific profile properties required when using Slack. 1156type SlackConnectorProfileProperties struct { 1157 1158 // The location of the Slack resource. 1159 // 1160 // This member is required. 1161 InstanceUrl *string 1162} 1163 1164// The connector metadata specific to Slack. 1165type SlackMetadata struct { 1166 1167 // The desired authorization scope for the Slack account. 1168 OAuthScopes []string 1169} 1170 1171// The properties that are applied when Slack is being used as a source. 1172type SlackSourceProperties struct { 1173 1174 // The object specified in the Slack flow source. 1175 // 1176 // This member is required. 1177 Object *string 1178} 1179 1180// The connector-specific profile credentials required when using Snowflake. 1181type SnowflakeConnectorProfileCredentials struct { 1182 1183 // The password that corresponds to the user name. 1184 // 1185 // This member is required. 1186 Password *string 1187 1188 // The name of the user. 1189 // 1190 // This member is required. 1191 Username *string 1192} 1193 1194// The connector-specific profile properties required when using Snowflake. 1195type SnowflakeConnectorProfileProperties struct { 1196 1197 // The name of the Amazon S3 bucket associated with Snowflake. 1198 // 1199 // This member is required. 1200 BucketName *string 1201 1202 // The name of the Amazon S3 stage that was created while setting up an Amazon S3 1203 // stage in the Snowflake account. This is written in the following format: < 1204 // Database>< Schema>. 1205 // 1206 // This member is required. 1207 Stage *string 1208 1209 // The name of the Snowflake warehouse. 1210 // 1211 // This member is required. 1212 Warehouse *string 1213 1214 // The name of the account. 1215 AccountName *string 1216 1217 // The bucket path that refers to the Amazon S3 bucket associated with Snowflake. 1218 BucketPrefix *string 1219 1220 // The Snowflake Private Link service name to be used for private data transfers. 1221 PrivateLinkServiceName *string 1222 1223 // The AWS Region of the Snowflake account. 1224 Region *string 1225} 1226 1227// The properties that are applied when Snowflake is being used as a destination. 1228type SnowflakeDestinationProperties struct { 1229 1230 // The intermediate bucket that Amazon AppFlow uses when moving data into 1231 // Snowflake. 1232 // 1233 // This member is required. 1234 IntermediateBucketName *string 1235 1236 // The object specified in the Snowflake flow destination. 1237 // 1238 // This member is required. 1239 Object *string 1240 1241 // The object key for the destination bucket in which Amazon AppFlow places the 1242 // files. 1243 BucketPrefix *string 1244 1245 // The settings that determine how Amazon AppFlow handles an error when placing 1246 // data in the Snowflake destination. For example, this setting would determine if 1247 // the flow should fail after one insertion error, or continue and attempt to 1248 // insert every record regardless of the initial failure. ErrorHandlingConfig is a 1249 // part of the destination connector details. 1250 ErrorHandlingConfig *ErrorHandlingConfig 1251} 1252 1253// The connector metadata specific to Snowflake. 1254type SnowflakeMetadata struct { 1255 1256 // Specifies the supported AWS Regions when using Snowflake. 1257 SupportedRegions []string 1258} 1259 1260// Specifies the information that is required to query a particular connector. 1261type SourceConnectorProperties struct { 1262 1263 // Specifies the information that is required for querying Amplitude. 1264 Amplitude *AmplitudeSourceProperties 1265 1266 // Specifies the information that is required for querying Datadog. 1267 Datadog *DatadogSourceProperties 1268 1269 // Specifies the information that is required for querying Dynatrace. 1270 Dynatrace *DynatraceSourceProperties 1271 1272 // Specifies the information that is required for querying Google Analytics. 1273 GoogleAnalytics *GoogleAnalyticsSourceProperties 1274 1275 // Specifies the information that is required for querying Infor Nexus. 1276 InforNexus *InforNexusSourceProperties 1277 1278 // Specifies the information that is required for querying Marketo. 1279 Marketo *MarketoSourceProperties 1280 1281 // Specifies the information that is required for querying Amazon S3. 1282 S3 *S3SourceProperties 1283 1284 // Specifies the information that is required for querying Salesforce. 1285 Salesforce *SalesforceSourceProperties 1286 1287 // Specifies the information that is required for querying ServiceNow. 1288 ServiceNow *ServiceNowSourceProperties 1289 1290 // Specifies the information that is required for querying Singular. 1291 Singular *SingularSourceProperties 1292 1293 // Specifies the information that is required for querying Slack. 1294 Slack *SlackSourceProperties 1295 1296 // Specifies the information that is required for querying Trend Micro. 1297 Trendmicro *TrendmicroSourceProperties 1298 1299 // Specifies the information that is required for querying Veeva. 1300 Veeva *VeevaSourceProperties 1301 1302 // Specifies the information that is required for querying Zendesk. 1303 Zendesk *ZendeskSourceProperties 1304} 1305 1306// The properties that can be applied to a field when the connector is being used 1307// as a source. 1308type SourceFieldProperties struct { 1309 1310 // Indicates if the field can be queried. 1311 IsQueryable bool 1312 1313 // Indicates whether the field can be returned in a search result. 1314 IsRetrievable bool 1315} 1316 1317// Contains information about the configuration of the source connector used in the 1318// flow. 1319type SourceFlowConfig struct { 1320 1321 // The type of connector, such as Salesforce, Amplitude, and so on. 1322 // 1323 // This member is required. 1324 ConnectorType ConnectorType 1325 1326 // Specifies the information that is required to query a particular source 1327 // connector. 1328 // 1329 // This member is required. 1330 SourceConnectorProperties *SourceConnectorProperties 1331 1332 // The name of the connector profile. This name must be unique for each connector 1333 // profile in the AWS account. 1334 ConnectorProfileName *string 1335 1336 // Defines the configuration for a scheduled incremental data pull. If a valid 1337 // configuration is provided, the fields specified in the configuration are used 1338 // when querying for the incremental data pull. 1339 IncrementalPullConfig *IncrementalPullConfig 1340} 1341 1342// Contains details regarding all the supported FieldTypes and their corresponding 1343// filterOperators and supportedValues. 1344type SupportedFieldTypeDetails struct { 1345 1346 // The initial supported version for fieldType. If this is later changed to a 1347 // different version, v2 will be introduced. 1348 // 1349 // This member is required. 1350 V1 *FieldTypeDetails 1351} 1352 1353// A class for modeling different type of tasks. Task implementation varies based 1354// on the TaskType. 1355type Task struct { 1356 1357 // The source fields to which a particular task is applied. 1358 // 1359 // This member is required. 1360 SourceFields []string 1361 1362 // Specifies the particular task implementation that Amazon AppFlow performs. 1363 // 1364 // This member is required. 1365 TaskType TaskType 1366 1367 // The operation to be performed on the provided source fields. 1368 ConnectorOperator *ConnectorOperator 1369 1370 // A field in a destination connector, or a field value against which Amazon 1371 // AppFlow validates a source field. 1372 DestinationField *string 1373 1374 // A map used to store task-related information. The execution service looks for 1375 // particular information based on the TaskType. 1376 TaskProperties map[string]string 1377} 1378 1379// The connector-specific profile credentials required when using Trend Micro. 1380type TrendmicroConnectorProfileCredentials struct { 1381 1382 // The Secret Access Key portion of the credentials. 1383 // 1384 // This member is required. 1385 ApiSecretKey *string 1386} 1387 1388// The connector-specific profile properties required when using Trend Micro. 1389type TrendmicroConnectorProfileProperties struct { 1390} 1391 1392// The connector metadata specific to Trend Micro. 1393type TrendmicroMetadata struct { 1394} 1395 1396// The properties that are applied when using Trend Micro as a flow source. 1397type TrendmicroSourceProperties struct { 1398 1399 // The object specified in the Trend Micro flow source. 1400 // 1401 // This member is required. 1402 Object *string 1403} 1404 1405// The trigger settings that determine how and when Amazon AppFlow runs the 1406// specified flow. 1407type TriggerConfig struct { 1408 1409 // Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. 1410 // 1411 // This member is required. 1412 TriggerType TriggerType 1413 1414 // Specifies the configuration details of a schedule-triggered flow as defined by 1415 // the user. Currently, these settings only apply to the Scheduled trigger type. 1416 TriggerProperties *TriggerProperties 1417} 1418 1419// Specifies the configuration details that control the trigger for a flow. 1420// Currently, these settings only apply to the Scheduled trigger type. 1421type TriggerProperties struct { 1422 1423 // Specifies the configuration details of a schedule-triggered flow as defined by 1424 // the user. 1425 Scheduled *ScheduledTriggerProperties 1426} 1427 1428// The properties that are applied when Upsolver is used as a destination. 1429type UpsolverDestinationProperties struct { 1430 1431 // The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the 1432 // transferred data. 1433 // 1434 // This member is required. 1435 BucketName *string 1436 1437 // The configuration that determines how data is formatted when Upsolver is used as 1438 // the flow destination. 1439 // 1440 // This member is required. 1441 S3OutputFormatConfig *UpsolverS3OutputFormatConfig 1442 1443 // The object key for the destination Upsolver Amazon S3 bucket in which Amazon 1444 // AppFlow places the files. 1445 BucketPrefix *string 1446} 1447 1448// The connector metadata specific to Upsolver. 1449type UpsolverMetadata struct { 1450} 1451 1452// The configuration that determines how Amazon AppFlow formats the flow output 1453// data when Upsolver is used as the destination. 1454type UpsolverS3OutputFormatConfig struct { 1455 1456 // Determines the prefix that Amazon AppFlow applies to the destination folder 1457 // name. You can name your destination folders according to the flow frequency and 1458 // date. 1459 // 1460 // This member is required. 1461 PrefixConfig *PrefixConfig 1462 1463 // The aggregation settings that you can use to customize the output format of your 1464 // flow data. 1465 AggregationConfig *AggregationConfig 1466 1467 // Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 1468 // bucket. 1469 FileType FileType 1470} 1471 1472// The connector-specific profile credentials required when using Veeva. 1473type VeevaConnectorProfileCredentials struct { 1474 1475 // The password that corresponds to the user name. 1476 // 1477 // This member is required. 1478 Password *string 1479 1480 // The name of the user. 1481 // 1482 // This member is required. 1483 Username *string 1484} 1485 1486// The connector-specific profile properties required when using Veeva. 1487type VeevaConnectorProfileProperties struct { 1488 1489 // The location of the Veeva resource. 1490 // 1491 // This member is required. 1492 InstanceUrl *string 1493} 1494 1495// The connector metadata specific to Veeva. 1496type VeevaMetadata struct { 1497} 1498 1499// The properties that are applied when using Veeva as a flow source. 1500type VeevaSourceProperties struct { 1501 1502 // The object specified in the Veeva flow source. 1503 // 1504 // This member is required. 1505 Object *string 1506} 1507 1508// The connector-specific profile credentials required when using Zendesk. 1509type ZendeskConnectorProfileCredentials struct { 1510 1511 // The identifier for the desired client. 1512 // 1513 // This member is required. 1514 ClientId *string 1515 1516 // The client secret used by the OAuth client to authenticate to the authorization 1517 // server. 1518 // 1519 // This member is required. 1520 ClientSecret *string 1521 1522 // The credentials used to access protected Zendesk resources. 1523 AccessToken *string 1524 1525 // The OAuth requirement needed to request security tokens from the connector 1526 // endpoint. 1527 OAuthRequest *ConnectorOAuthRequest 1528} 1529 1530// The connector-specific profile properties required when using Zendesk. 1531type ZendeskConnectorProfileProperties struct { 1532 1533 // The location of the Zendesk resource. 1534 // 1535 // This member is required. 1536 InstanceUrl *string 1537} 1538 1539// The connector metadata specific to Zendesk. 1540type ZendeskMetadata struct { 1541 1542 // The desired authorization scope for the Zendesk account. 1543 OAuthScopes []string 1544} 1545 1546// The properties that are applied when using Zendesk as a flow source. 1547type ZendeskSourceProperties struct { 1548 1549 // The object specified in the Zendesk flow source. 1550 // 1551 // This member is required. 1552 Object *string 1553} 1554