1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// A generic address associated with the customer that is not mailing, shipping, or 10// billing. 11type Address struct { 12 13 // The first line of a customer address. 14 Address1 *string 15 16 // The second line of a customer address. 17 Address2 *string 18 19 // The third line of a customer address. 20 Address3 *string 21 22 // The fourth line of a customer address. 23 Address4 *string 24 25 // The city in which a customer lives. 26 City *string 27 28 // The country in which a customer lives. 29 Country *string 30 31 // The county in which a customer lives. 32 County *string 33 34 // The postal code of a customer address. 35 PostalCode *string 36 37 // The province in which a customer lives. 38 Province *string 39 40 // The state in which a customer lives. 41 State *string 42} 43 44// The operation to be performed on the provided source fields. 45type ConnectorOperator struct { 46 47 // The operation to be performed on the provided Marketo source fields. 48 Marketo MarketoConnectorOperator 49 50 // The operation to be performed on the provided Amazon S3 source fields. 51 S3 S3ConnectorOperator 52 53 // The operation to be performed on the provided Salesforce source fields. 54 Salesforce SalesforceConnectorOperator 55 56 // The operation to be performed on the provided ServiceNow source fields. 57 ServiceNow ServiceNowConnectorOperator 58 59 // The operation to be performed on the provided Zendesk source fields. 60 Zendesk ZendeskConnectorOperator 61} 62 63// Usage-specific statistics about the domain. 64type DomainStats struct { 65 66 // The number of profiles that you are currently paying for in the domain. If you 67 // have more than 100 objects associated with a single profile, that profile counts 68 // as two profiles. If you have more than 200 objects, that profile counts as 69 // three, and so on. 70 MeteringProfileCount int64 71 72 // The total number of objects in domain. 73 ObjectCount int64 74 75 // The total number of profiles currently in the domain. 76 ProfileCount int64 77 78 // The total size, in bytes, of all objects in the domain. 79 TotalSize int64 80} 81 82// The configurations that control how Customer Profiles retrieves data from the 83// source, Amazon AppFlow. Customer Profiles uses this information to create an 84// AppFlow flow on behalf of customers. 85type FlowDefinition struct { 86 87 // The specified name of the flow. Use underscores (_) or hyphens (-) only. Spaces 88 // are not allowed. 89 // 90 // This member is required. 91 FlowName *string 92 93 // The Amazon Resource Name of the AWS Key Management Service (KMS) key you provide 94 // for encryption. 95 // 96 // This member is required. 97 KmsArn *string 98 99 // The configuration that controls how Customer Profiles retrieves data from the 100 // source. 101 // 102 // This member is required. 103 SourceFlowConfig *SourceFlowConfig 104 105 // A list of tasks that Customer Profiles performs while transferring the data in 106 // the flow run. 107 // 108 // This member is required. 109 Tasks []Task 110 111 // The trigger settings that determine how and when the flow runs. 112 // 113 // This member is required. 114 TriggerConfig *TriggerConfig 115 116 // A description of the flow you want to create. 117 Description *string 118} 119 120// Specifies the configuration used when importing incremental records from the 121// source. 122type IncrementalPullConfig struct { 123 124 // A field that specifies the date time or timestamp field as the criteria to use 125 // when importing incremental records from the source. 126 DatetimeTypeFieldName *string 127} 128 129// An object in a list that represents a domain. 130type ListDomainItem struct { 131 132 // The timestamp of when the domain was created. 133 // 134 // This member is required. 135 CreatedAt *time.Time 136 137 // The unique name of the domain. 138 // 139 // This member is required. 140 DomainName *string 141 142 // The timestamp of when the domain was most recently edited. 143 // 144 // This member is required. 145 LastUpdatedAt *time.Time 146 147 // The tags used to organize, track, or control access for this resource. 148 Tags map[string]string 149} 150 151// An integration in list of integrations. 152type ListIntegrationItem struct { 153 154 // The timestamp of when the domain was created. 155 // 156 // This member is required. 157 CreatedAt *time.Time 158 159 // The unique name of the domain. 160 // 161 // This member is required. 162 DomainName *string 163 164 // The timestamp of when the domain was most recently edited. 165 // 166 // This member is required. 167 LastUpdatedAt *time.Time 168 169 // The name of the profile object type. 170 // 171 // This member is required. 172 ObjectTypeName *string 173 174 // The URI of the S3 bucket or any other type of data source. 175 // 176 // This member is required. 177 Uri *string 178 179 // The tags used to organize, track, or control access for this resource. 180 Tags map[string]string 181} 182 183// A ProfileObject in a list of ProfileObjects. 184type ListProfileObjectsItem struct { 185 186 // A JSON representation of a ProfileObject that belongs to a profile. 187 Object *string 188 189 // Specifies the kind of object being added to a profile, such as 190 // "Salesforce-Account." 191 ObjectTypeName *string 192 193 // The unique identifier of the ProfileObject generated by the service. 194 ProfileObjectUniqueKey *string 195} 196 197// A ProfileObjectType instance. 198type ListProfileObjectTypeItem struct { 199 200 // Description of the profile object type. 201 // 202 // This member is required. 203 Description *string 204 205 // The name of the profile object type. 206 // 207 // This member is required. 208 ObjectTypeName *string 209 210 // The timestamp of when the domain was created. 211 CreatedAt *time.Time 212 213 // The timestamp of when the domain was most recently edited. 214 LastUpdatedAt *time.Time 215 216 // The tags used to organize, track, or control access for this resource. 217 Tags map[string]string 218} 219 220// A ProfileObjectTypeTemplate in a list of ProfileObjectTypeTemplates. 221type ListProfileObjectTypeTemplateItem struct { 222 223 // The name of the source of the object template. 224 SourceName *string 225 226 // The source of the object template. 227 SourceObject *string 228 229 // A unique identifier for the object template. 230 TemplateId *string 231} 232 233// The properties that are applied when Marketo is being used as a source. 234type MarketoSourceProperties struct { 235 236 // The object specified in the Marketo flow source. 237 // 238 // This member is required. 239 Object *string 240} 241 242// Represents a field in a ProfileObjectType. 243type ObjectTypeField struct { 244 245 // The content type of the field. Used for determining equality when searching. 246 ContentType FieldContentType 247 248 // A field of a ProfileObject. For example: _source.FirstName, where “_source” is a 249 // ProfileObjectType of a Zendesk user and “FirstName” is a field in that 250 // ObjectType. 251 Source *string 252 253 // The location of the data in the standard ProfileObject model. For example: 254 // _profile.Address.PostalCode. 255 Target *string 256} 257 258// An object that defines the Key element of a ProfileObject. A Key is a special 259// element that can be used to search for a customer profile. 260type ObjectTypeKey struct { 261 262 // The reference for the key name of the fields map. 263 FieldNames []string 264 265 // The types of keys that a ProfileObject can have. Each ProfileObject can have 266 // only 1 UNIQUE key but multiple PROFILE keys. PROFILE means that this key can be 267 // used to tie an object to a PROFILE. UNIQUE means that it can be used to uniquely 268 // identify an object. If a key a is marked as SECONDARY, it will be used to search 269 // for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key 270 // is only used to match a profile but is not persisted to be used for searching of 271 // the profile. A NEW_ONLY key is only used if the profile does not already exist 272 // before the object is ingested, otherwise it is only used for matching objects to 273 // profiles. 274 StandardIdentifiers []StandardIdentifier 275} 276 277// The standard profile of a customer. 278type Profile struct { 279 280 // A unique account number that you have given to the customer. 281 AccountNumber *string 282 283 // Any additional information relevant to the customer's profile. 284 AdditionalInformation *string 285 286 // A generic address associated with the customer that is not mailing, shipping, or 287 // billing. 288 Address *Address 289 290 // A key value pair of attributes of a customer profile. 291 Attributes map[string]string 292 293 // The customer’s billing address. 294 BillingAddress *Address 295 296 // The customer’s birth date. 297 BirthDate *string 298 299 // The customer’s business email address. 300 BusinessEmailAddress *string 301 302 // The name of the customer’s business. 303 BusinessName *string 304 305 // The customer’s home phone number. 306 BusinessPhoneNumber *string 307 308 // The customer's email address, which has not been specified as a personal or 309 // business address. 310 EmailAddress *string 311 312 // The customer’s first name. 313 FirstName *string 314 315 // The gender with which the customer identifies. 316 Gender Gender 317 318 // The customer’s home phone number. 319 HomePhoneNumber *string 320 321 // The customer’s last name. 322 LastName *string 323 324 // The customer’s mailing address. 325 MailingAddress *Address 326 327 // The customer’s middle name. 328 MiddleName *string 329 330 // The customer’s mobile phone number. 331 MobilePhoneNumber *string 332 333 // The type of profile used to describe the customer. 334 PartyType PartyType 335 336 // The customer’s personal email address. 337 PersonalEmailAddress *string 338 339 // The customer's phone number, which has not been specified as a mobile, home, or 340 // business number. 341 PhoneNumber *string 342 343 // The unique identifier of a customer profile. 344 ProfileId *string 345 346 // The customer’s shipping address. 347 ShippingAddress *Address 348} 349 350// The properties that are applied when Amazon S3 is being used as the flow source. 351type S3SourceProperties struct { 352 353 // The Amazon S3 bucket name where the source files are stored. 354 // 355 // This member is required. 356 BucketName *string 357 358 // The object key for the Amazon S3 bucket in which the source files are stored. 359 BucketPrefix *string 360} 361 362// The properties that are applied when Salesforce is being used as a source. 363type SalesforceSourceProperties struct { 364 365 // The object specified in the Salesforce flow source. 366 // 367 // This member is required. 368 Object *string 369 370 // The flag that enables dynamic fetching of new (recently added) fields in the 371 // Salesforce objects while running a flow. 372 EnableDynamicFieldUpdate bool 373 374 // Indicates whether Amazon AppFlow includes deleted files in the flow run. 375 IncludeDeletedRecords bool 376} 377 378// Specifies the configuration details of a scheduled-trigger flow that you define. 379// Currently, these settings only apply to the scheduled-trigger type. 380type ScheduledTriggerProperties struct { 381 382 // The scheduling expression that determines the rate at which the schedule will 383 // run, for example rate (5 minutes). 384 // 385 // This member is required. 386 ScheduleExpression *string 387 388 // Specifies whether a scheduled flow has an incremental data transfer or a 389 // complete data transfer for each flow run. 390 DataPullMode DataPullMode 391 392 // Specifies the date range for the records to import from the connector in the 393 // first flow run. 394 FirstExecutionFrom *time.Time 395 396 // Specifies the scheduled end time for a scheduled-trigger flow. 397 ScheduleEndTime *time.Time 398 399 // Specifies the optional offset that is added to the time interval for a 400 // schedule-triggered flow. 401 ScheduleOffset int64 402 403 // Specifies the scheduled start time for a scheduled-trigger flow. 404 ScheduleStartTime *time.Time 405 406 // Specifies the time zone used when referring to the date and time of a 407 // scheduled-triggered flow, such as America/New_York. 408 Timezone *string 409} 410 411// The properties that are applied when ServiceNow is being used as a source. 412type ServiceNowSourceProperties struct { 413 414 // The object specified in the ServiceNow flow source. 415 // 416 // This member is required. 417 Object *string 418} 419 420// Specifies the information that is required to query a particular Amazon AppFlow 421// connector. Customer Profiles supports Salesforce, Zendesk, Marketo, ServiceNow 422// and Amazon S3. 423type SourceConnectorProperties struct { 424 425 // The properties that are applied when Marketo is being used as a source. 426 Marketo *MarketoSourceProperties 427 428 // The properties that are applied when Amazon S3 is being used as the flow source. 429 S3 *S3SourceProperties 430 431 // The properties that are applied when Salesforce is being used as a source. 432 Salesforce *SalesforceSourceProperties 433 434 // The properties that are applied when ServiceNow is being used as a source. 435 ServiceNow *ServiceNowSourceProperties 436 437 // The properties that are applied when using Zendesk as a flow source. 438 Zendesk *ZendeskSourceProperties 439} 440 441// Contains information about the configuration of the source connector used in the 442// flow. 443type SourceFlowConfig struct { 444 445 // The type of connector, such as Salesforce, Marketo, and so on. 446 // 447 // This member is required. 448 ConnectorType SourceConnectorType 449 450 // Specifies the information that is required to query a particular source 451 // connector. 452 // 453 // This member is required. 454 SourceConnectorProperties *SourceConnectorProperties 455 456 // The name of the AppFlow connector profile. This name must be unique for each 457 // connector profile in the AWS account. 458 ConnectorProfileName *string 459 460 // Defines the configuration for a scheduled incremental data pull. If a valid 461 // configuration is provided, the fields specified in the configuration are used 462 // when querying for the incremental data pull. 463 IncrementalPullConfig *IncrementalPullConfig 464} 465 466// A class for modeling different type of tasks. Task implementation varies based 467// on the TaskType. 468type Task struct { 469 470 // The source fields to which a particular task is applied. 471 // 472 // This member is required. 473 SourceFields []string 474 475 // Specifies the particular task implementation that Amazon AppFlow performs. 476 // 477 // This member is required. 478 TaskType TaskType 479 480 // The operation to be performed on the provided source fields. 481 ConnectorOperator *ConnectorOperator 482 483 // A field in a destination connector, or a field value against which Amazon 484 // AppFlow validates a source field. 485 DestinationField *string 486 487 // A map used to store task-related information. The service looks for particular 488 // information based on the TaskType. 489 TaskProperties map[string]string 490} 491 492// The trigger settings that determine how and when Amazon AppFlow runs the 493// specified flow. 494type TriggerConfig struct { 495 496 // Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event. 497 // 498 // This member is required. 499 TriggerType TriggerType 500 501 // Specifies the configuration details of a schedule-triggered flow that you 502 // define. Currently, these settings only apply to the Scheduled trigger type. 503 TriggerProperties *TriggerProperties 504} 505 506// Specifies the configuration details that control the trigger for a flow. 507// Currently, these settings only apply to the Scheduled trigger type. 508type TriggerProperties struct { 509 510 // Specifies the configuration details of a schedule-triggered flow that you 511 // define. 512 Scheduled *ScheduledTriggerProperties 513} 514 515// Updates associated with the address properties of a customer profile. 516type UpdateAddress struct { 517 518 // The first line of a customer address. 519 Address1 *string 520 521 // The second line of a customer address. 522 Address2 *string 523 524 // The third line of a customer address. 525 Address3 *string 526 527 // The fourth line of a customer address. 528 Address4 *string 529 530 // The city in which a customer lives. 531 City *string 532 533 // The country in which a customer lives. 534 Country *string 535 536 // The county in which a customer lives. 537 County *string 538 539 // The postal code of a customer address. 540 PostalCode *string 541 542 // The province in which a customer lives. 543 Province *string 544 545 // The state in which a customer lives. 546 State *string 547} 548 549// The properties that are applied when using Zendesk as a flow source. 550type ZendeskSourceProperties struct { 551 552 // The object specified in the Zendesk flow source. 553 // 554 // This member is required. 555 Object *string 556} 557