aws-sdk-customerprofiles 1.15.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -153,6 +153,212 @@ module Aws::CustomerProfiles
153
153
  include Aws::Structure
154
154
  end
155
155
 
156
+ # Details for workflow of type `APPFLOW_INTEGRATION`.
157
+ #
158
+ # @note When making an API call, you may pass AppflowIntegration
159
+ # data as a hash:
160
+ #
161
+ # {
162
+ # flow_definition: { # required
163
+ # description: "FlowDescription",
164
+ # flow_name: "FlowName", # required
165
+ # kms_arn: "KmsArn", # required
166
+ # source_flow_config: { # required
167
+ # connector_profile_name: "ConnectorProfileName",
168
+ # connector_type: "Salesforce", # required, accepts Salesforce, Marketo, Zendesk, Servicenow, S3
169
+ # incremental_pull_config: {
170
+ # datetime_type_field_name: "DatetimeTypeFieldName",
171
+ # },
172
+ # source_connector_properties: { # required
173
+ # marketo: {
174
+ # object: "Object", # required
175
+ # },
176
+ # s3: {
177
+ # bucket_name: "BucketName", # required
178
+ # bucket_prefix: "BucketPrefix",
179
+ # },
180
+ # salesforce: {
181
+ # object: "Object", # required
182
+ # enable_dynamic_field_update: false,
183
+ # include_deleted_records: false,
184
+ # },
185
+ # service_now: {
186
+ # object: "Object", # required
187
+ # },
188
+ # zendesk: {
189
+ # object: "Object", # required
190
+ # },
191
+ # },
192
+ # },
193
+ # tasks: [ # required
194
+ # {
195
+ # connector_operator: {
196
+ # marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
197
+ # s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
198
+ # salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
199
+ # service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
200
+ # zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
201
+ # },
202
+ # destination_field: "DestinationField",
203
+ # source_fields: ["stringTo2048"], # required
204
+ # task_properties: {
205
+ # "VALUE" => "Property",
206
+ # },
207
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
208
+ # },
209
+ # ],
210
+ # trigger_config: { # required
211
+ # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
212
+ # trigger_properties: {
213
+ # scheduled: {
214
+ # schedule_expression: "ScheduleExpression", # required
215
+ # data_pull_mode: "Incremental", # accepts Incremental, Complete
216
+ # schedule_start_time: Time.now,
217
+ # schedule_end_time: Time.now,
218
+ # timezone: "Timezone",
219
+ # schedule_offset: 1,
220
+ # first_execution_from: Time.now,
221
+ # },
222
+ # },
223
+ # },
224
+ # },
225
+ # batches: [
226
+ # {
227
+ # start_time: Time.now, # required
228
+ # end_time: Time.now, # required
229
+ # },
230
+ # ],
231
+ # }
232
+ #
233
+ # @!attribute [rw] flow_definition
234
+ # The configurations that control how Customer Profiles retrieves data
235
+ # from the source, Amazon AppFlow. Customer Profiles uses this
236
+ # information to create an AppFlow flow on behalf of customers.
237
+ # @return [Types::FlowDefinition]
238
+ #
239
+ # @!attribute [rw] batches
240
+ # Batches in workflow of type `APPFLOW_INTEGRATION`.
241
+ # @return [Array<Types::Batch>]
242
+ #
243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegration AWS API Documentation
244
+ #
245
+ class AppflowIntegration < Struct.new(
246
+ :flow_definition,
247
+ :batches)
248
+ SENSITIVE = []
249
+ include Aws::Structure
250
+ end
251
+
252
+ # Structure holding all `APPFLOW_INTEGRATION` specific workflow
253
+ # attributes.
254
+ #
255
+ # @!attribute [rw] source_connector_type
256
+ # Specifies the source connector type, such as Salesforce, ServiceNow,
257
+ # and Marketo. Indicates source of ingestion.
258
+ # @return [String]
259
+ #
260
+ # @!attribute [rw] connector_profile_name
261
+ # The name of the AppFlow connector profile used for ingestion.
262
+ # @return [String]
263
+ #
264
+ # @!attribute [rw] role_arn
265
+ # The Amazon Resource Name (ARN) of the IAM role. Customer Profiles
266
+ # assumes this role to create resources on your behalf as part of
267
+ # workflow execution.
268
+ # @return [String]
269
+ #
270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegrationWorkflowAttributes AWS API Documentation
271
+ #
272
+ class AppflowIntegrationWorkflowAttributes < Struct.new(
273
+ :source_connector_type,
274
+ :connector_profile_name,
275
+ :role_arn)
276
+ SENSITIVE = []
277
+ include Aws::Structure
278
+ end
279
+
280
+ # Workflow specific execution metrics for `APPFLOW_INTEGRATION`
281
+ # workflow.
282
+ #
283
+ # @!attribute [rw] records_processed
284
+ # Number of records processed in `APPFLOW_INTEGRATION` workflow.
285
+ # @return [Integer]
286
+ #
287
+ # @!attribute [rw] steps_completed
288
+ # Total steps completed in `APPFLOW_INTEGRATION` workflow.
289
+ # @return [Integer]
290
+ #
291
+ # @!attribute [rw] total_steps
292
+ # Total steps in `APPFLOW_INTEGRATION` workflow.
293
+ # @return [Integer]
294
+ #
295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegrationWorkflowMetrics AWS API Documentation
296
+ #
297
+ class AppflowIntegrationWorkflowMetrics < Struct.new(
298
+ :records_processed,
299
+ :steps_completed,
300
+ :total_steps)
301
+ SENSITIVE = []
302
+ include Aws::Structure
303
+ end
304
+
305
+ # Workflow step details for `APPFLOW_INTEGRATION` workflow.
306
+ #
307
+ # @!attribute [rw] flow_name
308
+ # Name of the flow created during execution of workflow step.
309
+ # `APPFLOW_INTEGRATION` workflow type creates an appflow flow during
310
+ # workflow step execution on the customers behalf.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] status
314
+ # Workflow step status for `APPFLOW_INTEGRATION` workflow.
315
+ # @return [String]
316
+ #
317
+ # @!attribute [rw] execution_message
318
+ # Message indicating execution of workflow step for
319
+ # `APPFLOW_INTEGRATION` workflow.
320
+ # @return [String]
321
+ #
322
+ # @!attribute [rw] records_processed
323
+ # Total number of records processed during execution of workflow step
324
+ # for `APPFLOW_INTEGRATION` workflow.
325
+ # @return [Integer]
326
+ #
327
+ # @!attribute [rw] batch_records_start_time
328
+ # Start datetime of records pulled in batch during execution of
329
+ # workflow step for `APPFLOW_INTEGRATION` workflow.
330
+ # @return [String]
331
+ #
332
+ # @!attribute [rw] batch_records_end_time
333
+ # End datetime of records pulled in batch during execution of workflow
334
+ # step for `APPFLOW_INTEGRATION` workflow.
335
+ # @return [String]
336
+ #
337
+ # @!attribute [rw] created_at
338
+ # Creation timestamp of workflow step for `APPFLOW_INTEGRATION`
339
+ # workflow.
340
+ # @return [Time]
341
+ #
342
+ # @!attribute [rw] last_updated_at
343
+ # Last updated timestamp for workflow step for `APPFLOW_INTEGRATION`
344
+ # workflow.
345
+ # @return [Time]
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegrationWorkflowStep AWS API Documentation
348
+ #
349
+ class AppflowIntegrationWorkflowStep < Struct.new(
350
+ :flow_name,
351
+ :status,
352
+ :execution_message,
353
+ :records_processed,
354
+ :batch_records_start_time,
355
+ :batch_records_end_time,
356
+ :created_at,
357
+ :last_updated_at)
358
+ SENSITIVE = []
359
+ include Aws::Structure
360
+ end
361
+
156
362
  # Configuration settings for how to perform the auto-merging of
