aws-sdk-customerprofiles 1.15.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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