aws-sdk-customerprofiles 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: eb16674442c9b40694618ca95b9a16a9c8d55b0aae51a154d5c734fe70d79165
4
+ data.tar.gz: 705fb7132cb83a820dd2fec67f0c2ea5054b0364501d60fd3c000eca61a6e8e4
5
+ SHA512:
6
+ metadata.gz: dde6292d0931a7d80a7cb2ab11da956669441895b284c93f3e6453124c4a7def59784cac404226392bb11b41f5c18acc851ec66f5adb229155d36109b68b0430
7
+ data.tar.gz: 5ef967fc38bb624b8c7b81f13072e5c67debbc3515f82a88bd0f38be003b0dff16940b21d8781a91aef2d84c2e41f75f6279135b1d1480dff2036842d60edcd5
@@ -0,0 +1,53 @@
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
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-customerprofiles/types'
15
+ require_relative 'aws-sdk-customerprofiles/client_api'
16
+ require_relative 'aws-sdk-customerprofiles/client'
17
+ require_relative 'aws-sdk-customerprofiles/errors'
18
+ require_relative 'aws-sdk-customerprofiles/resource'
19
+ require_relative 'aws-sdk-customerprofiles/customizations'
20
+
21
+ # This module provides support for Amazon Connect Customer Profiles. This module is available in the
22
+ # `aws-sdk-customerprofiles` gem.
23
+ #
24
+ # # Client
25
+ #
26
+ # The {Client} class provides one method for each API operation. Operation
27
+ # methods each accept a hash of request parameters and return a response
28
+ # structure.
29
+ #
30
+ # customer_profiles = Aws::CustomerProfiles::Client.new
31
+ # resp = customer_profiles.add_profile_key(params)
32
+ #
33
+ # See {Client} for more information.
34
+ #
35
+ # # Errors
36
+ #
37
+ # Errors returned from Amazon Connect Customer Profiles are defined in the
38
+ # {Errors} module and all extend {Errors::ServiceError}.
39
+ #
40
+ # begin
41
+ # # do stuff
42
+ # rescue Aws::CustomerProfiles::Errors::ServiceError
43
+ # # rescues all Amazon Connect Customer Profiles API errors
44
+ # end
45
+ #
46
+ # See {Errors} for more information.
47
+ #
48
+ # @!group service
49
+ module Aws::CustomerProfiles
50
+
51
+ GEM_VERSION = '1.0.0'
52
+
53
+ end
@@ -0,0 +1,1997 @@
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(:customerprofiles)
34
+
35
+ module Aws::CustomerProfiles
36
+ # An API client for CustomerProfiles. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::CustomerProfiles::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 = :customerprofiles
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
+ # Associates a new key value with a specific profile, such as a Contact
331
+ # Trace Record (CTR) ContactId.
332
+ #
333
+ # A profile object can have a single unique key and any number of
334
+ # additional keys that can be used to identify the profile that it
335
+ # belongs to.
336
+ #
337
+ # @option params [required, String] :profile_id
338
+ # The unique identifier of a customer profile.
339
+ #
340
+ # @option params [required, String] :key_name
341
+ # A searchable identifier of a customer profile.
342
+ #
343
+ # @option params [required, Array<String>] :values
344
+ # A list of key values.
345
+ #
346
+ # @option params [required, String] :domain_name
347
+ # The unique name of the domain.
348
+ #
349
+ # @return [Types::AddProfileKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
350
+ #
351
+ # * {Types::AddProfileKeyResponse#key_name #key_name} => String
352
+ # * {Types::AddProfileKeyResponse#values #values} => Array&lt;String&gt;
353
+ #
354
+ # @example Request syntax with placeholder values
355
+ #
356
+ # resp = client.add_profile_key({
357
+ # profile_id: "uuid", # required
358
+ # key_name: "name", # required
359
+ # values: ["string1To255"], # required
360
+ # domain_name: "name", # required
361
+ # })
362
+ #
363
+ # @example Response structure
364
+ #
365
+ # resp.key_name #=> String
366
+ # resp.values #=> Array
367
+ # resp.values[0] #=> String
368
+ #
369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AddProfileKey AWS API Documentation
370
+ #
371
+ # @overload add_profile_key(params = {})
372
+ # @param [Hash] params ({})
373
+ def add_profile_key(params = {}, options = {})
374
+ req = build_request(:add_profile_key, params)
375
+ req.send_request(options)
376
+ end
377
+
378
+ # Creates a domain, which is a container for all customer data, such as
379
+ # customer profile attributes, object types, profile keys, and
380
+ # encryption keys. You can create multiple domains, and each domain can
381
+ # have multiple third-party integrations.
382
+ #
383
+ # Each Amazon Connect instance can be associated with only one domain.
384
+ # Multiple Amazon Connect instances can be associated with one domain.
385
+ #
386
+ # @option params [required, String] :domain_name
387
+ # The unique name of the domain.
388
+ #
389
+ # @option params [required, Integer] :default_expiration_days
390
+ # The default number of days until the data within the domain expires.
391
+ #
392
+ # @option params [String] :default_encryption_key
393
+ # The default encryption key, which is an AWS managed key, is used when
394
+ # no specific type of encryption key is specified. It is used to encrypt
395
+ # all data before it is placed in permanent or semi-permanent storage.
396
+ #
397
+ # @option params [String] :dead_letter_queue_url
398
+ # The URL of the SQS dead letter queue, which is used for reporting
399
+ # errors associated with ingesting data from third party applications.
400
+ # You must set up a policy on the DeadLetterQueue for the SendMessage
401
+ # operation to enable Amazon Connect Customer Profiles to send messages
402
+ # to the DeadLetterQueue.
403
+ #
404
+ # @option params [Hash<String,String>] :tags
405
+ # The tags used to organize, track, or control access for this resource.
406
+ #
407
+ # @return [Types::CreateDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
408
+ #
409
+ # * {Types::CreateDomainResponse#domain_name #domain_name} => String
410
+ # * {Types::CreateDomainResponse#default_expiration_days #default_expiration_days} => Integer
411
+ # * {Types::CreateDomainResponse#default_encryption_key #default_encryption_key} => String
412
+ # * {Types::CreateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
413
+ # * {Types::CreateDomainResponse#created_at #created_at} => Time
414
+ # * {Types::CreateDomainResponse#last_updated_at #last_updated_at} => Time
415
+ # * {Types::CreateDomainResponse#tags #tags} => Hash&lt;String,String&gt;
416
+ #
417
+ # @example Request syntax with placeholder values
418
+ #
419
+ # resp = client.create_domain({
420
+ # domain_name: "name", # required
421
+ # default_expiration_days: 1, # required
422
+ # default_encryption_key: "encryptionKey",
423
+ # dead_letter_queue_url: "sqsQueueUrl",
424
+ # tags: {
425
+ # "TagKey" => "TagValue",
426
+ # },
427
+ # })
428
+ #
429
+ # @example Response structure
430
+ #
431
+ # resp.domain_name #=> String
432
+ # resp.default_expiration_days #=> Integer
433
+ # resp.default_encryption_key #=> String
434
+ # resp.dead_letter_queue_url #=> String
435
+ # resp.created_at #=> Time
436
+ # resp.last_updated_at #=> Time
437
+ # resp.tags #=> Hash
438
+ # resp.tags["TagKey"] #=> String
439
+ #
440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateDomain AWS API Documentation
441
+ #
442
+ # @overload create_domain(params = {})
443
+ # @param [Hash] params ({})
444
+ def create_domain(params = {}, options = {})
445
+ req = build_request(:create_domain, params)
446
+ req.send_request(options)
447
+ end
448
+
449
+ # Creates a standard profile.
450
+ #
451
+ # A standard profile represents the following attributes for a customer
452
+ # profile in a domain.
453
+ #
454
+ # @option params [required, String] :domain_name
455
+ # The unique name of the domain.
456
+ #
457
+ # @option params [String] :account_number
458
+ # A unique account number that you have given to the customer.
459
+ #
460
+ # @option params [String] :additional_information
461
+ # Any additional information relevant to the customer's profile.
462
+ #
463
+ # @option params [String] :party_type
464
+ # The type of profile used to describe the customer.
465
+ #
466
+ # @option params [String] :business_name
467
+ # The name of the customer’s business.
468
+ #
469
+ # @option params [String] :first_name
470
+ # The customer’s first name.
471
+ #
472
+ # @option params [String] :middle_name
473
+ # The customer’s middle name.
474
+ #
475
+ # @option params [String] :last_name
476
+ # The customer’s last name.
477
+ #
478
+ # @option params [String] :birth_date
479
+ # The customer’s birth date.
480
+ #
481
+ # @option params [String] :gender
482
+ # The gender with which the customer identifies.
483
+ #
484
+ # @option params [String] :phone_number
485
+ # The customer's phone number, which has not been specified as a
486
+ # mobile, home, or business number.
487
+ #
488
+ # @option params [String] :mobile_phone_number
489
+ # The customer’s mobile phone number.
490
+ #
491
+ # @option params [String] :home_phone_number
492
+ # The customer’s home phone number.
493
+ #
494
+ # @option params [String] :business_phone_number
495
+ # The customer’s business phone number.
496
+ #
497
+ # @option params [String] :email_address
498
+ # The customer's email address, which has not been specified as a
499
+ # personal or business address.
500
+ #
501
+ # @option params [String] :personal_email_address
502
+ # The customer’s personal email address.
503
+ #
504
+ # @option params [String] :business_email_address
505
+ # The customer’s business email address.
506
+ #
507
+ # @option params [Types::Address] :address
508
+ # A generic address associated with the customer that is not mailing,
509
+ # shipping, or billing.
510
+ #
511
+ # @option params [Types::Address] :shipping_address
512
+ # The customer’s shipping address.
513
+ #
514
+ # @option params [Types::Address] :mailing_address
515
+ # The customer’s mailing address.
516
+ #
517
+ # @option params [Types::Address] :billing_address
518
+ # The customer’s billing address.
519
+ #
520
+ # @option params [Hash<String,String>] :attributes
521
+ # A key value pair of attributes of a customer profile.
522
+ #
523
+ # @return [Types::CreateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
524
+ #
525
+ # * {Types::CreateProfileResponse#profile_id #profile_id} => String
526
+ #
527
+ # @example Request syntax with placeholder values
528
+ #
529
+ # resp = client.create_profile({
530
+ # domain_name: "name", # required
531
+ # account_number: "string1To255",
532
+ # additional_information: "string1To1000",
533
+ # party_type: "INDIVIDUAL", # accepts INDIVIDUAL, BUSINESS, OTHER
534
+ # business_name: "string1To255",
535
+ # first_name: "string1To255",
536
+ # middle_name: "string1To255",
537
+ # last_name: "string1To255",
538
+ # birth_date: "string1To255",
539
+ # gender: "MALE", # accepts MALE, FEMALE, UNSPECIFIED
540
+ # phone_number: "string1To255",
541
+ # mobile_phone_number: "string1To255",
542
+ # home_phone_number: "string1To255",
543
+ # business_phone_number: "string1To255",
544
+ # email_address: "string1To255",
545
+ # personal_email_address: "string1To255",
546
+ # business_email_address: "string1To255",
547
+ # address: {
548
+ # address_1: "string1To255",
549
+ # address_2: "string1To255",
550
+ # address_3: "string1To255",
551
+ # address_4: "string1To255",
552
+ # city: "string1To255",
553
+ # county: "string1To255",
554
+ # state: "string1To255",
555
+ # province: "string1To255",
556
+ # country: "string1To255",
557
+ # postal_code: "string1To255",
558
+ # },
559
+ # shipping_address: {
560
+ # address_1: "string1To255",
561
+ # address_2: "string1To255",
562
+ # address_3: "string1To255",
563
+ # address_4: "string1To255",
564
+ # city: "string1To255",
565
+ # county: "string1To255",
566
+ # state: "string1To255",
567
+ # province: "string1To255",
568
+ # country: "string1To255",
569
+ # postal_code: "string1To255",
570
+ # },
571
+ # mailing_address: {
572
+ # address_1: "string1To255",
573
+ # address_2: "string1To255",
574
+ # address_3: "string1To255",
575
+ # address_4: "string1To255",
576
+ # city: "string1To255",
577
+ # county: "string1To255",
578
+ # state: "string1To255",
579
+ # province: "string1To255",
580
+ # country: "string1To255",
581
+ # postal_code: "string1To255",
582
+ # },
583
+ # billing_address: {
584
+ # address_1: "string1To255",
585
+ # address_2: "string1To255",
586
+ # address_3: "string1To255",
587
+ # address_4: "string1To255",
588
+ # city: "string1To255",
589
+ # county: "string1To255",
590
+ # state: "string1To255",
591
+ # province: "string1To255",
592
+ # country: "string1To255",
593
+ # postal_code: "string1To255",
594
+ # },
595
+ # attributes: {
596
+ # "string1To255" => "string1To255",
597
+ # },
598
+ # })
599
+ #
600
+ # @example Response structure
601
+ #
602
+ # resp.profile_id #=> String
603
+ #
604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateProfile AWS API Documentation
605
+ #
606
+ # @overload create_profile(params = {})
607
+ # @param [Hash] params ({})
608
+ def create_profile(params = {}, options = {})
609
+ req = build_request(:create_profile, params)
610
+ req.send_request(options)
611
+ end
612
+
613
+ # Deletes a specific domain and all of its customer data, such as
614
+ # customer profile attributes and their related objects.
615
+ #
616
+ # @option params [required, String] :domain_name
617
+ # The unique name of the domain.
618
+ #
619
+ # @return [Types::DeleteDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
620
+ #
621
+ # * {Types::DeleteDomainResponse#message #message} => String
622
+ #
623
+ # @example Request syntax with placeholder values
624
+ #
625
+ # resp = client.delete_domain({
626
+ # domain_name: "name", # required
627
+ # })
628
+ #
629
+ # @example Response structure
630
+ #
631
+ # resp.message #=> String
632
+ #
633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteDomain AWS API Documentation
634
+ #
635
+ # @overload delete_domain(params = {})
636
+ # @param [Hash] params ({})
637
+ def delete_domain(params = {}, options = {})
638
+ req = build_request(:delete_domain, params)
639
+ req.send_request(options)
640
+ end
641
+
642
+ # Removes an integration from a specific domain.
643
+ #
644
+ # @option params [required, String] :domain_name
645
+ # The unique name of the domain.
646
+ #
647
+ # @option params [String] :uri
648
+ # The URI of the S3 bucket or any other type of data source.
649
+ #
650
+ # @return [Types::DeleteIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
651
+ #
652
+ # * {Types::DeleteIntegrationResponse#message #message} => String
653
+ #
654
+ # @example Request syntax with placeholder values
655
+ #
656
+ # resp = client.delete_integration({
657
+ # domain_name: "name", # required
658
+ # uri: "string1To255",
659
+ # })
660
+ #
661
+ # @example Response structure
662
+ #
663
+ # resp.message #=> String
664
+ #
665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteIntegration AWS API Documentation
666
+ #
667
+ # @overload delete_integration(params = {})
668
+ # @param [Hash] params ({})
669
+ def delete_integration(params = {}, options = {})
670
+ req = build_request(:delete_integration, params)
671
+ req.send_request(options)
672
+ end
673
+
674
+ # Deletes the standard customer profile and all data pertaining to the
675
+ # profile.
676
+ #
677
+ # @option params [required, String] :profile_id
678
+ # The unique identifier of a customer profile.
679
+ #
680
+ # @option params [required, String] :domain_name
681
+ # The unique name of the domain.
682
+ #
683
+ # @return [Types::DeleteProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
684
+ #
685
+ # * {Types::DeleteProfileResponse#message #message} => String
686
+ #
687
+ # @example Request syntax with placeholder values
688
+ #
689
+ # resp = client.delete_profile({
690
+ # profile_id: "uuid", # required
691
+ # domain_name: "name", # required
692
+ # })
693
+ #
694
+ # @example Response structure
695
+ #
696
+ # resp.message #=> String
697
+ #
698
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfile AWS API Documentation
699
+ #
700
+ # @overload delete_profile(params = {})
701
+ # @param [Hash] params ({})
702
+ def delete_profile(params = {}, options = {})
703
+ req = build_request(:delete_profile, params)
704
+ req.send_request(options)
705
+ end
706
+
707
+ # Removes a searchable key from a customer profile.
708
+ #
709
+ # @option params [required, String] :profile_id
710
+ # The unique identifier of a customer profile.
711
+ #
712
+ # @option params [required, String] :key_name
713
+ # A searchable identifier of a customer profile.
714
+ #
715
+ # @option params [required, Array<String>] :values
716
+ # A list of key values.
717
+ #
718
+ # @option params [required, String] :domain_name
719
+ # The unique name of the domain.
720
+ #
721
+ # @return [Types::DeleteProfileKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
722
+ #
723
+ # * {Types::DeleteProfileKeyResponse#message #message} => String
724
+ #
725
+ # @example Request syntax with placeholder values
726
+ #
727
+ # resp = client.delete_profile_key({
728
+ # profile_id: "uuid", # required
729
+ # key_name: "name", # required
730
+ # values: ["string1To255"], # required
731
+ # domain_name: "name", # required
732
+ # })
733
+ #
734
+ # @example Response structure
735
+ #
736
+ # resp.message #=> String
737
+ #
738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileKey AWS API Documentation
739
+ #
740
+ # @overload delete_profile_key(params = {})
741
+ # @param [Hash] params ({})
742
+ def delete_profile_key(params = {}, options = {})
743
+ req = build_request(:delete_profile_key, params)
744
+ req.send_request(options)
745
+ end
746
+
747
+ # Removes an object associated with a profile of a given
748
+ # ProfileObjectType.
749
+ #
750
+ # @option params [required, String] :profile_id
751
+ # The unique identifier of a customer profile.
752
+ #
753
+ # @option params [required, String] :profile_object_unique_key
754
+ # The unique identifier of the profile object generated by the service.
755
+ #
756
+ # @option params [required, String] :object_type_name
757
+ # The name of the profile object type.
758
+ #
759
+ # @option params [required, String] :domain_name
760
+ # The unique name of the domain.
761
+ #
762
+ # @return [Types::DeleteProfileObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
763
+ #
764
+ # * {Types::DeleteProfileObjectResponse#message #message} => String
765
+ #
766
+ # @example Request syntax with placeholder values
767
+ #
768
+ # resp = client.delete_profile_object({
769
+ # profile_id: "uuid", # required
770
+ # profile_object_unique_key: "string1To255", # required
771
+ # object_type_name: "typeName", # required
772
+ # domain_name: "name", # required
773
+ # })
774
+ #
775
+ # @example Response structure
776
+ #
777
+ # resp.message #=> String
778
+ #
779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileObject AWS API Documentation
780
+ #
781
+ # @overload delete_profile_object(params = {})
782
+ # @param [Hash] params ({})
783
+ def delete_profile_object(params = {}, options = {})
784
+ req = build_request(:delete_profile_object, params)
785
+ req.send_request(options)
786
+ end
787
+
788
+ # Removes a ProfileObjectType from a specific domain as well as removes
789
+ # all the ProfileObjects of that type. It also disables integrations
790
+ # from this specific ProfileObjectType. In addition, it scrubs all of
791
+ # the fields of the standard profile that were populated from this
792
+ # ProfileObjectType.
793
+ #
794
+ # @option params [required, String] :domain_name
795
+ # The unique name of the domain.
796
+ #
797
+ # @option params [required, String] :object_type_name
798
+ # The name of the profile object type.
799
+ #
800
+ # @return [Types::DeleteProfileObjectTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
801
+ #
802
+ # * {Types::DeleteProfileObjectTypeResponse#message #message} => String
803
+ #
804
+ # @example Request syntax with placeholder values
805
+ #
806
+ # resp = client.delete_profile_object_type({
807
+ # domain_name: "name", # required
808
+ # object_type_name: "typeName", # required
809
+ # })
810
+ #
811
+ # @example Response structure
812
+ #
813
+ # resp.message #=> String
814
+ #
815
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileObjectType AWS API Documentation
816
+ #
817
+ # @overload delete_profile_object_type(params = {})
818
+ # @param [Hash] params ({})
819
+ def delete_profile_object_type(params = {}, options = {})
820
+ req = build_request(:delete_profile_object_type, params)
821
+ req.send_request(options)
822
+ end
823
+
824
+ # Returns information about a specific domain.
825
+ #
826
+ # @option params [required, String] :domain_name
827
+ # A unique name for the domain.
828
+ #
829
+ # @return [Types::GetDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
830
+ #
831
+ # * {Types::GetDomainResponse#domain_name #domain_name} => String
832
+ # * {Types::GetDomainResponse#default_expiration_days #default_expiration_days} => Integer
833
+ # * {Types::GetDomainResponse#default_encryption_key #default_encryption_key} => String
834
+ # * {Types::GetDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
835
+ # * {Types::GetDomainResponse#stats #stats} => Types::DomainStats
836
+ # * {Types::GetDomainResponse#created_at #created_at} => Time
837
+ # * {Types::GetDomainResponse#last_updated_at #last_updated_at} => Time
838
+ # * {Types::GetDomainResponse#tags #tags} => Hash&lt;String,String&gt;
839
+ #
840
+ # @example Request syntax with placeholder values
841
+ #
842
+ # resp = client.get_domain({
843
+ # domain_name: "name", # required
844
+ # })
845
+ #
846
+ # @example Response structure
847
+ #
848
+ # resp.domain_name #=> String
849
+ # resp.default_expiration_days #=> Integer
850
+ # resp.default_encryption_key #=> String
851
+ # resp.dead_letter_queue_url #=> String
852
+ # resp.stats.profile_count #=> Integer
853
+ # resp.stats.metering_profile_count #=> Integer
854
+ # resp.stats.object_count #=> Integer
855
+ # resp.stats.total_size #=> Integer
856
+ # resp.created_at #=> Time
857
+ # resp.last_updated_at #=> Time
858
+ # resp.tags #=> Hash
859
+ # resp.tags["TagKey"] #=> String
860
+ #
861
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetDomain AWS API Documentation
862
+ #
863
+ # @overload get_domain(params = {})
864
+ # @param [Hash] params ({})
865
+ def get_domain(params = {}, options = {})
866
+ req = build_request(:get_domain, params)
867
+ req.send_request(options)
868
+ end
869
+
870
+ # Returns an integration for a domain.
871
+ #
872
+ # @option params [required, String] :domain_name
873
+ # The unique name of the domain.
874
+ #
875
+ # @option params [String] :uri
876
+ # The URI of the S3 bucket or any other type of data source.
877
+ #
878
+ # @return [Types::GetIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
879
+ #
880
+ # * {Types::GetIntegrationResponse#domain_name #domain_name} => String
881
+ # * {Types::GetIntegrationResponse#uri #uri} => String
882
+ # * {Types::GetIntegrationResponse#object_type_name #object_type_name} => String
883
+ # * {Types::GetIntegrationResponse#created_at #created_at} => Time
884
+ # * {Types::GetIntegrationResponse#last_updated_at #last_updated_at} => Time
885
+ # * {Types::GetIntegrationResponse#tags #tags} => Hash&lt;String,String&gt;
886
+ #
887
+ # @example Request syntax with placeholder values
888
+ #
889
+ # resp = client.get_integration({
890
+ # domain_name: "name", # required
891
+ # uri: "string1To255",
892
+ # })
893
+ #
894
+ # @example Response structure
895
+ #
896
+ # resp.domain_name #=> String
897
+ # resp.uri #=> String
898
+ # resp.object_type_name #=> String
899
+ # resp.created_at #=> Time
900
+ # resp.last_updated_at #=> Time
901
+ # resp.tags #=> Hash
902
+ # resp.tags["TagKey"] #=> String
903
+ #
904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegration AWS API Documentation
905
+ #
906
+ # @overload get_integration(params = {})
907
+ # @param [Hash] params ({})
908
+ def get_integration(params = {}, options = {})
909
+ req = build_request(:get_integration, params)
910
+ req.send_request(options)
911
+ end
912
+
913
+ # Returns the object types for a specific domain.
914
+ #
915
+ # @option params [required, String] :domain_name
916
+ # The unique name of the domain.
917
+ #
918
+ # @option params [required, String] :object_type_name
919
+ # The name of the profile object type.
920
+ #
921
+ # @return [Types::GetProfileObjectTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
922
+ #
923
+ # * {Types::GetProfileObjectTypeResponse#object_type_name #object_type_name} => String
924
+ # * {Types::GetProfileObjectTypeResponse#description #description} => String
925
+ # * {Types::GetProfileObjectTypeResponse#template_id #template_id} => String
926
+ # * {Types::GetProfileObjectTypeResponse#expiration_days #expiration_days} => Integer
927
+ # * {Types::GetProfileObjectTypeResponse#encryption_key #encryption_key} => String
928
+ # * {Types::GetProfileObjectTypeResponse#allow_profile_creation #allow_profile_creation} => Boolean
929
+ # * {Types::GetProfileObjectTypeResponse#fields #fields} => Hash&lt;String,Types::ObjectTypeField&gt;
930
+ # * {Types::GetProfileObjectTypeResponse#keys #keys} => Hash&lt;String,Array&lt;Types::ObjectTypeKey&gt;&gt;
931
+ # * {Types::GetProfileObjectTypeResponse#created_at #created_at} => Time
932
+ # * {Types::GetProfileObjectTypeResponse#last_updated_at #last_updated_at} => Time
933
+ # * {Types::GetProfileObjectTypeResponse#tags #tags} => Hash&lt;String,String&gt;
934
+ #
935
+ # @example Request syntax with placeholder values
936
+ #
937
+ # resp = client.get_profile_object_type({
938
+ # domain_name: "name", # required
939
+ # object_type_name: "typeName", # required
940
+ # })
941
+ #
942
+ # @example Response structure
943
+ #
944
+ # resp.object_type_name #=> String
945
+ # resp.description #=> String
946
+ # resp.template_id #=> String
947
+ # resp.expiration_days #=> Integer
948
+ # resp.encryption_key #=> String
949
+ # resp.allow_profile_creation #=> Boolean
950
+ # resp.fields #=> Hash
951
+ # resp.fields["name"].source #=> String
952
+ # resp.fields["name"].target #=> String
953
+ # resp.fields["name"].content_type #=> String, one of "STRING", "NUMBER", "PHONE_NUMBER", "EMAIL_ADDRESS", "NAME"
954
+ # resp.keys #=> Hash
955
+ # resp.keys["name"] #=> Array
956
+ # resp.keys["name"][0].standard_identifiers #=> Array
957
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
958
+ # resp.keys["name"][0].field_names #=> Array
959
+ # resp.keys["name"][0].field_names[0] #=> String
960
+ # resp.created_at #=> Time
961
+ # resp.last_updated_at #=> Time
962
+ # resp.tags #=> Hash
963
+ # resp.tags["TagKey"] #=> String
964
+ #
965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectType AWS API Documentation
966
+ #
967
+ # @overload get_profile_object_type(params = {})
968
+ # @param [Hash] params ({})
969
+ def get_profile_object_type(params = {}, options = {})
970
+ req = build_request(:get_profile_object_type, params)
971
+ req.send_request(options)
972
+ end
973
+
974
+ # Returns the template information for a specific object type.
975
+ #
976
+ # A template is a predefined ProfileObjectType, such as
977
+ # “Salesforce-Account” or “Salesforce-Contact.” When a user sends a
978
+ # ProfileObject, using the PutProfileObject API, with an ObjectTypeName
979
+ # that matches one of the TemplateIds, it uses the mappings from the
980
+ # template.
981
+ #
982
+ # @option params [required, String] :template_id
983
+ # A unique identifier for the object template.
984
+ #
985
+ # @return [Types::GetProfileObjectTypeTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
986
+ #
987
+ # * {Types::GetProfileObjectTypeTemplateResponse#template_id #template_id} => String
988
+ # * {Types::GetProfileObjectTypeTemplateResponse#source_name #source_name} => String
989
+ # * {Types::GetProfileObjectTypeTemplateResponse#source_object #source_object} => String
990
+ # * {Types::GetProfileObjectTypeTemplateResponse#allow_profile_creation #allow_profile_creation} => Boolean
991
+ # * {Types::GetProfileObjectTypeTemplateResponse#fields #fields} => Hash&lt;String,Types::ObjectTypeField&gt;
992
+ # * {Types::GetProfileObjectTypeTemplateResponse#keys #keys} => Hash&lt;String,Array&lt;Types::ObjectTypeKey&gt;&gt;
993
+ #
994
+ # @example Request syntax with placeholder values
995
+ #
996
+ # resp = client.get_profile_object_type_template({
997
+ # template_id: "name", # required
998
+ # })
999
+ #
1000
+ # @example Response structure
1001
+ #
1002
+ # resp.template_id #=> String
1003
+ # resp.source_name #=> String
1004
+ # resp.source_object #=> String
1005
+ # resp.allow_profile_creation #=> Boolean
1006
+ # resp.fields #=> Hash
1007
+ # resp.fields["name"].source #=> String
1008
+ # resp.fields["name"].target #=> String
1009
+ # resp.fields["name"].content_type #=> String, one of "STRING", "NUMBER", "PHONE_NUMBER", "EMAIL_ADDRESS", "NAME"
1010
+ # resp.keys #=> Hash
1011
+ # resp.keys["name"] #=> Array
1012
+ # resp.keys["name"][0].standard_identifiers #=> Array
1013
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1014
+ # resp.keys["name"][0].field_names #=> Array
1015
+ # resp.keys["name"][0].field_names[0] #=> String
1016
+ #
1017
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectTypeTemplate AWS API Documentation
1018
+ #
1019
+ # @overload get_profile_object_type_template(params = {})
1020
+ # @param [Hash] params ({})
1021
+ def get_profile_object_type_template(params = {}, options = {})
1022
+ req = build_request(:get_profile_object_type_template, params)
1023
+ req.send_request(options)
1024
+ end
1025
+
1026
+ # Lists all of the integrations associated to a specific URI in the AWS
1027
+ # account.
1028
+ #
1029
+ # @option params [required, String] :uri
1030
+ # The URI of the S3 bucket or any other type of data source.
1031
+ #
1032
+ # @option params [String] :next_token
1033
+ # The pagination token from the previous ListAccountIntegrations API
1034
+ # call.
1035
+ #
1036
+ # @option params [Integer] :max_results
1037
+ # The maximum number of objects returned per page.
1038
+ #
1039
+ # @return [Types::ListAccountIntegrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1040
+ #
1041
+ # * {Types::ListAccountIntegrationsResponse#items #items} => Array&lt;Types::ListIntegrationItem&gt;
1042
+ # * {Types::ListAccountIntegrationsResponse#next_token #next_token} => String
1043
+ #
1044
+ # @example Request syntax with placeholder values
1045
+ #
1046
+ # resp = client.list_account_integrations({
1047
+ # uri: "string1To255", # required
1048
+ # next_token: "token",
1049
+ # max_results: 1,
1050
+ # })
1051
+ #
1052
+ # @example Response structure
1053
+ #
1054
+ # resp.items #=> Array
1055
+ # resp.items[0].domain_name #=> String
1056
+ # resp.items[0].uri #=> String
1057
+ # resp.items[0].object_type_name #=> String
1058
+ # resp.items[0].created_at #=> Time
1059
+ # resp.items[0].last_updated_at #=> Time
1060
+ # resp.items[0].tags #=> Hash
1061
+ # resp.items[0].tags["TagKey"] #=> String
1062
+ # resp.next_token #=> String
1063
+ #
1064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrations AWS API Documentation
1065
+ #
1066
+ # @overload list_account_integrations(params = {})
1067
+ # @param [Hash] params ({})
1068
+ def list_account_integrations(params = {}, options = {})
1069
+ req = build_request(:list_account_integrations, params)
1070
+ req.send_request(options)
1071
+ end
1072
+
1073
+ # Returns a list of all the domains for an AWS account that have been
1074
+ # created.
1075
+ #
1076
+ # @option params [String] :next_token
1077
+ # The pagination token from the previous ListDomain API call.
1078
+ #
1079
+ # @option params [Integer] :max_results
1080
+ # The maximum number of objects returned per page.
1081
+ #
1082
+ # @return [Types::ListDomainsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1083
+ #
1084
+ # * {Types::ListDomainsResponse#items #items} => Array&lt;Types::ListDomainItem&gt;
1085
+ # * {Types::ListDomainsResponse#next_token #next_token} => String
1086
+ #
1087
+ # @example Request syntax with placeholder values
1088
+ #
1089
+ # resp = client.list_domains({
1090
+ # next_token: "token",
1091
+ # max_results: 1,
1092
+ # })
1093
+ #
1094
+ # @example Response structure
1095
+ #
1096
+ # resp.items #=> Array
1097
+ # resp.items[0].domain_name #=> String
1098
+ # resp.items[0].created_at #=> Time
1099
+ # resp.items[0].last_updated_at #=> Time
1100
+ # resp.items[0].tags #=> Hash
1101
+ # resp.items[0].tags["TagKey"] #=> String
1102
+ # resp.next_token #=> String
1103
+ #
1104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListDomains AWS API Documentation
1105
+ #
1106
+ # @overload list_domains(params = {})
1107
+ # @param [Hash] params ({})
1108
+ def list_domains(params = {}, options = {})
1109
+ req = build_request(:list_domains, params)
1110
+ req.send_request(options)
1111
+ end
1112
+
1113
+ # Lists all of the integrations in your domain.
1114
+ #
1115
+ # @option params [required, String] :domain_name
1116
+ # The unique name of the domain.
1117
+ #
1118
+ # @option params [String] :next_token
1119
+ # The pagination token from the previous ListIntegrations API call.
1120
+ #
1121
+ # @option params [Integer] :max_results
1122
+ # The maximum number of objects returned per page.
1123
+ #
1124
+ # @return [Types::ListIntegrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1125
+ #
1126
+ # * {Types::ListIntegrationsResponse#items #items} => Array&lt;Types::ListIntegrationItem&gt;
1127
+ # * {Types::ListIntegrationsResponse#next_token #next_token} => String
1128
+ #
1129
+ # @example Request syntax with placeholder values
1130
+ #
1131
+ # resp = client.list_integrations({
1132
+ # domain_name: "name", # required
1133
+ # next_token: "token",
1134
+ # max_results: 1,
1135
+ # })
1136
+ #
1137
+ # @example Response structure
1138
+ #
1139
+ # resp.items #=> Array
1140
+ # resp.items[0].domain_name #=> String
1141
+ # resp.items[0].uri #=> String
1142
+ # resp.items[0].object_type_name #=> String
1143
+ # resp.items[0].created_at #=> Time
1144
+ # resp.items[0].last_updated_at #=> Time
1145
+ # resp.items[0].tags #=> Hash
1146
+ # resp.items[0].tags["TagKey"] #=> String
1147
+ # resp.next_token #=> String
1148
+ #
1149
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrations AWS API Documentation
1150
+ #
1151
+ # @overload list_integrations(params = {})
1152
+ # @param [Hash] params ({})
1153
+ def list_integrations(params = {}, options = {})
1154
+ req = build_request(:list_integrations, params)
1155
+ req.send_request(options)
1156
+ end
1157
+
1158
+ # Lists all of the template information for object types.
1159
+ #
1160
+ # @option params [String] :next_token
1161
+ # The pagination token from the previous ListObjectTypeTemplates API
1162
+ # call.
1163
+ #
1164
+ # @option params [Integer] :max_results
1165
+ # The maximum number of objects returned per page.
1166
+ #
1167
+ # @return [Types::ListProfileObjectTypeTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1168
+ #
1169
+ # * {Types::ListProfileObjectTypeTemplatesResponse#items #items} => Array&lt;Types::ListProfileObjectTypeTemplateItem&gt;
1170
+ # * {Types::ListProfileObjectTypeTemplatesResponse#next_token #next_token} => String
1171
+ #
1172
+ # @example Request syntax with placeholder values
1173
+ #
1174
+ # resp = client.list_profile_object_type_templates({
1175
+ # next_token: "token",
1176
+ # max_results: 1,
1177
+ # })
1178
+ #
1179
+ # @example Response structure
1180
+ #
1181
+ # resp.items #=> Array
1182
+ # resp.items[0].template_id #=> String
1183
+ # resp.items[0].source_name #=> String
1184
+ # resp.items[0].source_object #=> String
1185
+ # resp.next_token #=> String
1186
+ #
1187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectTypeTemplates AWS API Documentation
1188
+ #
1189
+ # @overload list_profile_object_type_templates(params = {})
1190
+ # @param [Hash] params ({})
1191
+ def list_profile_object_type_templates(params = {}, options = {})
1192
+ req = build_request(:list_profile_object_type_templates, params)
1193
+ req.send_request(options)
1194
+ end
1195
+
1196
+ # Lists all of the templates available within the service.
1197
+ #
1198
+ # @option params [required, String] :domain_name
1199
+ # The unique name of the domain.
1200
+ #
1201
+ # @option params [String] :next_token
1202
+ # Identifies the next page of results to return.
1203
+ #
1204
+ # @option params [Integer] :max_results
1205
+ # The maximum number of objects returned per page.
1206
+ #
1207
+ # @return [Types::ListProfileObjectTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1208
+ #
1209
+ # * {Types::ListProfileObjectTypesResponse#items #items} => Array&lt;Types::ListProfileObjectTypeItem&gt;
1210
+ # * {Types::ListProfileObjectTypesResponse#next_token #next_token} => String
1211
+ #
1212
+ # @example Request syntax with placeholder values
1213
+ #
1214
+ # resp = client.list_profile_object_types({
1215
+ # domain_name: "name", # required
1216
+ # next_token: "token",
1217
+ # max_results: 1,
1218
+ # })
1219
+ #
1220
+ # @example Response structure
1221
+ #
1222
+ # resp.items #=> Array
1223
+ # resp.items[0].object_type_name #=> String
1224
+ # resp.items[0].description #=> String
1225
+ # resp.items[0].created_at #=> Time
1226
+ # resp.items[0].last_updated_at #=> Time
1227
+ # resp.items[0].tags #=> Hash
1228
+ # resp.items[0].tags["TagKey"] #=> String
1229
+ # resp.next_token #=> String
1230
+ #
1231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectTypes AWS API Documentation
1232
+ #
1233
+ # @overload list_profile_object_types(params = {})
1234
+ # @param [Hash] params ({})
1235
+ def list_profile_object_types(params = {}, options = {})
1236
+ req = build_request(:list_profile_object_types, params)
1237
+ req.send_request(options)
1238
+ end
1239
+
1240
+ # Returns a list of objects associated with a profile of a given
1241
+ # ProfileObjectType.
1242
+ #
1243
+ # @option params [String] :next_token
1244
+ # The pagination token from the previous call to ListProfileObjects.
1245
+ #
1246
+ # @option params [Integer] :max_results
1247
+ # The maximum number of objects returned per page.
1248
+ #
1249
+ # @option params [required, String] :domain_name
1250
+ # The unique name of the domain.
1251
+ #
1252
+ # @option params [required, String] :object_type_name
1253
+ # The name of the profile object type.
1254
+ #
1255
+ # @option params [required, String] :profile_id
1256
+ # The unique identifier of a customer profile.
1257
+ #
1258
+ # @return [Types::ListProfileObjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1259
+ #
1260
+ # * {Types::ListProfileObjectsResponse#items #items} => Array&lt;Types::ListProfileObjectsItem&gt;
1261
+ # * {Types::ListProfileObjectsResponse#next_token #next_token} => String
1262
+ #
1263
+ # @example Request syntax with placeholder values
1264
+ #
1265
+ # resp = client.list_profile_objects({
1266
+ # next_token: "token",
1267
+ # max_results: 1,
1268
+ # domain_name: "name", # required
1269
+ # object_type_name: "typeName", # required
1270
+ # profile_id: "uuid", # required
1271
+ # })
1272
+ #
1273
+ # @example Response structure
1274
+ #
1275
+ # resp.items #=> Array
1276
+ # resp.items[0].object_type_name #=> String
1277
+ # resp.items[0].profile_object_unique_key #=> String
1278
+ # resp.items[0].object #=> String
1279
+ # resp.next_token #=> String
1280
+ #
1281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjects AWS API Documentation
1282
+ #
1283
+ # @overload list_profile_objects(params = {})
1284
+ # @param [Hash] params ({})
1285
+ def list_profile_objects(params = {}, options = {})
1286
+ req = build_request(:list_profile_objects, params)
1287
+ req.send_request(options)
1288
+ end
1289
+
1290
+ # Displays the tags associated with an Amazon Connect Customer Profiles
1291
+ # resource. In Connect Customer Profiles, domains, profile object types,
1292
+ # and integrations can be tagged.
1293
+ #
1294
+ # @option params [required, String] :resource_arn
1295
+ # The ARN of the resource for which you want to view tags.
1296
+ #
1297
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1298
+ #
1299
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1300
+ #
1301
+ # @example Request syntax with placeholder values
1302
+ #
1303
+ # resp = client.list_tags_for_resource({
1304
+ # resource_arn: "TagArn", # required
1305
+ # })
1306
+ #
1307
+ # @example Response structure
1308
+ #
1309
+ # resp.tags #=> Hash
1310
+ # resp.tags["TagKey"] #=> String
1311
+ #
1312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListTagsForResource AWS API Documentation
1313
+ #
1314
+ # @overload list_tags_for_resource(params = {})
1315
+ # @param [Hash] params ({})
1316
+ def list_tags_for_resource(params = {}, options = {})
1317
+ req = build_request(:list_tags_for_resource, params)
1318
+ req.send_request(options)
1319
+ end
1320
+
1321
+ # Adds an integration between the service and a third-party service,
1322
+ # which includes Amazon AppFlow and Amazon Connect.
1323
+ #
1324
+ # An integration can belong to only one domain.
1325
+ #
1326
+ # @option params [required, String] :domain_name
1327
+ # The unique name of the domain.
1328
+ #
1329
+ # @option params [required, String] :uri
1330
+ # The URI of the S3 bucket or any other type of data source.
1331
+ #
1332
+ # @option params [required, String] :object_type_name
1333
+ # The name of the profile object type.
1334
+ #
1335
+ # @option params [Hash<String,String>] :tags
1336
+ # The tags used to organize, track, or control access for this resource.
1337
+ #
1338
+ # @return [Types::PutIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1339
+ #
1340
+ # * {Types::PutIntegrationResponse#domain_name #domain_name} => String
1341
+ # * {Types::PutIntegrationResponse#uri #uri} => String
1342
+ # * {Types::PutIntegrationResponse#object_type_name #object_type_name} => String
1343
+ # * {Types::PutIntegrationResponse#created_at #created_at} => Time
1344
+ # * {Types::PutIntegrationResponse#last_updated_at #last_updated_at} => Time
1345
+ # * {Types::PutIntegrationResponse#tags #tags} => Hash&lt;String,String&gt;
1346
+ #
1347
+ # @example Request syntax with placeholder values
1348
+ #
1349
+ # resp = client.put_integration({
1350
+ # domain_name: "name", # required
1351
+ # uri: "string1To255", # required
1352
+ # object_type_name: "typeName", # required
1353
+ # tags: {
1354
+ # "TagKey" => "TagValue",
1355
+ # },
1356
+ # })
1357
+ #
1358
+ # @example Response structure
1359
+ #
1360
+ # resp.domain_name #=> String
1361
+ # resp.uri #=> String
1362
+ # resp.object_type_name #=> String
1363
+ # resp.created_at #=> Time
1364
+ # resp.last_updated_at #=> Time
1365
+ # resp.tags #=> Hash
1366
+ # resp.tags["TagKey"] #=> String
1367
+ #
1368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegration AWS API Documentation
1369
+ #
1370
+ # @overload put_integration(params = {})
1371
+ # @param [Hash] params ({})
1372
+ def put_integration(params = {}, options = {})
1373
+ req = build_request(:put_integration, params)
1374
+ req.send_request(options)
1375
+ end
1376
+
1377
+ # Adds additional objects to customer profiles of a given ObjectType.
1378
+ #
1379
+ # When adding a specific profile object, like a Contact Trace Record
1380
+ # (CTR), an inferred profile can get created if it is not mapped to an
1381
+ # existing profile. The resulting profile will only have a phone number
1382
+ # populated in the standard ProfileObject. Any additional CTRs with the
1383
+ # same phone number will be mapped to the same inferred profile.
1384
+ #
1385
+ # When a ProfileObject is created and if a ProfileObjectType already
1386
+ # exists for the ProfileObject, it will provide data to a standard
1387
+ # profile depending on the ProfileObjectType definition.
1388
+ #
1389
+ # PutProfileObject needs an ObjectType, which can be created using
1390
+ # PutProfileObjectType.
1391
+ #
1392
+ # @option params [required, String] :object_type_name
1393
+ # The name of the profile object type.
1394
+ #
1395
+ # @option params [required, String] :object
1396
+ # A string that is serialized from a JSON object.
1397
+ #
1398
+ # @option params [required, String] :domain_name
1399
+ # The unique name of the domain.
1400
+ #
1401
+ # @return [Types::PutProfileObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1402
+ #
1403
+ # * {Types::PutProfileObjectResponse#profile_object_unique_key #profile_object_unique_key} => String
1404
+ #
1405
+ # @example Request syntax with placeholder values
1406
+ #
1407
+ # resp = client.put_profile_object({
1408
+ # object_type_name: "typeName", # required
1409
+ # object: "stringifiedJson", # required
1410
+ # domain_name: "name", # required
1411
+ # })
1412
+ #
1413
+ # @example Response structure
1414
+ #
1415
+ # resp.profile_object_unique_key #=> String
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutProfileObject AWS API Documentation
1418
+ #
1419
+ # @overload put_profile_object(params = {})
1420
+ # @param [Hash] params ({})
1421
+ def put_profile_object(params = {}, options = {})
1422
+ req = build_request(:put_profile_object, params)
1423
+ req.send_request(options)
1424
+ end
1425
+
1426
+ # Defines a ProfileObjectType.
1427
+ #
1428
+ # @option params [required, String] :domain_name
1429
+ # The unique name of the domain.
1430
+ #
1431
+ # @option params [required, String] :object_type_name
1432
+ # The name of the profile object type.
1433
+ #
1434
+ # @option params [required, String] :description
1435
+ # Description of the profile object type.
1436
+ #
1437
+ # @option params [String] :template_id
1438
+ # A unique identifier for the object template.
1439
+ #
1440
+ # @option params [Integer] :expiration_days
1441
+ # The number of days until the data in the object expires.
1442
+ #
1443
+ # @option params [String] :encryption_key
1444
+ # The customer-provided key to encrypt the profile object that will be
1445
+ # created in this profile object type.
1446
+ #
1447
+ # @option params [Boolean] :allow_profile_creation
1448
+ # Indicates whether a profile should be created when data is received if
1449
+ # one doesn’t exist for an object of this type. The default is `FALSE`.
1450
+ # If the AllowProfileCreation flag is set to `FALSE`, then the service
1451
+ # tries to fetch a standard profile and associate this object with the
1452
+ # profile. If it is set to `TRUE`, and if no match is found, then the
1453
+ # service creates a new standard profile.
1454
+ #
1455
+ # @option params [Hash<String,Types::ObjectTypeField>] :fields
1456
+ # A map of the name and ObjectType field.
1457
+ #
1458
+ # @option params [Hash<String,Array>] :keys
1459
+ # A list of unique keys that can be used to map data to the profile.
1460
+ #
1461
+ # @option params [Hash<String,String>] :tags
1462
+ # The tags used to organize, track, or control access for this resource.
1463
+ #
1464
+ # @return [Types::PutProfileObjectTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1465
+ #
1466
+ # * {Types::PutProfileObjectTypeResponse#object_type_name #object_type_name} => String
1467
+ # * {Types::PutProfileObjectTypeResponse#description #description} => String
1468
+ # * {Types::PutProfileObjectTypeResponse#template_id #template_id} => String
1469
+ # * {Types::PutProfileObjectTypeResponse#expiration_days #expiration_days} => Integer
1470
+ # * {Types::PutProfileObjectTypeResponse#encryption_key #encryption_key} => String
1471
+ # * {Types::PutProfileObjectTypeResponse#allow_profile_creation #allow_profile_creation} => Boolean
1472
+ # * {Types::PutProfileObjectTypeResponse#fields #fields} => Hash&lt;String,Types::ObjectTypeField&gt;
1473
+ # * {Types::PutProfileObjectTypeResponse#keys #keys} => Hash&lt;String,Array&lt;Types::ObjectTypeKey&gt;&gt;
1474
+ # * {Types::PutProfileObjectTypeResponse#created_at #created_at} => Time
1475
+ # * {Types::PutProfileObjectTypeResponse#last_updated_at #last_updated_at} => Time
1476
+ # * {Types::PutProfileObjectTypeResponse#tags #tags} => Hash&lt;String,String&gt;
1477
+ #
1478
+ # @example Request syntax with placeholder values
1479
+ #
1480
+ # resp = client.put_profile_object_type({
1481
+ # domain_name: "name", # required
1482
+ # object_type_name: "typeName", # required
1483
+ # description: "text", # required
1484
+ # template_id: "name",
1485
+ # expiration_days: 1,
1486
+ # encryption_key: "encryptionKey",
1487
+ # allow_profile_creation: false,
1488
+ # fields: {
1489
+ # "name" => {
1490
+ # source: "text",
1491
+ # target: "text",
1492
+ # content_type: "STRING", # accepts STRING, NUMBER, PHONE_NUMBER, EMAIL_ADDRESS, NAME
1493
+ # },
1494
+ # },
1495
+ # keys: {
1496
+ # "name" => [
1497
+ # {
1498
+ # standard_identifiers: ["PROFILE"], # accepts PROFILE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
1499
+ # field_names: ["name"],
1500
+ # },
1501
+ # ],
1502
+ # },
1503
+ # tags: {
1504
+ # "TagKey" => "TagValue",
1505
+ # },
1506
+ # })
1507
+ #
1508
+ # @example Response structure
1509
+ #
1510
+ # resp.object_type_name #=> String
1511
+ # resp.description #=> String
1512
+ # resp.template_id #=> String
1513
+ # resp.expiration_days #=> Integer
1514
+ # resp.encryption_key #=> String
1515
+ # resp.allow_profile_creation #=> Boolean
1516
+ # resp.fields #=> Hash
1517
+ # resp.fields["name"].source #=> String
1518
+ # resp.fields["name"].target #=> String
1519
+ # resp.fields["name"].content_type #=> String, one of "STRING", "NUMBER", "PHONE_NUMBER", "EMAIL_ADDRESS", "NAME"
1520
+ # resp.keys #=> Hash
1521
+ # resp.keys["name"] #=> Array
1522
+ # resp.keys["name"][0].standard_identifiers #=> Array
1523
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1524
+ # resp.keys["name"][0].field_names #=> Array
1525
+ # resp.keys["name"][0].field_names[0] #=> String
1526
+ # resp.created_at #=> Time
1527
+ # resp.last_updated_at #=> Time
1528
+ # resp.tags #=> Hash
1529
+ # resp.tags["TagKey"] #=> String
1530
+ #
1531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutProfileObjectType AWS API Documentation
1532
+ #
1533
+ # @overload put_profile_object_type(params = {})
1534
+ # @param [Hash] params ({})
1535
+ def put_profile_object_type(params = {}, options = {})
1536
+ req = build_request(:put_profile_object_type, params)
1537
+ req.send_request(options)
1538
+ end
1539
+
1540
+ # Searches for profiles within a specific domain name using name, phone
1541
+ # number, email address, account number, or a custom defined index.
1542
+ #
1543
+ # @option params [String] :next_token
1544
+ # The pagination token from the previous SearchProfiles API call.
1545
+ #
1546
+ # @option params [Integer] :max_results
1547
+ # The maximum number of objects returned per page.
1548
+ #
1549
+ # @option params [required, String] :domain_name
1550
+ # The unique name of the domain.
1551
+ #
1552
+ # @option params [required, String] :key_name
1553
+ # A searchable identifier of a customer profile. The predefined keys you
1554
+ # can use to search include: \_account, \_profileId, \_fullName,
1555
+ # \_phone, \_email, \_ctrContactId, \_marketoLeadId,
1556
+ # \_salesforceAccountId, \_salesforceContactId, \_zendeskUserId,
1557
+ # \_zendeskExternalId, \_serviceNowSystemId.
1558
+ #
1559
+ # @option params [required, Array<String>] :values
1560
+ # A list of key values.
1561
+ #
1562
+ # @return [Types::SearchProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1563
+ #
1564
+ # * {Types::SearchProfilesResponse#items #items} => Array&lt;Types::Profile&gt;
1565
+ # * {Types::SearchProfilesResponse#next_token #next_token} => String
1566
+ #
1567
+ # @example Request syntax with placeholder values
1568
+ #
1569
+ # resp = client.search_profiles({
1570
+ # next_token: "token",
1571
+ # max_results: 1,
1572
+ # domain_name: "name", # required
1573
+ # key_name: "name", # required
1574
+ # values: ["string1To255"], # required
1575
+ # })
1576
+ #
1577
+ # @example Response structure
1578
+ #
1579
+ # resp.items #=> Array
1580
+ # resp.items[0].profile_id #=> String
1581
+ # resp.items[0].account_number #=> String
1582
+ # resp.items[0].additional_information #=> String
1583
+ # resp.items[0].party_type #=> String, one of "INDIVIDUAL", "BUSINESS", "OTHER"
1584
+ # resp.items[0].business_name #=> String
1585
+ # resp.items[0].first_name #=> String
1586
+ # resp.items[0].middle_name #=> String
1587
+ # resp.items[0].last_name #=> String
1588
+ # resp.items[0].birth_date #=> String
1589
+ # resp.items[0].gender #=> String, one of "MALE", "FEMALE", "UNSPECIFIED"
1590
+ # resp.items[0].phone_number #=> String
1591
+ # resp.items[0].mobile_phone_number #=> String
1592
+ # resp.items[0].home_phone_number #=> String
1593
+ # resp.items[0].business_phone_number #=> String
1594
+ # resp.items[0].email_address #=> String
1595
+ # resp.items[0].personal_email_address #=> String
1596
+ # resp.items[0].business_email_address #=> String
1597
+ # resp.items[0].address.address_1 #=> String
1598
+ # resp.items[0].address.address_2 #=> String
1599
+ # resp.items[0].address.address_3 #=> String
1600
+ # resp.items[0].address.address_4 #=> String
1601
+ # resp.items[0].address.city #=> String
1602
+ # resp.items[0].address.county #=> String
1603
+ # resp.items[0].address.state #=> String
1604
+ # resp.items[0].address.province #=> String
1605
+ # resp.items[0].address.country #=> String
1606
+ # resp.items[0].address.postal_code #=> String
1607
+ # resp.items[0].shipping_address.address_1 #=> String
1608
+ # resp.items[0].shipping_address.address_2 #=> String
1609
+ # resp.items[0].shipping_address.address_3 #=> String
1610
+ # resp.items[0].shipping_address.address_4 #=> String
1611
+ # resp.items[0].shipping_address.city #=> String
1612
+ # resp.items[0].shipping_address.county #=> String
1613
+ # resp.items[0].shipping_address.state #=> String
1614
+ # resp.items[0].shipping_address.province #=> String
1615
+ # resp.items[0].shipping_address.country #=> String
1616
+ # resp.items[0].shipping_address.postal_code #=> String
1617
+ # resp.items[0].mailing_address.address_1 #=> String
1618
+ # resp.items[0].mailing_address.address_2 #=> String
1619
+ # resp.items[0].mailing_address.address_3 #=> String
1620
+ # resp.items[0].mailing_address.address_4 #=> String
1621
+ # resp.items[0].mailing_address.city #=> String
1622
+ # resp.items[0].mailing_address.county #=> String
1623
+ # resp.items[0].mailing_address.state #=> String
1624
+ # resp.items[0].mailing_address.province #=> String
1625
+ # resp.items[0].mailing_address.country #=> String
1626
+ # resp.items[0].mailing_address.postal_code #=> String
1627
+ # resp.items[0].billing_address.address_1 #=> String
1628
+ # resp.items[0].billing_address.address_2 #=> String
1629
+ # resp.items[0].billing_address.address_3 #=> String
1630
+ # resp.items[0].billing_address.address_4 #=> String
1631
+ # resp.items[0].billing_address.city #=> String
1632
+ # resp.items[0].billing_address.county #=> String
1633
+ # resp.items[0].billing_address.state #=> String
1634
+ # resp.items[0].billing_address.province #=> String
1635
+ # resp.items[0].billing_address.country #=> String
1636
+ # resp.items[0].billing_address.postal_code #=> String
1637
+ # resp.items[0].attributes #=> Hash
1638
+ # resp.items[0].attributes["string1To255"] #=> String
1639
+ # resp.next_token #=> String
1640
+ #
1641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/SearchProfiles AWS API Documentation
1642
+ #
1643
+ # @overload search_profiles(params = {})
1644
+ # @param [Hash] params ({})
1645
+ def search_profiles(params = {}, options = {})
1646
+ req = build_request(:search_profiles, params)
1647
+ req.send_request(options)
1648
+ end
1649
+
1650
+ # Assigns one or more tags (key-value pairs) to the specified Amazon
1651
+ # Connect Customer Profiles resource. Tags can help you organize and
1652
+ # categorize your resources. You can also use them to scope user
1653
+ # permissions by granting a user permission to access or change only
1654
+ # resources with certain tag values. In Connect Customer Profiles,
1655
+ # domains, profile object types, and integrations can be tagged.
1656
+ #
1657
+ # Tags don't have any semantic meaning to AWS and are interpreted
1658
+ # strictly as strings of characters.
1659
+ #
1660
+ # You can use the TagResource action with a resource that already has
1661
+ # tags. If you specify a new tag key, this tag is appended to the list
1662
+ # of tags associated with the resource. If you specify a tag key that is
1663
+ # already associated with the resource, the new tag value that you
1664
+ # specify replaces the previous value for that tag.
1665
+ #
1666
+ # You can associate as many as 50 tags with a resource.
1667
+ #
1668
+ # @option params [required, String] :resource_arn
1669
+ # The ARN of the resource that you're adding tags to.
1670
+ #
1671
+ # @option params [required, Hash<String,String>] :tags
1672
+ # The tags used to organize, track, or control access for this resource.
1673
+ #
1674
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1675
+ #
1676
+ # @example Request syntax with placeholder values
1677
+ #
1678
+ # resp = client.tag_resource({
1679
+ # resource_arn: "TagArn", # required
1680
+ # tags: { # required
1681
+ # "TagKey" => "TagValue",
1682
+ # },
1683
+ # })
1684
+ #
1685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/TagResource AWS API Documentation
1686
+ #
1687
+ # @overload tag_resource(params = {})
1688
+ # @param [Hash] params ({})
1689
+ def tag_resource(params = {}, options = {})
1690
+ req = build_request(:tag_resource, params)
1691
+ req.send_request(options)
1692
+ end
1693
+
1694
+ # Removes one or more tags from the specified Amazon Connect Customer
1695
+ # Profiles resource. In Connect Customer Profiles, domains, profile
1696
+ # object types, and integrations can be tagged.
1697
+ #
1698
+ # @option params [required, String] :resource_arn
1699
+ # The ARN of the resource from which you are removing tags.
1700
+ #
1701
+ # @option params [required, Array<String>] :tag_keys
1702
+ # The list of tag keys to remove from the resource.
1703
+ #
1704
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1705
+ #
1706
+ # @example Request syntax with placeholder values
1707
+ #
1708
+ # resp = client.untag_resource({
1709
+ # resource_arn: "TagArn", # required
1710
+ # tag_keys: ["TagKey"], # required
1711
+ # })
1712
+ #
1713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UntagResource AWS API Documentation
1714
+ #
1715
+ # @overload untag_resource(params = {})
1716
+ # @param [Hash] params ({})
1717
+ def untag_resource(params = {}, options = {})
1718
+ req = build_request(:untag_resource, params)
1719
+ req.send_request(options)
1720
+ end
1721
+
1722
+ # Updates the properties of a domain, including creating or selecting a
1723
+ # dead letter queue or an encryption key.
1724
+ #
1725
+ # Once a domain is created, the name can’t be changed.
1726
+ #
1727
+ # @option params [required, String] :domain_name
1728
+ # The unique name for the domain.
1729
+ #
1730
+ # @option params [Integer] :default_expiration_days
1731
+ # The default number of days until the data within the domain expires.
1732
+ #
1733
+ # @option params [String] :default_encryption_key
1734
+ # The default encryption key, which is an AWS managed key, is used when
1735
+ # no specific type of encryption key is specified. It is used to encrypt
1736
+ # all data before it is placed in permanent or semi-permanent storage.
1737
+ # If specified as an empty string, it will clear any existing value.
1738
+ #
1739
+ # @option params [String] :dead_letter_queue_url
1740
+ # The URL of the SQS dead letter queue, which is used for reporting
1741
+ # errors associated with ingesting data from third party applications.
1742
+ # If specified as an empty string, it will clear any existing value. You
1743
+ # must set up a policy on the DeadLetterQueue for the SendMessage
1744
+ # operation to enable Amazon Connect Customer Profiles to send messages
1745
+ # to the DeadLetterQueue.
1746
+ #
1747
+ # @option params [Hash<String,String>] :tags
1748
+ # The tags used to organize, track, or control access for this resource.
1749
+ #
1750
+ # @return [Types::UpdateDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1751
+ #
1752
+ # * {Types::UpdateDomainResponse#domain_name #domain_name} => String
1753
+ # * {Types::UpdateDomainResponse#default_expiration_days #default_expiration_days} => Integer
1754
+ # * {Types::UpdateDomainResponse#default_encryption_key #default_encryption_key} => String
1755
+ # * {Types::UpdateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
1756
+ # * {Types::UpdateDomainResponse#created_at #created_at} => Time
1757
+ # * {Types::UpdateDomainResponse#last_updated_at #last_updated_at} => Time
1758
+ # * {Types::UpdateDomainResponse#tags #tags} => Hash&lt;String,String&gt;
1759
+ #
1760
+ # @example Request syntax with placeholder values
1761
+ #
1762
+ # resp = client.update_domain({
1763
+ # domain_name: "name", # required
1764
+ # default_expiration_days: 1,
1765
+ # default_encryption_key: "encryptionKey",
1766
+ # dead_letter_queue_url: "sqsQueueUrl",
1767
+ # tags: {
1768
+ # "TagKey" => "TagValue",
1769
+ # },
1770
+ # })
1771
+ #
1772
+ # @example Response structure
1773
+ #
1774
+ # resp.domain_name #=> String
1775
+ # resp.default_expiration_days #=> Integer
1776
+ # resp.default_encryption_key #=> String
1777
+ # resp.dead_letter_queue_url #=> String
1778
+ # resp.created_at #=> Time
1779
+ # resp.last_updated_at #=> Time
1780
+ # resp.tags #=> Hash
1781
+ # resp.tags["TagKey"] #=> String
1782
+ #
1783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateDomain AWS API Documentation
1784
+ #
1785
+ # @overload update_domain(params = {})
1786
+ # @param [Hash] params ({})
1787
+ def update_domain(params = {}, options = {})
1788
+ req = build_request(:update_domain, params)
1789
+ req.send_request(options)
1790
+ end
1791
+
1792
+ # Updates the properties of a profile. The ProfileId is required for
1793
+ # updating a customer profile.
1794
+ #
1795
+ # When calling the UpdateProfile API, specifying an empty string value
1796
+ # means that any existing value will be removed. Not specifying a string
1797
+ # value means that any value already there will be kept.
1798
+ #
1799
+ # @option params [required, String] :domain_name
1800
+ # The unique name of the domain.
1801
+ #
1802
+ # @option params [required, String] :profile_id
1803
+ # The unique identifier of a customer profile.
1804
+ #
1805
+ # @option params [String] :additional_information
1806
+ # Any additional information relevant to the customer's profile.
1807
+ #
1808
+ # @option params [String] :account_number
1809
+ # A unique account number that you have given to the customer.
1810
+ #
1811
+ # @option params [String] :party_type
1812
+ # The type of profile used to describe the customer.
1813
+ #
1814
+ # @option params [String] :business_name
1815
+ # The name of the customer’s business.
1816
+ #
1817
+ # @option params [String] :first_name
1818
+ # The customer’s first name.
1819
+ #
1820
+ # @option params [String] :middle_name
1821
+ # The customer’s middle name.
1822
+ #
1823
+ # @option params [String] :last_name
1824
+ # The customer’s last name.
1825
+ #
1826
+ # @option params [String] :birth_date
1827
+ # The customer’s birth date.
1828
+ #
1829
+ # @option params [String] :gender
1830
+ # The gender with which the customer identifies.
1831
+ #
1832
+ # @option params [String] :phone_number
1833
+ # The customer's phone number, which has not been specified as a
1834
+ # mobile, home, or business number.
1835
+ #
1836
+ # @option params [String] :mobile_phone_number
1837
+ # The customer’s mobile phone number.
1838
+ #
1839
+ # @option params [String] :home_phone_number
1840
+ # The customer’s home phone number.
1841
+ #
1842
+ # @option params [String] :business_phone_number
1843
+ # The customer’s business phone number.
1844
+ #
1845
+ # @option params [String] :email_address
1846
+ # The customer's email address, which has not been specified as a
1847
+ # personal or business address.
1848
+ #
1849
+ # @option params [String] :personal_email_address
1850
+ # The customer’s personal email address.
1851
+ #
1852
+ # @option params [String] :business_email_address
1853
+ # The customer’s business email address.
1854
+ #
1855
+ # @option params [Types::UpdateAddress] :address
1856
+ # A generic address associated with the customer that is not mailing,
1857
+ # shipping, or billing.
1858
+ #
1859
+ # @option params [Types::UpdateAddress] :shipping_address
1860
+ # The customer’s shipping address.
1861
+ #
1862
+ # @option params [Types::UpdateAddress] :mailing_address
1863
+ # The customer’s mailing address.
1864
+ #
1865
+ # @option params [Types::UpdateAddress] :billing_address
1866
+ # The customer’s billing address.
1867
+ #
1868
+ # @option params [Hash<String,String>] :attributes
1869
+ # A key value pair of attributes of a customer profile.
1870
+ #
1871
+ # @return [Types::UpdateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1872
+ #
1873
+ # * {Types::UpdateProfileResponse#profile_id #profile_id} => String
1874
+ #
1875
+ # @example Request syntax with placeholder values
1876
+ #
1877
+ # resp = client.update_profile({
1878
+ # domain_name: "name", # required
1879
+ # profile_id: "uuid", # required
1880
+ # additional_information: "string0To1000",
1881
+ # account_number: "string0To255",
1882
+ # party_type: "INDIVIDUAL", # accepts INDIVIDUAL, BUSINESS, OTHER
1883
+ # business_name: "string0To255",
1884
+ # first_name: "string0To255",
1885
+ # middle_name: "string0To255",
1886
+ # last_name: "string0To255",
1887
+ # birth_date: "string0To255",
1888
+ # gender: "MALE", # accepts MALE, FEMALE, UNSPECIFIED
1889
+ # phone_number: "string0To255",
1890
+ # mobile_phone_number: "string0To255",
1891
+ # home_phone_number: "string0To255",
1892
+ # business_phone_number: "string0To255",
1893
+ # email_address: "string0To255",
1894
+ # personal_email_address: "string0To255",
1895
+ # business_email_address: "string0To255",
1896
+ # address: {
1897
+ # address_1: "string0To255",
1898
+ # address_2: "string0To255",
1899
+ # address_3: "string0To255",
1900
+ # address_4: "string0To255",
1901
+ # city: "string0To255",
1902
+ # county: "string0To255",
1903
+ # state: "string0To255",
1904
+ # province: "string0To255",
1905
+ # country: "string0To255",
1906
+ # postal_code: "string0To255",
1907
+ # },
1908
+ # shipping_address: {
1909
+ # address_1: "string0To255",
1910
+ # address_2: "string0To255",
1911
+ # address_3: "string0To255",
1912
+ # address_4: "string0To255",
1913
+ # city: "string0To255",
1914
+ # county: "string0To255",
1915
+ # state: "string0To255",
1916
+ # province: "string0To255",
1917
+ # country: "string0To255",
1918
+ # postal_code: "string0To255",
1919
+ # },
1920
+ # mailing_address: {
1921
+ # address_1: "string0To255",
1922
+ # address_2: "string0To255",
1923
+ # address_3: "string0To255",
1924
+ # address_4: "string0To255",
1925
+ # city: "string0To255",
1926
+ # county: "string0To255",
1927
+ # state: "string0To255",
1928
+ # province: "string0To255",
1929
+ # country: "string0To255",
1930
+ # postal_code: "string0To255",
1931
+ # },
1932
+ # billing_address: {
1933
+ # address_1: "string0To255",
1934
+ # address_2: "string0To255",
1935
+ # address_3: "string0To255",
1936
+ # address_4: "string0To255",
1937
+ # city: "string0To255",
1938
+ # county: "string0To255",
1939
+ # state: "string0To255",
1940
+ # province: "string0To255",
1941
+ # country: "string0To255",
1942
+ # postal_code: "string0To255",
1943
+ # },
1944
+ # attributes: {
1945
+ # "string1To255" => "string0To255",
1946
+ # },
1947
+ # })
1948
+ #
1949
+ # @example Response structure
1950
+ #
1951
+ # resp.profile_id #=> String
1952
+ #
1953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateProfile AWS API Documentation
1954
+ #
1955
+ # @overload update_profile(params = {})
1956
+ # @param [Hash] params ({})
1957
+ def update_profile(params = {}, options = {})
1958
+ req = build_request(:update_profile, params)
1959
+ req.send_request(options)
1960
+ end
1961
+
1962
+ # @!endgroup
1963
+
1964
+ # @param params ({})
1965
+ # @api private
1966
+ def build_request(operation_name, params = {})
1967
+ handlers = @handlers.for(operation_name)
1968
+ context = Seahorse::Client::RequestContext.new(
1969
+ operation_name: operation_name,
1970
+ operation: config.api.operation(operation_name),
1971
+ client: self,
1972
+ params: params,
1973
+ config: config)
1974
+ context[:gem_name] = 'aws-sdk-customerprofiles'
1975
+ context[:gem_version] = '1.0.0'
1976
+ Seahorse::Client::Request.new(handlers, context)
1977
+ end
1978
+
1979
+ # @api private
1980
+ # @deprecated
1981
+ def waiter_names
1982
+ []
1983
+ end
1984
+
1985
+ class << self
1986
+
1987
+ # @api private
1988
+ attr_reader :identifier
1989
+
1990
+ # @api private
1991
+ def errors_module
1992
+ Errors
1993
+ end
1994
+
1995
+ end
1996
+ end
1997
+ end