157
363
  # profiles.
158
364
  #
@@ -212,6 +418,35 @@ module Aws::CustomerProfiles
212
418
  include Aws::Structure
213
419
  end
214
420
 
421
+ # Batch defines the boundaries for ingestion for each step in
422
+ # `APPFLOW_INTEGRATION` workflow. `APPFLOW_INTEGRATION` workflow splits
423
+ # ingestion based on these boundaries.
424
+ #
425
+ # @note When making an API call, you may pass Batch
426
+ # data as a hash:
427
+ #
428
+ # {
429
+ # start_time: Time.now, # required
430
+ # end_time: Time.now, # required
431
+ # }
432
+ #
433
+ # @!attribute [rw] start_time
434
+ # Start time of batch to split ingestion.
435
+ # @return [Time]
436
+ #
437
+ # @!attribute [rw] end_time
438
+ # End time of batch to split ingestion.
439
+ # @return [Time]
440
+ #
441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Batch AWS API Documentation
442
+ #
443
+ class Batch < Struct.new(
444
+ :start_time,
445
+ :end_time)
446
+ SENSITIVE = []
447
+ include Aws::Structure
448
+ end
449
+
215
450
  # How the auto-merging process should resolve conflicts between
216
451
  # different profiles.
217
452
  #
@@ -481,6 +716,150 @@ module Aws::CustomerProfiles
481
716
  include Aws::Structure
482
717
  end
483
718
 
