aws-sdk-customerprofiles 1.17.0 → 1.20.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
@@ -1601,6 +2009,10 @@ module Aws::CustomerProfiles
1601
2009
  # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
1602
2010
  # @return [Hash<String,String>]
1603
2011
  #
2012
+ # @!attribute [rw] workflow_id
2013
+ # Unique identifier for the workflow.
2014
+ # @return [String]
2015
+ #
1604
2016
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegrationResponse AWS API Documentation
1605
2017
  #
1606
2018
  class GetIntegrationResponse < Struct.new(
@@ -1610,7 +2022,8 @@ module Aws::CustomerProfiles
1610
2022
  :created_at,
1611
2023
  :last_updated_at,
1612
2024
  :tags,
1613
- :object_type_names)
2025
+ :object_type_names,
2026
+ :workflow_id)
1614
2027
  SENSITIVE = []
1615
2028
  include Aws::Structure
1616
2029
  end
@@ -1843,6 +2256,147 @@ module Aws::CustomerProfiles
1843
2256
  include Aws::Structure
1844
2257
  end
1845
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
+
1846
2400
  # Information about the Identity Resolution Job.
1847
2401
  #
1848
2402
  # @!attribute [rw] domain_name
@@ -1940,6 +2494,97 @@ module Aws::CustomerProfiles
1940
2494
  include Aws::Structure
1941
2495
  end
1942
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
+
1943
2588
  # An internal service error occurred.
1944
2589
  #
1945
2590
  # @!attribute [rw] message
@@ -2012,6 +2657,7 @@ module Aws::CustomerProfiles
2012
2657
  # uri: "string1To255", # required
2013
2658
  # next_token: "token",
2014
2659
  # max_results: 1,
2660
+ # include_hidden: false,
2015
2661
  # }
2016
2662
  #
2017
2663
  # @!attribute [rw] uri
@@ -2027,12 +2673,18 @@ module Aws::CustomerProfiles
2027
2673
  # The maximum number of objects returned per page.
2028
2674
  # @return [Integer]
2029
2675
  #
2676
+ # @!attribute [rw] include_hidden
2677
+ # Boolean to indicate if hidden integration should be returned.
2678
+ # Defaults to `False`.
2679
+ # @return [Boolean]
2680
+ #
2030
2681
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrationsRequest AWS API Documentation
2031
2682
  #
2032
2683
  class ListAccountIntegrationsRequest < Struct.new(
2033
2684
  :uri,
2034
2685
  :next_token,
2035
- :max_results)
2686
+ :max_results,
2687
+ :include_hidden)
2036
2688
  SENSITIVE = []
2037
2689
  include Aws::Structure
2038
2690
  end
@@ -2215,6 +2867,10 @@ module Aws::CustomerProfiles
2215
2867
  # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
2216
2868
  # @return [Hash<String,String>]
2217
2869
  #
2870
+ # @!attribute [rw] workflow_id
2871
+ # Unique identifier for the workflow.
2872
+ # @return [String]
2873
+ #
2218
2874
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrationItem AWS API Documentation
2219
2875
  #
2220
2876
  class ListIntegrationItem < Struct.new(
@@ -2224,7 +2880,8 @@ module Aws::CustomerProfiles
2224
2880
  :created_at,
2225
2881
  :last_updated_at,
2226
2882
  :tags,
2227
- :object_type_names)
2883
+ :object_type_names,
2884
+ :workflow_id)
2228
2885
  SENSITIVE = []
2229
2886
  include Aws::Structure
2230
2887
  end
@@ -2236,6 +2893,7 @@ module Aws::CustomerProfiles
2236
2893
  # domain_name: "name", # required
2237
2894
  # next_token: "token",
2238
2895
  # max_results: 1,
2896
+ # include_hidden: false,
2239
2897
  # }
2240
2898
  #
2241
2899
  # @!attribute [rw] domain_name
@@ -2250,12 +2908,18 @@ module Aws::CustomerProfiles
2250
2908
  # The maximum number of objects returned per page.
2251
2909
  # @return [Integer]
2252
2910
  #
2911
+ # @!attribute [rw] include_hidden
2912
+ # Boolean to indicate if hidden integration should be returned.
2913
+ # Defaults to `False`.
2914
+ # @return [Boolean]
2915
+ #
2253
2916
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrationsRequest AWS API Documentation
2254
2917
  #
2255
2918
  class ListIntegrationsRequest < Struct.new(
2256
2919
  :domain_name,
2257
2920
  :next_token,
2258
- :max_results)
2921
+ :max_results,
2922
+ :include_hidden)
2259
2923
  SENSITIVE = []
2260
2924
  include Aws::Structure
2261
2925
  end
@@ -2556,6 +3220,122 @@ module Aws::CustomerProfiles
2556
3220
  include Aws::Structure
2557
3221
  end
2558
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
+
2559
3339
  # The properties that are applied when Marketo is being used as a
2560
3340
  # source.
2561
3341
  #
@@ -3159,6 +3939,10 @@ module Aws::CustomerProfiles
3159
3939
  # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
3160
3940
  # @return [Hash<String,String>]
3161
3941
  #
3942
+ # @!attribute [rw] workflow_id
3943
+ # Unique identifier for the workflow.
3944
+ # @return [String]
3945
+ #
3162
3946
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegrationResponse AWS API Documentation
3163
3947
  #
3164
3948
  class PutIntegrationResponse < Struct.new(
@@ -3168,7 +3952,8 @@ module Aws::CustomerProfiles
3168
3952
  :created_at,
3169
3953
  :last_updated_at,
3170
3954
  :tags,
3171
- :object_type_names)
3955
+ :object_type_names,
3956
+ :workflow_id)
3172
3957
  SENSITIVE = []
3173
3958
  include Aws::Structure
3174
3959
  end
@@ -4464,6 +5249,49 @@ module Aws::CustomerProfiles
4464
5249
  include Aws::Structure
4465
5250
  end
4466
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
+
4467
5295
  # The properties that are applied when using Zendesk as a flow source.
4468
5296
  #
4469
5297
  # @note When making an API call, you may pass ZendeskSourceProperties