aws-sdk-appflow 1.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9ee7dbf4db48f4a9ec79fd2910526514ed5f5f11e7a40e9111ae97d4590ca785
4
+ data.tar.gz: b5c1d53af899a3f35019b08884b78caf5176f5ede578bedb6a9eb10336e826c7
5
+ SHA512:
6
+ metadata.gz: ec8df90f5349a40537258c6d81bf0e86e712f175d0475dfe7738b9c0139bf7dea19cc539964f30f1133b66f9fa0283de2dfa08237e692bf57d89fd10bacba5cf
7
+ data.tar.gz: a081f98aa791499398236339973bc3a2dff0b0ccd2bf467e033a15fbcc2421a11f3bdf7d556191050f11a4de5c2a3c8cf39b2492db5f4c6786d5d3358dde663b
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'aws-sdk-core'
11
+ require 'aws-sigv4'
12
+
13
+ require_relative 'aws-sdk-appflow/types'
14
+ require_relative 'aws-sdk-appflow/client_api'
15
+ require_relative 'aws-sdk-appflow/client'
16
+ require_relative 'aws-sdk-appflow/errors'
17
+ require_relative 'aws-sdk-appflow/resource'
18
+ require_relative 'aws-sdk-appflow/customizations'
19
+
20
+ # This module provides support for Amazon Appflow. This module is available in the
21
+ # `aws-sdk-appflow` gem.
22
+ #
23
+ # # Client
24
+ #
25
+ # The {Client} class provides one method for each API operation. Operation
26
+ # methods each accept a hash of request parameters and return a response
27
+ # structure.
28
+ #
29
+ # appflow = Aws::Appflow::Client.new
30
+ # resp = appflow.create_connector_profile(params)
31
+ #
32
+ # See {Client} for more information.
33
+ #
34
+ # # Errors
35
+ #
36
+ # Errors returned from Amazon Appflow are defined in the
37
+ # {Errors} module and all extend {Errors::ServiceError}.
38
+ #
39
+ # begin
40
+ # # do stuff
41
+ # rescue Aws::Appflow::Errors::ServiceError
42
+ # # rescues all Amazon Appflow API errors
43
+ # end
44
+ #
45
+ # See {Errors} for more information.
46
+ #
47
+ # @!group service
48
+ module Aws::Appflow
49
+
50
+ GEM_VERSION = '1.0.0'
51
+
52
+ end
@@ -0,0 +1,1837 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:appflow)
34
+
35
+ module Aws::Appflow
36
+ # An API client for Appflow. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::Appflow::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :appflow
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :validate_params (true)
279
+ # When `true`, request parameters are validated before
280
+ # sending the request.
281
+ #
282
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
+ # requests through. Formatted like 'http://proxy.com:123'.
284
+ #
285
+ # @option options [Float] :http_open_timeout (15) The number of
286
+ # seconds to wait when opening a HTTP session before raising a
287
+ # `Timeout::Error`.
288
+ #
289
+ # @option options [Integer] :http_read_timeout (60) The default
290
+ # number of seconds to wait for response data. This value can
291
+ # safely be set per-request on the session.
292
+ #
293
+ # @option options [Float] :http_idle_timeout (5) The number of
294
+ # seconds a connection is allowed to sit idle before it is
295
+ # considered stale. Stale connections are closed and removed
296
+ # from the pool before making a request.
297
+ #
298
+ # @option options [Float] :http_continue_timeout (1) The number of
299
+ # seconds to wait for a 100-continue response before sending the
300
+ # request body. This option has no effect unless the request has
301
+ # "Expect" header set to "100-continue". Defaults to `nil` which
302
+ # disables this behaviour. This value can safely be set per
303
+ # request on the session.
304
+ #
305
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
306
+ # HTTP debug output will be sent to the `:logger`.
307
+ #
308
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
+ # SSL peer certificates are verified when establishing a
310
+ # connection.
311
+ #
312
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
313
+ # certificate authority bundle file that should be used when
314
+ # verifying peer certificates. If you do not pass
315
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
+ # will be used if available.
317
+ #
318
+ # @option options [String] :ssl_ca_directory Full path of the
319
+ # directory that contains the unbundled SSL certificate
320
+ # authority files for verifying peer certificates. If you do
321
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
+ # system default will be used if available.
323
+ #
324
+ def initialize(*args)
325
+ super
326
+ end
327
+
328
+ # @!group API Operations
329
+
330
+ # Creates a new connector profile associated with your AWS account.
331
+ # There is a soft quota of 100 connector profiles per AWS account. If
332
+ # you need more connector profiles than this quota allows, you can
333
+ # submit a request to the Amazon AppFlow team through the Amazon AppFlow
334
+ # support channel.
335
+ #
336
+ # @option params [required, String] :connector_profile_name
337
+ # The name of the connector profile. The name is unique for each
338
+ # `ConnectorProfile` in your AWS account.
339
+ #
340
+ # @option params [String] :kms_arn
341
+ # The ARN (Amazon Resource Name) of the Key Management Service (KMS) key
342
+ # you provide for encryption. This is required if you do not want to use
343
+ # the Amazon AppFlow-managed KMS key. If you don't provide anything
344
+ # here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
345
+ #
346
+ # @option params [required, String] :connector_type
347
+ # The type of connector, such as Salesforce, Amplitude, and so on.
348
+ #
349
+ # @option params [required, String] :connection_mode
350
+ # Indicates the connection mode and specifies whether it is public or
351
+ # private. Private flows use AWS PrivateLink to route data over AWS
352
+ # infrastructure without exposing it to the public internet.
353
+ #
354
+ # @option params [required, Types::ConnectorProfileConfig] :connector_profile_config
355
+ # Defines the connector-specific configuration and credentials.
356
+ #
357
+ # @return [Types::CreateConnectorProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
358
+ #
359
+ # * {Types::CreateConnectorProfileResponse#connector_profile_arn #connector_profile_arn} => String
360
+ #
361
+ # @example Request syntax with placeholder values
362
+ #
363
+ # resp = client.create_connector_profile({
364
+ # connector_profile_name: "ConnectorProfileName", # required
365
+ # kms_arn: "KMSArn",
366
+ # connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
367
+ # connection_mode: "Public", # required, accepts Public, Private
368
+ # connector_profile_config: { # required
369
+ # connector_profile_properties: { # required
370
+ # amplitude: {
371
+ # },
372
+ # datadog: {
373
+ # instance_url: "InstanceUrl", # required
374
+ # },
375
+ # dynatrace: {
376
+ # instance_url: "InstanceUrl", # required
377
+ # },
378
+ # google_analytics: {
379
+ # },
380
+ # infor_nexus: {
381
+ # instance_url: "InstanceUrl", # required
382
+ # },
383
+ # marketo: {
384
+ # instance_url: "InstanceUrl", # required
385
+ # },
386
+ # redshift: {
387
+ # database_url: "DatabaseUrl", # required
388
+ # bucket_name: "BucketName", # required
389
+ # bucket_prefix: "BucketPrefix",
390
+ # role_arn: "RoleArn", # required
391
+ # },
392
+ # salesforce: {
393
+ # instance_url: "InstanceUrl",
394
+ # is_sandbox_environment: false,
395
+ # },
396
+ # service_now: {
397
+ # instance_url: "InstanceUrl", # required
398
+ # },
399
+ # singular: {
400
+ # },
401
+ # slack: {
402
+ # instance_url: "InstanceUrl", # required
403
+ # },
404
+ # snowflake: {
405
+ # warehouse: "Warehouse", # required
406
+ # stage: "Stage", # required
407
+ # bucket_name: "BucketName", # required
408
+ # bucket_prefix: "BucketPrefix",
409
+ # private_link_service_name: "PrivateLinkServiceName",
410
+ # account_name: "AccountName",
411
+ # region: "Region",
412
+ # },
413
+ # trendmicro: {
414
+ # },
415
+ # veeva: {
416
+ # instance_url: "InstanceUrl", # required
417
+ # },
418
+ # zendesk: {
419
+ # instance_url: "InstanceUrl", # required
420
+ # },
421
+ # },
422
+ # connector_profile_credentials: { # required
423
+ # amplitude: {
424
+ # api_key: "ApiKey", # required
425
+ # secret_key: "SecretKey", # required
426
+ # },
427
+ # datadog: {
428
+ # api_key: "ApiKey", # required
429
+ # application_key: "ApplicationKey", # required
430
+ # },
431
+ # dynatrace: {
432
+ # api_token: "ApiToken", # required
433
+ # },
434
+ # google_analytics: {
435
+ # client_id: "ClientId", # required
436
+ # client_secret: "ClientSecret", # required
437
+ # access_token: "AccessToken",
438
+ # refresh_token: "RefreshToken",
439
+ # o_auth_request: {
440
+ # auth_code: "AuthCode",
441
+ # redirect_uri: "RedirectUri",
442
+ # },
443
+ # },
444
+ # infor_nexus: {
445
+ # access_key_id: "AccessKeyId", # required
446
+ # user_id: "Username", # required
447
+ # secret_access_key: "Key", # required
448
+ # datakey: "Key", # required
449
+ # },
450
+ # marketo: {
451
+ # client_id: "ClientId", # required
452
+ # client_secret: "ClientSecret", # required
453
+ # access_token: "AccessToken",
454
+ # o_auth_request: {
455
+ # auth_code: "AuthCode",
456
+ # redirect_uri: "RedirectUri",
457
+ # },
458
+ # },
459
+ # redshift: {
460
+ # username: "Username", # required
461
+ # password: "Password", # required
462
+ # },
463
+ # salesforce: {
464
+ # access_token: "AccessToken",
465
+ # refresh_token: "RefreshToken",
466
+ # o_auth_request: {
467
+ # auth_code: "AuthCode",
468
+ # redirect_uri: "RedirectUri",
469
+ # },
470
+ # },
471
+ # service_now: {
472
+ # username: "Username", # required
473
+ # password: "Password", # required
474
+ # },
475
+ # singular: {
476
+ # api_key: "ApiKey", # required
477
+ # },
478
+ # slack: {
479
+ # client_id: "ClientId", # required
480
+ # client_secret: "ClientSecret", # required
481
+ # access_token: "AccessToken",
482
+ # o_auth_request: {
483
+ # auth_code: "AuthCode",
484
+ # redirect_uri: "RedirectUri",
485
+ # },
486
+ # },
487
+ # snowflake: {
488
+ # username: "Username", # required
489
+ # password: "Password", # required
490
+ # },
491
+ # trendmicro: {
492
+ # api_secret_key: "ApiSecretKey", # required
493
+ # },
494
+ # veeva: {
495
+ # username: "Username", # required
496
+ # password: "Password", # required
497
+ # },
498
+ # zendesk: {
499
+ # client_id: "ClientId", # required
500
+ # client_secret: "ClientSecret", # required
501
+ # access_token: "AccessToken",
502
+ # o_auth_request: {
503
+ # auth_code: "AuthCode",
504
+ # redirect_uri: "RedirectUri",
505
+ # },
506
+ # },
507
+ # },
508
+ # },
509
+ # })
510
+ #
511
+ # @example Response structure
512
+ #
513
+ # resp.connector_profile_arn #=> String
514
+ #
515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/CreateConnectorProfile AWS API Documentation
516
+ #
517
+ # @overload create_connector_profile(params = {})
518
+ # @param [Hash] params ({})
519
+ def create_connector_profile(params = {}, options = {})
520
+ req = build_request(:create_connector_profile, params)
521
+ req.send_request(options)
522
+ end
523
+
524
+ # Enables your application to create a new flow using Amazon AppFlow.
525
+ # You must create a connector profile before calling this API. Please
526
+ # note that the Request Syntax below shows syntax for multiple
527
+ # destinations, however, you can only transfer data to one item in this
528
+ # list at a time. Amazon AppFlow does not currently support flows to
529
+ # multiple destinations at once.
530
+ #
531
+ # @option params [required, String] :flow_name
532
+ # The specified name of the flow. Spaces are not allowed. Use
533
+ # underscores (\_) or hyphens (-) only.
534
+ #
535
+ # @option params [String] :description
536
+ # A description of the flow you want to create.
537
+ #
538
+ # @option params [String] :kms_arn
539
+ # The ARN (Amazon Resource Name) of the Key Management Service (KMS) key
540
+ # you provide for encryption. This is required if you do not want to use
541
+ # the Amazon AppFlow-managed KMS key. If you don't provide anything
542
+ # here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
543
+ #
544
+ # @option params [required, Types::TriggerConfig] :trigger_config
545
+ # The trigger settings that determine how and when the flow runs.
546
+ #
547
+ # @option params [required, Types::SourceFlowConfig] :source_flow_config
548
+ # The configuration that controls how Amazon AppFlow retrieves data from
549
+ # the source connector.
550
+ #
551
+ # @option params [required, Array<Types::DestinationFlowConfig>] :destination_flow_config_list
552
+ # The configuration that controls how Amazon AppFlow places data in the
553
+ # destination connector.
554
+ #
555
+ # @option params [required, Array<Types::Task>] :tasks
556
+ # A list of tasks that Amazon AppFlow performs while transferring the
557
+ # data in the flow run.
558
+ #
559
+ # @option params [Hash<String,String>] :tags
560
+ # The tags used to organize, track, or control access for your flow.
561
+ #
562
+ # @return [Types::CreateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
563
+ #
564
+ # * {Types::CreateFlowResponse#flow_arn #flow_arn} => String
565
+ # * {Types::CreateFlowResponse#flow_status #flow_status} => String
566
+ #
567
+ # @example Request syntax with placeholder values
568
+ #
569
+ # resp = client.create_flow({
570
+ # flow_name: "FlowName", # required
571
+ # description: "FlowDescription",
572
+ # kms_arn: "KMSArn",
573
+ # trigger_config: { # required
574
+ # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
575
+ # trigger_properties: {
576
+ # scheduled: {
577
+ # schedule_expression: "ScheduleExpression", # required
578
+ # data_pull_mode: "Incremental", # accepts Incremental, Complete
579
+ # schedule_start_time: Time.now,
580
+ # schedule_end_time: Time.now,
581
+ # timezone: "Timezone",
582
+ # },
583
+ # },
584
+ # },
585
+ # source_flow_config: { # required
586
+ # connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
587
+ # connector_profile_name: "ConnectorProfileName",
588
+ # source_connector_properties: { # required
589
+ # amplitude: {
590
+ # object: "Object", # required
591
+ # },
592
+ # datadog: {
593
+ # object: "Object", # required
594
+ # },
595
+ # dynatrace: {
596
+ # object: "Object", # required
597
+ # },
598
+ # google_analytics: {
599
+ # object: "Object", # required
600
+ # },
601
+ # infor_nexus: {
602
+ # object: "Object", # required
603
+ # },
604
+ # marketo: {
605
+ # object: "Object", # required
606
+ # },
607
+ # s3: {
608
+ # bucket_name: "BucketName", # required
609
+ # bucket_prefix: "BucketPrefix",
610
+ # },
611
+ # salesforce: {
612
+ # object: "Object", # required
613
+ # enable_dynamic_field_update: false,
614
+ # include_deleted_records: false,
615
+ # },
616
+ # service_now: {
617
+ # object: "Object", # required
618
+ # },
619
+ # singular: {
620
+ # object: "Object", # required
621
+ # },
622
+ # slack: {
623
+ # object: "Object", # required
624
+ # },
625
+ # trendmicro: {
626
+ # object: "Object", # required
627
+ # },
628
+ # veeva: {
629
+ # object: "Object", # required
630
+ # },
631
+ # zendesk: {
632
+ # object: "Object", # required
633
+ # },
634
+ # },
635
+ # },
636
+ # destination_flow_config_list: [ # required
637
+ # {
638
+ # connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
639
+ # connector_profile_name: "ConnectorProfileName",
640
+ # destination_connector_properties: { # required
641
+ # redshift: {
642
+ # object: "Object", # required
643
+ # intermediate_bucket_name: "BucketName", # required
644
+ # bucket_prefix: "BucketPrefix",
645
+ # error_handling_config: {
646
+ # fail_on_first_destination_error: false,
647
+ # bucket_prefix: "BucketPrefix",
648
+ # bucket_name: "BucketName",
649
+ # },
650
+ # },
651
+ # s3: {
652
+ # bucket_name: "BucketName", # required
653
+ # bucket_prefix: "BucketPrefix",
654
+ # s3_output_format_config: {
655
+ # file_type: "CSV", # accepts CSV, JSON, PARQUET
656
+ # prefix_config: {
657
+ # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
658
+ # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
659
+ # },
660
+ # aggregation_config: {
661
+ # aggregation_type: "None", # accepts None, SingleFile
662
+ # },
663
+ # },
664
+ # },
665
+ # salesforce: {
666
+ # object: "Object", # required
667
+ # error_handling_config: {
668
+ # fail_on_first_destination_error: false,
669
+ # bucket_prefix: "BucketPrefix",
670
+ # bucket_name: "BucketName",
671
+ # },
672
+ # },
673
+ # snowflake: {
674
+ # object: "Object", # required
675
+ # intermediate_bucket_name: "BucketName", # required
676
+ # bucket_prefix: "BucketPrefix",
677
+ # error_handling_config: {
678
+ # fail_on_first_destination_error: false,
679
+ # bucket_prefix: "BucketPrefix",
680
+ # bucket_name: "BucketName",
681
+ # },
682
+ # },
683
+ # event_bridge: {
684
+ # object: "Object", # required
685
+ # error_handling_config: {
686
+ # fail_on_first_destination_error: false,
687
+ # bucket_prefix: "BucketPrefix",
688
+ # bucket_name: "BucketName",
689
+ # },
690
+ # },
691
+ # },
692
+ # },
693
+ # ],
694
+ # tasks: [ # required
695
+ # {
696
+ # source_fields: ["String"], # required
697
+ # connector_operator: {
698
+ # amplitude: "BETWEEN", # accepts BETWEEN
699
+ # datadog: "PROJECTION", # accepts PROJECTION, BETWEEN, 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
700
+ # dynatrace: "PROJECTION", # accepts PROJECTION, BETWEEN, 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
701
+ # google_analytics: "PROJECTION", # accepts PROJECTION, BETWEEN
702
+ # infor_nexus: "PROJECTION", # accepts PROJECTION, BETWEEN, 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
703
+ # 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
704
+ # 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
705
+ # 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
706
+ # 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
707
+ # singular: "PROJECTION", # accepts PROJECTION, 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
708
+ # slack: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, 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
709
+ # trendmicro: "PROJECTION", # accepts PROJECTION, 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
710
+ # veeva: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, CONTAINS, 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
711
+ # 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
712
+ # },
713
+ # destination_field: "DestinationField",
714
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
715
+ # task_properties: {
716
+ # "VALUE" => "Property",
717
+ # },
718
+ # },
719
+ # ],
720
+ # tags: {
721
+ # "TagKey" => "TagValue",
722
+ # },
723
+ # })
724
+ #
725
+ # @example Response structure
726
+ #
727
+ # resp.flow_arn #=> String
728
+ # resp.flow_status #=> String, one of "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended"
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/CreateFlow AWS API Documentation
731
+ #
732
+ # @overload create_flow(params = {})
733
+ # @param [Hash] params ({})
734
+ def create_flow(params = {}, options = {})
735
+ req = build_request(:create_flow, params)
736
+ req.send_request(options)
737
+ end
738
+
739
+ # Enables you to delete an existing connector profile.
740
+ #
741
+ # @option params [required, String] :connector_profile_name
742
+ # The name of the connector profile. The name is unique for each
743
+ # `ConnectorProfile` in your account.
744
+ #
745
+ # @option params [Boolean] :force_delete
746
+ # Indicates whether Amazon AppFlow should delete the profile, even if it
747
+ # is currently in use in one or more flows.
748
+ #
749
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
750
+ #
751
+ # @example Request syntax with placeholder values
752
+ #
753
+ # resp = client.delete_connector_profile({
754
+ # connector_profile_name: "ConnectorProfileName", # required
755
+ # force_delete: false,
756
+ # })
757
+ #
758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DeleteConnectorProfile AWS API Documentation
759
+ #
760
+ # @overload delete_connector_profile(params = {})
761
+ # @param [Hash] params ({})
762
+ def delete_connector_profile(params = {}, options = {})
763
+ req = build_request(:delete_connector_profile, params)
764
+ req.send_request(options)
765
+ end
766
+
767
+ # Enables your application to delete an existing flow. Before deleting
768
+ # the flow, Amazon AppFlow validates the request by checking the flow
769
+ # configuration and status. You can delete flows one at a time.
770
+ #
771
+ # @option params [required, String] :flow_name
772
+ # The specified name of the flow. Spaces are not allowed. Use
773
+ # underscores (\_) or hyphens (-) only.
774
+ #
775
+ # @option params [Boolean] :force_delete
776
+ # Indicates whether Amazon AppFlow should delete the flow, even if it is
777
+ # currently in use.
778
+ #
779
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
780
+ #
781
+ # @example Request syntax with placeholder values
782
+ #
783
+ # resp = client.delete_flow({
784
+ # flow_name: "FlowName", # required
785
+ # force_delete: false,
786
+ # })
787
+ #
788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DeleteFlow AWS API Documentation
789
+ #
790
+ # @overload delete_flow(params = {})
791
+ # @param [Hash] params ({})
792
+ def delete_flow(params = {}, options = {})
793
+ req = build_request(:delete_flow, params)
794
+ req.send_request(options)
795
+ end
796
+
797
+ # Provides details regarding the entity used with the connector, with a
798
+ # description of the data model for each entity.
799
+ #
800
+ # @option params [required, String] :connector_entity_name
801
+ # The entity name for that connector.
802
+ #
803
+ # @option params [String] :connector_type
804
+ # The type of connector application, such as Salesforce, Amplitude, and
805
+ # so on.
806
+ #
807
+ # @option params [String] :connector_profile_name
808
+ # The name of the connector profile. The name is unique for each
809
+ # `ConnectorProfile` in the AWS account.
810
+ #
811
+ # @return [Types::DescribeConnectorEntityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
812
+ #
813
+ # * {Types::DescribeConnectorEntityResponse#connector_entity_fields #connector_entity_fields} => Array&lt;Types::ConnectorEntityField&gt;
814
+ #
815
+ # @example Request syntax with placeholder values
816
+ #
817
+ # resp = client.describe_connector_entity({
818
+ # connector_entity_name: "Name", # required
819
+ # connector_type: "Salesforce", # accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
820
+ # connector_profile_name: "ConnectorProfileName",
821
+ # })
822
+ #
823
+ # @example Response structure
824
+ #
825
+ # resp.connector_entity_fields #=> Array
826
+ # resp.connector_entity_fields[0].identifier #=> String
827
+ # resp.connector_entity_fields[0].label #=> String
828
+ # resp.connector_entity_fields[0].supported_field_type_details.v1.field_type #=> String
829
+ # resp.connector_entity_fields[0].supported_field_type_details.v1.filter_operators #=> Array
830
+ # resp.connector_entity_fields[0].supported_field_type_details.v1.filter_operators[0] #=> String, one of "PROJECTION", "LESS_THAN", "GREATER_THAN", "CONTAINS", "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"
831
+ # resp.connector_entity_fields[0].supported_field_type_details.v1.supported_values #=> Array
832
+ # resp.connector_entity_fields[0].supported_field_type_details.v1.supported_values[0] #=> String
833
+ # resp.connector_entity_fields[0].description #=> String
834
+ # resp.connector_entity_fields[0].source_properties.is_retrievable #=> Boolean
835
+ # resp.connector_entity_fields[0].source_properties.is_queryable #=> Boolean
836
+ # resp.connector_entity_fields[0].destination_properties.is_creatable #=> Boolean
837
+ # resp.connector_entity_fields[0].destination_properties.is_nullable #=> Boolean
838
+ # resp.connector_entity_fields[0].destination_properties.is_upsertable #=> Boolean
839
+ #
840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeConnectorEntity AWS API Documentation
841
+ #
842
+ # @overload describe_connector_entity(params = {})
843
+ # @param [Hash] params ({})
844
+ def describe_connector_entity(params = {}, options = {})
845
+ req = build_request(:describe_connector_entity, params)
846
+ req.send_request(options)
847
+ end
848
+
849
+ # Returns a list of `connector-profile` details matching the provided
850
+ # `connector-profile` names and `connector-types`. Both input lists are
851
+ # optional, and you can use them to filter the result.
852
+ #
853
+ # If no names or `connector-types` are provided, returns all connector
854
+ # profiles in a paginated form. If there is no match, this operation
855
+ # returns an empty list.
856
+ #
857
+ # @option params [Array<String>] :connector_profile_names
858
+ # The name of the connector profile. The name is unique for each
859
+ # `ConnectorProfile` in the AWS account.
860
+ #
861
+ # @option params [String] :connector_type
862
+ # The type of connector, such as Salesforce, Amplitude, and so on.
863
+ #
864
+ # @option params [Integer] :max_results
865
+ # Specifies the maximum number of items that should be returned in the
866
+ # result set. The default for `maxResults` is 20 (for all paginated API
867
+ # operations).
868
+ #
869
+ # @option params [String] :next_token
870
+ # The pagination token for the next page of data.
871
+ #
872
+ # @return [Types::DescribeConnectorProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
873
+ #
874
+ # * {Types::DescribeConnectorProfilesResponse#connector_profile_details #connector_profile_details} => Array&lt;Types::ConnectorProfile&gt;
875
+ # * {Types::DescribeConnectorProfilesResponse#next_token #next_token} => String
876
+ #
877
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
878
+ #
879
+ # @example Request syntax with placeholder values
880
+ #
881
+ # resp = client.describe_connector_profiles({
882
+ # connector_profile_names: ["ConnectorProfileName"],
883
+ # connector_type: "Salesforce", # accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
884
+ # max_results: 1,
885
+ # next_token: "NextToken",
886
+ # })
887
+ #
888
+ # @example Response structure
889
+ #
890
+ # resp.connector_profile_details #=> Array
891
+ # resp.connector_profile_details[0].connector_profile_arn #=> String
892
+ # resp.connector_profile_details[0].connector_profile_name #=> String
893
+ # resp.connector_profile_details[0].connector_type #=> String, one of "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge"
894
+ # resp.connector_profile_details[0].connection_mode #=> String, one of "Public", "Private"
895
+ # resp.connector_profile_details[0].credentials_arn #=> String
896
+ # resp.connector_profile_details[0].connector_profile_properties.datadog.instance_url #=> String
897
+ # resp.connector_profile_details[0].connector_profile_properties.dynatrace.instance_url #=> String
898
+ # resp.connector_profile_details[0].connector_profile_properties.infor_nexus.instance_url #=> String
899
+ # resp.connector_profile_details[0].connector_profile_properties.marketo.instance_url #=> String
900
+ # resp.connector_profile_details[0].connector_profile_properties.redshift.database_url #=> String
901
+ # resp.connector_profile_details[0].connector_profile_properties.redshift.bucket_name #=> String
902
+ # resp.connector_profile_details[0].connector_profile_properties.redshift.bucket_prefix #=> String
903
+ # resp.connector_profile_details[0].connector_profile_properties.redshift.role_arn #=> String
904
+ # resp.connector_profile_details[0].connector_profile_properties.salesforce.instance_url #=> String
905
+ # resp.connector_profile_details[0].connector_profile_properties.salesforce.is_sandbox_environment #=> Boolean
906
+ # resp.connector_profile_details[0].connector_profile_properties.service_now.instance_url #=> String
907
+ # resp.connector_profile_details[0].connector_profile_properties.slack.instance_url #=> String
908
+ # resp.connector_profile_details[0].connector_profile_properties.snowflake.warehouse #=> String
909
+ # resp.connector_profile_details[0].connector_profile_properties.snowflake.stage #=> String
910
+ # resp.connector_profile_details[0].connector_profile_properties.snowflake.bucket_name #=> String
911
+ # resp.connector_profile_details[0].connector_profile_properties.snowflake.bucket_prefix #=> String
912
+ # resp.connector_profile_details[0].connector_profile_properties.snowflake.private_link_service_name #=> String
913
+ # resp.connector_profile_details[0].connector_profile_properties.snowflake.account_name #=> String
914
+ # resp.connector_profile_details[0].connector_profile_properties.snowflake.region #=> String
915
+ # resp.connector_profile_details[0].connector_profile_properties.veeva.instance_url #=> String
916
+ # resp.connector_profile_details[0].connector_profile_properties.zendesk.instance_url #=> String
917
+ # resp.connector_profile_details[0].created_at #=> Time
918
+ # resp.connector_profile_details[0].last_updated_at #=> Time
919
+ # resp.next_token #=> String
920
+ #
921
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeConnectorProfiles AWS API Documentation
922
+ #
923
+ # @overload describe_connector_profiles(params = {})
924
+ # @param [Hash] params ({})
925
+ def describe_connector_profiles(params = {}, options = {})
926
+ req = build_request(:describe_connector_profiles, params)
927
+ req.send_request(options)
928
+ end
929
+
930
+ # Describes the connectors vended by Amazon AppFlow for specified
931
+ # connector types. If you don't specify a connector type, this
932
+ # operation describes all connectors vended by Amazon AppFlow. If there
933
+ # are more connectors than can be returned in one page, the response
934
+ # contains a `nextToken` object, which can be be passed in to the next
935
+ # call to the `DescribeConnectors` API operation to retrieve the next
936
+ # page.
937
+ #
938
+ # @option params [Array<String>] :connector_types
939
+ # The type of connector, such as Salesforce, Amplitude, and so on.
940
+ #
941
+ # @option params [String] :next_token
942
+ # The pagination token for the next page of data.
943
+ #
944
+ # @return [Types::DescribeConnectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
945
+ #
946
+ # * {Types::DescribeConnectorsResponse#connector_configurations #connector_configurations} => Hash&lt;String,Types::ConnectorConfiguration&gt;
947
+ # * {Types::DescribeConnectorsResponse#next_token #next_token} => String
948
+ #
949
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
950
+ #
951
+ # @example Request syntax with placeholder values
952
+ #
953
+ # resp = client.describe_connectors({
954
+ # connector_types: ["Salesforce"], # accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
955
+ # next_token: "NextToken",
956
+ # })
957
+ #
958
+ # @example Response structure
959
+ #
960
+ # resp.connector_configurations #=> Hash
961
+ # resp.connector_configurations["ConnectorType"].can_use_as_source #=> Boolean
962
+ # resp.connector_configurations["ConnectorType"].can_use_as_destination #=> Boolean
963
+ # resp.connector_configurations["ConnectorType"].supported_destination_connectors #=> Array
964
+ # resp.connector_configurations["ConnectorType"].supported_destination_connectors[0] #=> String, one of "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge"
965
+ # resp.connector_configurations["ConnectorType"].supported_scheduling_frequencies #=> Array
966
+ # resp.connector_configurations["ConnectorType"].supported_scheduling_frequencies[0] #=> String, one of "BYMINUTE", "HOURLY", "DAILY", "WEEKLY", "MONTHLY", "ONCE"
967
+ # resp.connector_configurations["ConnectorType"].is_private_link_enabled #=> Boolean
968
+ # resp.connector_configurations["ConnectorType"].is_private_link_endpoint_url_required #=> Boolean
969
+ # resp.connector_configurations["ConnectorType"].supported_trigger_types #=> Array
970
+ # resp.connector_configurations["ConnectorType"].supported_trigger_types[0] #=> String, one of "Scheduled", "Event", "OnDemand"
971
+ # resp.connector_configurations["ConnectorType"].connector_metadata.google_analytics.o_auth_scopes #=> Array
972
+ # resp.connector_configurations["ConnectorType"].connector_metadata.google_analytics.o_auth_scopes[0] #=> String
973
+ # resp.connector_configurations["ConnectorType"].connector_metadata.salesforce.o_auth_scopes #=> Array
974
+ # resp.connector_configurations["ConnectorType"].connector_metadata.salesforce.o_auth_scopes[0] #=> String
975
+ # resp.connector_configurations["ConnectorType"].connector_metadata.slack.o_auth_scopes #=> Array
976
+ # resp.connector_configurations["ConnectorType"].connector_metadata.slack.o_auth_scopes[0] #=> String
977
+ # resp.connector_configurations["ConnectorType"].connector_metadata.snowflake.supported_regions #=> Array
978
+ # resp.connector_configurations["ConnectorType"].connector_metadata.snowflake.supported_regions[0] #=> String
979
+ # resp.connector_configurations["ConnectorType"].connector_metadata.zendesk.o_auth_scopes #=> Array
980
+ # resp.connector_configurations["ConnectorType"].connector_metadata.zendesk.o_auth_scopes[0] #=> String
981
+ # resp.next_token #=> String
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeConnectors AWS API Documentation
984
+ #
985
+ # @overload describe_connectors(params = {})
986
+ # @param [Hash] params ({})
987
+ def describe_connectors(params = {}, options = {})
988
+ req = build_request(:describe_connectors, params)
989
+ req.send_request(options)
990
+ end
991
+
992
+ # Provides a description of the specified flow.
993
+ #
994
+ # @option params [required, String] :flow_name
995
+ # The specified name of the flow. Spaces are not allowed. Use
996
+ # underscores (\_) or hyphens (-) only.
997
+ #
998
+ # @return [Types::DescribeFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
999
+ #
1000
+ # * {Types::DescribeFlowResponse#flow_arn #flow_arn} => String
1001
+ # * {Types::DescribeFlowResponse#description #description} => String
1002
+ # * {Types::DescribeFlowResponse#flow_name #flow_name} => String
1003
+ # * {Types::DescribeFlowResponse#kms_arn #kms_arn} => String
1004
+ # * {Types::DescribeFlowResponse#flow_status #flow_status} => String
1005
+ # * {Types::DescribeFlowResponse#flow_status_message #flow_status_message} => String
1006
+ # * {Types::DescribeFlowResponse#source_flow_config #source_flow_config} => Types::SourceFlowConfig
1007
+ # * {Types::DescribeFlowResponse#destination_flow_config_list #destination_flow_config_list} => Array&lt;Types::DestinationFlowConfig&gt;
1008
+ # * {Types::DescribeFlowResponse#last_run_execution_details #last_run_execution_details} => Types::ExecutionDetails
1009
+ # * {Types::DescribeFlowResponse#trigger_config #trigger_config} => Types::TriggerConfig
1010
+ # * {Types::DescribeFlowResponse#tasks #tasks} => Array&lt;Types::Task&gt;
1011
+ # * {Types::DescribeFlowResponse#created_at #created_at} => Time
1012
+ # * {Types::DescribeFlowResponse#last_updated_at #last_updated_at} => Time
1013
+ # * {Types::DescribeFlowResponse#created_by #created_by} => String
1014
+ # * {Types::DescribeFlowResponse#last_updated_by #last_updated_by} => String
1015
+ # * {Types::DescribeFlowResponse#tags #tags} => Hash&lt;String,String&gt;
1016
+ #
1017
+ # @example Request syntax with placeholder values
1018
+ #
1019
+ # resp = client.describe_flow({
1020
+ # flow_name: "FlowName", # required
1021
+ # })
1022
+ #
1023
+ # @example Response structure
1024
+ #
1025
+ # resp.flow_arn #=> String
1026
+ # resp.description #=> String
1027
+ # resp.flow_name #=> String
1028
+ # resp.kms_arn #=> String
1029
+ # resp.flow_status #=> String, one of "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended"
1030
+ # resp.flow_status_message #=> String
1031
+ # resp.source_flow_config.connector_type #=> String, one of "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge"
1032
+ # resp.source_flow_config.connector_profile_name #=> String
1033
+ # resp.source_flow_config.source_connector_properties.amplitude.object #=> String
1034
+ # resp.source_flow_config.source_connector_properties.datadog.object #=> String
1035
+ # resp.source_flow_config.source_connector_properties.dynatrace.object #=> String
1036
+ # resp.source_flow_config.source_connector_properties.google_analytics.object #=> String
1037
+ # resp.source_flow_config.source_connector_properties.infor_nexus.object #=> String
1038
+ # resp.source_flow_config.source_connector_properties.marketo.object #=> String
1039
+ # resp.source_flow_config.source_connector_properties.s3.bucket_name #=> String
1040
+ # resp.source_flow_config.source_connector_properties.s3.bucket_prefix #=> String
1041
+ # resp.source_flow_config.source_connector_properties.salesforce.object #=> String
1042
+ # resp.source_flow_config.source_connector_properties.salesforce.enable_dynamic_field_update #=> Boolean
1043
+ # resp.source_flow_config.source_connector_properties.salesforce.include_deleted_records #=> Boolean
1044
+ # resp.source_flow_config.source_connector_properties.service_now.object #=> String
1045
+ # resp.source_flow_config.source_connector_properties.singular.object #=> String
1046
+ # resp.source_flow_config.source_connector_properties.slack.object #=> String
1047
+ # resp.source_flow_config.source_connector_properties.trendmicro.object #=> String
1048
+ # resp.source_flow_config.source_connector_properties.veeva.object #=> String
1049
+ # resp.source_flow_config.source_connector_properties.zendesk.object #=> String
1050
+ # resp.destination_flow_config_list #=> Array
1051
+ # resp.destination_flow_config_list[0].connector_type #=> String, one of "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge"
1052
+ # resp.destination_flow_config_list[0].connector_profile_name #=> String
1053
+ # resp.destination_flow_config_list[0].destination_connector_properties.redshift.object #=> String
1054
+ # resp.destination_flow_config_list[0].destination_connector_properties.redshift.intermediate_bucket_name #=> String
1055
+ # resp.destination_flow_config_list[0].destination_connector_properties.redshift.bucket_prefix #=> String
1056
+ # resp.destination_flow_config_list[0].destination_connector_properties.redshift.error_handling_config.fail_on_first_destination_error #=> Boolean
1057
+ # resp.destination_flow_config_list[0].destination_connector_properties.redshift.error_handling_config.bucket_prefix #=> String
1058
+ # resp.destination_flow_config_list[0].destination_connector_properties.redshift.error_handling_config.bucket_name #=> String
1059
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.bucket_name #=> String
1060
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.bucket_prefix #=> String
1061
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.file_type #=> String, one of "CSV", "JSON", "PARQUET"
1062
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.prefix_config.prefix_type #=> String, one of "FILENAME", "PATH", "PATH_AND_FILENAME"
1063
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.prefix_config.prefix_format #=> String, one of "YEAR", "MONTH", "DAY", "HOUR", "MINUTE"
1064
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.aggregation_config.aggregation_type #=> String, one of "None", "SingleFile"
1065
+ # resp.destination_flow_config_list[0].destination_connector_properties.salesforce.object #=> String
1066
+ # resp.destination_flow_config_list[0].destination_connector_properties.salesforce.error_handling_config.fail_on_first_destination_error #=> Boolean
1067
+ # resp.destination_flow_config_list[0].destination_connector_properties.salesforce.error_handling_config.bucket_prefix #=> String
1068
+ # resp.destination_flow_config_list[0].destination_connector_properties.salesforce.error_handling_config.bucket_name #=> String
1069
+ # resp.destination_flow_config_list[0].destination_connector_properties.snowflake.object #=> String
1070
+ # resp.destination_flow_config_list[0].destination_connector_properties.snowflake.intermediate_bucket_name #=> String
1071
+ # resp.destination_flow_config_list[0].destination_connector_properties.snowflake.bucket_prefix #=> String
1072
+ # resp.destination_flow_config_list[0].destination_connector_properties.snowflake.error_handling_config.fail_on_first_destination_error #=> Boolean
1073
+ # resp.destination_flow_config_list[0].destination_connector_properties.snowflake.error_handling_config.bucket_prefix #=> String
1074
+ # resp.destination_flow_config_list[0].destination_connector_properties.snowflake.error_handling_config.bucket_name #=> String
1075
+ # resp.destination_flow_config_list[0].destination_connector_properties.event_bridge.object #=> String
1076
+ # resp.destination_flow_config_list[0].destination_connector_properties.event_bridge.error_handling_config.fail_on_first_destination_error #=> Boolean
1077
+ # resp.destination_flow_config_list[0].destination_connector_properties.event_bridge.error_handling_config.bucket_prefix #=> String
1078
+ # resp.destination_flow_config_list[0].destination_connector_properties.event_bridge.error_handling_config.bucket_name #=> String
1079
+ # resp.last_run_execution_details.most_recent_execution_message #=> String
1080
+ # resp.last_run_execution_details.most_recent_execution_time #=> Time
1081
+ # resp.last_run_execution_details.most_recent_execution_status #=> String, one of "InProgress", "Successful", "Error"
1082
+ # resp.trigger_config.trigger_type #=> String, one of "Scheduled", "Event", "OnDemand"
1083
+ # resp.trigger_config.trigger_properties.scheduled.schedule_expression #=> String
1084
+ # resp.trigger_config.trigger_properties.scheduled.data_pull_mode #=> String, one of "Incremental", "Complete"
1085
+ # resp.trigger_config.trigger_properties.scheduled.schedule_start_time #=> Time
1086
+ # resp.trigger_config.trigger_properties.scheduled.schedule_end_time #=> Time
1087
+ # resp.trigger_config.trigger_properties.scheduled.timezone #=> String
1088
+ # resp.tasks #=> Array
1089
+ # resp.tasks[0].source_fields #=> Array
1090
+ # resp.tasks[0].source_fields[0] #=> String
1091
+ # resp.tasks[0].connector_operator.amplitude #=> String, one of "BETWEEN"
1092
+ # resp.tasks[0].connector_operator.datadog #=> String, one of "PROJECTION", "BETWEEN", "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"
1093
+ # resp.tasks[0].connector_operator.dynatrace #=> String, one of "PROJECTION", "BETWEEN", "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"
1094
+ # resp.tasks[0].connector_operator.google_analytics #=> String, one of "PROJECTION", "BETWEEN"
1095
+ # resp.tasks[0].connector_operator.infor_nexus #=> String, one of "PROJECTION", "BETWEEN", "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"
1096
+ # resp.tasks[0].connector_operator.marketo #=> String, one of "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"
1097
+ # resp.tasks[0].connector_operator.s3 #=> String, one of "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"
1098
+ # resp.tasks[0].connector_operator.salesforce #=> String, one of "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"
1099
+ # resp.tasks[0].connector_operator.service_now #=> String, one of "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"
1100
+ # resp.tasks[0].connector_operator.singular #=> String, one of "PROJECTION", "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"
1101
+ # resp.tasks[0].connector_operator.slack #=> String, one of "PROJECTION", "LESS_THAN", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "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"
1102
+ # resp.tasks[0].connector_operator.trendmicro #=> String, one of "PROJECTION", "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"
1103
+ # resp.tasks[0].connector_operator.veeva #=> String, one of "PROJECTION", "LESS_THAN", "GREATER_THAN", "CONTAINS", "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"
1104
+ # resp.tasks[0].connector_operator.zendesk #=> String, one of "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"
1105
+ # resp.tasks[0].destination_field #=> String
1106
+ # resp.tasks[0].task_type #=> String, one of "Arithmetic", "Filter", "Map", "Mask", "Merge", "Truncate", "Validate"
1107
+ # resp.tasks[0].task_properties #=> Hash
1108
+ # resp.tasks[0].task_properties["OperatorPropertiesKeys"] #=> String
1109
+ # resp.created_at #=> Time
1110
+ # resp.last_updated_at #=> Time
1111
+ # resp.created_by #=> String
1112
+ # resp.last_updated_by #=> String
1113
+ # resp.tags #=> Hash
1114
+ # resp.tags["TagKey"] #=> String
1115
+ #
1116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeFlow AWS API Documentation
1117
+ #
1118
+ # @overload describe_flow(params = {})
1119
+ # @param [Hash] params ({})
1120
+ def describe_flow(params = {}, options = {})
1121
+ req = build_request(:describe_flow, params)
1122
+ req.send_request(options)
1123
+ end
1124
+
1125
+ # Fetches the execution history of the flow.
1126
+ #
1127
+ # @option params [required, String] :flow_name
1128
+ # The specified name of the flow. Spaces are not allowed. Use
1129
+ # underscores (\_) or hyphens (-) only.
1130
+ #
1131
+ # @option params [Integer] :max_results
1132
+ # Specifies the maximum number of items that should be returned in the
1133
+ # result set. The default for `maxResults` is 20 (for all paginated API
1134
+ # operations).
1135
+ #
1136
+ # @option params [String] :next_token
1137
+ # The pagination token for the next page of data.
1138
+ #
1139
+ # @return [Types::DescribeFlowExecutionRecordsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1140
+ #
1141
+ # * {Types::DescribeFlowExecutionRecordsResponse#flow_executions #flow_executions} => Array&lt;Types::ExecutionRecord&gt;
1142
+ # * {Types::DescribeFlowExecutionRecordsResponse#next_token #next_token} => String
1143
+ #
1144
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1145
+ #
1146
+ # @example Request syntax with placeholder values
1147
+ #
1148
+ # resp = client.describe_flow_execution_records({
1149
+ # flow_name: "FlowName", # required
1150
+ # max_results: 1,
1151
+ # next_token: "NextToken",
1152
+ # })
1153
+ #
1154
+ # @example Response structure
1155
+ #
1156
+ # resp.flow_executions #=> Array
1157
+ # resp.flow_executions[0].execution_id #=> String
1158
+ # resp.flow_executions[0].execution_status #=> String, one of "InProgress", "Successful", "Error"
1159
+ # resp.flow_executions[0].execution_result.error_info.put_failures_count #=> Integer
1160
+ # resp.flow_executions[0].execution_result.error_info.execution_message #=> String
1161
+ # resp.flow_executions[0].execution_result.bytes_processed #=> Integer
1162
+ # resp.flow_executions[0].execution_result.bytes_written #=> Integer
1163
+ # resp.flow_executions[0].execution_result.records_processed #=> Integer
1164
+ # resp.flow_executions[0].started_at #=> Time
1165
+ # resp.flow_executions[0].last_updated_at #=> Time
1166
+ # resp.next_token #=> String
1167
+ #
1168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeFlowExecutionRecords AWS API Documentation
1169
+ #
1170
+ # @overload describe_flow_execution_records(params = {})
1171
+ # @param [Hash] params ({})
1172
+ def describe_flow_execution_records(params = {}, options = {})
1173
+ req = build_request(:describe_flow_execution_records, params)
1174
+ req.send_request(options)
1175
+ end
1176
+
1177
+ # Returns the list of available connector entities supported by Amazon
1178
+ # AppFlow. For example, you can query Salesforce for *Account* and
1179
+ # *Opportunity* entities, or query ServiceNow for the *Incident* entity.
1180
+ #
1181
+ # @option params [String] :connector_profile_name
1182
+ # The name of the connector profile. The name is unique for each
1183
+ # `ConnectorProfile` in the AWS account, and is used to query the
1184
+ # downstream connector.
1185
+ #
1186
+ # @option params [String] :connector_type
1187
+ # The type of connector, such as Salesforce, Amplitude, and so on.
1188
+ #
1189
+ # @option params [String] :entities_path
1190
+ # This optional parameter is specific to connector implementation. Some
1191
+ # connectors support multiple levels or categories of entities. You can
1192
+ # find out the list of roots for such providers by sending a request
1193
+ # without the `entitiesPath` parameter. If the connector supports
1194
+ # entities at different roots, this initial request returns the list of
1195
+ # roots. Otherwise, this request returns all entities supported by the
1196
+ # provider.
1197
+ #
1198
+ # @return [Types::ListConnectorEntitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1199
+ #
1200
+ # * {Types::ListConnectorEntitiesResponse#connector_entity_map #connector_entity_map} => Hash&lt;String,Array&lt;Types::ConnectorEntity&gt;&gt;
1201
+ #
1202
+ # @example Request syntax with placeholder values
1203
+ #
1204
+ # resp = client.list_connector_entities({
1205
+ # connector_profile_name: "ConnectorProfileName",
1206
+ # connector_type: "Salesforce", # accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
1207
+ # entities_path: "EntitiesPath",
1208
+ # })
1209
+ #
1210
+ # @example Response structure
1211
+ #
1212
+ # resp.connector_entity_map #=> Hash
1213
+ # resp.connector_entity_map["Group"] #=> Array
1214
+ # resp.connector_entity_map["Group"][0].name #=> String
1215
+ # resp.connector_entity_map["Group"][0].label #=> String
1216
+ # resp.connector_entity_map["Group"][0].has_nested_entities #=> Boolean
1217
+ #
1218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/ListConnectorEntities AWS API Documentation
1219
+ #
1220
+ # @overload list_connector_entities(params = {})
1221
+ # @param [Hash] params ({})
1222
+ def list_connector_entities(params = {}, options = {})
1223
+ req = build_request(:list_connector_entities, params)
1224
+ req.send_request(options)
1225
+ end
1226
+
1227
+ # Lists all of the flows associated with your account.
1228
+ #
1229
+ # @option params [Integer] :max_results
1230
+ # Specifies the maximum number of items that should be returned in the
1231
+ # result set.
1232
+ #
1233
+ # @option params [String] :next_token
1234
+ # The pagination token for next page of data.
1235
+ #
1236
+ # @return [Types::ListFlowsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1237
+ #
1238
+ # * {Types::ListFlowsResponse#flows #flows} => Array&lt;Types::FlowDefinition&gt;
1239
+ # * {Types::ListFlowsResponse#next_token #next_token} => String
1240
+ #
1241
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1242
+ #
1243
+ # @example Request syntax with placeholder values
1244
+ #
1245
+ # resp = client.list_flows({
1246
+ # max_results: 1,
1247
+ # next_token: "NextToken",
1248
+ # })
1249
+ #
1250
+ # @example Response structure
1251
+ #
1252
+ # resp.flows #=> Array
1253
+ # resp.flows[0].flow_arn #=> String
1254
+ # resp.flows[0].description #=> String
1255
+ # resp.flows[0].flow_name #=> String
1256
+ # resp.flows[0].flow_status #=> String, one of "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended"
1257
+ # resp.flows[0].source_connector_type #=> String, one of "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge"
1258
+ # resp.flows[0].destination_connector_type #=> String, one of "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge"
1259
+ # resp.flows[0].trigger_type #=> String, one of "Scheduled", "Event", "OnDemand"
1260
+ # resp.flows[0].created_at #=> Time
1261
+ # resp.flows[0].last_updated_at #=> Time
1262
+ # resp.flows[0].created_by #=> String
1263
+ # resp.flows[0].last_updated_by #=> String
1264
+ # resp.flows[0].tags #=> Hash
1265
+ # resp.flows[0].tags["TagKey"] #=> String
1266
+ # resp.flows[0].last_run_execution_details.most_recent_execution_message #=> String
1267
+ # resp.flows[0].last_run_execution_details.most_recent_execution_time #=> Time
1268
+ # resp.flows[0].last_run_execution_details.most_recent_execution_status #=> String, one of "InProgress", "Successful", "Error"
1269
+ # resp.next_token #=> String
1270
+ #
1271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/ListFlows AWS API Documentation
1272
+ #
1273
+ # @overload list_flows(params = {})
1274
+ # @param [Hash] params ({})
1275
+ def list_flows(params = {}, options = {})
1276
+ req = build_request(:list_flows, params)
1277
+ req.send_request(options)
1278
+ end
1279
+
1280
+ # Retrieves the tags that are associated with a specified flow.
1281
+ #
1282
+ # @option params [required, String] :resource_arn
1283
+ # The Amazon Resource Name (ARN) of the specified flow.
1284
+ #
1285
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1286
+ #
1287
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1288
+ #
1289
+ # @example Request syntax with placeholder values
1290
+ #
1291
+ # resp = client.list_tags_for_resource({
1292
+ # resource_arn: "ARN", # required
1293
+ # })
1294
+ #
1295
+ # @example Response structure
1296
+ #
1297
+ # resp.tags #=> Hash
1298
+ # resp.tags["TagKey"] #=> String
1299
+ #
1300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/ListTagsForResource AWS API Documentation
1301
+ #
1302
+ # @overload list_tags_for_resource(params = {})
1303
+ # @param [Hash] params ({})
1304
+ def list_tags_for_resource(params = {}, options = {})
1305
+ req = build_request(:list_tags_for_resource, params)
1306
+ req.send_request(options)
1307
+ end
1308
+
1309
+ # Activates an existing flow. For on-demand flows, this operation runs
1310
+ # the flow immediately. For schedule and event-triggered flows, this
1311
+ # operation activates the flow.
1312
+ #
1313
+ # @option params [required, String] :flow_name
1314
+ # The specified name of the flow. Spaces are not allowed. Use
1315
+ # underscores (\_) or hyphens (-) only.
1316
+ #
1317
+ # @return [Types::StartFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1318
+ #
1319
+ # * {Types::StartFlowResponse#flow_arn #flow_arn} => String
1320
+ # * {Types::StartFlowResponse#flow_status #flow_status} => String
1321
+ #
1322
+ # @example Request syntax with placeholder values
1323
+ #
1324
+ # resp = client.start_flow({
1325
+ # flow_name: "FlowName", # required
1326
+ # })
1327
+ #
1328
+ # @example Response structure
1329
+ #
1330
+ # resp.flow_arn #=> String
1331
+ # resp.flow_status #=> String, one of "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended"
1332
+ #
1333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/StartFlow AWS API Documentation
1334
+ #
1335
+ # @overload start_flow(params = {})
1336
+ # @param [Hash] params ({})
1337
+ def start_flow(params = {}, options = {})
1338
+ req = build_request(:start_flow, params)
1339
+ req.send_request(options)
1340
+ end
1341
+
1342
+ # Deactivates the existing flow. For on-demand flows, this operation
1343
+ # returns an `unsupportedOperationException` error message. For schedule
1344
+ # and event-triggered flows, this operation deactivates the flow.
1345
+ #
1346
+ # @option params [required, String] :flow_name
1347
+ # The specified name of the flow. Spaces are not allowed. Use
1348
+ # underscores (\_) or hyphens (-) only.
1349
+ #
1350
+ # @return [Types::StopFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1351
+ #
1352
+ # * {Types::StopFlowResponse#flow_arn #flow_arn} => String
1353
+ # * {Types::StopFlowResponse#flow_status #flow_status} => String
1354
+ #
1355
+ # @example Request syntax with placeholder values
1356
+ #
1357
+ # resp = client.stop_flow({
1358
+ # flow_name: "FlowName", # required
1359
+ # })
1360
+ #
1361
+ # @example Response structure
1362
+ #
1363
+ # resp.flow_arn #=> String
1364
+ # resp.flow_status #=> String, one of "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended"
1365
+ #
1366
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/StopFlow AWS API Documentation
1367
+ #
1368
+ # @overload stop_flow(params = {})
1369
+ # @param [Hash] params ({})
1370
+ def stop_flow(params = {}, options = {})
1371
+ req = build_request(:stop_flow, params)
1372
+ req.send_request(options)
1373
+ end
1374
+
1375
+ # Applies a tag to the specified flow.
1376
+ #
1377
+ # @option params [required, String] :resource_arn
1378
+ # The Amazon Resource Name (ARN) of the flow that you want to tag.
1379
+ #
1380
+ # @option params [required, Hash<String,String>] :tags
1381
+ # The tags used to organize, track, or control access for your flow.
1382
+ #
1383
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1384
+ #
1385
+ # @example Request syntax with placeholder values
1386
+ #
1387
+ # resp = client.tag_resource({
1388
+ # resource_arn: "ARN", # required
1389
+ # tags: { # required
1390
+ # "TagKey" => "TagValue",
1391
+ # },
1392
+ # })
1393
+ #
1394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/TagResource AWS API Documentation
1395
+ #
1396
+ # @overload tag_resource(params = {})
1397
+ # @param [Hash] params ({})
1398
+ def tag_resource(params = {}, options = {})
1399
+ req = build_request(:tag_resource, params)
1400
+ req.send_request(options)
1401
+ end
1402
+
1403
+ # Removes a tag from the specified flow.
1404
+ #
1405
+ # @option params [required, String] :resource_arn
1406
+ # The Amazon Resource Name (ARN) of the flow that you want to untag.
1407
+ #
1408
+ # @option params [required, Array<String>] :tag_keys
1409
+ # The tag keys associated with the tag that you want to remove from your
1410
+ # flow.
1411
+ #
1412
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1413
+ #
1414
+ # @example Request syntax with placeholder values
1415
+ #
1416
+ # resp = client.untag_resource({
1417
+ # resource_arn: "ARN", # required
1418
+ # tag_keys: ["TagKey"], # required
1419
+ # })
1420
+ #
1421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/UntagResource AWS API Documentation
1422
+ #
1423
+ # @overload untag_resource(params = {})
1424
+ # @param [Hash] params ({})
1425
+ def untag_resource(params = {}, options = {})
1426
+ req = build_request(:untag_resource, params)
1427
+ req.send_request(options)
1428
+ end
1429
+
1430
+ # Updates a given connector profile associated with your account.
1431
+ #
1432
+ # @option params [required, String] :connector_profile_name
1433
+ # The name of the connector profile and is unique for each
1434
+ # `ConnectorProfile` in the AWS Account.
1435
+ #
1436
+ # @option params [required, String] :connection_mode
1437
+ # Indicates the connection mode and if it is public or private.
1438
+ #
1439
+ # @option params [required, Types::ConnectorProfileConfig] :connector_profile_config
1440
+ # Defines the connector-specific profile configuration and credentials.
1441
+ #
1442
+ # @return [Types::UpdateConnectorProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1443
+ #
1444
+ # * {Types::UpdateConnectorProfileResponse#connector_profile_arn #connector_profile_arn} => String
1445
+ #
1446
+ # @example Request syntax with placeholder values
1447
+ #
1448
+ # resp = client.update_connector_profile({
1449
+ # connector_profile_name: "ConnectorProfileName", # required
1450
+ # connection_mode: "Public", # required, accepts Public, Private
1451
+ # connector_profile_config: { # required
1452
+ # connector_profile_properties: { # required
1453
+ # amplitude: {
1454
+ # },
1455
+ # datadog: {
1456
+ # instance_url: "InstanceUrl", # required
1457
+ # },
1458
+ # dynatrace: {
1459
+ # instance_url: "InstanceUrl", # required
1460
+ # },
1461
+ # google_analytics: {
1462
+ # },
1463
+ # infor_nexus: {
1464
+ # instance_url: "InstanceUrl", # required
1465
+ # },
1466
+ # marketo: {
1467
+ # instance_url: "InstanceUrl", # required
1468
+ # },
1469
+ # redshift: {
1470
+ # database_url: "DatabaseUrl", # required
1471
+ # bucket_name: "BucketName", # required
1472
+ # bucket_prefix: "BucketPrefix",
1473
+ # role_arn: "RoleArn", # required
1474
+ # },
1475
+ # salesforce: {
1476
+ # instance_url: "InstanceUrl",
1477
+ # is_sandbox_environment: false,
1478
+ # },
1479
+ # service_now: {
1480
+ # instance_url: "InstanceUrl", # required
1481
+ # },
1482
+ # singular: {
1483
+ # },
1484
+ # slack: {
1485
+ # instance_url: "InstanceUrl", # required
1486
+ # },
1487
+ # snowflake: {
1488
+ # warehouse: "Warehouse", # required
1489
+ # stage: "Stage", # required
1490
+ # bucket_name: "BucketName", # required
1491
+ # bucket_prefix: "BucketPrefix",
1492
+ # private_link_service_name: "PrivateLinkServiceName",
1493
+ # account_name: "AccountName",
1494
+ # region: "Region",
1495
+ # },
1496
+ # trendmicro: {
1497
+ # },
1498
+ # veeva: {
1499
+ # instance_url: "InstanceUrl", # required
1500
+ # },
1501
+ # zendesk: {
1502
+ # instance_url: "InstanceUrl", # required
1503
+ # },
1504
+ # },
1505
+ # connector_profile_credentials: { # required
1506
+ # amplitude: {
1507
+ # api_key: "ApiKey", # required
1508
+ # secret_key: "SecretKey", # required
1509
+ # },
1510
+ # datadog: {
1511
+ # api_key: "ApiKey", # required
1512
+ # application_key: "ApplicationKey", # required
1513
+ # },
1514
+ # dynatrace: {
1515
+ # api_token: "ApiToken", # required
1516
+ # },
1517
+ # google_analytics: {
1518
+ # client_id: "ClientId", # required
1519
+ # client_secret: "ClientSecret", # required
1520
+ # access_token: "AccessToken",
1521
+ # refresh_token: "RefreshToken",
1522
+ # o_auth_request: {
1523
+ # auth_code: "AuthCode",
1524
+ # redirect_uri: "RedirectUri",
1525
+ # },
1526
+ # },
1527
+ # infor_nexus: {
1528
+ # access_key_id: "AccessKeyId", # required
1529
+ # user_id: "Username", # required
1530
+ # secret_access_key: "Key", # required
1531
+ # datakey: "Key", # required
1532
+ # },
1533
+ # marketo: {
1534
+ # client_id: "ClientId", # required
1535
+ # client_secret: "ClientSecret", # required
1536
+ # access_token: "AccessToken",
1537
+ # o_auth_request: {
1538
+ # auth_code: "AuthCode",
1539
+ # redirect_uri: "RedirectUri",
1540
+ # },
1541
+ # },
1542
+ # redshift: {
1543
+ # username: "Username", # required
1544
+ # password: "Password", # required
1545
+ # },
1546
+ # salesforce: {
1547
+ # access_token: "AccessToken",
1548
+ # refresh_token: "RefreshToken",
1549
+ # o_auth_request: {
1550
+ # auth_code: "AuthCode",
1551
+ # redirect_uri: "RedirectUri",
1552
+ # },
1553
+ # },
1554
+ # service_now: {
1555
+ # username: "Username", # required
1556
+ # password: "Password", # required
1557
+ # },
1558
+ # singular: {
1559
+ # api_key: "ApiKey", # required
1560
+ # },
1561
+ # slack: {
1562
+ # client_id: "ClientId", # required
1563
+ # client_secret: "ClientSecret", # required
1564
+ # access_token: "AccessToken",
1565
+ # o_auth_request: {
1566
+ # auth_code: "AuthCode",
1567
+ # redirect_uri: "RedirectUri",
1568
+ # },
1569
+ # },
1570
+ # snowflake: {
1571
+ # username: "Username", # required
1572
+ # password: "Password", # required
1573
+ # },
1574
+ # trendmicro: {
1575
+ # api_secret_key: "ApiSecretKey", # required
1576
+ # },
1577
+ # veeva: {
1578
+ # username: "Username", # required
1579
+ # password: "Password", # required
1580
+ # },
1581
+ # zendesk: {
1582
+ # client_id: "ClientId", # required
1583
+ # client_secret: "ClientSecret", # required
1584
+ # access_token: "AccessToken",
1585
+ # o_auth_request: {
1586
+ # auth_code: "AuthCode",
1587
+ # redirect_uri: "RedirectUri",
1588
+ # },
1589
+ # },
1590
+ # },
1591
+ # },
1592
+ # })
1593
+ #
1594
+ # @example Response structure
1595
+ #
1596
+ # resp.connector_profile_arn #=> String
1597
+ #
1598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/UpdateConnectorProfile AWS API Documentation
1599
+ #
1600
+ # @overload update_connector_profile(params = {})
1601
+ # @param [Hash] params ({})
1602
+ def update_connector_profile(params = {}, options = {})
1603
+ req = build_request(:update_connector_profile, params)
1604
+ req.send_request(options)
1605
+ end
1606
+
1607
+ # Updates an existing flow.
1608
+ #
1609
+ # @option params [required, String] :flow_name
1610
+ # The specified name of the flow. Spaces are not allowed. Use
1611
+ # underscores (\_) or hyphens (-) only.
1612
+ #
1613
+ # @option params [String] :description
1614
+ # A description of the flow.
1615
+ #
1616
+ # @option params [required, Types::TriggerConfig] :trigger_config
1617
+ # The trigger settings that determine how and when the flow runs.
1618
+ #
1619
+ # @option params [Types::SourceFlowConfig] :source_flow_config
1620
+ # Contains information about the configuration of the source connector
1621
+ # used in the flow.
1622
+ #
1623
+ # @option params [required, Array<Types::DestinationFlowConfig>] :destination_flow_config_list
1624
+ # The configuration that controls how Amazon AppFlow transfers data to
1625
+ # the destination connector.
1626
+ #
1627
+ # @option params [required, Array<Types::Task>] :tasks
1628
+ # A list of tasks that Amazon AppFlow performs while transferring the
1629
+ # data in the flow run.
1630
+ #
1631
+ # @return [Types::UpdateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1632
+ #
1633
+ # * {Types::UpdateFlowResponse#flow_status #flow_status} => String
1634
+ #
1635
+ # @example Request syntax with placeholder values
1636
+ #
1637
+ # resp = client.update_flow({
1638
+ # flow_name: "FlowName", # required
1639
+ # description: "FlowDescription",
1640
+ # trigger_config: { # required
1641
+ # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
1642
+ # trigger_properties: {
1643
+ # scheduled: {
1644
+ # schedule_expression: "ScheduleExpression", # required
1645
+ # data_pull_mode: "Incremental", # accepts Incremental, Complete
1646
+ # schedule_start_time: Time.now,
1647
+ # schedule_end_time: Time.now,
1648
+ # timezone: "Timezone",
1649
+ # },
1650
+ # },
1651
+ # },
1652
+ # source_flow_config: {
1653
+ # connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
1654
+ # connector_profile_name: "ConnectorProfileName",
1655
+ # source_connector_properties: { # required
1656
+ # amplitude: {
1657
+ # object: "Object", # required
1658
+ # },
1659
+ # datadog: {
1660
+ # object: "Object", # required
1661
+ # },
1662
+ # dynatrace: {
1663
+ # object: "Object", # required
1664
+ # },
1665
+ # google_analytics: {
1666
+ # object: "Object", # required
1667
+ # },
1668
+ # infor_nexus: {
1669
+ # object: "Object", # required
1670
+ # },
1671
+ # marketo: {
1672
+ # object: "Object", # required
1673
+ # },
1674
+ # s3: {
1675
+ # bucket_name: "BucketName", # required
1676
+ # bucket_prefix: "BucketPrefix",
1677
+ # },
1678
+ # salesforce: {
1679
+ # object: "Object", # required
1680
+ # enable_dynamic_field_update: false,
1681
+ # include_deleted_records: false,
1682
+ # },
1683
+ # service_now: {
1684
+ # object: "Object", # required
1685
+ # },
1686
+ # singular: {
1687
+ # object: "Object", # required
1688
+ # },
1689
+ # slack: {
1690
+ # object: "Object", # required
1691
+ # },
1692
+ # trendmicro: {
1693
+ # object: "Object", # required
1694
+ # },
1695
+ # veeva: {
1696
+ # object: "Object", # required
1697
+ # },
1698
+ # zendesk: {
1699
+ # object: "Object", # required
1700
+ # },
1701
+ # },
1702
+ # },
1703
+ # destination_flow_config_list: [ # required
1704
+ # {
1705
+ # connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge
1706
+ # connector_profile_name: "ConnectorProfileName",
1707
+ # destination_connector_properties: { # required
1708
+ # redshift: {
1709
+ # object: "Object", # required
1710
+ # intermediate_bucket_name: "BucketName", # required
1711
+ # bucket_prefix: "BucketPrefix",
1712
+ # error_handling_config: {
1713
+ # fail_on_first_destination_error: false,
1714
+ # bucket_prefix: "BucketPrefix",
1715
+ # bucket_name: "BucketName",
1716
+ # },
1717
+ # },
1718
+ # s3: {
1719
+ # bucket_name: "BucketName", # required
1720
+ # bucket_prefix: "BucketPrefix",
1721
+ # s3_output_format_config: {
1722
+ # file_type: "CSV", # accepts CSV, JSON, PARQUET
1723
+ # prefix_config: {
1724
+ # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
1725
+ # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
1726
+ # },
1727
+ # aggregation_config: {
1728
+ # aggregation_type: "None", # accepts None, SingleFile
1729
+ # },
1730
+ # },
1731
+ # },
1732
+ # salesforce: {
1733
+ # object: "Object", # required
1734
+ # error_handling_config: {
1735
+ # fail_on_first_destination_error: false,
1736
+ # bucket_prefix: "BucketPrefix",
1737
+ # bucket_name: "BucketName",
1738
+ # },
1739
+ # },
1740
+ # snowflake: {
1741
+ # object: "Object", # required
1742
+ # intermediate_bucket_name: "BucketName", # required
1743
+ # bucket_prefix: "BucketPrefix",
1744
+ # error_handling_config: {
1745
+ # fail_on_first_destination_error: false,
1746
+ # bucket_prefix: "BucketPrefix",
1747
+ # bucket_name: "BucketName",
1748
+ # },
1749
+ # },
1750
+ # event_bridge: {
1751
+ # object: "Object", # required
1752
+ # error_handling_config: {
1753
+ # fail_on_first_destination_error: false,
1754
+ # bucket_prefix: "BucketPrefix",
1755
+ # bucket_name: "BucketName",
1756
+ # },
1757
+ # },
1758
+ # },
1759
+ # },
1760
+ # ],
1761
+ # tasks: [ # required
1762
+ # {
1763
+ # source_fields: ["String"], # required
1764
+ # connector_operator: {
1765
+ # amplitude: "BETWEEN", # accepts BETWEEN
1766
+ # datadog: "PROJECTION", # accepts PROJECTION, BETWEEN, 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
1767
+ # dynatrace: "PROJECTION", # accepts PROJECTION, BETWEEN, 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
1768
+ # google_analytics: "PROJECTION", # accepts PROJECTION, BETWEEN
1769
+ # infor_nexus: "PROJECTION", # accepts PROJECTION, BETWEEN, 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
1770
+ # 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
1771
+ # 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
1772
+ # 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
1773
+ # 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
1774
+ # singular: "PROJECTION", # accepts PROJECTION, 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
1775
+ # slack: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, 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
1776
+ # trendmicro: "PROJECTION", # accepts PROJECTION, 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
1777
+ # veeva: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, CONTAINS, 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
1778
+ # 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
1779
+ # },
1780
+ # destination_field: "DestinationField",
1781
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
1782
+ # task_properties: {
1783
+ # "VALUE" => "Property",
1784
+ # },
1785
+ # },
1786
+ # ],
1787
+ # })
1788
+ #
1789
+ # @example Response structure
1790
+ #
1791
+ # resp.flow_status #=> String, one of "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended"
1792
+ #
1793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/UpdateFlow AWS API Documentation
1794
+ #
1795
+ # @overload update_flow(params = {})
1796
+ # @param [Hash] params ({})
1797
+ def update_flow(params = {}, options = {})
1798
+ req = build_request(:update_flow, params)
1799
+ req.send_request(options)
1800
+ end
1801
+
1802
+ # @!endgroup
1803
+
1804
+ # @param params ({})
1805
+ # @api private
1806
+ def build_request(operation_name, params = {})
1807
+ handlers = @handlers.for(operation_name)
1808
+ context = Seahorse::Client::RequestContext.new(
1809
+ operation_name: operation_name,
1810
+ operation: config.api.operation(operation_name),
1811
+ client: self,
1812
+ params: params,
1813
+ config: config)
1814
+ context[:gem_name] = 'aws-sdk-appflow'
1815
+ context[:gem_version] = '1.0.0'
1816
+ Seahorse::Client::Request.new(handlers, context)
1817
+ end
1818
+
1819
+ # @api private
1820
+ # @deprecated
1821
+ def waiter_names
1822
+ []
1823
+ end
1824
+
1825
+ class << self
1826
+
1827
+ # @api private
1828
+ attr_reader :identifier
1829
+
1830
+ # @api private
1831
+ def errors_module
1832
+ Errors
1833
+ end
1834
+
1835
+ end
1836
+ end
1837
+ end