719
+ # @note When making an API call, you may pass CreateIntegrationWorkflowRequest
720
+ # data as a hash:
721
+ #
722
+ # {
723
+ # domain_name: "name", # required
724
+ # workflow_type: "APPFLOW_INTEGRATION", # required, accepts APPFLOW_INTEGRATION
725
+ # integration_config: { # required
726
+ # appflow_integration: {
727
+ # flow_definition: { # required
728
+ # description: "FlowDescription",
729
+ # flow_name: "FlowName", # required
730
+ # kms_arn: "KmsArn", # required
731
+ # source_flow_config: { # required
732
+ # connector_profile_name: "ConnectorProfileName",
733
+ # connector_type: "Salesforce", # required, accepts Salesforce, Marketo, Zendesk, Servicenow, S3
734
+ # incremental_pull_config: {
735
+ # datetime_type_field_name: "DatetimeTypeFieldName",
736
+ # },
737
+ # source_connector_properties: { # required
738
+ # marketo: {
739
+ # object: "Object", # required
740
+ # },
741
+ # s3: {
742
+ # bucket_name: "BucketName", # required
743
+ # bucket_prefix: "BucketPrefix",
744
+ # },
745
+ # salesforce: {
746
+ # object: "Object", # required
747
+ # enable_dynamic_field_update: false,
748
+ # include_deleted_records: false,
749
+ # },
750
+ # service_now: {
751
+ # object: "Object", # required
752
+ # },
753
+ # zendesk: {
754
+ # object: "Object", # required
755
+ # },
756
+ # },
757
+ # },
758
+ # tasks: [ # required
759
+ # {
760
+ # connector_operator: {
761
+ # marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
762
+ # s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
763
+ # salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
764
+ # service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
765
+ # zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
766
+ # },
767
+ # destination_field: "DestinationField",
768
+ # source_fields: ["stringTo2048"], # required
769
+ # task_properties: {
770
+ # "VALUE" => "Property",
771
+ # },
772
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
773
+ # },
774
+ # ],
775
+ # trigger_config: { # required
776
+ # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
777
+ # trigger_properties: {
778
+ # scheduled: {
779
+ # schedule_expression: "ScheduleExpression", # required
780
+ # data_pull_mode: "Incremental", # accepts Incremental, Complete
781
+ # schedule_start_time: Time.now,
782
+ # schedule_end_time: Time.now,
783
+ # timezone: "Timezone",
784
+ # schedule_offset: 1,
785
+ # first_execution_from: Time.now,
786
+ # },
787
+ # },
788
+ # },
789
+ # },
790
+ # batches: [
791
+ # {
792
+ # start_time: Time.now, # required
793
+ # end_time: Time.now, # required
794
+ # },
795
+ # ],
796
+ # },
797
+ # },
798
+ # object_type_name: "typeName", # required
799
+ # role_arn: "RoleArn", # required
800
+ # tags: {
801
+ # "TagKey" => "TagValue",
802
+ # },
803
+ # }
804
+ #
805
+ # @!attribute [rw] domain_name
806
+ # The unique name of the domain.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] workflow_type
810
+ # The type of workflow. The only supported value is
811
+ # APPFLOW\_INTEGRATION.
812
+ # @return [String]
813
+ #
814
+ # @!attribute [rw] integration_config
815
+ # Configuration data for integration workflow.
816
+ # @return [Types::IntegrationConfig]
817
+ #
818
+ # @!attribute [rw] object_type_name
819
+ # The name of the profile object type.
820
+ # @return [String]
821
+ #
822
+ # @!attribute [rw] role_arn
823
+ # The Amazon Resource Name (ARN) of the IAM role. Customer Profiles
824
+ # assumes this role to create resources on your behalf as part of
825
+ # workflow execution.
826
+ # @return [String]
827
+ #
828
+ # @!attribute [rw] tags
829
+ # The tags used to organize, track, or control access for this
830
+ # resource.
831
+ # @return [Hash<String,String>]
832
+ #
833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateIntegrationWorkflowRequest AWS API Documentation
834
+ #
835
+ class CreateIntegrationWorkflowRequest < Struct.new(
836
+ :domain_name,
837
+ :workflow_type,
838
+ :integration_config,
839
+ :object_type_name,
840
+ :role_arn,
841
+ :tags)
842
+ SENSITIVE = []
843
+ include Aws::Structure
844
+ end
845
+
846
+ # @!attribute [rw] workflow_id
847
+ # Unique identifier for the workflow.
848
+ # @return [String]
849
+ #
850
+ # @!attribute [rw] message
851
+ # A message indicating create request was received.
852
+ # @return [String]
853
+ #
854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateIntegrationWorkflowResponse AWS API Documentation
855
+ #
856
+ class CreateIntegrationWorkflowResponse < Struct.new(
857
+ :workflow_id,
858
+ :message)
859
+ SENSITIVE = []
860
+ include Aws::Structure
861
+ end
862
+
484
863
  # @note When making an API call, you may pass CreateProfileRequest
485
864
  # data as a hash:
486
865
  #
@@ -928,6 +1307,35 @@ module Aws::CustomerProfiles
928
1307
  include Aws::Structure
929
1308
  end
930
1309
 
1310
+ # @note When making an API call, you may pass DeleteWorkflowRequest
1311
+ # data as a hash:
1312
+ #
1313
+ # {
1314
+ # domain_name: "name", # required
1315
+ # workflow_id: "string1To255", # required
1316
+ # }
1317
+ #
1318
+ # @!attribute [rw] domain_name
1319
+ # The unique name of the domain.
1320
+ # @return [String]
1321
+ #
1322
+ # @!attribute [rw] workflow_id
1323
+ # Unique identifier for the workflow.
1324
+ # @return [String]
1325
+ #
1326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteWorkflowRequest AWS API Documentation
1327
+ #
1328
+ class DeleteWorkflowRequest < Struct.new(
1329
+ :domain_name,
1330
+ :workflow_id)
1331
+ SENSITIVE = []
1332
+ include Aws::Structure
1333
+ end
1334
+
1335
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteWorkflowResponse AWS API Documentation
1336
+ #
1337
+ class DeleteWorkflowResponse < Aws::EmptyStructure; end
1338
+
931
1339
  # Usage-specific statistics about the domain.
932
1340
  #
933
1341
  # @!attribute [rw] profile_count
@@ -1591,6 +1999,20 @@ module Aws::CustomerProfiles
1591
1999
  # resource.
1592
2000
  # @return [Hash<String,String>]
1593
2001
  #
2002
+ # @!attribute [rw] object_type_names
2003
+ # A map in which each key is an event type from an external
2004
+ # application such as Segment or Shopify, and each value is an
2005
+ # `ObjectTypeName` (template) used to ingest the event. It supports
2006
+ # the following event types: `SegmentIdentify`,
2007
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
2008
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
2009
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
2010
+ # @return [Hash<String,String>]
2011
+ #
2012
+ # @!attribute [rw] workflow_id
2013
+ # Unique identifier for the workflow.
2014
+ # @return [String]
2015
+ #
1594
2016
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegrationResponse AWS API Documentation
1595
2017
  #
