aws-sdk-taxsettings 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,1265 @@
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/invocation_id.rb'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
+ require 'aws-sdk-core/plugins/http_checksum.rb'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
+ require 'aws-sdk-core/plugins/request_compression.rb'
33
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
34
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/sign.rb'
36
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
37
+
38
+ Aws::Plugins::GlobalConfiguration.add_identifier(:taxsettings)
39
+
40
+ module Aws::TaxSettings
41
+ # An API client for TaxSettings. To construct a client, you need to configure a `:region` and `:credentials`.
42
+ #
43
+ # client = Aws::TaxSettings::Client.new(
44
+ # region: region_name,
45
+ # credentials: credentials,
46
+ # # ...
47
+ # )
48
+ #
49
+ # For details on configuring region and credentials see
50
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
51
+ #
52
+ # See {#initialize} for a full list of supported configuration options.
53
+ class Client < Seahorse::Client::Base
54
+
55
+ include Aws::ClientStubs
56
+
57
+ @identifier = :taxsettings
58
+
59
+ set_api(ClientApi::API)
60
+
61
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
62
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
63
+ add_plugin(Aws::Plugins::Logging)
64
+ add_plugin(Aws::Plugins::ParamConverter)
65
+ add_plugin(Aws::Plugins::ParamValidator)
66
+ add_plugin(Aws::Plugins::UserAgent)
67
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
68
+ add_plugin(Aws::Plugins::RetryErrors)
69
+ add_plugin(Aws::Plugins::GlobalConfiguration)
70
+ add_plugin(Aws::Plugins::RegionalEndpoint)
71
+ add_plugin(Aws::Plugins::EndpointDiscovery)
72
+ add_plugin(Aws::Plugins::EndpointPattern)
73
+ add_plugin(Aws::Plugins::ResponsePaging)
74
+ add_plugin(Aws::Plugins::StubResponses)
75
+ add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
77
+ add_plugin(Aws::Plugins::JsonvalueConverter)
78
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
79
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
80
+ add_plugin(Aws::Plugins::TransferEncoding)
81
+ add_plugin(Aws::Plugins::HttpChecksum)
82
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
83
+ add_plugin(Aws::Plugins::RequestCompression)
84
+ add_plugin(Aws::Plugins::DefaultsMode)
85
+ add_plugin(Aws::Plugins::RecursionDetection)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::RestJson)
88
+ add_plugin(Aws::TaxSettings::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ # @option options [required, Aws::CredentialProvider] :credentials
93
+ # Your AWS credentials. This can be an instance of any one of the
94
+ # following classes:
95
+ #
96
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
97
+ # credentials.
98
+ #
99
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
100
+ # shared file, such as `~/.aws/config`.
101
+ #
102
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
103
+ #
104
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
105
+ # assume a role after providing credentials via the web.
106
+ #
107
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
108
+ # access token generated from `aws login`.
109
+ #
110
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
111
+ # process that outputs to stdout.
112
+ #
113
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
114
+ # from an EC2 IMDS on an EC2 instance.
115
+ #
116
+ # * `Aws::ECSCredentials` - Used for loading credentials from
117
+ # instances running in ECS.
118
+ #
119
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
120
+ # from the Cognito Identity service.
121
+ #
122
+ # When `:credentials` are not configured directly, the following
123
+ # locations will be searched for credentials:
124
+ #
125
+ # * `Aws.config[:credentials]`
126
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
127
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
128
+ # * `~/.aws/credentials`
129
+ # * `~/.aws/config`
130
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
131
+ # are very aggressive. Construct and pass an instance of
132
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
133
+ # enable retries and extended timeouts. Instance profile credential
134
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
135
+ # to true.
136
+ #
137
+ # @option options [required, String] :region
138
+ # The AWS region to connect to. The configured `:region` is
139
+ # used to determine the service `:endpoint`. When not passed,
140
+ # a default `:region` is searched for in the following locations:
141
+ #
142
+ # * `Aws.config[:region]`
143
+ # * `ENV['AWS_REGION']`
144
+ # * `ENV['AMAZON_REGION']`
145
+ # * `ENV['AWS_DEFAULT_REGION']`
146
+ # * `~/.aws/credentials`
147
+ # * `~/.aws/config`
148
+ #
149
+ # @option options [String] :access_key_id
150
+ #
151
+ # @option options [Boolean] :active_endpoint_cache (false)
152
+ # When set to `true`, a thread polling for endpoints will be running in
153
+ # the background every 60 secs (default). Defaults to `false`.
154
+ #
155
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
156
+ # Used only in `adaptive` retry mode. When true, the request will sleep
157
+ # until there is sufficent client side capacity to retry the request.
158
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
159
+ # not retry instead of sleeping.
160
+ #
161
+ # @option options [Boolean] :client_side_monitoring (false)
162
+ # When `true`, client-side metrics will be collected for all API requests from
163
+ # this client.
164
+ #
165
+ # @option options [String] :client_side_monitoring_client_id ("")
166
+ # Allows you to provide an identifier for this client which will be attached to
167
+ # all generated client side metrics. Defaults to an empty string.
168
+ #
169
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
170
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
171
+ # side monitoring agent is running on, where client metrics will be published via UDP.
172
+ #
173
+ # @option options [Integer] :client_side_monitoring_port (31000)
174
+ # Required for publishing client metrics. The port that the client side monitoring
175
+ # agent is running on, where client metrics will be published via UDP.
176
+ #
177
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
178
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
179
+ # will use the Client Side Monitoring Agent Publisher.
180
+ #
181
+ # @option options [Boolean] :convert_params (true)
182
+ # When `true`, an attempt is made to coerce request parameters into
183
+ # the required types.
184
+ #
185
+ # @option options [Boolean] :correct_clock_skew (true)
186
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
187
+ # a clock skew correction and retry requests with skewed client clocks.
188
+ #
189
+ # @option options [String] :defaults_mode ("legacy")
190
+ # See {Aws::DefaultsModeConfiguration} for a list of the
191
+ # accepted modes and the configuration defaults that are included.
192
+ #
193
+ # @option options [Boolean] :disable_host_prefix_injection (false)
194
+ # Set to true to disable SDK automatically adding host prefix
195
+ # to default service endpoint when available.
196
+ #
197
+ # @option options [Boolean] :disable_request_compression (false)
198
+ # When set to 'true' the request body will not be compressed
199
+ # for supported operations.
200
+ #
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
212
+ #
213
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
214
+ # Used for the maximum size limit of the LRU cache storing endpoints data
215
+ # for endpoint discovery enabled operations. Defaults to 1000.
216
+ #
217
+ # @option options [Integer] :endpoint_cache_max_threads (10)
218
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
219
+ #
220
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
221
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
222
+ # Use this option to config the time interval in seconds for making
223
+ # requests fetching endpoints information. Defaults to 60 sec.
224
+ #
225
+ # @option options [Boolean] :endpoint_discovery (false)
226
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
227
+ #
228
+ # @option options [Boolean] :ignore_configured_endpoint_urls
229
+ # Setting to true disables use of endpoint URLs provided via environment
230
+ # variables and the shared configuration file.
231
+ #
232
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
233
+ # The log formatter.
234
+ #
235
+ # @option options [Symbol] :log_level (:info)
236
+ # The log level to send messages to the `:logger` at.
237
+ #
238
+ # @option options [Logger] :logger
239
+ # The Logger instance to send log messages to. If this option
240
+ # is not set, logging will be disabled.
241
+ #
242
+ # @option options [Integer] :max_attempts (3)
243
+ # An integer representing the maximum number attempts that will be made for
244
+ # a single request, including the initial attempt. For example,
245
+ # setting this value to 5 will result in a request being retried up to
246
+ # 4 times. Used in `standard` and `adaptive` retry modes.
247
+ #
248
+ # @option options [String] :profile ("default")
249
+ # Used when loading credentials from the shared credentials file
250
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
251
+ #
252
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
253
+ # The minimum size in bytes that triggers compression for request
254
+ # bodies. The value must be non-negative integer value between 0
255
+ # and 10485780 bytes inclusive.
256
+ #
257
+ # @option options [Proc] :retry_backoff
258
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
259
+ # This option is only used in the `legacy` retry mode.
260
+ #
261
+ # @option options [Float] :retry_base_delay (0.3)
262
+ # The base delay in seconds used by the default backoff function. This option
263
+ # is only used in the `legacy` retry mode.
264
+ #
265
+ # @option options [Symbol] :retry_jitter (:none)
266
+ # A delay randomiser function used by the default backoff function.
267
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
268
+ # otherwise a Proc that takes and returns a number. This option is only used
269
+ # in the `legacy` retry mode.
270
+ #
271
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
272
+ #
273
+ # @option options [Integer] :retry_limit (3)
274
+ # The maximum number of times to retry failed requests. Only
275
+ # ~ 500 level server errors and certain ~ 400 level client errors
276
+ # are retried. Generally, these are throttling errors, data
277
+ # checksum errors, networking errors, timeout errors, auth errors,
278
+ # endpoint discovery, and errors from expired credentials.
279
+ # This option is only used in the `legacy` retry mode.
280
+ #
281
+ # @option options [Integer] :retry_max_delay (0)
282
+ # The maximum number of seconds to delay between retries (0 for no limit)
283
+ # used by the default backoff function. This option is only used in the
284
+ # `legacy` retry mode.
285
+ #
286
+ # @option options [String] :retry_mode ("legacy")
287
+ # Specifies which retry algorithm to use. Values are:
288
+ #
289
+ # * `legacy` - The pre-existing retry behavior. This is default value if
290
+ # no retry mode is provided.
291
+ #
292
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
293
+ # This includes support for retry quotas, which limit the number of
294
+ # unsuccessful retries a client can make.
295
+ #
296
+ # * `adaptive` - An experimental retry mode that includes all the
297
+ # functionality of `standard` mode along with automatic client side
298
+ # throttling. This is a provisional mode that may change behavior
299
+ # in the future.
300
+ #
301
+ #
302
+ # @option options [String] :sdk_ua_app_id
303
+ # A unique and opaque application ID that is appended to the
304
+ # User-Agent header as app/sdk_ua_app_id. It should have a
305
+ # maximum length of 50. This variable is sourced from environment
306
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
307
+ #
308
+ # @option options [String] :secret_access_key
309
+ #
310
+ # @option options [String] :session_token
311
+ #
312
+ # @option options [Boolean] :stub_responses (false)
313
+ # Causes the client to return stubbed responses. By default
314
+ # fake responses are generated and returned. You can specify
315
+ # the response data to return or errors to raise by calling
316
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
317
+ #
318
+ # ** Please note ** When response stubbing is enabled, no HTTP
319
+ # requests are made, and retries are disabled.
320
+ #
321
+ # @option options [Aws::TokenProvider] :token_provider
322
+ # A Bearer Token Provider. This can be an instance of any one of the
323
+ # following classes:
324
+ #
325
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
326
+ # tokens.
327
+ #
328
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
329
+ # access token generated from `aws login`.
330
+ #
331
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
332
+ # will be used to search for tokens configured for your profile in shared configuration files.
333
+ #
334
+ # @option options [Boolean] :use_dualstack_endpoint
335
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
336
+ # will be used if available.
337
+ #
338
+ # @option options [Boolean] :use_fips_endpoint
339
+ # When set to `true`, fips compatible endpoints will be used if available.
340
+ # When a `fips` region is used, the region is normalized and this config
341
+ # is set to `true`.
342
+ #
343
+ # @option options [Boolean] :validate_params (true)
344
+ # When `true`, request parameters are validated before
345
+ # sending the request.
346
+ #
347
+ # @option options [Aws::TaxSettings::EndpointProvider] :endpoint_provider
348
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::TaxSettings::EndpointParameters`
349
+ #
350
+ # @option options [Float] :http_continue_timeout (1)
351
+ # The number of seconds to wait for a 100-continue response before sending the
352
+ # request body. This option has no effect unless the request has "Expect"
353
+ # header set to "100-continue". Defaults to `nil` which disables this
354
+ # behaviour. This value can safely be set per request on the session.
355
+ #
356
+ # @option options [Float] :http_idle_timeout (5)
357
+ # The number of seconds a connection is allowed to sit idle before it
358
+ # is considered stale. Stale connections are closed and removed from the
359
+ # pool before making a request.
360
+ #
361
+ # @option options [Float] :http_open_timeout (15)
362
+ # The default number of seconds to wait for response data.
363
+ # This value can safely be set per-request on the session.
364
+ #
365
+ # @option options [URI::HTTP,String] :http_proxy
366
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
367
+ #
368
+ # @option options [Float] :http_read_timeout (60)
369
+ # The default number of seconds to wait for response data.
370
+ # This value can safely be set per-request on the session.
371
+ #
372
+ # @option options [Boolean] :http_wire_trace (false)
373
+ # When `true`, HTTP debug output will be sent to the `:logger`.
374
+ #
375
+ # @option options [Proc] :on_chunk_received
376
+ # When a Proc object is provided, it will be used as callback when each chunk
377
+ # of the response body is received. It provides three arguments: the chunk,
378
+ # the number of bytes received, and the total number of
379
+ # bytes in the response (or nil if the server did not send a `content-length`).
380
+ #
381
+ # @option options [Proc] :on_chunk_sent
382
+ # When a Proc object is provided, it will be used as callback when each chunk
383
+ # of the request body is sent. It provides three arguments: the chunk,
384
+ # the number of bytes read from the body, and the total number of
385
+ # bytes in the body.
386
+ #
387
+ # @option options [Boolean] :raise_response_errors (true)
388
+ # When `true`, response errors are raised.
389
+ #
390
+ # @option options [String] :ssl_ca_bundle
391
+ # Full path to the SSL certificate authority bundle file that should be used when
392
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
393
+ # `:ssl_ca_directory` the the system default will be used if available.
394
+ #
395
+ # @option options [String] :ssl_ca_directory
396
+ # Full path of the directory that contains the unbundled SSL certificate
397
+ # authority files for verifying peer certificates. If you do
398
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
399
+ # default will be used if available.
400
+ #
401
+ # @option options [String] :ssl_ca_store
402
+ # Sets the X509::Store to verify peer certificate.
403
+ #
404
+ # @option options [Float] :ssl_timeout
405
+ # Sets the SSL timeout in seconds
406
+ #
407
+ # @option options [Boolean] :ssl_verify_peer (true)
408
+ # When `true`, SSL peer certificates are verified when establishing a connection.
409
+ #
410
+ def initialize(*args)
411
+ super
412
+ end
413
+
414
+ # @!group API Operations
415
+
416
+ # Deletes tax registration for multiple accounts in batch. This can be
417
+ # used to delete tax registrations for up to five accounts in one batch.
418
+ #
419
+ # <note markdown="1"> This API operation can't be used to delete your tax registration in
420
+ # Brazil. Use the [Payment preferences][1] page in the Billing and Cost
421
+ # Management console instead.
422
+ #
423
+ # </note>
424
+ #
425
+ #
426
+ #
427
+ # [1]: https://console.aws.amazon.com/billing/home#/paymentpreferences/paymentmethods
428
+ #
429
+ # @option params [required, Array<String>] :account_ids
430
+ # List of unique account identifiers.
431
+ #
432
+ # @return [Types::BatchDeleteTaxRegistrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
433
+ #
434
+ # * {Types::BatchDeleteTaxRegistrationResponse#errors #errors} => Array&lt;Types::BatchDeleteTaxRegistrationError&gt;
435
+ #
436
+ # @example Request syntax with placeholder values
437
+ #
438
+ # resp = client.batch_delete_tax_registration({
439
+ # account_ids: ["AccountId"], # required
440
+ # })
441
+ #
442
+ # @example Response structure
443
+ #
444
+ # resp.errors #=> Array
445
+ # resp.errors[0].account_id #=> String
446
+ # resp.errors[0].code #=> String
447
+ # resp.errors[0].message #=> String
448
+ #
449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/taxsettings-2018-05-10/BatchDeleteTaxRegistration AWS API Documentation
450
+ #
451
+ # @overload batch_delete_tax_registration(params = {})
452
+ # @param [Hash] params ({})
453
+ def batch_delete_tax_registration(params = {}, options = {})
454
+ req = build_request(:batch_delete_tax_registration, params)
455
+ req.send_request(options)
456
+ end
457
+
458
+ # Adds or updates tax registration for multiple accounts in batch. This
459
+ # can be used to add or update tax registrations for up to five accounts
460
+ # in one batch. You can't set a TRN if there's a pending TRN. You'll
461
+ # need to delete the pending TRN first.
462
+ #
463
+ # To call this API operation for specific countries, see the following
464
+ # country-specific requirements.
465
+ #
466
+ # **Bangladesh**
467
+ #
468
+ # * You must specify the tax registration certificate document in the
469
+ # `taxRegistrationDocuments` field of the `VerificationDetails`
470
+ # object.
471
+ #
472
+ # ^
473
+ #
474
+ # **Brazil**
475
+ #
476
+ # * You must complete the tax registration process in the [Payment
477
+ # preferences][1] page in the Billing and Cost Management console.
478
+ # After your TRN and billing address are verified, you can call this
479
+ # API operation.
480
+ #
481
+ # * For Amazon Web Services accounts created through Organizations, you
482
+ # can call this API operation when you don't have a billing address.
483
+ #
484
+ # **Georgia**
485
+ #
486
+ # * The valid `personType` values are `Physical Person` and `Business`.
487
+ #
488
+ # ^
489
+ #
490
+ # **Kenya**
491
+ #
492
+ # * You must specify the `personType` in the `kenyaAdditionalInfo` field
493
+ # of the `additionalTaxInformation` object.
494
+ #
495
+ # * If the `personType` is `Physical Person`, you must specify the tax
496
+ # registration certificate document in the `taxRegistrationDocuments`
497
+ # field of the `VerificationDetails` object.
498
+ #
499
+ # **Malaysia**
500
+ #
501
+ # * If you use this operation to set a tax registration number (TRN) in
502
+ # Malaysia, only resellers with a valid sales and service tax (SST)
503
+ # number are required to provide tax registration information.
504
+ #
505
+ # * By using this API operation to set a TRN in Malaysia, Amazon Web
506
+ # Services will regard you as self-declaring that you're an
507
+ # authorized business reseller registered with the Royal Malaysia
508
+ # Customs Department (RMCD) and have a valid SST number.
509
+ #
510
+ # * Amazon Web Services reserves the right to seek additional
511
+ # information and/or take other actions to support your
512
+ # self-declaration as appropriate.
513
+ #
514
+ # * If you're not a reseller of Amazon Web Services, we don't
515
+ # recommend that you use this operation to set the TRN in Malaysia.
516
+ #
517
+ # * Only use this API operation to upload the TRNs for accounts through
518
+ # which you're reselling Amazon Web Services.
519
+ #
520
+ # * Amazon Web Services is currently registered under the following
521
+ # service tax codes. You must include at least one of the service tax
522
+ # codes in the service tax code strings to declare yourself as an
523
+ # authorized registered business reseller.
524
+ #
525
+ # Taxable service and service tax codes:
526
+ #
527
+ # Consultancy - 9907061674
528
+ #
529
+ # Training or coaching service - 9907071685
530
+ #
531
+ # IT service - 9907101676
532
+ #
533
+ # Digital services and electronic medium - 9907121690
534
+ #
535
+ # **Nepal**
536
+ #
537
+ # * The sector valid values are `Business` and `Individual`.
538
+ #
539
+ # ^
540
+ #
541
+ # **Saudi Arabia**
542
+ #
543
+ # * For `address`, you must specify `addressLine3`.
544
+ #
545
+ # ^
546
+ #
547
+ # **South Korea**
548
+ #
549
+ # * You must specify the `certifiedEmailId` and `legalName` in the
550
+ # `TaxRegistrationEntry` object. Use Korean characters for
551
+ # `legalName`.
552
+ #
553
+ # * You must specify the `businessRepresentativeName`, `itemOfBusiness`,
554
+ # and `lineOfBusiness` in the `southKoreaAdditionalInfo` field of the
555
+ # `additionalTaxInformation` object. Use Korean characters for these
556
+ # fields.
557
+ #
558
+ # * You must specify the tax registration certificate document in the
559
+ # `taxRegistrationDocuments` field of the `VerificationDetails`
560
+ # object.
561
+ #
562
+ # * For the `address` object, use Korean characters for `addressLine1`,
563
+ # `addressLine2` `city`, `postalCode`, and `stateOrRegion`.
564
+ #
565
+ # **Spain**
566
+ #
567
+ # * You must specify the `registrationType` in the `spainAdditionalInfo`
568
+ # field of the `additionalTaxInformation` object.
569
+ #
570
+ # * If the `registrationType` is `Local`, you must specify the tax
571
+ # registration certificate document in the `taxRegistrationDocuments`
572
+ # field of the `VerificationDetails` object.
573
+ #
574
+ # **Turkey**
575
+ #
576
+ # * You must specify the `sector` in the `taxRegistrationEntry` object.
577
+ #
578
+ # * If your `sector` is `Business`, `Individual`, or `Government`:
579
+ #
580
+ # * Specify the `taxOffice`. If your `sector` is `Individual`, don't
581
+ # enter this value.
582
+ #
583
+ # * (Optional) Specify the `kepEmailId`. If your `sector` is
584
+ # `Individual`, don't enter this value.
585
+ #
586
+ # * **Note:** In the **Tax Settings** page of the Billing console,
587
+ # `Government` appears as **Public institutions**
588
+ #
589
+ # * If your `sector` is `Business` and you're subject to KDV tax, you
590
+ # must specify your industry in the `industries` field.
591
+ #
592
+ # * For `address`, you must specify `districtOrCounty`.
593
+ #
594
+ # **Ukraine**
595
+ #
596
+ # * The sector valid values are `Business` and `Individual`.
597
+ #
598
+ # ^
599
+ #
600
+ #
601
+ #
602
+ # [1]: https://console.aws.amazon.com/billing/home#/paymentpreferences/paymentmethods
603
+ #
604
+ # @option params [required, Array<String>] :account_ids
605
+ # List of unique account identifiers.
606
+ #
607
+ # @option params [required, Types::TaxRegistrationEntry] :tax_registration_entry
608
+ # Your TRN information that will be stored to the accounts mentioned in
609
+ # `putEntries`.
610
+ #
611
+ # @return [Types::BatchPutTaxRegistrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
612
+ #
613
+ # * {Types::BatchPutTaxRegistrationResponse#errors #errors} => Array&lt;Types::BatchPutTaxRegistrationError&gt;
614
+ # * {Types::BatchPutTaxRegistrationResponse#status #status} => String
615
+ #
616
+ # @example Request syntax with placeholder values
617
+ #
618
+ # resp = client.batch_put_tax_registration({
619
+ # account_ids: ["AccountId"], # required
620
+ # tax_registration_entry: { # required
621
+ # additional_tax_information: {
622
+ # canada_additional_info: {
623
+ # canada_quebec_sales_tax_number: "CanadaQuebecSalesTaxNumberString",
624
+ # canada_retail_sales_tax_number: "CanadaRetailSalesTaxNumberString",
625
+ # is_reseller_account: false,
626
+ # provincial_sales_tax_id: "CanadaProvincialSalesTaxIdString",
627
+ # },
628
+ # estonia_additional_info: {
629
+ # registry_commercial_code: "RegistryCommercialCode", # required
630
+ # },
631
+ # georgia_additional_info: {
632
+ # person_type: "Legal Person", # required, accepts Legal Person, Physical Person, Business
633
+ # },
634
+ # israel_additional_info: {
635
+ # customer_type: "Business", # required, accepts Business, Individual
636
+ # dealer_type: "Authorized", # required, accepts Authorized, Non-authorized
637
+ # },
638
+ # italy_additional_info: {
639
+ # cig_number: "CigNumber",
640
+ # cup_number: "CupNumber",
641
+ # sdi_account_id: "SdiAccountId",
642
+ # tax_code: "TaxCode",
643
+ # },
644
+ # kenya_additional_info: {
645
+ # person_type: "Legal Person", # required, accepts Legal Person, Physical Person, Business
646
+ # },
647
+ # malaysia_additional_info: {
648
+ # service_tax_codes: ["Consultancy"], # required, accepts Consultancy, Digital Service And Electronic Medium, IT Services, Training Or Coaching
649
+ # },
650
+ # poland_additional_info: {
651
+ # individual_registration_number: "IndividualRegistrationNumber",
652
+ # is_group_vat_enabled: false,
653
+ # },
654
+ # romania_additional_info: {
655
+ # tax_registration_number_type: "TaxRegistrationNumber", # required, accepts TaxRegistrationNumber, LocalRegistrationNumber
656
+ # },
657
+ # saudi_arabia_additional_info: {
658
+ # tax_registration_number_type: "TaxRegistrationNumber", # accepts TaxRegistrationNumber, TaxIdentificationNumber, CommercialRegistrationNumber
659
+ # },
660
+ # south_korea_additional_info: {
661
+ # business_representative_name: "BusinessRepresentativeName", # required
662
+ # item_of_business: "ItemOfBusiness", # required
663
+ # line_of_business: "LineOfBusiness", # required
664
+ # },
665
+ # spain_additional_info: {
666
+ # registration_type: "Intra-EU", # required, accepts Intra-EU, Local
667
+ # },
668
+ # turkey_additional_info: {
669
+ # industries: "CirculatingOrg", # accepts CirculatingOrg, ProfessionalOrg, Banks, Insurance, PensionAndBenefitFunds, DevelopmentAgencies
670
+ # kep_email_id: "KepEmailId",
671
+ # secondary_tax_id: "SecondaryTaxId",
672
+ # tax_office: "TaxOffice",
673
+ # },
674
+ # ukraine_additional_info: {
675
+ # ukraine_trn_type: "Business", # required, accepts Business, Individual
676
+ # },
677
+ # },
678
+ # certified_email_id: "CertifiedEmailId",
679
+ # legal_address: {
680
+ # address_line_1: "AddressLine1", # required
681
+ # address_line_2: "AddressLine2",
682
+ # address_line_3: "AddressLine3",
683
+ # city: "City", # required
684
+ # country_code: "CountryCode", # required
685
+ # district_or_county: "District",
686
+ # postal_code: "PostalCode", # required
687
+ # state_or_region: "State",
688
+ # },
689
+ # legal_name: "LegalName",
690
+ # registration_id: "RegistrationId", # required
691
+ # registration_type: "VAT", # required, accepts VAT, GST, CPF, CNPJ, SST
692
+ # sector: "Business", # accepts Business, Individual, Government
693
+ # verification_details: {
694
+ # date_of_birth: "DateOfBirth",
695
+ # tax_registration_documents: [
696
+ # {
697
+ # s3_location: { # required
698
+ # bucket: "S3BucketName", # required
699
+ # key: "S3Key", # required
700
+ # },
701
+ # },
702
+ # ],
703
+ # },
704
+ # },
705
+ # })
706
+ #
707
+ # @example Response structure
708
+ #
709
+ # resp.errors #=> Array
710
+ # resp.errors[0].account_id #=> String
711
+ # resp.errors[0].code #=> String
712
+ # resp.errors[0].message #=> String
713
+ # resp.status #=> String, one of "Verified", "Pending", "Deleted", "Rejected"
714
+ #
715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/taxsettings-2018-05-10/BatchPutTaxRegistration AWS API Documentation
716
+ #
717
+ # @overload batch_put_tax_registration(params = {})
718
+ # @param [Hash] params ({})
719
+ def batch_put_tax_registration(params = {}, options = {})
720
+ req = build_request(:batch_put_tax_registration, params)
721
+ req.send_request(options)
722
+ end
723
+
724
+ # Deletes tax registration for a single account.
725
+ #
726
+ # <note markdown="1"> This API operation can't be used to delete your tax registration in
727
+ # Brazil. Use the [Payment preferences][1] page in the Billing and Cost
728
+ # Management console instead.
729
+ #
730
+ # </note>
731
+ #
732
+ #
733
+ #
734
+ # [1]: https://console.aws.amazon.com/billing/home#/paymentpreferences/paymentmethods
735
+ #
736
+ # @option params [String] :account_id
737
+ # Unique account identifier for the TRN information that needs to be
738
+ # deleted. If this isn't passed, the account ID corresponding to the
739
+ # credentials of the API caller will be used for this parameter.
740
+ #
741
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
742
+ #
743
+ # @example Request syntax with placeholder values
744
+ #
745
+ # resp = client.delete_tax_registration({
746
+ # account_id: "AccountId",
747
+ # })
748
+ #
749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/taxsettings-2018-05-10/DeleteTaxRegistration AWS API Documentation
750
+ #
751
+ # @overload delete_tax_registration(params = {})
752
+ # @param [Hash] params ({})
753
+ def delete_tax_registration(params = {}, options = {})
754
+ req = build_request(:delete_tax_registration, params)
755
+ req.send_request(options)
756
+ end
757
+
758
+ # Retrieves tax registration for a single account.
759
+ #
760
+ # @option params [String] :account_id
761
+ # Your unique account identifier.
762
+ #
763
+ # @return [Types::GetTaxRegistrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
764
+ #
765
+ # * {Types::GetTaxRegistrationResponse#tax_registration #tax_registration} => Types::TaxRegistration
766
+ #
767
+ # @example Request syntax with placeholder values
768
+ #
769
+ # resp = client.get_tax_registration({
770
+ # account_id: "AccountId",
771
+ # })
772
+ #
773
+ # @example Response structure
774
+ #
775
+ # resp.tax_registration.additional_tax_information.brazil_additional_info.ccm_code #=> String
776
+ # resp.tax_registration.additional_tax_information.brazil_additional_info.legal_nature_code #=> String
777
+ # resp.tax_registration.additional_tax_information.canada_additional_info.canada_quebec_sales_tax_number #=> String
778
+ # resp.tax_registration.additional_tax_information.canada_additional_info.canada_retail_sales_tax_number #=> String
779
+ # resp.tax_registration.additional_tax_information.canada_additional_info.is_reseller_account #=> Boolean
780
+ # resp.tax_registration.additional_tax_information.canada_additional_info.provincial_sales_tax_id #=> String
781
+ # resp.tax_registration.additional_tax_information.estonia_additional_info.registry_commercial_code #=> String
782
+ # resp.tax_registration.additional_tax_information.georgia_additional_info.person_type #=> String, one of "Legal Person", "Physical Person", "Business"
783
+ # resp.tax_registration.additional_tax_information.india_additional_info.pan #=> String
784
+ # resp.tax_registration.additional_tax_information.israel_additional_info.customer_type #=> String, one of "Business", "Individual"
785
+ # resp.tax_registration.additional_tax_information.israel_additional_info.dealer_type #=> String, one of "Authorized", "Non-authorized"
786
+ # resp.tax_registration.additional_tax_information.italy_additional_info.cig_number #=> String
787
+ # resp.tax_registration.additional_tax_information.italy_additional_info.cup_number #=> String
788
+ # resp.tax_registration.additional_tax_information.italy_additional_info.sdi_account_id #=> String
789
+ # resp.tax_registration.additional_tax_information.italy_additional_info.tax_code #=> String
790
+ # resp.tax_registration.additional_tax_information.kenya_additional_info.person_type #=> String, one of "Legal Person", "Physical Person", "Business"
791
+ # resp.tax_registration.additional_tax_information.malaysia_additional_info.service_tax_codes #=> Array
792
+ # resp.tax_registration.additional_tax_information.malaysia_additional_info.service_tax_codes[0] #=> String, one of "Consultancy", "Digital Service And Electronic Medium", "IT Services", "Training Or Coaching"
793
+ # resp.tax_registration.additional_tax_information.poland_additional_info.individual_registration_number #=> String
794
+ # resp.tax_registration.additional_tax_information.poland_additional_info.is_group_vat_enabled #=> Boolean
795
+ # resp.tax_registration.additional_tax_information.romania_additional_info.tax_registration_number_type #=> String, one of "TaxRegistrationNumber", "LocalRegistrationNumber"
796
+ # resp.tax_registration.additional_tax_information.saudi_arabia_additional_info.tax_registration_number_type #=> String, one of "TaxRegistrationNumber", "TaxIdentificationNumber", "CommercialRegistrationNumber"
797
+ # resp.tax_registration.additional_tax_information.south_korea_additional_info.business_representative_name #=> String
798
+ # resp.tax_registration.additional_tax_information.south_korea_additional_info.item_of_business #=> String
799
+ # resp.tax_registration.additional_tax_information.south_korea_additional_info.line_of_business #=> String
800
+ # resp.tax_registration.additional_tax_information.spain_additional_info.registration_type #=> String, one of "Intra-EU", "Local"
801
+ # resp.tax_registration.additional_tax_information.turkey_additional_info.industries #=> String, one of "CirculatingOrg", "ProfessionalOrg", "Banks", "Insurance", "PensionAndBenefitFunds", "DevelopmentAgencies"
802
+ # resp.tax_registration.additional_tax_information.turkey_additional_info.kep_email_id #=> String
803
+ # resp.tax_registration.additional_tax_information.turkey_additional_info.secondary_tax_id #=> String
804
+ # resp.tax_registration.additional_tax_information.turkey_additional_info.tax_office #=> String
805
+ # resp.tax_registration.additional_tax_information.ukraine_additional_info.ukraine_trn_type #=> String, one of "Business", "Individual"
806
+ # resp.tax_registration.certified_email_id #=> String
807
+ # resp.tax_registration.legal_address.address_line_1 #=> String
808
+ # resp.tax_registration.legal_address.address_line_2 #=> String
809
+ # resp.tax_registration.legal_address.address_line_3 #=> String
810
+ # resp.tax_registration.legal_address.city #=> String
811
+ # resp.tax_registration.legal_address.country_code #=> String
812
+ # resp.tax_registration.legal_address.district_or_county #=> String
813
+ # resp.tax_registration.legal_address.postal_code #=> String
814
+ # resp.tax_registration.legal_address.state_or_region #=> String
815
+ # resp.tax_registration.legal_name #=> String
816
+ # resp.tax_registration.registration_id #=> String
817
+ # resp.tax_registration.registration_type #=> String, one of "VAT", "GST", "CPF", "CNPJ", "SST"
818
+ # resp.tax_registration.sector #=> String, one of "Business", "Individual", "Government"
819
+ # resp.tax_registration.status #=> String, one of "Verified", "Pending", "Deleted", "Rejected"
820
+ # resp.tax_registration.tax_document_metadatas #=> Array
821
+ # resp.tax_registration.tax_document_metadatas[0].tax_document_access_token #=> String
822
+ # resp.tax_registration.tax_document_metadatas[0].tax_document_name #=> String
823
+ #
824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/taxsettings-2018-05-10/GetTaxRegistration AWS API Documentation
825
+ #
826
+ # @overload get_tax_registration(params = {})
827
+ # @param [Hash] params ({})
828
+ def get_tax_registration(params = {}, options = {})
829
+ req = build_request(:get_tax_registration, params)
830
+ req.send_request(options)
831
+ end
832
+
833
+ # Downloads your tax documents to the Amazon S3 bucket that you specify
834
+ # in your request.
835
+ #
836
+ # @option params [required, Types::DestinationS3Location] :destination_s3_location
837
+ # The Amazon S3 bucket that you specify to download your tax documents
838
+ # to.
839
+ #
840
+ # @option params [required, Types::TaxDocumentMetadata] :tax_document_metadata
841
+ # The metadata for your tax document.
842
+ #
843
+ # @return [Types::GetTaxRegistrationDocumentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
844
+ #
845
+ # * {Types::GetTaxRegistrationDocumentResponse#destination_file_path #destination_file_path} => String
846
+ #
847
+ # @example Request syntax with placeholder values
848
+ #
849
+ # resp = client.get_tax_registration_document({
850
+ # destination_s3_location: { # required
851
+ # bucket: "S3BucketName", # required
852
+ # prefix: "S3Prefix",
853
+ # },
854
+ # tax_document_metadata: { # required
855
+ # tax_document_access_token: "TaxDocumentAccessToken", # required
856
+ # tax_document_name: "TaxDocumentName", # required
857
+ # },
858
+ # })
859
+ #
860
+ # @example Response structure
861
+ #
862
+ # resp.destination_file_path #=> String
863
+ #
864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/taxsettings-2018-05-10/GetTaxRegistrationDocument AWS API Documentation
865
+ #
866
+ # @overload get_tax_registration_document(params = {})
867
+ # @param [Hash] params ({})
868
+ def get_tax_registration_document(params = {}, options = {})
869
+ req = build_request(:get_tax_registration_document, params)
870
+ req.send_request(options)
871
+ end
872
+
873
+ # Retrieves the tax registration of accounts listed in a consolidated
874
+ # billing family. This can be used to retrieve up to 100 accounts' tax
875
+ # registrations in one call (default 50).
876
+ #
877
+ # @option params [Integer] :max_results
878
+ # Number of `accountDetails` results you want in one response.
879
+ #
880
+ # @option params [String] :next_token
881
+ # The token to retrieve the next set of results.
882
+ #
883
+ # @return [Types::ListTaxRegistrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
884
+ #
885
+ # * {Types::ListTaxRegistrationsResponse#account_details #account_details} => Array&lt;Types::AccountDetails&gt;
886
+ # * {Types::ListTaxRegistrationsResponse#next_token #next_token} => String
887
+ #
888
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
889
+ #
890
+ # @example Request syntax with placeholder values
891
+ #
892
+ # resp = client.list_tax_registrations({
893
+ # max_results: 1,
894
+ # next_token: "PaginationTokenString",
895
+ # })
896
+ #
897
+ # @example Response structure
898
+ #
899
+ # resp.account_details #=> Array
900
+ # resp.account_details[0].account_id #=> String
901
+ # resp.account_details[0].account_meta_data.account_name #=> String
902
+ # resp.account_details[0].account_meta_data.address.address_line_1 #=> String
903
+ # resp.account_details[0].account_meta_data.address.address_line_2 #=> String
904
+ # resp.account_details[0].account_meta_data.address.address_line_3 #=> String
905
+ # resp.account_details[0].account_meta_data.address.city #=> String
906
+ # resp.account_details[0].account_meta_data.address.country_code #=> String
907
+ # resp.account_details[0].account_meta_data.address.district_or_county #=> String
908
+ # resp.account_details[0].account_meta_data.address.postal_code #=> String
909
+ # resp.account_details[0].account_meta_data.address.state_or_region #=> String
910
+ # resp.account_details[0].account_meta_data.address_role_map #=> Hash
911
+ # resp.account_details[0].account_meta_data.address_role_map["AddressRoleType"].country_code #=> String
912
+ # resp.account_details[0].account_meta_data.address_role_map["AddressRoleType"].state_or_region #=> String
913
+ # resp.account_details[0].account_meta_data.address_type #=> String, one of "TaxAddress", "BillingAddress", "ContactAddress"
914
+ # resp.account_details[0].account_meta_data.seller #=> String
915
+ # resp.account_details[0].tax_inheritance_details.inheritance_obtained_reason #=> String
916
+ # resp.account_details[0].tax_inheritance_details.parent_entity_id #=> String
917
+ # resp.account_details[0].tax_registration.additional_tax_information.brazil_additional_info.ccm_code #=> String
918
+ # resp.account_details[0].tax_registration.additional_tax_information.brazil_additional_info.legal_nature_code #=> String
919
+ # resp.account_details[0].tax_registration.additional_tax_information.canada_additional_info.canada_quebec_sales_tax_number #=> String
920
+ # resp.account_details[0].tax_registration.additional_tax_information.canada_additional_info.canada_retail_sales_tax_number #=> String
921
+ # resp.account_details[0].tax_registration.additional_tax_information.canada_additional_info.is_reseller_account #=> Boolean
922
+ # resp.account_details[0].tax_registration.additional_tax_information.canada_additional_info.provincial_sales_tax_id #=> String
923
+ # resp.account_details[0].tax_registration.additional_tax_information.estonia_additional_info.registry_commercial_code #=> String
924
+ # resp.account_details[0].tax_registration.additional_tax_information.georgia_additional_info.person_type #=> String, one of "Legal Person", "Physical Person", "Business"
925
+ # resp.account_details[0].tax_registration.additional_tax_information.india_additional_info.pan #=> String
926
+ # resp.account_details[0].tax_registration.additional_tax_information.israel_additional_info.customer_type #=> String, one of "Business", "Individual"
927
+ # resp.account_details[0].tax_registration.additional_tax_information.israel_additional_info.dealer_type #=> String, one of "Authorized", "Non-authorized"
928
+ # resp.account_details[0].tax_registration.additional_tax_information.italy_additional_info.cig_number #=> String
929
+ # resp.account_details[0].tax_registration.additional_tax_information.italy_additional_info.cup_number #=> String
930
+ # resp.account_details[0].tax_registration.additional_tax_information.italy_additional_info.sdi_account_id #=> String
931
+ # resp.account_details[0].tax_registration.additional_tax_information.italy_additional_info.tax_code #=> String
932
+ # resp.account_details[0].tax_registration.additional_tax_information.kenya_additional_info.person_type #=> String, one of "Legal Person", "Physical Person", "Business"
933
+ # resp.account_details[0].tax_registration.additional_tax_information.malaysia_additional_info.service_tax_codes #=> Array
934
+ # resp.account_details[0].tax_registration.additional_tax_information.malaysia_additional_info.service_tax_codes[0] #=> String, one of "Consultancy", "Digital Service And Electronic Medium", "IT Services", "Training Or Coaching"
935
+ # resp.account_details[0].tax_registration.additional_tax_information.poland_additional_info.individual_registration_number #=> String
936
+ # resp.account_details[0].tax_registration.additional_tax_information.poland_additional_info.is_group_vat_enabled #=> Boolean
937
+ # resp.account_details[0].tax_registration.additional_tax_information.romania_additional_info.tax_registration_number_type #=> String, one of "TaxRegistrationNumber", "LocalRegistrationNumber"
938
+ # resp.account_details[0].tax_registration.additional_tax_information.saudi_arabia_additional_info.tax_registration_number_type #=> String, one of "TaxRegistrationNumber", "TaxIdentificationNumber", "CommercialRegistrationNumber"
939
+ # resp.account_details[0].tax_registration.additional_tax_information.south_korea_additional_info.business_representative_name #=> String
940
+ # resp.account_details[0].tax_registration.additional_tax_information.south_korea_additional_info.item_of_business #=> String
941
+ # resp.account_details[0].tax_registration.additional_tax_information.south_korea_additional_info.line_of_business #=> String
942
+ # resp.account_details[0].tax_registration.additional_tax_information.spain_additional_info.registration_type #=> String, one of "Intra-EU", "Local"
943
+ # resp.account_details[0].tax_registration.additional_tax_information.turkey_additional_info.industries #=> String, one of "CirculatingOrg", "ProfessionalOrg", "Banks", "Insurance", "PensionAndBenefitFunds", "DevelopmentAgencies"
944
+ # resp.account_details[0].tax_registration.additional_tax_information.turkey_additional_info.kep_email_id #=> String
945
+ # resp.account_details[0].tax_registration.additional_tax_information.turkey_additional_info.secondary_tax_id #=> String
946
+ # resp.account_details[0].tax_registration.additional_tax_information.turkey_additional_info.tax_office #=> String
947
+ # resp.account_details[0].tax_registration.additional_tax_information.ukraine_additional_info.ukraine_trn_type #=> String, one of "Business", "Individual"
948
+ # resp.account_details[0].tax_registration.certified_email_id #=> String
949
+ # resp.account_details[0].tax_registration.jurisdiction.country_code #=> String
950
+ # resp.account_details[0].tax_registration.jurisdiction.state_or_region #=> String
951
+ # resp.account_details[0].tax_registration.legal_name #=> String
952
+ # resp.account_details[0].tax_registration.registration_id #=> String
953
+ # resp.account_details[0].tax_registration.registration_type #=> String, one of "VAT", "GST", "CPF", "CNPJ", "SST"
954
+ # resp.account_details[0].tax_registration.sector #=> String, one of "Business", "Individual", "Government"
955
+ # resp.account_details[0].tax_registration.status #=> String, one of "Verified", "Pending", "Deleted", "Rejected"
956
+ # resp.account_details[0].tax_registration.tax_document_metadatas #=> Array
957
+ # resp.account_details[0].tax_registration.tax_document_metadatas[0].tax_document_access_token #=> String
958
+ # resp.account_details[0].tax_registration.tax_document_metadatas[0].tax_document_name #=> String
959
+ # resp.next_token #=> String
960
+ #
961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/taxsettings-2018-05-10/ListTaxRegistrations AWS API Documentation
962
+ #
963
+ # @overload list_tax_registrations(params = {})
964
+ # @param [Hash] params ({})
965
+ def list_tax_registrations(params = {}, options = {})
966
+ req = build_request(:list_tax_registrations, params)
967
+ req.send_request(options)
968
+ end
969
+
970
+ # Adds or updates tax registration for a single account. You can't set
971
+ # a TRN if there's a pending TRN. You'll need to delete the pending
972
+ # TRN first.
973
+ #
974
+ # To call this API operation for specific countries, see the following
975
+ # country-specific requirements.
976
+ #
977
+ # **Bangladesh**
978
+ #
979
+ # * You must specify the tax registration certificate document in the
980
+ # `taxRegistrationDocuments` field of the `VerificationDetails`
981
+ # object.
982
+ #
983
+ # ^
984
+ #
985
+ # **Brazil**
986
+ #
987
+ # * You must complete the tax registration process in the [Payment
988
+ # preferences][1] page in the Billing and Cost Management console.
989
+ # After your TRN and billing address are verified, you can call this
990
+ # API operation.
991
+ #
992
+ # * For Amazon Web Services accounts created through Organizations, you
993
+ # can call this API operation when you don't have a billing address.
994
+ #
995
+ # **Georgia**
996
+ #
997
+ # * The valid `personType` values are `Physical Person` and `Business`.
998
+ #
999
+ # ^
1000
+ #
1001
+ # **Kenya**
1002
+ #
1003
+ # * You must specify the `personType` in the `kenyaAdditionalInfo` field
1004
+ # of the `additionalTaxInformation` object.
1005
+ #
1006
+ # * If the `personType` is `Physical Person`, you must specify the tax
1007
+ # registration certificate document in the `taxRegistrationDocuments`
1008
+ # field of the `VerificationDetails` object.
1009
+ #
1010
+ # **Malaysia**
1011
+ #
1012
+ # * If you use this operation to set a tax registration number (TRN) in
1013
+ # Malaysia, only resellers with a valid sales and service tax (SST)
1014
+ # number are required to provide tax registration information.
1015
+ #
1016
+ # * By using this API operation to set a TRN in Malaysia, Amazon Web
1017
+ # Services will regard you as self-declaring that you're an
1018
+ # authorized business reseller registered with the Royal Malaysia
1019
+ # Customs Department (RMCD) and have a valid SST number.
1020
+ #
1021
+ # * Amazon Web Services reserves the right to seek additional
1022
+ # information and/or take other actions to support your
1023
+ # self-declaration as appropriate.
1024
+ #
1025
+ # * If you're not a reseller of Amazon Web Services, we don't
1026
+ # recommend that you use this operation to set the TRN in Malaysia.
1027
+ #
1028
+ # * Only use this API operation to upload the TRNs for accounts through
1029
+ # which you're reselling Amazon Web Services.
1030
+ #
1031
+ # * Amazon Web Services is currently registered under the following
1032
+ # service tax codes. You must include at least one of the service tax
1033
+ # codes in the service tax code strings to declare yourself as an
1034
+ # authorized registered business reseller.
1035
+ #
1036
+ # Taxable service and service tax codes:
1037
+ #
1038
+ # Consultancy - 9907061674
1039
+ #
1040
+ # Training or coaching service - 9907071685
1041
+ #
1042
+ # IT service - 9907101676
1043
+ #
1044
+ # Digital services and electronic medium - 9907121690
1045
+ #
1046
+ # **Nepal**
1047
+ #
1048
+ # * The sector valid values are `Business` and `Individual`.
1049
+ #
1050
+ # ^
1051
+ #
1052
+ # **Saudi Arabia**
1053
+ #
1054
+ # * For `address`, you must specify `addressLine3`.
1055
+ #
1056
+ # ^
1057
+ #
1058
+ # **South Korea**
1059
+ #
1060
+ # * You must specify the `certifiedEmailId` and `legalName` in the
1061
+ # `TaxRegistrationEntry` object. Use Korean characters for
1062
+ # `legalName`.
1063
+ #
1064
+ # * You must specify the `businessRepresentativeName`, `itemOfBusiness`,
1065
+ # and `lineOfBusiness` in the `southKoreaAdditionalInfo` field of the
1066
+ # `additionalTaxInformation` object. Use Korean characters for these
1067
+ # fields.
1068
+ #
1069
+ # * You must specify the tax registration certificate document in the
1070
+ # `taxRegistrationDocuments` field of the `VerificationDetails`
1071
+ # object.
1072
+ #
1073
+ # * For the `address` object, use Korean characters for `addressLine1`,
1074
+ # `addressLine2` `city`, `postalCode`, and `stateOrRegion`.
1075
+ #
1076
+ # **Spain**
1077
+ #
1078
+ # * You must specify the `registrationType` in the `spainAdditionalInfo`
1079
+ # field of the `additionalTaxInformation` object.
1080
+ #
1081
+ # * If the `registrationType` is `Local`, you must specify the tax
1082
+ # registration certificate document in the `taxRegistrationDocuments`
1083
+ # field of the `VerificationDetails` object.
1084
+ #
1085
+ # **Turkey**
1086
+ #
1087
+ # * You must specify the `sector` in the `taxRegistrationEntry` object.
1088
+ #
1089
+ # * If your `sector` is `Business`, `Individual`, or `Government`:
1090
+ #
1091
+ # * Specify the `taxOffice`. If your `sector` is `Individual`, don't
1092
+ # enter this value.
1093
+ #
1094
+ # * (Optional) Specify the `kepEmailId`. If your `sector` is
1095
+ # `Individual`, don't enter this value.
1096
+ #
1097
+ # * **Note:** In the **Tax Settings** page of the Billing console,
1098
+ # `Government` appears as **Public institutions**
1099
+ #
1100
+ # * If your `sector` is `Business` and you're subject to KDV tax, you
1101
+ # must specify your industry in the `industries` field.
1102
+ #
1103
+ # * For `address`, you must specify `districtOrCounty`.
1104
+ #
1105
+ # **Ukraine**
1106
+ #
1107
+ # * The sector valid values are `Business` and `Individual`.
1108
+ #
1109
+ # ^
1110
+ #
1111
+ #
1112
+ #
1113
+ # [1]: https://console.aws.amazon.com/billing/home#/paymentpreferences/paymentmethods
1114
+ #
1115
+ # @option params [String] :account_id
1116
+ # Your unique account identifier.
1117
+ #
1118
+ # @option params [required, Types::TaxRegistrationEntry] :tax_registration_entry
1119
+ # Your TRN information that will be stored to the account mentioned in
1120
+ # `accountId`.
1121
+ #
1122
+ # @return [Types::PutTaxRegistrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1123
+ #
1124
+ # * {Types::PutTaxRegistrationResponse#status #status} => String
1125
+ #
1126
+ # @example Request syntax with placeholder values
1127
+ #
1128
+ # resp = client.put_tax_registration({
1129
+ # account_id: "AccountId",
1130
+ # tax_registration_entry: { # required
1131
+ # additional_tax_information: {
1132
+ # canada_additional_info: {
1133
+ # canada_quebec_sales_tax_number: "CanadaQuebecSalesTaxNumberString",
1134
+ # canada_retail_sales_tax_number: "CanadaRetailSalesTaxNumberString",
1135
+ # is_reseller_account: false,
1136
+ # provincial_sales_tax_id: "CanadaProvincialSalesTaxIdString",
1137
+ # },
1138
+ # estonia_additional_info: {
1139
+ # registry_commercial_code: "RegistryCommercialCode", # required
1140
+ # },
1141
+ # georgia_additional_info: {
1142
+ # person_type: "Legal Person", # required, accepts Legal Person, Physical Person, Business
1143
+ # },
1144
+ # israel_additional_info: {
1145
+ # customer_type: "Business", # required, accepts Business, Individual
1146
+ # dealer_type: "Authorized", # required, accepts Authorized, Non-authorized
1147
+ # },
1148
+ # italy_additional_info: {
1149
+ # cig_number: "CigNumber",
1150
+ # cup_number: "CupNumber",
1151
+ # sdi_account_id: "SdiAccountId",
1152
+ # tax_code: "TaxCode",
1153
+ # },
1154
+ # kenya_additional_info: {
1155
+ # person_type: "Legal Person", # required, accepts Legal Person, Physical Person, Business
1156
+ # },
1157
+ # malaysia_additional_info: {
1158
+ # service_tax_codes: ["Consultancy"], # required, accepts Consultancy, Digital Service And Electronic Medium, IT Services, Training Or Coaching
1159
+ # },
1160
+ # poland_additional_info: {
1161
+ # individual_registration_number: "IndividualRegistrationNumber",
1162
+ # is_group_vat_enabled: false,
1163
+ # },
1164
+ # romania_additional_info: {
1165
+ # tax_registration_number_type: "TaxRegistrationNumber", # required, accepts TaxRegistrationNumber, LocalRegistrationNumber
1166
+ # },
1167
+ # saudi_arabia_additional_info: {
1168
+ # tax_registration_number_type: "TaxRegistrationNumber", # accepts TaxRegistrationNumber, TaxIdentificationNumber, CommercialRegistrationNumber
1169
+ # },
1170
+ # south_korea_additional_info: {
1171
+ # business_representative_name: "BusinessRepresentativeName", # required
1172
+ # item_of_business: "ItemOfBusiness", # required
1173
+ # line_of_business: "LineOfBusiness", # required
1174
+ # },
1175
+ # spain_additional_info: {
1176
+ # registration_type: "Intra-EU", # required, accepts Intra-EU, Local
1177
+ # },
1178
+ # turkey_additional_info: {
1179
+ # industries: "CirculatingOrg", # accepts CirculatingOrg, ProfessionalOrg, Banks, Insurance, PensionAndBenefitFunds, DevelopmentAgencies
1180
+ # kep_email_id: "KepEmailId",
1181
+ # secondary_tax_id: "SecondaryTaxId",
1182
+ # tax_office: "TaxOffice",
1183
+ # },
1184
+ # ukraine_additional_info: {
1185
+ # ukraine_trn_type: "Business", # required, accepts Business, Individual
1186
+ # },
1187
+ # },
1188
+ # certified_email_id: "CertifiedEmailId",
1189
+ # legal_address: {
1190
+ # address_line_1: "AddressLine1", # required
1191
+ # address_line_2: "AddressLine2",
1192
+ # address_line_3: "AddressLine3",
1193
+ # city: "City", # required
1194
+ # country_code: "CountryCode", # required
1195
+ # district_or_county: "District",
1196
+ # postal_code: "PostalCode", # required
1197
+ # state_or_region: "State",
1198
+ # },
1199
+ # legal_name: "LegalName",
1200
+ # registration_id: "RegistrationId", # required
1201
+ # registration_type: "VAT", # required, accepts VAT, GST, CPF, CNPJ, SST
1202
+ # sector: "Business", # accepts Business, Individual, Government
1203
+ # verification_details: {
1204
+ # date_of_birth: "DateOfBirth",
1205
+ # tax_registration_documents: [
1206
+ # {
1207
+ # s3_location: { # required
1208
+ # bucket: "S3BucketName", # required
1209
+ # key: "S3Key", # required
1210
+ # },
1211
+ # },
1212
+ # ],
1213
+ # },
1214
+ # },
1215
+ # })
1216
+ #
1217
+ # @example Response structure
1218
+ #
1219
+ # resp.status #=> String, one of "Verified", "Pending", "Deleted", "Rejected"
1220
+ #
1221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/taxsettings-2018-05-10/PutTaxRegistration AWS API Documentation
1222
+ #
1223
+ # @overload put_tax_registration(params = {})
1224
+ # @param [Hash] params ({})
1225
+ def put_tax_registration(params = {}, options = {})
1226
+ req = build_request(:put_tax_registration, params)
1227
+ req.send_request(options)
1228
+ end
1229
+
1230
+ # @!endgroup
1231
+
1232
+ # @param params ({})
1233
+ # @api private
1234
+ def build_request(operation_name, params = {})
1235
+ handlers = @handlers.for(operation_name)
1236
+ context = Seahorse::Client::RequestContext.new(
1237
+ operation_name: operation_name,
1238
+ operation: config.api.operation(operation_name),
1239
+ client: self,
1240
+ params: params,
1241
+ config: config)
1242
+ context[:gem_name] = 'aws-sdk-taxsettings'
1243
+ context[:gem_version] = '1.0.0'
1244
+ Seahorse::Client::Request.new(handlers, context)
1245
+ end
1246
+
1247
+ # @api private
1248
+ # @deprecated
1249
+ def waiter_names
1250
+ []
1251
+ end
1252
+
1253
+ class << self
1254
+
1255
+ # @api private
1256
+ attr_reader :identifier
1257
+
1258
+ # @api private
1259
+ def errors_module
1260
+ Errors
1261
+ end
1262
+
1263
+ end
1264
+ end
1265
+ end