aws-sdk-customerprofiles 1.17.0 → 1.20.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
@@ -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