1596
2018
  class GetIntegrationResponse < Struct.new(
@@ -1599,7 +2021,9 @@ module Aws::CustomerProfiles
1599
2021
  :object_type_name,
1600
2022
  :created_at,
1601
2023
  :last_updated_at,
1602
- :tags)
2024
+ :tags,
2025
+ :object_type_names,
2026
+ :workflow_id)
1603
2027
  SENSITIVE = []
1604
2028
  include Aws::Structure
1605
2029
  end
@@ -1832,6 +2256,147 @@ module Aws::CustomerProfiles
1832
2256
  include Aws::Structure
1833
2257
  end
1834
2258
 
2259
+ # @note When making an API call, you may pass GetWorkflowRequest
2260
+ # data as a hash:
2261
+ #
2262
+ # {
2263
+ # domain_name: "name", # required
2264
+ # workflow_id: "uuid", # required
2265
+ # }
2266
+ #
2267
+ # @!attribute [rw] domain_name
2268
+ # The unique name of the domain.
2269
+ # @return [String]
2270
+ #
2271
+ # @!attribute [rw] workflow_id
2272
+ # Unique identifier for the workflow.
2273
+ # @return [String]
2274
+ #
2275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowRequest AWS API Documentation
2276
+ #
2277
+ class GetWorkflowRequest < Struct.new(
2278
+ :domain_name,
2279
+ :workflow_id)
2280
+ SENSITIVE = []
2281
+ include Aws::Structure
2282
+ end
2283
+
2284
+ # @!attribute [rw] workflow_id
2285
+ # Unique identifier for the workflow.
2286
+ # @return [String]
2287
+ #
2288
+ # @!attribute [rw] workflow_type
2289
+ # The type of workflow. The only supported value is
2290
+ # APPFLOW\_INTEGRATION.
2291
+ # @return [String]
2292
+ #
2293
+ # @!attribute [rw] status
2294
+ # Status of workflow execution.
2295
+ # @return [String]
2296
+ #
2297
+ # @!attribute [rw] error_description
2298
+ # Workflow error messages during execution (if any).
2299
+ # @return [String]
2300
+ #
2301
+ # @!attribute [rw] start_date
2302
+ # The timestamp that represents when workflow execution started.
2303
+ # @return [Time]
2304
+ #
2305
+ # @!attribute [rw] last_updated_at
2306
+ # The timestamp that represents when workflow execution last updated.
2307
+ # @return [Time]
2308
+ #
2309
+ # @!attribute [rw] attributes
2310
+ # Attributes provided for workflow execution.
2311
+ # @return [Types::WorkflowAttributes]
2312
+ #
2313
+ # @!attribute [rw] metrics
2314
+ # Workflow specific execution metrics.
2315
+ # @return [Types::WorkflowMetrics]
2316
+ #
2317
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowResponse AWS API Documentation
2318
+ #
2319
+ class GetWorkflowResponse < Struct.new(
2320
+ :workflow_id,
2321
+ :workflow_type,
2322
+ :status,
2323
+ :error_description,
2324
+ :start_date,
2325
+ :last_updated_at,
2326
+ :attributes,
2327
+ :metrics)
2328
+ SENSITIVE = []
2329
+ include Aws::Structure
2330
+ end
2331
+
2332
+ # @note When making an API call, you may pass GetWorkflowStepsRequest
2333
+ # data as a hash:
2334
+ #
2335
+ # {
2336
+ # domain_name: "name", # required
2337
+ # workflow_id: "uuid", # required
2338
+ # next_token: "token",
2339
+ # max_results: 1,
2340
+ # }
2341
+ #
2342
+ # @!attribute [rw] domain_name
2343
+ # The unique name of the domain.
2344
+ # @return [String]
2345
+ #
2346
+ # @!attribute [rw] workflow_id
2347
+ # Unique identifier for the workflow.
2348
+ # @return [String]
2349
+ #
2350
+ # @!attribute [rw] next_token
2351
+ # The token for the next set of results. Use the value returned in the
2352
+ # previous response in the next request to retrieve the next set of
2353
+ # results.
2354
+ # @return [String]
2355
+ #
2356
+ # @!attribute [rw] max_results
2357
+ # The maximum number of results to return per page.
2358
+ # @return [Integer]
2359
+ #
2360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowStepsRequest AWS API Documentation
2361
+ #
2362
+ class GetWorkflowStepsRequest < Struct.new(
2363
+ :domain_name,
2364
+ :workflow_id,
2365
+ :next_token,
2366
+ :max_results)
2367
+ SENSITIVE = []
2368
+ include Aws::Structure
2369
+ end
2370
+
2371
+ # @!attribute [rw] workflow_id
2372
+ # Unique identifier for the workflow.
2373
+ # @return [String]
2374
+ #
2375
+ # @!attribute [rw] workflow_type
2376
+ # The type of workflow. The only supported value is
2377
+ # APPFLOW\_INTEGRATION.
2378
+ # @return [String]
2379
+ #
2380
+ # @!attribute [rw] items
2381
+ # List containing workflow step details.
2382
+ # @return [Array<Types::WorkflowStepItem>]
2383
+ #
2384
+ # @!attribute [rw] next_token
2385
+ # If there are additional results, this is the token for the next set
2386
+ # of results.
2387
+ # @return [String]
2388
+ #
2389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowStepsResponse AWS API Documentation
2390
+ #
2391
+ class GetWorkflowStepsResponse < Struct.new(
2392
+ :workflow_id,
2393
+ :workflow_type,
2394
+ :items,
2395
+ :next_token)
2396
+ SENSITIVE = []
2397
+ include Aws::Structure
2398
+ end
2399
+
1835
2400
  # Information about the Identity Resolution Job.
