aws-sdk-entityresolution 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,1239 @@
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/version-3/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/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:entityresolution)
38
+
39
+ module Aws::EntityResolution
40
+ # An API client for EntityResolution. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::EntityResolution::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :entityresolution
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::EntityResolution::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
307
+ #
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
310
+ #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
327
+ #
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
332
+ #
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
336
+ #
337
+ # @option options [Aws::EntityResolution::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::EntityResolution::EndpointParameters`
339
+ #
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
342
+ #
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
346
+ #
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
350
+ #
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
355
+ #
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
362
+ #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
384
+ #
385
+ def initialize(*args)
386
+ super
387
+ end
388
+
389
+ # @!group API Operations
390
+
391
+ # Creates a `MatchingWorkflow` object which stores the configuration of
392
+ # the data processing job to be run. It is important to note that there
393
+ # should not be a pre-existing `MatchingWorkflow` with the same name. To
394
+ # modify an existing workflow, utilize the `UpdateMatchingWorkflow` API.
395
+ #
396
+ # @option params [String] :description
397
+ # A description of the workflow.
398
+ #
399
+ # @option params [Types::IncrementalRunConfig] :incremental_run_config
400
+ # An object which defines an incremental run type and has only
401
+ # `incrementalRunType` as a field.
402
+ #
403
+ # @option params [required, Array<Types::InputSource>] :input_source_config
404
+ # A list of `InputSource` objects, which have the fields
405
+ # `InputSourceARN` and `SchemaName`.
406
+ #
407
+ # @option params [required, Array<Types::OutputSource>] :output_source_config
408
+ # A list of `OutputSource` objects, each of which contains fields
409
+ # `OutputS3Path`, `ApplyNormalization`, and `Output`.
410
+ #
411
+ # @option params [required, Types::ResolutionTechniques] :resolution_techniques
412
+ # An object which defines the `resolutionType` and the
413
+ # `ruleBasedProperties`
414
+ #
415
+ # @option params [required, String] :role_arn
416
+ # The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution
417
+ # assumes this role to create resources on your behalf as part of
418
+ # workflow execution.
419
+ #
420
+ # @option params [Hash<String,String>] :tags
421
+ # The tags used to organize, track, or control access for this resource.
422
+ #
423
+ # @option params [required, String] :workflow_name
424
+ # The name of the workflow. There cannot be multiple
425
+ # `DataIntegrationWorkflows` with the same name.
426
+ #
427
+ # @return [Types::CreateMatchingWorkflowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
428
+ #
429
+ # * {Types::CreateMatchingWorkflowOutput#description #description} => String
430
+ # * {Types::CreateMatchingWorkflowOutput#incremental_run_config #incremental_run_config} => Types::IncrementalRunConfig
431
+ # * {Types::CreateMatchingWorkflowOutput#input_source_config #input_source_config} => Array&lt;Types::InputSource&gt;
432
+ # * {Types::CreateMatchingWorkflowOutput#output_source_config #output_source_config} => Array&lt;Types::OutputSource&gt;
433
+ # * {Types::CreateMatchingWorkflowOutput#resolution_techniques #resolution_techniques} => Types::ResolutionTechniques
434
+ # * {Types::CreateMatchingWorkflowOutput#role_arn #role_arn} => String
435
+ # * {Types::CreateMatchingWorkflowOutput#workflow_arn #workflow_arn} => String
436
+ # * {Types::CreateMatchingWorkflowOutput#workflow_name #workflow_name} => String
437
+ #
438
+ # @example Request syntax with placeholder values
439
+ #
440
+ # resp = client.create_matching_workflow({
441
+ # description: "Description",
442
+ # incremental_run_config: {
443
+ # incremental_run_type: "IMMEDIATE", # accepts IMMEDIATE
444
+ # },
445
+ # input_source_config: [ # required
446
+ # {
447
+ # apply_normalization: false,
448
+ # input_source_arn: "InputSourceInputSourceARNString", # required
449
+ # schema_name: "EntityName", # required
450
+ # },
451
+ # ],
452
+ # output_source_config: [ # required
453
+ # {
454
+ # kms_arn: "KMSArn",
455
+ # apply_normalization: false,
456
+ # output: [ # required
457
+ # {
458
+ # hashed: false,
459
+ # name: "AttributeName", # required
460
+ # },
461
+ # ],
462
+ # output_s3_path: "OutputSourceOutputS3PathString", # required
463
+ # },
464
+ # ],
465
+ # resolution_techniques: { # required
466
+ # resolution_type: "RULE_MATCHING", # accepts RULE_MATCHING, ML_MATCHING
467
+ # rule_based_properties: {
468
+ # attribute_matching_model: "ONE_TO_ONE", # required, accepts ONE_TO_ONE, MANY_TO_MANY
469
+ # rules: [ # required
470
+ # {
471
+ # matching_keys: ["AttributeName"], # required
472
+ # rule_name: "RuleRuleNameString", # required
473
+ # },
474
+ # ],
475
+ # },
476
+ # },
477
+ # role_arn: "String", # required
478
+ # tags: {
479
+ # "TagKey" => "TagValue",
480
+ # },
481
+ # workflow_name: "EntityName", # required
482
+ # })
483
+ #
484
+ # @example Response structure
485
+ #
486
+ # resp.description #=> String
487
+ # resp.incremental_run_config.incremental_run_type #=> String, one of "IMMEDIATE"
488
+ # resp.input_source_config #=> Array
489
+ # resp.input_source_config[0].apply_normalization #=> Boolean
490
+ # resp.input_source_config[0].input_source_arn #=> String
491
+ # resp.input_source_config[0].schema_name #=> String
492
+ # resp.output_source_config #=> Array
493
+ # resp.output_source_config[0].kms_arn #=> String
494
+ # resp.output_source_config[0].apply_normalization #=> Boolean
495
+ # resp.output_source_config[0].output #=> Array
496
+ # resp.output_source_config[0].output[0].hashed #=> Boolean
497
+ # resp.output_source_config[0].output[0].name #=> String
498
+ # resp.output_source_config[0].output_s3_path #=> String
499
+ # resp.resolution_techniques.resolution_type #=> String, one of "RULE_MATCHING", "ML_MATCHING"
500
+ # resp.resolution_techniques.rule_based_properties.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY"
501
+ # resp.resolution_techniques.rule_based_properties.rules #=> Array
502
+ # resp.resolution_techniques.rule_based_properties.rules[0].matching_keys #=> Array
503
+ # resp.resolution_techniques.rule_based_properties.rules[0].matching_keys[0] #=> String
504
+ # resp.resolution_techniques.rule_based_properties.rules[0].rule_name #=> String
505
+ # resp.role_arn #=> String
506
+ # resp.workflow_arn #=> String
507
+ # resp.workflow_name #=> String
508
+ #
509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/CreateMatchingWorkflow AWS API Documentation
510
+ #
511
+ # @overload create_matching_workflow(params = {})
512
+ # @param [Hash] params ({})
513
+ def create_matching_workflow(params = {}, options = {})
514
+ req = build_request(:create_matching_workflow, params)
515
+ req.send_request(options)
516
+ end
517
+
518
+ # Creates a schema mapping, which defines the schema of the input
519
+ # customer records table. The `SchemaMapping` also provides Entity
520
+ # Resolution with some metadata about the table, such as the attribute
521
+ # types of the columns and which columns to match on.
522
+ #
523
+ # @option params [String] :description
524
+ # A description of the schema.
525
+ #
526
+ # @option params [Array<Types::SchemaInputAttribute>] :mapped_input_fields
527
+ # A list of `MappedInputFields`. Each `MappedInputField` corresponds to
528
+ # a column the source data table, and contains column name plus
529
+ # additional information that Entity Resolution uses for matching.
530
+ #
531
+ # @option params [required, String] :schema_name
532
+ # The name of the schema. There cannot be multiple `SchemaMappings` with
533
+ # the same name.
534
+ #
535
+ # @option params [Hash<String,String>] :tags
536
+ # The tags used to organize, track, or control access for this resource.
537
+ #
538
+ # @return [Types::CreateSchemaMappingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
539
+ #
540
+ # * {Types::CreateSchemaMappingOutput#description #description} => String
541
+ # * {Types::CreateSchemaMappingOutput#mapped_input_fields #mapped_input_fields} => Array&lt;Types::SchemaInputAttribute&gt;
542
+ # * {Types::CreateSchemaMappingOutput#schema_arn #schema_arn} => String
543
+ # * {Types::CreateSchemaMappingOutput#schema_name #schema_name} => String
544
+ #
545
+ # @example Request syntax with placeholder values
546
+ #
547
+ # resp = client.create_schema_mapping({
548
+ # description: "Description",
549
+ # mapped_input_fields: [
550
+ # {
551
+ # field_name: "AttributeName", # required
552
+ # group_name: "AttributeName",
553
+ # match_key: "AttributeName",
554
+ # type: "NAME", # required, accepts NAME, NAME_FIRST, NAME_MIDDLE, NAME_LAST, ADDRESS, ADDRESS_STREET1, ADDRESS_STREET2, ADDRESS_STREET3, ADDRESS_CITY, ADDRESS_STATE, ADDRESS_COUNTRY, ADDRESS_POSTALCODE, PHONE, PHONE_NUMBER, PHONE_COUNTRYCODE, EMAIL_ADDRESS, UNIQUE_ID, DATE, STRING
555
+ # },
556
+ # ],
557
+ # schema_name: "EntityName", # required
558
+ # tags: {
559
+ # "TagKey" => "TagValue",
560
+ # },
561
+ # })
562
+ #
563
+ # @example Response structure
564
+ #
565
+ # resp.description #=> String
566
+ # resp.mapped_input_fields #=> Array
567
+ # resp.mapped_input_fields[0].field_name #=> String
568
+ # resp.mapped_input_fields[0].group_name #=> String
569
+ # resp.mapped_input_fields[0].match_key #=> String
570
+ # resp.mapped_input_fields[0].type #=> String, one of "NAME", "NAME_FIRST", "NAME_MIDDLE", "NAME_LAST", "ADDRESS", "ADDRESS_STREET1", "ADDRESS_STREET2", "ADDRESS_STREET3", "ADDRESS_CITY", "ADDRESS_STATE", "ADDRESS_COUNTRY", "ADDRESS_POSTALCODE", "PHONE", "PHONE_NUMBER", "PHONE_COUNTRYCODE", "EMAIL_ADDRESS", "UNIQUE_ID", "DATE", "STRING"
571
+ # resp.schema_arn #=> String
572
+ # resp.schema_name #=> String
573
+ #
574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/CreateSchemaMapping AWS API Documentation
575
+ #
576
+ # @overload create_schema_mapping(params = {})
577
+ # @param [Hash] params ({})
578
+ def create_schema_mapping(params = {}, options = {})
579
+ req = build_request(:create_schema_mapping, params)
580
+ req.send_request(options)
581
+ end
582
+
583
+ # Deletes the `MatchingWorkflow` with a given name. This operation will
584
+ # succeed even if a workflow with the given name does not exist.
585
+ #
586
+ # @option params [required, String] :workflow_name
587
+ # The name of the workflow to be retrieved.
588
+ #
589
+ # @return [Types::DeleteMatchingWorkflowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
590
+ #
591
+ # * {Types::DeleteMatchingWorkflowOutput#message #message} => String
592
+ #
593
+ # @example Request syntax with placeholder values
594
+ #
595
+ # resp = client.delete_matching_workflow({
596
+ # workflow_name: "EntityName", # required
597
+ # })
598
+ #
599
+ # @example Response structure
600
+ #
601
+ # resp.message #=> String
602
+ #
603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/DeleteMatchingWorkflow AWS API Documentation
604
+ #
605
+ # @overload delete_matching_workflow(params = {})
606
+ # @param [Hash] params ({})
607
+ def delete_matching_workflow(params = {}, options = {})
608
+ req = build_request(:delete_matching_workflow, params)
609
+ req.send_request(options)
610
+ end
611
+
612
+ # Deletes the `SchemaMapping` with a given name. This operation will
613
+ # succeed even if a schema with the given name does not exist. This
614
+ # operation will fail if there is a `DataIntegrationWorkflow` object
615
+ # that references the `SchemaMapping` in the workflow's
616
+ # `InputSourceConfig`.
617
+ #
618
+ # @option params [required, String] :schema_name
619
+ # The name of the schema to delete.
620
+ #
621
+ # @return [Types::DeleteSchemaMappingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
622
+ #
623
+ # * {Types::DeleteSchemaMappingOutput#message #message} => String
624
+ #
625
+ # @example Request syntax with placeholder values
626
+ #
627
+ # resp = client.delete_schema_mapping({
628
+ # schema_name: "EntityName", # required
629
+ # })
630
+ #
631
+ # @example Response structure
632
+ #
633
+ # resp.message #=> String
634
+ #
635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/DeleteSchemaMapping AWS API Documentation
636
+ #
637
+ # @overload delete_schema_mapping(params = {})
638
+ # @param [Hash] params ({})
639
+ def delete_schema_mapping(params = {}, options = {})
640
+ req = build_request(:delete_schema_mapping, params)
641
+ req.send_request(options)
642
+ end
643
+
644
+ # Returns the corresponding Match ID of a customer record if the record
645
+ # has been processed.
646
+ #
647
+ # @option params [required, Hash<String,String>] :record
648
+ # The record to fetch the Match ID for.
649
+ #
650
+ # @option params [required, String] :workflow_name
651
+ # The name of the workflow.
652
+ #
653
+ # @return [Types::GetMatchIdOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
654
+ #
655
+ # * {Types::GetMatchIdOutput#match_id #match_id} => String
656
+ #
657
+ # @example Request syntax with placeholder values
658
+ #
659
+ # resp = client.get_match_id({
660
+ # record: { # required
661
+ # "RecordAttributeMapKeyString" => "RecordAttributeMapValueString",
662
+ # },
663
+ # workflow_name: "EntityName", # required
664
+ # })
665
+ #
666
+ # @example Response structure
667
+ #
668
+ # resp.match_id #=> String
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetMatchId AWS API Documentation
671
+ #
672
+ # @overload get_match_id(params = {})
673
+ # @param [Hash] params ({})
674
+ def get_match_id(params = {}, options = {})
675
+ req = build_request(:get_match_id, params)
676
+ req.send_request(options)
677
+ end
678
+
679
+ # Gets the status, metrics, and errors (if there are any) that are
680
+ # associated with a job.
681
+ #
682
+ # @option params [required, String] :job_id
683
+ # The ID of the job.
684
+ #
685
+ # @option params [required, String] :workflow_name
686
+ # The name of the workflow.
687
+ #
688
+ # @return [Types::GetMatchingJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
689
+ #
690
+ # * {Types::GetMatchingJobOutput#end_time #end_time} => Time
691
+ # * {Types::GetMatchingJobOutput#error_details #error_details} => Types::ErrorDetails
692
+ # * {Types::GetMatchingJobOutput#job_id #job_id} => String
693
+ # * {Types::GetMatchingJobOutput#metrics #metrics} => Types::JobMetrics
694
+ # * {Types::GetMatchingJobOutput#start_time #start_time} => Time
695
+ # * {Types::GetMatchingJobOutput#status #status} => String
696
+ #
697
+ # @example Request syntax with placeholder values
698
+ #
699
+ # resp = client.get_matching_job({
700
+ # job_id: "JobId", # required
701
+ # workflow_name: "EntityName", # required
702
+ # })
703
+ #
704
+ # @example Response structure
705
+ #
706
+ # resp.end_time #=> Time
707
+ # resp.error_details.error_message #=> String
708
+ # resp.job_id #=> String
709
+ # resp.metrics.input_records #=> Integer
710
+ # resp.metrics.match_i_ds #=> Integer
711
+ # resp.metrics.records_not_processed #=> Integer
712
+ # resp.metrics.total_records_processed #=> Integer
713
+ # resp.start_time #=> Time
714
+ # resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "QUEUED"
715
+ #
716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetMatchingJob AWS API Documentation
717
+ #
718
+ # @overload get_matching_job(params = {})
719
+ # @param [Hash] params ({})
720
+ def get_matching_job(params = {}, options = {})
721
+ req = build_request(:get_matching_job, params)
722
+ req.send_request(options)
723
+ end
724
+
725
+ # Returns the `MatchingWorkflow` with a given name, if it exists.
726
+ #
727
+ # @option params [required, String] :workflow_name
728
+ # The name of the workflow.
729
+ #
730
+ # @return [Types::GetMatchingWorkflowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
+ #
732
+ # * {Types::GetMatchingWorkflowOutput#created_at #created_at} => Time
733
+ # * {Types::GetMatchingWorkflowOutput#description #description} => String
734
+ # * {Types::GetMatchingWorkflowOutput#incremental_run_config #incremental_run_config} => Types::IncrementalRunConfig
735
+ # * {Types::GetMatchingWorkflowOutput#input_source_config #input_source_config} => Array&lt;Types::InputSource&gt;
736
+ # * {Types::GetMatchingWorkflowOutput#output_source_config #output_source_config} => Array&lt;Types::OutputSource&gt;
737
+ # * {Types::GetMatchingWorkflowOutput#resolution_techniques #resolution_techniques} => Types::ResolutionTechniques
738
+ # * {Types::GetMatchingWorkflowOutput#role_arn #role_arn} => String
739
+ # * {Types::GetMatchingWorkflowOutput#tags #tags} => Hash&lt;String,String&gt;
740
+ # * {Types::GetMatchingWorkflowOutput#updated_at #updated_at} => Time
741
+ # * {Types::GetMatchingWorkflowOutput#workflow_arn #workflow_arn} => String
742
+ # * {Types::GetMatchingWorkflowOutput#workflow_name #workflow_name} => String
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ #
746
+ # resp = client.get_matching_workflow({
747
+ # workflow_name: "EntityName", # required
748
+ # })
749
+ #
750
+ # @example Response structure
751
+ #
752
+ # resp.created_at #=> Time
753
+ # resp.description #=> String
754
+ # resp.incremental_run_config.incremental_run_type #=> String, one of "IMMEDIATE"
755
+ # resp.input_source_config #=> Array
756
+ # resp.input_source_config[0].apply_normalization #=> Boolean
757
+ # resp.input_source_config[0].input_source_arn #=> String
758
+ # resp.input_source_config[0].schema_name #=> String
759
+ # resp.output_source_config #=> Array
760
+ # resp.output_source_config[0].kms_arn #=> String
761
+ # resp.output_source_config[0].apply_normalization #=> Boolean
762
+ # resp.output_source_config[0].output #=> Array
763
+ # resp.output_source_config[0].output[0].hashed #=> Boolean
764
+ # resp.output_source_config[0].output[0].name #=> String
765
+ # resp.output_source_config[0].output_s3_path #=> String
766
+ # resp.resolution_techniques.resolution_type #=> String, one of "RULE_MATCHING", "ML_MATCHING"
767
+ # resp.resolution_techniques.rule_based_properties.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY"
768
+ # resp.resolution_techniques.rule_based_properties.rules #=> Array
769
+ # resp.resolution_techniques.rule_based_properties.rules[0].matching_keys #=> Array
770
+ # resp.resolution_techniques.rule_based_properties.rules[0].matching_keys[0] #=> String
771
+ # resp.resolution_techniques.rule_based_properties.rules[0].rule_name #=> String
772
+ # resp.role_arn #=> String
773
+ # resp.tags #=> Hash
774
+ # resp.tags["TagKey"] #=> String
775
+ # resp.updated_at #=> Time
776
+ # resp.workflow_arn #=> String
777
+ # resp.workflow_name #=> String
778
+ #
779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetMatchingWorkflow AWS API Documentation
780
+ #
781
+ # @overload get_matching_workflow(params = {})
782
+ # @param [Hash] params ({})
783
+ def get_matching_workflow(params = {}, options = {})
784
+ req = build_request(:get_matching_workflow, params)
785
+ req.send_request(options)
786
+ end
787
+
788
+ # Returns the SchemaMapping of a given name.
789
+ #
790
+ # @option params [required, String] :schema_name
791
+ # The name of the schema to be retrieved.
792
+ #
793
+ # @return [Types::GetSchemaMappingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
794
+ #
795
+ # * {Types::GetSchemaMappingOutput#created_at #created_at} => Time
796
+ # * {Types::GetSchemaMappingOutput#description #description} => String
797
+ # * {Types::GetSchemaMappingOutput#mapped_input_fields #mapped_input_fields} => Array&lt;Types::SchemaInputAttribute&gt;
798
+ # * {Types::GetSchemaMappingOutput#schema_arn #schema_arn} => String
799
+ # * {Types::GetSchemaMappingOutput#schema_name #schema_name} => String
800
+ # * {Types::GetSchemaMappingOutput#tags #tags} => Hash&lt;String,String&gt;
801
+ # * {Types::GetSchemaMappingOutput#updated_at #updated_at} => Time
802
+ #
803
+ # @example Request syntax with placeholder values
804
+ #
805
+ # resp = client.get_schema_mapping({
806
+ # schema_name: "EntityName", # required
807
+ # })
808
+ #
809
+ # @example Response structure
810
+ #
811
+ # resp.created_at #=> Time
812
+ # resp.description #=> String
813
+ # resp.mapped_input_fields #=> Array
814
+ # resp.mapped_input_fields[0].field_name #=> String
815
+ # resp.mapped_input_fields[0].group_name #=> String
816
+ # resp.mapped_input_fields[0].match_key #=> String
817
+ # resp.mapped_input_fields[0].type #=> String, one of "NAME", "NAME_FIRST", "NAME_MIDDLE", "NAME_LAST", "ADDRESS", "ADDRESS_STREET1", "ADDRESS_STREET2", "ADDRESS_STREET3", "ADDRESS_CITY", "ADDRESS_STATE", "ADDRESS_COUNTRY", "ADDRESS_POSTALCODE", "PHONE", "PHONE_NUMBER", "PHONE_COUNTRYCODE", "EMAIL_ADDRESS", "UNIQUE_ID", "DATE", "STRING"
818
+ # resp.schema_arn #=> String
819
+ # resp.schema_name #=> String
820
+ # resp.tags #=> Hash
821
+ # resp.tags["TagKey"] #=> String
822
+ # resp.updated_at #=> Time
823
+ #
824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetSchemaMapping AWS API Documentation
825
+ #
826
+ # @overload get_schema_mapping(params = {})
827
+ # @param [Hash] params ({})
828
+ def get_schema_mapping(params = {}, options = {})
829
+ req = build_request(:get_schema_mapping, params)
830
+ req.send_request(options)
831
+ end
832
+
833
+ # Lists all jobs for a given workflow.
834
+ #
835
+ # @option params [Integer] :max_results
836
+ # The maximum number of objects returned per page.
837
+ #
838
+ # @option params [String] :next_token
839
+ # The pagination token from the previous `ListSchemaMappings` API call.
840
+ #
841
+ # @option params [required, String] :workflow_name
842
+ # The name of the workflow to be retrieved.
843
+ #
844
+ # @return [Types::ListMatchingJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
845
+ #
846
+ # * {Types::ListMatchingJobsOutput#jobs #jobs} => Array&lt;Types::JobSummary&gt;
847
+ # * {Types::ListMatchingJobsOutput#next_token #next_token} => String
848
+ #
849
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
850
+ #
851
+ # @example Request syntax with placeholder values
852
+ #
853
+ # resp = client.list_matching_jobs({
854
+ # max_results: 1,
855
+ # next_token: "NextToken",
856
+ # workflow_name: "EntityName", # required
857
+ # })
858
+ #
859
+ # @example Response structure
860
+ #
861
+ # resp.jobs #=> Array
862
+ # resp.jobs[0].end_time #=> Time
863
+ # resp.jobs[0].job_id #=> String
864
+ # resp.jobs[0].start_time #=> Time
865
+ # resp.jobs[0].status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "QUEUED"
866
+ # resp.next_token #=> String
867
+ #
868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListMatchingJobs AWS API Documentation
869
+ #
870
+ # @overload list_matching_jobs(params = {})
871
+ # @param [Hash] params ({})
872
+ def list_matching_jobs(params = {}, options = {})
873
+ req = build_request(:list_matching_jobs, params)
874
+ req.send_request(options)
875
+ end
876
+
877
+ # Returns a list of all the `MatchingWorkflows` that have been created
878
+ # for an AWS account.
879
+ #
880
+ # @option params [Integer] :max_results
881
+ # The maximum number of objects returned per page.
882
+ #
883
+ # @option params [String] :next_token
884
+ # The pagination token from the previous `ListSchemaMappings` API call.
885
+ #
886
+ # @return [Types::ListMatchingWorkflowsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
887
+ #
888
+ # * {Types::ListMatchingWorkflowsOutput#next_token #next_token} => String
889
+ # * {Types::ListMatchingWorkflowsOutput#workflow_summaries #workflow_summaries} => Array&lt;Types::MatchingWorkflowSummary&gt;
890
+ #
891
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
892
+ #
893
+ # @example Request syntax with placeholder values
894
+ #
895
+ # resp = client.list_matching_workflows({
896
+ # max_results: 1,
897
+ # next_token: "NextToken",
898
+ # })
899
+ #
900
+ # @example Response structure
901
+ #
902
+ # resp.next_token #=> String
903
+ # resp.workflow_summaries #=> Array
904
+ # resp.workflow_summaries[0].created_at #=> Time
905
+ # resp.workflow_summaries[0].updated_at #=> Time
906
+ # resp.workflow_summaries[0].workflow_arn #=> String
907
+ # resp.workflow_summaries[0].workflow_name #=> String
908
+ #
909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListMatchingWorkflows AWS API Documentation
910
+ #
911
+ # @overload list_matching_workflows(params = {})
912
+ # @param [Hash] params ({})
913
+ def list_matching_workflows(params = {}, options = {})
914
+ req = build_request(:list_matching_workflows, params)
915
+ req.send_request(options)
916
+ end
917
+
918
+ # Returns a list of all the `SchemaMappings` that have been created for
919
+ # an AWS account.
920
+ #
921
+ # @option params [Integer] :max_results
922
+ # The maximum number of objects returned per page.
923
+ #
924
+ # @option params [String] :next_token
925
+ # The pagination token from the previous `ListSchemaMappings` API call.
926
+ #
927
+ # @return [Types::ListSchemaMappingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
928
+ #
929
+ # * {Types::ListSchemaMappingsOutput#next_token #next_token} => String
930
+ # * {Types::ListSchemaMappingsOutput#schema_list #schema_list} => Array&lt;Types::SchemaMappingSummary&gt;
931
+ #
932
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
933
+ #
934
+ # @example Request syntax with placeholder values
935
+ #
936
+ # resp = client.list_schema_mappings({
937
+ # max_results: 1,
938
+ # next_token: "NextToken",
939
+ # })
940
+ #
941
+ # @example Response structure
942
+ #
943
+ # resp.next_token #=> String
944
+ # resp.schema_list #=> Array
945
+ # resp.schema_list[0].created_at #=> Time
946
+ # resp.schema_list[0].schema_arn #=> String
947
+ # resp.schema_list[0].schema_name #=> String
948
+ # resp.schema_list[0].updated_at #=> Time
949
+ #
950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListSchemaMappings AWS API Documentation
951
+ #
952
+ # @overload list_schema_mappings(params = {})
953
+ # @param [Hash] params ({})
954
+ def list_schema_mappings(params = {}, options = {})
955
+ req = build_request(:list_schema_mappings, params)
956
+ req.send_request(options)
957
+ end
958
+
959
+ # Displays the tags associated with an AWS Entity Resolution resource.
960
+ # In Entity Resolution, `SchemaMapping`, and `MatchingWorkflow` can be
961
+ # tagged.
962
+ #
963
+ # @option params [required, String] :resource_arn
964
+ # The ARN of the resource for which you want to view tags.
965
+ #
966
+ # @return [Types::ListTagsForResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
967
+ #
968
+ # * {Types::ListTagsForResourceOutput#tags #tags} => Hash&lt;String,String&gt;
969
+ #
970
+ # @example Request syntax with placeholder values
971
+ #
972
+ # resp = client.list_tags_for_resource({
973
+ # resource_arn: "VeniceGlobalArn", # required
974
+ # })
975
+ #
976
+ # @example Response structure
977
+ #
978
+ # resp.tags #=> Hash
979
+ # resp.tags["TagKey"] #=> String
980
+ #
981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListTagsForResource AWS API Documentation
982
+ #
983
+ # @overload list_tags_for_resource(params = {})
984
+ # @param [Hash] params ({})
985
+ def list_tags_for_resource(params = {}, options = {})
986
+ req = build_request(:list_tags_for_resource, params)
987
+ req.send_request(options)
988
+ end
989
+
990
+ # Starts the `MatchingJob` of a workflow. The workflow must have
991
+ # previously been created using the `CreateMatchingWorkflow` endpoint.
992
+ #
993
+ # @option params [required, String] :workflow_name
994
+ # The name of the matching job to be retrieved.
995
+ #
996
+ # @return [Types::StartMatchingJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
997
+ #
998
+ # * {Types::StartMatchingJobOutput#job_id #job_id} => String
999
+ #
1000
+ # @example Request syntax with placeholder values
1001
+ #
1002
+ # resp = client.start_matching_job({
1003
+ # workflow_name: "EntityName", # required
1004
+ # })
1005
+ #
1006
+ # @example Response structure
1007
+ #
1008
+ # resp.job_id #=> String
1009
+ #
1010
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/StartMatchingJob AWS API Documentation
1011
+ #
1012
+ # @overload start_matching_job(params = {})
1013
+ # @param [Hash] params ({})
1014
+ def start_matching_job(params = {}, options = {})
1015
+ req = build_request(:start_matching_job, params)
1016
+ req.send_request(options)
1017
+ end
1018
+
1019
+ # Assigns one or more tags (key-value pairs) to the specified AWS Entity
1020
+ # Resolution resource. Tags can help you organize and categorize your
1021
+ # resources. You can also use them to scope user permissions by granting
1022
+ # a user permission to access or change only resources with certain tag
1023
+ # values. In Entity Resolution, `SchemaMapping`, and `MatchingWorkflow`
1024
+ # can be tagged. Tags don't have any semantic meaning to AWS and are
1025
+ # interpreted strictly as strings of characters. You can use the
1026
+ # `TagResource` action with a resource that already has tags. If you
1027
+ # specify a new tag key, this tag is appended to the list of tags
1028
+ # associated with the resource. If you specify a tag key that is already
1029
+ # associated with the resource, the new tag value that you specify
1030
+ # replaces the previous value for that tag.
1031
+ #
1032
+ # @option params [required, String] :resource_arn
1033
+ # The ARN of the resource for which you want to view tags.
1034
+ #
1035
+ # @option params [required, Hash<String,String>] :tags
1036
+ # The tags used to organize, track, or control access for this resource.
1037
+ #
1038
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1039
+ #
1040
+ # @example Request syntax with placeholder values
1041
+ #
1042
+ # resp = client.tag_resource({
1043
+ # resource_arn: "VeniceGlobalArn", # required
1044
+ # tags: { # required
1045
+ # "TagKey" => "TagValue",
1046
+ # },
1047
+ # })
1048
+ #
1049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/TagResource AWS API Documentation
1050
+ #
1051
+ # @overload tag_resource(params = {})
1052
+ # @param [Hash] params ({})
1053
+ def tag_resource(params = {}, options = {})
1054
+ req = build_request(:tag_resource, params)
1055
+ req.send_request(options)
1056
+ end
1057
+
1058
+ # Removes one or more tags from the specified AWS Entity Resolution
1059
+ # resource. In Entity Resolution, `SchemaMapping`, and
1060
+ # `MatchingWorkflow` can be tagged.
1061
+ #
1062
+ # @option params [required, String] :resource_arn
1063
+ # The ARN of the resource for which you want to untag.
1064
+ #
1065
+ # @option params [required, Array<String>] :tag_keys
1066
+ # The list of tag keys to remove from the resource.
1067
+ #
1068
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1069
+ #
1070
+ # @example Request syntax with placeholder values
1071
+ #
1072
+ # resp = client.untag_resource({
1073
+ # resource_arn: "VeniceGlobalArn", # required
1074
+ # tag_keys: ["TagKey"], # required
1075
+ # })
1076
+ #
1077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/UntagResource AWS API Documentation
1078
+ #
1079
+ # @overload untag_resource(params = {})
1080
+ # @param [Hash] params ({})
1081
+ def untag_resource(params = {}, options = {})
1082
+ req = build_request(:untag_resource, params)
1083
+ req.send_request(options)
1084
+ end
1085
+
1086
+ # Updates an existing `MatchingWorkflow`. This method is identical to
1087
+ # `CreateMatchingWorkflow`, except it uses an HTTP `PUT` request instead
1088
+ # of a `POST` request, and the `MatchingWorkflow` must already exist for
1089
+ # the method to succeed.
1090
+ #
1091
+ # @option params [String] :description
1092
+ # A description of the workflow.
1093
+ #
1094
+ # @option params [Types::IncrementalRunConfig] :incremental_run_config
1095
+ # An object which defines an incremental run type and has only
1096
+ # `incrementalRunType` as a field.
1097
+ #
1098
+ # @option params [required, Array<Types::InputSource>] :input_source_config
1099
+ # A list of `InputSource` objects, which have the fields
1100
+ # `InputSourceARN` and `SchemaName`.
1101
+ #
1102
+ # @option params [required, Array<Types::OutputSource>] :output_source_config
1103
+ # A list of `OutputSource` objects, each of which contains fields
1104
+ # `OutputS3Path`, `ApplyNormalization`, and `Output`.
1105
+ #
1106
+ # @option params [required, Types::ResolutionTechniques] :resolution_techniques
1107
+ # An object which defines the `resolutionType` and the
1108
+ # `ruleBasedProperties`
1109
+ #
1110
+ # @option params [required, String] :role_arn
1111
+ # The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution
1112
+ # assumes this role to create resources on your behalf as part of
1113
+ # workflow execution.
1114
+ #
1115
+ # @option params [required, String] :workflow_name
1116
+ # The name of the workflow to be retrieved.
1117
+ #
1118
+ # @return [Types::UpdateMatchingWorkflowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1119
+ #
1120
+ # * {Types::UpdateMatchingWorkflowOutput#description #description} => String
1121
+ # * {Types::UpdateMatchingWorkflowOutput#incremental_run_config #incremental_run_config} => Types::IncrementalRunConfig
1122
+ # * {Types::UpdateMatchingWorkflowOutput#input_source_config #input_source_config} => Array&lt;Types::InputSource&gt;
1123
+ # * {Types::UpdateMatchingWorkflowOutput#output_source_config #output_source_config} => Array&lt;Types::OutputSource&gt;
1124
+ # * {Types::UpdateMatchingWorkflowOutput#resolution_techniques #resolution_techniques} => Types::ResolutionTechniques
1125
+ # * {Types::UpdateMatchingWorkflowOutput#role_arn #role_arn} => String
1126
+ # * {Types::UpdateMatchingWorkflowOutput#workflow_name #workflow_name} => String
1127
+ #
1128
+ # @example Request syntax with placeholder values
1129
+ #
1130
+ # resp = client.update_matching_workflow({
1131
+ # description: "Description",
1132
+ # incremental_run_config: {
1133
+ # incremental_run_type: "IMMEDIATE", # accepts IMMEDIATE
1134
+ # },
1135
+ # input_source_config: [ # required
1136
+ # {
1137
+ # apply_normalization: false,
1138
+ # input_source_arn: "InputSourceInputSourceARNString", # required
1139
+ # schema_name: "EntityName", # required
1140
+ # },
1141
+ # ],
1142
+ # output_source_config: [ # required
1143
+ # {
1144
+ # kms_arn: "KMSArn",
1145
+ # apply_normalization: false,
1146
+ # output: [ # required
1147
+ # {
1148
+ # hashed: false,
1149
+ # name: "AttributeName", # required
1150
+ # },
1151
+ # ],
1152
+ # output_s3_path: "OutputSourceOutputS3PathString", # required
1153
+ # },
1154
+ # ],
1155
+ # resolution_techniques: { # required
1156
+ # resolution_type: "RULE_MATCHING", # accepts RULE_MATCHING, ML_MATCHING
1157
+ # rule_based_properties: {
1158
+ # attribute_matching_model: "ONE_TO_ONE", # required, accepts ONE_TO_ONE, MANY_TO_MANY
1159
+ # rules: [ # required
1160
+ # {
1161
+ # matching_keys: ["AttributeName"], # required
1162
+ # rule_name: "RuleRuleNameString", # required
1163
+ # },
1164
+ # ],
1165
+ # },
1166
+ # },
1167
+ # role_arn: "String", # required
1168
+ # workflow_name: "EntityName", # required
1169
+ # })
1170
+ #
1171
+ # @example Response structure
1172
+ #
1173
+ # resp.description #=> String
1174
+ # resp.incremental_run_config.incremental_run_type #=> String, one of "IMMEDIATE"
1175
+ # resp.input_source_config #=> Array
1176
+ # resp.input_source_config[0].apply_normalization #=> Boolean
1177
+ # resp.input_source_config[0].input_source_arn #=> String
1178
+ # resp.input_source_config[0].schema_name #=> String
1179
+ # resp.output_source_config #=> Array
1180
+ # resp.output_source_config[0].kms_arn #=> String
1181
+ # resp.output_source_config[0].apply_normalization #=> Boolean
1182
+ # resp.output_source_config[0].output #=> Array
1183
+ # resp.output_source_config[0].output[0].hashed #=> Boolean
1184
+ # resp.output_source_config[0].output[0].name #=> String
1185
+ # resp.output_source_config[0].output_s3_path #=> String
1186
+ # resp.resolution_techniques.resolution_type #=> String, one of "RULE_MATCHING", "ML_MATCHING"
1187
+ # resp.resolution_techniques.rule_based_properties.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY"
1188
+ # resp.resolution_techniques.rule_based_properties.rules #=> Array
1189
+ # resp.resolution_techniques.rule_based_properties.rules[0].matching_keys #=> Array
1190
+ # resp.resolution_techniques.rule_based_properties.rules[0].matching_keys[0] #=> String
1191
+ # resp.resolution_techniques.rule_based_properties.rules[0].rule_name #=> String
1192
+ # resp.role_arn #=> String
1193
+ # resp.workflow_name #=> String
1194
+ #
1195
+ # @see http://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/UpdateMatchingWorkflow AWS API Documentation
1196
+ #
1197
+ # @overload update_matching_workflow(params = {})
1198
+ # @param [Hash] params ({})
1199
+ def update_matching_workflow(params = {}, options = {})
1200
+ req = build_request(:update_matching_workflow, params)
1201
+ req.send_request(options)
1202
+ end
1203
+
1204
+ # @!endgroup
1205
+
1206
+ # @param params ({})
1207
+ # @api private
1208
+ def build_request(operation_name, params = {})
1209
+ handlers = @handlers.for(operation_name)
1210
+ context = Seahorse::Client::RequestContext.new(
1211
+ operation_name: operation_name,
1212
+ operation: config.api.operation(operation_name),
1213
+ client: self,
1214
+ params: params,
1215
+ config: config)
1216
+ context[:gem_name] = 'aws-sdk-entityresolution'
1217
+ context[:gem_version] = '1.0.0'
1218
+ Seahorse::Client::Request.new(handlers, context)
1219
+ end
1220
+
1221
+ # @api private
1222
+ # @deprecated
1223
+ def waiter_names
1224
+ []
1225
+ end
1226
+
1227
+ class << self
1228
+
1229
+ # @api private
1230
+ attr_reader :identifier
1231
+
1232
+ # @api private
1233
+ def errors_module
1234
+ Errors
1235
+ end
1236
+
1237
+ end
1238
+ end
1239
+ end