1836
2401
  #
1837
2402
  # @!attribute [rw] domain_name
@@ -1929,6 +2494,97 @@ module Aws::CustomerProfiles
1929
2494
  include Aws::Structure
1930
2495
  end
1931
2496
 
2497
+ # Configuration data for integration workflow.
2498
+ #
2499
+ # @note When making an API call, you may pass IntegrationConfig
2500
+ # data as a hash:
2501
+ #
2502
+ # {
2503
+ # appflow_integration: {
2504
+ # flow_definition: { # required
2505
+ # description: "FlowDescription",
2506
+ # flow_name: "FlowName", # required
2507
+ # kms_arn: "KmsArn", # required
2508
+ # source_flow_config: { # required
2509
+ # connector_profile_name: "ConnectorProfileName",
2510
+ # connector_type: "Salesforce", # required, accepts Salesforce, Marketo, Zendesk, Servicenow, S3
2511
+ # incremental_pull_config: {
2512
+ # datetime_type_field_name: "DatetimeTypeFieldName",
2513
+ # },
2514
+ # source_connector_properties: { # required
2515
+ # marketo: {
2516
+ # object: "Object", # required
2517
+ # },
2518
+ # s3: {
2519
+ # bucket_name: "BucketName", # required
2520
+ # bucket_prefix: "BucketPrefix",
2521
+ # },
2522
+ # salesforce: {
2523
+ # object: "Object", # required
2524
+ # enable_dynamic_field_update: false,
2525
+ # include_deleted_records: false,
2526
+ # },
2527
+ # service_now: {
2528
+ # object: "Object", # required
2529
+ # },
2530
+ # zendesk: {
2531
+ # object: "Object", # required
2532
+ # },
2533
+ # },
2534
+ # },
2535
+ # tasks: [ # required
2536
+ # {
2537
+ # connector_operator: {
2538
+ # marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
2539
+ # s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
2540
+ # salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
2541
+ # service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
2542
+ # zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
2543
+ # },
2544
+ # destination_field: "DestinationField",
2545
+ # source_fields: ["stringTo2048"], # required
2546
+ # task_properties: {
2547
+ # "VALUE" => "Property",
2548
+ # },
2549
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
2550
+ # },
2551
+ # ],
2552
+ # trigger_config: { # required
2553
+ # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
2554
+ # trigger_properties: {
2555
+ # scheduled: {
2556
+ # schedule_expression: "ScheduleExpression", # required
2557
+ # data_pull_mode: "Incremental", # accepts Incremental, Complete
2558
+ # schedule_start_time: Time.now,
2559
+ # schedule_end_time: Time.now,
2560
+ # timezone: "Timezone",
2561
+ # schedule_offset: 1,
2562
+ # first_execution_from: Time.now,
2563
+ # },
2564
+ # },
2565
+ # },
2566
+ # },
2567
+ # batches: [
2568
+ # {
2569
+ # start_time: Time.now, # required
2570
+ # end_time: Time.now, # required
2571
+ # },
2572
+ # ],
2573
+ # },
2574
+ # }
2575
+ #
2576
+ # @!attribute [rw] appflow_integration
2577
+ # Configuration data for `APPFLOW_INTEGRATION` workflow type.
2578
+ # @return [Types::AppflowIntegration]
2579
+ #
2580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/IntegrationConfig AWS API Documentation
2581
+ #
2582
+ class IntegrationConfig < Struct.new(
2583
+ :appflow_integration)
2584
+ SENSITIVE = []
2585
+ include Aws::Structure
2586
+ end
2587
+
1932
2588
  # An internal service error occurred.
1933
2589
  #
1934
2590
  # @!attribute [rw] message
@@ -2001,6 +2657,7 @@ module Aws::CustomerProfiles
2001
2657
  # uri: "string1To255", # required
2002
2658
  # next_token: "token",
2003
2659
  # max_results: 1,
2660
+ # include_hidden: false,
2004
2661
  # }
2005
2662
  #
2006
2663
  # @!attribute [rw] uri
@@ -2016,12 +2673,18 @@ module Aws::CustomerProfiles
2016
2673
  # The maximum number of objects returned per page.
2017
2674
  # @return [Integer]
2018
2675
  #
2676
+ # @!attribute [rw] include_hidden
2677
+ # Boolean to indicate if hidden integration should be returned.
2678
+ # Defaults to `False`.
2679
+ # @return [Boolean]
2680
+ #
2019
2681
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrationsRequest AWS API Documentation
2020
2682
  #
2021
2683
  class ListAccountIntegrationsRequest < Struct.new(
2022
2684
  :uri,
2023
2685
  :next_token,
2024
- :max_results)
2686
+ :max_results,
2687
+ :include_hidden)
2025
2688
  SENSITIVE = []
2026
2689
  include Aws::Structure
2027
2690
  end
@@ -2194,6 +2857,20 @@ module Aws::CustomerProfiles
2194
2857
  # resource.
2195
2858
  # @return [Hash<String,String>]
2196
2859
  #
2860
+ # @!attribute [rw] object_type_names
2861
+ # A map in which each key is an event type from an external
2862
+ # application such as Segment or Shopify, and each value is an
2863
+ # `ObjectTypeName` (template) used to ingest the event. It supports
2864
+ # the following event types: `SegmentIdentify`,
2865
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
2866
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
2867
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
2868
+ # @return [Hash<String,String>]
2869
+ #
2870
+ # @!attribute [rw] workflow_id
2871
+ # Unique identifier for the workflow.
2872
+ # @return [String]
2873
+ #
2197
2874
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrationItem AWS API Documentation
2198
2875
  #
2199
2876
  class ListIntegrationItem < Struct.new(
@@ -2202,7 +2879,9 @@ module Aws::CustomerProfiles
2202
2879
  :object_type_name,
2203
2880
  :created_at,
2204
2881
  :last_updated_at,
2205
- :tags)
2882
+ :tags,
2883
+ :object_type_names,
2884
+ :workflow_id)
2206
2885
  SENSITIVE = []
2207
2886
  include Aws::Structure
2208
2887
  end
@@ -2214,6 +2893,7 @@ module Aws::CustomerProfiles
2214
2893
  # domain_name: "name", # required
2215
2894
  # next_token: "token",
2216
2895
  # max_results: 1,
2896
+ # include_hidden: false,
2217
2897
  # }
2218
2898
  #
2219
2899
  # @!attribute [rw] domain_name
@@ -2228,12 +2908,18 @@ module Aws::CustomerProfiles
2228
2908
  # The maximum number of objects returned per page.
2229
2909
  # @return [Integer]
2230
2910
  #
2911
+ # @!attribute [rw] include_hidden
2912
+ # Boolean to indicate if hidden integration should be returned.
2913
+ # Defaults to `False`.
2914
+ # @return [Boolean]
2915
+ #
2231
2916
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrationsRequest AWS API Documentation
2232
2917
  #
2233
2918
  class ListIntegrationsRequest < Struct.new(
2234
2919
  :domain_name,
2235
2920
  :next_token,
2236
- :max_results)
2921
+ :max_results,
2922
+ :include_hidden)
2237
2923
  SENSITIVE = []
2238
2924
  include Aws::Structure
2239
2925
  end
@@ -2469,7 +3155,7 @@ module Aws::CustomerProfiles
2469
3155
  # @!attribute [rw] object_filter
2470
3156
  # Applies a filter to the response to include profile objects with the
2471
3157
  # specified index values. This filter is only supported for
2472
- # ObjectTypeName \_asset and \_case.
3158
+ # ObjectTypeName \_asset, \_case and \_order.
2473
3159
  # @return [Types::ObjectFilter]
2474
3160
  #
2475
3161
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectsRequest AWS API Documentation
@@ -2534,6 +3220,122 @@ module Aws::CustomerProfiles
2534
3220
  include Aws::Structure
2535
3221
  end
2536
3222
 
3223
+ # A workflow in list of workflows.
3224
+ #
3225
+ # @!attribute [rw] workflow_type
3226
+ # The type of workflow. The only supported value is
3227
+ # APPFLOW\_INTEGRATION.
3228
+ # @return [String]
3229
+ #
3230
+ # @!attribute [rw] workflow_id
3231
+ # Unique identifier for the workflow.
3232
+ # @return [String]
3233
+ #
3234
+ # @!attribute [rw] status
3235
+ # Status of workflow execution.
3236
+ # @return [String]
3237
+ #
3238
+ # @!attribute [rw] status_description
3239
+ # Description for workflow execution status.
3240
+ # @return [String]
3241
+ #
3242
+ # @!attribute [rw] created_at
3243
+ # Creation timestamp for workflow.
3244
+ # @return [Time]
3245
+ #
3246
+ # @!attribute [rw] last_updated_at
3247
+ # Last updated timestamp for workflow.
3248
+ # @return [Time]
3249
+ #
3250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListWorkflowsItem AWS API Documentation
3251
+ #
3252
+ class ListWorkflowsItem < Struct.new(
3253
+ :workflow_type,
3254
+ :workflow_id,
3255
+ :status,
3256
+ :status_description,
3257
+ :created_at,
3258
+ :last_updated_at)
3259
+ SENSITIVE = []
3260
+ include Aws::Structure
3261
+ end
3262
+
3263
+ # @note When making an API call, you may pass ListWorkflowsRequest
3264
+ # data as a hash:
3265
+ #
3266
+ # {
3267
+ # domain_name: "name", # required
3268
+ # workflow_type: "APPFLOW_INTEGRATION", # accepts APPFLOW_INTEGRATION
3269
+ # status: "NOT_STARTED", # accepts NOT_STARTED, IN_PROGRESS, COMPLETE, FAILED, SPLIT, RETRY, CANCELLED
3270
+ # query_start_date: Time.now,
3271
+ # query_end_date: Time.now,
3272
+ # next_token: "token",
3273
+ # max_results: 1,
3274
+ # }
3275
+ #
3276
+ # @!attribute [rw] domain_name
3277
+ # The unique name of the domain.
3278
+ # @return [String]
3279
+ #
3280
+ # @!attribute [rw] workflow_type
3281
+ # The type of workflow. The only supported value is
3282
+ # APPFLOW\_INTEGRATION.
3283
+ # @return [String]
3284
+ #
3285
+ # @!attribute [rw] status
3286
+ # Status of workflow execution.
3287
+ # @return [String]
3288
+ #
3289
+ # @!attribute [rw] query_start_date
3290
+ # Retrieve workflows started after timestamp.
3291
+ # @return [Time]
3292
+ #
3293
+ # @!attribute [rw] query_end_date
3294
+ # Retrieve workflows ended after timestamp.
3295
+ # @return [Time]
3296
+ #
3297
+ # @!attribute [rw] next_token
3298
+ # The token for the next set of results. Use the value returned in the
3299
+ # previous response in the next request to retrieve the next set of
3300
+ # results.
3301
+ # @return [String]
3302
+ #
3303
+ # @!attribute [rw] max_results
3304
+ # The maximum number of results to return per page.
3305
+ # @return [Integer]
3306
+ #
3307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListWorkflowsRequest AWS API Documentation
3308
+ #
3309
+ class ListWorkflowsRequest < Struct.new(
3310
+ :domain_name,
3311
+ :workflow_type,
3312
+ :status,
3313
+ :query_start_date,
3314
+ :query_end_date,
3315
+ :next_token,
3316
+ :max_results)
3317
+ SENSITIVE = []
3318
+ include Aws::Structure
3319
+ end
3320
+
3321
+ # @!attribute [rw] items
3322
+ # List containing workflow details.
3323
+ # @return [Array<Types::ListWorkflowsItem>]
3324
+ #
3325
+ # @!attribute [rw] next_token
3326
+ # If there are additional results, this is the token for the next set
3327
+ # of results.
3328
+ # @return [String]
3329
+ #
3330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListWorkflowsResponse AWS API Documentation
3331
+ #
3332
+ class ListWorkflowsResponse < Struct.new(
3333
+ :items,
3334
+ :next_token)
3335
+ SENSITIVE = []
3336
+ include Aws::Structure
3337
+ end
3338
+
2537
3339
  # The properties that are applied when Marketo is being used as a
2538
3340
  # source.
2539
3341
  #
@@ -2751,7 +3553,7 @@ module Aws::CustomerProfiles
2751
3553
 
2752
3554
  # The filter applied to ListProfileObjects response to include profile
2753
3555
  # objects with the specified index values. This filter is only supported
2754
- # for ObjectTypeName \_asset and \_case.
3556
+ # for ObjectTypeName \_asset, \_case and \_order.
2755
3557
  #
2756
3558
  # @note When making an API call, you may pass ObjectFilter
2757
3559
  # data as a hash:
@@ -2765,7 +3567,8 @@ module Aws::CustomerProfiles
2765
3567
  # A searchable identifier of a standard profile object. The predefined
2766
3568
  # keys you can use to search for \_asset include: \_assetId,
2767
3569
  # \_assetName, \_serialNumber. The predefined keys you can use to
2768
- # search for \_case include: \_caseId.
3570
+ # search for \_case include: \_caseId. The predefined keys you can use
3571
+ # to search for \_order include: \_orderId.
2769
3572
  # @return [String]
2770
3573
  #
2771
3574
  # @!attribute [rw] values
@@ -2825,22 +3628,22 @@ module Aws::CustomerProfiles
2825
3628
  # data as a hash:
2826
3629
  #
2827
3630
  # {
2828
- # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
3631
+ # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY, ORDER
2829
3632
  # field_names: ["name"],
2830
3633
  # }
2831
3634
  #
2832
3635
  # @!attribute [rw] standard_identifiers
2833
3636
  # The types of keys that a ProfileObject can have. Each ProfileObject
2834
- # can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET
2835
- # or CASE means that this key can be used to tie an object to a
2836
- # PROFILE, ASSET or CASE respectively. UNIQUE means that it can be
2837
- # used to uniquely identify an object. If a key a is marked as
2838
- # SECONDARY, it will be used to search for profiles after all other
2839
- # PROFILE keys have been searched. A LOOKUP\_ONLY key is only used to
2840
- # match a profile but is not persisted to be used for searching of the
2841
- # profile. A NEW\_ONLY key is only used if the profile does not
2842
- # already exist before the object is ingested, otherwise it is only
2843
- # used for matching objects to profiles.
3637
+ # can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE,
3638
+ # ASSET, CASE, or ORDER means that this key can be used to tie an
3639
+ # object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE
3640
+ # means that it can be used to uniquely identify an object. If a key a
3641
+ # is marked as SECONDARY, it will be used to search for profiles after
3642
+ # all other PROFILE keys have been searched. A LOOKUP\_ONLY key is
3643
+ # only used to match a profile but is not persisted to be used for
3644
+ # searching of the profile. A NEW\_ONLY key is only used if the
3645
+ # profile does not already exist before the object is ingested,
3646
+ # otherwise it is only used for matching objects to profiles.
2844
3647
  # @return [Array<String>]
2845
3648
  #
2846
3649
  # @!attribute [rw] field_names
@@ -2984,7 +3787,7 @@ module Aws::CustomerProfiles
2984
3787
  # {
2985
3788
  # domain_name: "name", # required
2986
3789
  # uri: "string1To255",
2987
- # object_type_name: "typeName", # required
3790
+ # object_type_name: "typeName",
2988
3791
  # tags: {
2989
3792
  # "TagKey" => "TagValue",
2990
3793
  # },
@@ -3051,6 +3854,9 @@ module Aws::CustomerProfiles
3051
3854
  # },
3052
3855
  # },
3053
3856
  # },
3857
+ # object_type_names: {
3858
+ # "string1To255" => "typeName",
3859
+ # },
3054
3860
  # }
3055
3861
  #
3056
3862
  # @!attribute [rw] domain_name
@@ -3075,6 +3881,16 @@ module Aws::CustomerProfiles
3075
3881
  # from the source.
3076
3882
  # @return [Types::FlowDefinition]
3077
3883
  #
3884
+ # @!attribute [rw] object_type_names
3885
+ # A map in which each key is an event type from an external
3886
+ # application such as Segment or Shopify, and each value is an
3887
+ # `ObjectTypeName` (template) used to ingest the event. It supports
3888
+ # the following event types: `SegmentIdentify`,
3889
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
3890
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
3891
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
3892
+ # @return [Hash<String,String>]
3893
+ #
3078
3894
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegrationRequest AWS API Documentation
3079
3895
  #
3080
3896
  class PutIntegrationRequest < Struct.new(
@@ -3082,7 +3898,8 @@ module Aws::CustomerProfiles
3082
3898
  :uri,
3083
3899
  :object_type_name,
3084
3900
  :tags,
3085
- :flow_definition)
3901
+ :flow_definition,
3902
+ :object_type_names)
3086
3903
  SENSITIVE = []
3087
3904
  include Aws::Structure
3088
3905
  end
@@ -3112,6 +3929,20 @@ module Aws::CustomerProfiles
3112
3929
  # resource.
3113
3930
  # @return [Hash<String,String>]
3114
3931
  #
3932
+ # @!attribute [rw] object_type_names
3933
+ # A map in which each key is an event type from an external
3934
+ # application such as Segment or Shopify, and each value is an
3935
+ # `ObjectTypeName` (template) used to ingest the event. It supports
3936
+ # the following event types: `SegmentIdentify`,
3937
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
3938
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
3939
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
3940
+ # @return [Hash<String,String>]
3941
+ #
3942
+ # @!attribute [rw] workflow_id
3943
+ # Unique identifier for the workflow.
3944
+ # @return [String]
3945
+ #
3115
3946
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegrationResponse AWS API Documentation
3116
3947
  #
3117
3948
  class PutIntegrationResponse < Struct.new(
@@ -3120,7 +3951,9 @@ module Aws::CustomerProfiles
3120
3951
  :object_type_name,
3121
3952
  :created_at,
3122
3953
  :last_updated_at,
3123
- :tags)
3954
+ :tags,
3955
+ :object_type_names,
3956
+ :workflow_id)
3124
3957
  SENSITIVE = []
3125
3958
  include Aws::Structure
3126
3959
  end
@@ -3191,7 +4024,7 @@ module Aws::CustomerProfiles
3191
4024
  # keys: {
3192
4025
  # "name" => [
3193
4026
  # {
3194
- # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
4027
+ # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY, ORDER
3195
4028
  # field_names: ["name"],
3196
4029
  # },
3197
4030
  # ],
@@ -3570,10 +4403,12 @@ module Aws::CustomerProfiles
3570
4403
  #
3571
4404
  # @!attribute [rw] key_name
3572
4405
  # A searchable identifier of a customer profile. The predefined keys
3573
- # you can use to search include: \_account, \_profileId, \_fullName,
3574
- # \_phone, \_email, \_ctrContactId, \_marketoLeadId,
3575
- # \_salesforceAccountId, \_salesforceContactId, \_zendeskUserId,
3576
- # \_zendeskExternalId, \_serviceNowSystemId.
4406
+ # you can use to search include: \_account, \_profileId, \_assetId,
4407
+ # \_caseId, \_orderId, \_fullName, \_phone, \_email, \_ctrContactId,
4408
+ # \_marketoLeadId, \_salesforceAccountId, \_salesforceContactId,
4409
+ # \_salesforceAssetId, \_zendeskUserId, \_zendeskExternalId,
4410
+ # \_zendeskTicketId, \_serviceNowSystemId, \_serviceNowIncidentId,
4411
+ # \_segmentUserId, \_shopifyCustomerId, \_shopifyOrderId.
3577
4412
  # @return [String]
3578
4413
  #
3579
4414
  # @!attribute [rw] values
@@ -4414,6 +5249,49 @@ module Aws::CustomerProfiles
4414
5249
  include Aws::Structure
4415
5250
  end
4416
5251
 
5252
+ # Structure to hold workflow attributes.
5253
+ #
5254
+ # @!attribute [rw] appflow_integration
5255
+ # Workflow attributes specific to `APPFLOW_INTEGRATION` workflow.
5256
+ # @return [Types::AppflowIntegrationWorkflowAttributes]
5257
+ #
5258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/WorkflowAttributes AWS API Documentation
5259
+ #
5260
+ class WorkflowAttributes < Struct.new(
5261
+ :appflow_integration)
5262
+ SENSITIVE = []
5263
+ include Aws::Structure
5264
+ end
5265
+
5266
+ # Generic object containing workflow execution metrics.
5267
+ #
5268
+ # @!attribute [rw] appflow_integration
5269
+ # Workflow execution metrics for `APPFLOW_INTEGRATION` workflow.
5270
+ # @return [Types::AppflowIntegrationWorkflowMetrics]
5271
+ #
5272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/WorkflowMetrics AWS API Documentation
5273
+ #
5274
+ class WorkflowMetrics < Struct.new(
5275
+ :appflow_integration)
5276
+ SENSITIVE = []
5277
+ include Aws::Structure
5278
+ end
5279
+
5280
+ # List containing steps in workflow.
5281
+ #
5282
+ # @!attribute [rw] appflow_integration
5283
+ # Workflow step information specific to `APPFLOW_INTEGRATION`
5284
+ # workflow.
5285
+ # @return [Types::AppflowIntegrationWorkflowStep]
5286
+ #
5287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/WorkflowStepItem AWS API Documentation
5288
+ #
5289
+ class WorkflowStepItem < Struct.new(
5290
+ :appflow_integration)
5291
+ SENSITIVE = []
5292
+ include Aws::Structure
5293
+ end
5294
+
4417
5295
  # The properties that are applied when using Zendesk as a flow source.
4418
5296
  #
4419
5297
  # @note When making an API call, you may pass ZendeskSourceProperties