aws-sdk-route53globalresolver 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,3227 @@
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'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/rest_json'
38
+
39
+ module Aws::Route53GlobalResolver
40
+ # An API client for Route53GlobalResolver. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::Route53GlobalResolver::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :route53globalresolver
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::RestJson)
88
+ add_plugin(Aws::Route53GlobalResolver::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
99
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
128
+ #
129
+ # * `Aws.config[:credentials]`
130
+ #
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ #
134
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
135
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
136
+ #
137
+ # * `~/.aws/credentials`
138
+ #
139
+ # * `~/.aws/config`
140
+ #
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
142
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
143
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
144
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
145
+ #
146
+ # @option options [required, String] :region
147
+ # The AWS region to connect to. The configured `:region` is
148
+ # used to determine the service `:endpoint`. When not passed,
149
+ # a default `:region` is searched for in the following locations:
150
+ #
151
+ # * `Aws.config[:region]`
152
+ # * `ENV['AWS_REGION']`
153
+ # * `ENV['AMAZON_REGION']`
154
+ # * `ENV['AWS_DEFAULT_REGION']`
155
+ # * `~/.aws/credentials`
156
+ # * `~/.aws/config`
157
+ #
158
+ # @option options [String] :access_key_id
159
+ #
160
+ # @option options [String] :account_id
161
+ #
162
+ # @option options [Boolean] :active_endpoint_cache (false)
163
+ # When set to `true`, a thread polling for endpoints will be running in
164
+ # the background every 60 secs (default). Defaults to `false`.
165
+ #
166
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
167
+ # Used only in `adaptive` retry mode. When true, the request will sleep
168
+ # until there is sufficent client side capacity to retry the request.
169
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
170
+ # not retry instead of sleeping.
171
+ #
172
+ # @option options [Array<String>] :auth_scheme_preference
173
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
174
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
175
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
176
+ #
177
+ # @option options [Boolean] :client_side_monitoring (false)
178
+ # When `true`, client-side metrics will be collected for all API requests from
179
+ # this client.
180
+ #
181
+ # @option options [String] :client_side_monitoring_client_id ("")
182
+ # Allows you to provide an identifier for this client which will be attached to
183
+ # all generated client side metrics. Defaults to an empty string.
184
+ #
185
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
186
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
187
+ # side monitoring agent is running on, where client metrics will be published via UDP.
188
+ #
189
+ # @option options [Integer] :client_side_monitoring_port (31000)
190
+ # Required for publishing client metrics. The port that the client side monitoring
191
+ # agent is running on, where client metrics will be published via UDP.
192
+ #
193
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
194
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
195
+ # will use the Client Side Monitoring Agent Publisher.
196
+ #
197
+ # @option options [Boolean] :convert_params (true)
198
+ # When `true`, an attempt is made to coerce request parameters into
199
+ # the required types.
200
+ #
201
+ # @option options [Boolean] :correct_clock_skew (true)
202
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
203
+ # a clock skew correction and retry requests with skewed client clocks.
204
+ #
205
+ # @option options [String] :defaults_mode ("legacy")
206
+ # See {Aws::DefaultsModeConfiguration} for a list of the
207
+ # accepted modes and the configuration defaults that are included.
208
+ #
209
+ # @option options [Boolean] :disable_host_prefix_injection (false)
210
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
211
+ #
212
+ # @option options [Boolean] :disable_request_compression (false)
213
+ # When set to 'true' the request body will not be compressed
214
+ # for supported operations.
215
+ #
216
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
217
+ # Normally you should not configure the `:endpoint` option
218
+ # directly. This is normally constructed from the `:region`
219
+ # option. Configuring `:endpoint` is normally reserved for
220
+ # connecting to test or custom endpoints. The endpoint should
221
+ # be a URI formatted like:
222
+ #
223
+ # 'http://example.com'
224
+ # 'https://example.com'
225
+ # 'http://example.com:123'
226
+ #
227
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
228
+ # Used for the maximum size limit of the LRU cache storing endpoints data
229
+ # for endpoint discovery enabled operations. Defaults to 1000.
230
+ #
231
+ # @option options [Integer] :endpoint_cache_max_threads (10)
232
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
233
+ #
234
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
235
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
236
+ # Use this option to config the time interval in seconds for making
237
+ # requests fetching endpoints information. Defaults to 60 sec.
238
+ #
239
+ # @option options [Boolean] :endpoint_discovery (false)
240
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
241
+ #
242
+ # @option options [Boolean] :ignore_configured_endpoint_urls
243
+ # Setting to true disables use of endpoint URLs provided via environment
244
+ # variables and the shared configuration file.
245
+ #
246
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
247
+ # The log formatter.
248
+ #
249
+ # @option options [Symbol] :log_level (:info)
250
+ # The log level to send messages to the `:logger` at.
251
+ #
252
+ # @option options [Logger] :logger
253
+ # The Logger instance to send log messages to. If this option
254
+ # is not set, logging will be disabled.
255
+ #
256
+ # @option options [Integer] :max_attempts (3)
257
+ # An integer representing the maximum number attempts that will be made for
258
+ # a single request, including the initial attempt. For example,
259
+ # setting this value to 5 will result in a request being retried up to
260
+ # 4 times. Used in `standard` and `adaptive` retry modes.
261
+ #
262
+ # @option options [String] :profile ("default")
263
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
264
+ # When not specified, 'default' is used.
265
+ #
266
+ # @option options [String] :request_checksum_calculation ("when_supported")
267
+ # Determines when a checksum will be calculated for request payloads. Values are:
268
+ #
269
+ # * `when_supported` - (default) When set, a checksum will be
270
+ # calculated for all request payloads of operations modeled with the
271
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
272
+ # `requestAlgorithmMember` is modeled.
273
+ # * `when_required` - When set, a checksum will only be calculated for
274
+ # request payloads of operations modeled with the `httpChecksum` trait where
275
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
276
+ # is modeled and supplied.
277
+ #
278
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
279
+ # The minimum size in bytes that triggers compression for request
280
+ # bodies. The value must be non-negative integer value between 0
281
+ # and 10485780 bytes inclusive.
282
+ #
283
+ # @option options [String] :response_checksum_validation ("when_supported")
284
+ # Determines when checksum validation will be performed on response payloads. Values are:
285
+ #
286
+ # * `when_supported` - (default) When set, checksum validation is performed on all
287
+ # response payloads of operations modeled with the `httpChecksum` trait where
288
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
289
+ # are supported.
290
+ # * `when_required` - When set, checksum validation is not performed on
291
+ # response payloads of operations unless the checksum algorithm is supported and
292
+ # the `requestValidationModeMember` member is set to `ENABLED`.
293
+ #
294
+ # @option options [Proc] :retry_backoff
295
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
296
+ # This option is only used in the `legacy` retry mode.
297
+ #
298
+ # @option options [Float] :retry_base_delay (0.3)
299
+ # The base delay in seconds used by the default backoff function. This option
300
+ # is only used in the `legacy` retry mode.
301
+ #
302
+ # @option options [Symbol] :retry_jitter (:none)
303
+ # A delay randomiser function used by the default backoff function.
304
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
305
+ # otherwise a Proc that takes and returns a number. This option is only used
306
+ # in the `legacy` retry mode.
307
+ #
308
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
309
+ #
310
+ # @option options [Integer] :retry_limit (3)
311
+ # The maximum number of times to retry failed requests. Only
312
+ # ~ 500 level server errors and certain ~ 400 level client errors
313
+ # are retried. Generally, these are throttling errors, data
314
+ # checksum errors, networking errors, timeout errors, auth errors,
315
+ # endpoint discovery, and errors from expired credentials.
316
+ # This option is only used in the `legacy` retry mode.
317
+ #
318
+ # @option options [Integer] :retry_max_delay (0)
319
+ # The maximum number of seconds to delay between retries (0 for no limit)
320
+ # used by the default backoff function. This option is only used in the
321
+ # `legacy` retry mode.
322
+ #
323
+ # @option options [String] :retry_mode ("legacy")
324
+ # Specifies which retry algorithm to use. Values are:
325
+ #
326
+ # * `legacy` - The pre-existing retry behavior. This is default value if
327
+ # no retry mode is provided.
328
+ #
329
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
330
+ # This includes support for retry quotas, which limit the number of
331
+ # unsuccessful retries a client can make.
332
+ #
333
+ # * `adaptive` - An experimental retry mode that includes all the
334
+ # functionality of `standard` mode along with automatic client side
335
+ # throttling. This is a provisional mode that may change behavior
336
+ # in the future.
337
+ #
338
+ # @option options [String] :sdk_ua_app_id
339
+ # A unique and opaque application ID that is appended to the
340
+ # User-Agent header as app/sdk_ua_app_id. It should have a
341
+ # maximum length of 50. This variable is sourced from environment
342
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
343
+ #
344
+ # @option options [String] :secret_access_key
345
+ #
346
+ # @option options [String] :session_token
347
+ #
348
+ # @option options [Array] :sigv4a_signing_region_set
349
+ # A list of regions that should be signed with SigV4a signing. When
350
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
351
+ # in the following locations:
352
+ #
353
+ # * `Aws.config[:sigv4a_signing_region_set]`
354
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
355
+ # * `~/.aws/config`
356
+ #
357
+ # @option options [Boolean] :stub_responses (false)
358
+ # Causes the client to return stubbed responses. By default
359
+ # fake responses are generated and returned. You can specify
360
+ # the response data to return or errors to raise by calling
361
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
362
+ #
363
+ # ** Please note ** When response stubbing is enabled, no HTTP
364
+ # requests are made, and retries are disabled.
365
+ #
366
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
367
+ # Allows you to provide a telemetry provider, which is used to
368
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
369
+ # will not record or emit any telemetry data. The SDK supports the
370
+ # following telemetry providers:
371
+ #
372
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
373
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
374
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
+ #
376
+ # @option options [Aws::TokenProvider] :token_provider
377
+ # Your Bearer token used for authentication. This can be any class that includes and implements
378
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
379
+ #
380
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
381
+ # tokens.
382
+ #
383
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
384
+ # access token generated from `aws login`.
385
+ #
386
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
387
+ # will be used to search for tokens configured for your profile in shared configuration files.
388
+ #
389
+ # @option options [Boolean] :use_dualstack_endpoint
390
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
391
+ # will be used if available.
392
+ #
393
+ # @option options [Boolean] :use_fips_endpoint
394
+ # When set to `true`, fips compatible endpoints will be used if available.
395
+ # When a `fips` region is used, the region is normalized and this config
396
+ # is set to `true`.
397
+ #
398
+ # @option options [Boolean] :validate_params (true)
399
+ # When `true`, request parameters are validated before
400
+ # sending the request.
401
+ #
402
+ # @option options [Aws::Route53GlobalResolver::EndpointProvider] :endpoint_provider
403
+ # The endpoint provider used to resolve endpoints. Any object that responds to
404
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
405
+ # `Aws::Route53GlobalResolver::EndpointParameters`.
406
+ #
407
+ # @option options [Float] :http_continue_timeout (1)
408
+ # The number of seconds to wait for a 100-continue response before sending the
409
+ # request body. This option has no effect unless the request has "Expect"
410
+ # header set to "100-continue". Defaults to `nil` which disables this
411
+ # behaviour. This value can safely be set per request on the session.
412
+ #
413
+ # @option options [Float] :http_idle_timeout (5)
414
+ # The number of seconds a connection is allowed to sit idle before it
415
+ # is considered stale. Stale connections are closed and removed from the
416
+ # pool before making a request.
417
+ #
418
+ # @option options [Float] :http_open_timeout (15)
419
+ # The default number of seconds to wait for response data.
420
+ # This value can safely be set per-request on the session.
421
+ #
422
+ # @option options [URI::HTTP,String] :http_proxy
423
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
424
+ #
425
+ # @option options [Float] :http_read_timeout (60)
426
+ # The default number of seconds to wait for response data.
427
+ # This value can safely be set per-request on the session.
428
+ #
429
+ # @option options [Boolean] :http_wire_trace (false)
430
+ # When `true`, HTTP debug output will be sent to the `:logger`.
431
+ #
432
+ # @option options [Proc] :on_chunk_received
433
+ # When a Proc object is provided, it will be used as callback when each chunk
434
+ # of the response body is received. It provides three arguments: the chunk,
435
+ # the number of bytes received, and the total number of
436
+ # bytes in the response (or nil if the server did not send a `content-length`).
437
+ #
438
+ # @option options [Proc] :on_chunk_sent
439
+ # When a Proc object is provided, it will be used as callback when each chunk
440
+ # of the request body is sent. It provides three arguments: the chunk,
441
+ # the number of bytes read from the body, and the total number of
442
+ # bytes in the body.
443
+ #
444
+ # @option options [Boolean] :raise_response_errors (true)
445
+ # When `true`, response errors are raised.
446
+ #
447
+ # @option options [String] :ssl_ca_bundle
448
+ # Full path to the SSL certificate authority bundle file that should be used when
449
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
450
+ # `:ssl_ca_directory` the the system default will be used if available.
451
+ #
452
+ # @option options [String] :ssl_ca_directory
453
+ # Full path of the directory that contains the unbundled SSL certificate
454
+ # authority files for verifying peer certificates. If you do
455
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
456
+ # default will be used if available.
457
+ #
458
+ # @option options [String] :ssl_ca_store
459
+ # Sets the X509::Store to verify peer certificate.
460
+ #
461
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
462
+ # Sets a client certificate when creating http connections.
463
+ #
464
+ # @option options [OpenSSL::PKey] :ssl_key
465
+ # Sets a client key when creating http connections.
466
+ #
467
+ # @option options [Float] :ssl_timeout
468
+ # Sets the SSL timeout in seconds
469
+ #
470
+ # @option options [Boolean] :ssl_verify_peer (true)
471
+ # When `true`, SSL peer certificates are verified when establishing a connection.
472
+ #
473
+ def initialize(*args)
474
+ super
475
+ end
476
+
477
+ # @!group API Operations
478
+
479
+ # Associates a Route 53 private hosted zone with a Route 53 Global
480
+ # Resolver resource. This allows the resolver to resolve DNS queries for
481
+ # the private hosted zone from anywhere globally.
482
+ #
483
+ # @option params [required, String] :hosted_zone_id
484
+ # The ID of the Route 53 private hosted zone to associate with the Route
485
+ # 53 Global Resolver resource.
486
+ #
487
+ # @option params [required, String] :resource_arn
488
+ # An Amazon Resource Name (ARN) of the Route 53 Global Resolver the
489
+ # private hosted zone will be associated to.
490
+ #
491
+ # @option params [required, String] :name
492
+ # Name for the private hosted zone association.
493
+ #
494
+ # @return [Types::AssociateHostedZoneOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
495
+ #
496
+ # * {Types::AssociateHostedZoneOutput#id #id} => String
497
+ # * {Types::AssociateHostedZoneOutput#resource_arn #resource_arn} => String
498
+ # * {Types::AssociateHostedZoneOutput#hosted_zone_id #hosted_zone_id} => String
499
+ # * {Types::AssociateHostedZoneOutput#hosted_zone_name #hosted_zone_name} => String
500
+ # * {Types::AssociateHostedZoneOutput#name #name} => String
501
+ # * {Types::AssociateHostedZoneOutput#created_at #created_at} => Time
502
+ # * {Types::AssociateHostedZoneOutput#updated_at #updated_at} => Time
503
+ # * {Types::AssociateHostedZoneOutput#status #status} => String
504
+ #
505
+ # @example Request syntax with placeholder values
506
+ #
507
+ # resp = client.associate_hosted_zone({
508
+ # hosted_zone_id: "HostedZoneId", # required
509
+ # resource_arn: "ResourceArn", # required
510
+ # name: "ResourceName", # required
511
+ # })
512
+ #
513
+ # @example Response structure
514
+ #
515
+ # resp.id #=> String
516
+ # resp.resource_arn #=> String
517
+ # resp.hosted_zone_id #=> String
518
+ # resp.hosted_zone_name #=> String
519
+ # resp.name #=> String
520
+ # resp.created_at #=> Time
521
+ # resp.updated_at #=> Time
522
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
523
+ #
524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/AssociateHostedZone AWS API Documentation
525
+ #
526
+ # @overload associate_hosted_zone(params = {})
527
+ # @param [Hash] params ({})
528
+ def associate_hosted_zone(params = {}, options = {})
529
+ req = build_request(:associate_hosted_zone, params)
530
+ req.send_request(options)
531
+ end
532
+
533
+ # Creates multiple DNS firewall rules in a single operation. This is
534
+ # more efficient than creating rules individually when you need to set
535
+ # up multiple rules at once.
536
+ #
537
+ # @option params [required, Array<Types::BatchCreateFirewallRuleInputItem>] :firewall_rules
538
+ # The `BatchCreateFirewallRuleInputItem` objects contain the information
539
+ # for each Firewall rule.
540
+ #
541
+ # @return [Types::BatchCreateFirewallRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
542
+ #
543
+ # * {Types::BatchCreateFirewallRuleOutput#failures #failures} => Array&lt;Types::BatchCreateFirewallRuleOutputItem&gt;
544
+ # * {Types::BatchCreateFirewallRuleOutput#successes #successes} => Array&lt;Types::BatchCreateFirewallRuleOutputItem&gt;
545
+ #
546
+ # @example Request syntax with placeholder values
547
+ #
548
+ # resp = client.batch_create_firewall_rule({
549
+ # firewall_rules: [ # required
550
+ # {
551
+ # action: "ALLOW", # required, accepts ALLOW, ALERT, BLOCK
552
+ # block_override_dns_type: "CNAME", # accepts CNAME
553
+ # block_override_domain: "Domain",
554
+ # block_override_ttl: 1,
555
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
556
+ # client_token: "ClientToken", # required
557
+ # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
558
+ # description: "ResourceDescription",
559
+ # dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
560
+ # firewall_domain_list_id: "ResourceId",
561
+ # name: "ResourceName", # required
562
+ # priority: 1,
563
+ # dns_view_id: "ResourceId", # required
564
+ # q_type: "DnsQueryType",
565
+ # },
566
+ # ],
567
+ # })
568
+ #
569
+ # @example Response structure
570
+ #
571
+ # resp.failures #=> Array
572
+ # resp.failures[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
573
+ # resp.failures[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
574
+ # resp.failures[0].firewall_rule.block_override_domain #=> String
575
+ # resp.failures[0].firewall_rule.block_override_ttl #=> Integer
576
+ # resp.failures[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
577
+ # resp.failures[0].firewall_rule.client_token #=> String
578
+ # resp.failures[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
579
+ # resp.failures[0].firewall_rule.created_at #=> Time
580
+ # resp.failures[0].firewall_rule.description #=> String
581
+ # resp.failures[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
582
+ # resp.failures[0].firewall_rule.firewall_domain_list_id #=> String
583
+ # resp.failures[0].firewall_rule.id #=> String
584
+ # resp.failures[0].firewall_rule.managed_domain_list_name #=> String
585
+ # resp.failures[0].firewall_rule.name #=> String
586
+ # resp.failures[0].firewall_rule.priority #=> Integer
587
+ # resp.failures[0].firewall_rule.dns_view_id #=> String
588
+ # resp.failures[0].firewall_rule.query_type #=> String
589
+ # resp.failures[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
590
+ # resp.failures[0].firewall_rule.updated_at #=> Time
591
+ # resp.failures[0].code #=> Integer
592
+ # resp.failures[0].message #=> String
593
+ # resp.successes #=> Array
594
+ # resp.successes[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
595
+ # resp.successes[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
596
+ # resp.successes[0].firewall_rule.block_override_domain #=> String
597
+ # resp.successes[0].firewall_rule.block_override_ttl #=> Integer
598
+ # resp.successes[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
599
+ # resp.successes[0].firewall_rule.client_token #=> String
600
+ # resp.successes[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
601
+ # resp.successes[0].firewall_rule.created_at #=> Time
602
+ # resp.successes[0].firewall_rule.description #=> String
603
+ # resp.successes[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
604
+ # resp.successes[0].firewall_rule.firewall_domain_list_id #=> String
605
+ # resp.successes[0].firewall_rule.id #=> String
606
+ # resp.successes[0].firewall_rule.managed_domain_list_name #=> String
607
+ # resp.successes[0].firewall_rule.name #=> String
608
+ # resp.successes[0].firewall_rule.priority #=> Integer
609
+ # resp.successes[0].firewall_rule.dns_view_id #=> String
610
+ # resp.successes[0].firewall_rule.query_type #=> String
611
+ # resp.successes[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
612
+ # resp.successes[0].firewall_rule.updated_at #=> Time
613
+ # resp.successes[0].code #=> Integer
614
+ # resp.successes[0].message #=> String
615
+ #
616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/BatchCreateFirewallRule AWS API Documentation
617
+ #
618
+ # @overload batch_create_firewall_rule(params = {})
619
+ # @param [Hash] params ({})
620
+ def batch_create_firewall_rule(params = {}, options = {})
621
+ req = build_request(:batch_create_firewall_rule, params)
622
+ req.send_request(options)
623
+ end
624
+
625
+ # Deletes multiple DNS firewall rules in a single operation. This is
626
+ # more efficient than deleting rules individually.
627
+ #
628
+ # @option params [required, Array<Types::BatchDeleteFirewallRuleInputItem>] :firewall_rules
629
+ # An array of the DNS Firewall IDs to be deleted.
630
+ #
631
+ # @return [Types::BatchDeleteFirewallRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
632
+ #
633
+ # * {Types::BatchDeleteFirewallRuleOutput#failures #failures} => Array&lt;Types::BatchDeleteFirewallRuleOutputItem&gt;
634
+ # * {Types::BatchDeleteFirewallRuleOutput#successes #successes} => Array&lt;Types::BatchDeleteFirewallRuleOutputItem&gt;
635
+ #
636
+ # @example Request syntax with placeholder values
637
+ #
638
+ # resp = client.batch_delete_firewall_rule({
639
+ # firewall_rules: [ # required
640
+ # {
641
+ # firewall_rule_id: "ResourceId", # required
642
+ # },
643
+ # ],
644
+ # })
645
+ #
646
+ # @example Response structure
647
+ #
648
+ # resp.failures #=> Array
649
+ # resp.failures[0].firewall_rule.client_token #=> String
650
+ # resp.failures[0].firewall_rule.id #=> String
651
+ # resp.failures[0].firewall_rule.name #=> String
652
+ # resp.failures[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
653
+ # resp.failures[0].code #=> Integer
654
+ # resp.failures[0].message #=> String
655
+ # resp.successes #=> Array
656
+ # resp.successes[0].firewall_rule.client_token #=> String
657
+ # resp.successes[0].firewall_rule.id #=> String
658
+ # resp.successes[0].firewall_rule.name #=> String
659
+ # resp.successes[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
660
+ # resp.successes[0].code #=> Integer
661
+ # resp.successes[0].message #=> String
662
+ #
663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/BatchDeleteFirewallRule AWS API Documentation
664
+ #
665
+ # @overload batch_delete_firewall_rule(params = {})
666
+ # @param [Hash] params ({})
667
+ def batch_delete_firewall_rule(params = {}, options = {})
668
+ req = build_request(:batch_delete_firewall_rule, params)
669
+ req.send_request(options)
670
+ end
671
+
672
+ # Updates multiple DNS firewall rules in a single operation. This is
673
+ # more efficient than updating rules individually.
674
+ #
675
+ # @option params [required, Array<Types::BatchUpdateFirewallRuleInputItem>] :firewall_rules
676
+ # The DNS Firewall rule IDs to be updated.
677
+ #
678
+ # @return [Types::BatchUpdateFirewallRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
679
+ #
680
+ # * {Types::BatchUpdateFirewallRuleOutput#failures #failures} => Array&lt;Types::BatchUpdateFirewallRuleOutputItem&gt;
681
+ # * {Types::BatchUpdateFirewallRuleOutput#successes #successes} => Array&lt;Types::BatchUpdateFirewallRuleOutputItem&gt;
682
+ #
683
+ # @example Request syntax with placeholder values
684
+ #
685
+ # resp = client.batch_update_firewall_rule({
686
+ # firewall_rules: [ # required
687
+ # {
688
+ # action: "ALLOW", # accepts ALLOW, ALERT, BLOCK
689
+ # block_override_dns_type: "CNAME", # accepts CNAME
690
+ # block_override_domain: "Domain",
691
+ # block_override_ttl: 1,
692
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
693
+ # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
694
+ # description: "ResourceDescription",
695
+ # dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
696
+ # firewall_rule_id: "ResourceId", # required
697
+ # name: "ResourceName",
698
+ # priority: 1,
699
+ # },
700
+ # ],
701
+ # })
702
+ #
703
+ # @example Response structure
704
+ #
705
+ # resp.failures #=> Array
706
+ # resp.failures[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
707
+ # resp.failures[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
708
+ # resp.failures[0].firewall_rule.block_override_domain #=> String
709
+ # resp.failures[0].firewall_rule.block_override_ttl #=> Integer
710
+ # resp.failures[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
711
+ # resp.failures[0].firewall_rule.client_token #=> String
712
+ # resp.failures[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
713
+ # resp.failures[0].firewall_rule.created_at #=> Time
714
+ # resp.failures[0].firewall_rule.description #=> String
715
+ # resp.failures[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
716
+ # resp.failures[0].firewall_rule.firewall_domain_list_id #=> String
717
+ # resp.failures[0].firewall_rule.id #=> String
718
+ # resp.failures[0].firewall_rule.name #=> String
719
+ # resp.failures[0].firewall_rule.priority #=> Integer
720
+ # resp.failures[0].firewall_rule.dns_view_id #=> String
721
+ # resp.failures[0].firewall_rule.query_type #=> String
722
+ # resp.failures[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
723
+ # resp.failures[0].firewall_rule.updated_at #=> Time
724
+ # resp.failures[0].code #=> Integer
725
+ # resp.failures[0].message #=> String
726
+ # resp.successes #=> Array
727
+ # resp.successes[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
728
+ # resp.successes[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
729
+ # resp.successes[0].firewall_rule.block_override_domain #=> String
730
+ # resp.successes[0].firewall_rule.block_override_ttl #=> Integer
731
+ # resp.successes[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
732
+ # resp.successes[0].firewall_rule.client_token #=> String
733
+ # resp.successes[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
734
+ # resp.successes[0].firewall_rule.created_at #=> Time
735
+ # resp.successes[0].firewall_rule.description #=> String
736
+ # resp.successes[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
737
+ # resp.successes[0].firewall_rule.firewall_domain_list_id #=> String
738
+ # resp.successes[0].firewall_rule.id #=> String
739
+ # resp.successes[0].firewall_rule.name #=> String
740
+ # resp.successes[0].firewall_rule.priority #=> Integer
741
+ # resp.successes[0].firewall_rule.dns_view_id #=> String
742
+ # resp.successes[0].firewall_rule.query_type #=> String
743
+ # resp.successes[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
744
+ # resp.successes[0].firewall_rule.updated_at #=> Time
745
+ # resp.successes[0].code #=> Integer
746
+ # resp.successes[0].message #=> String
747
+ #
748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/BatchUpdateFirewallRule AWS API Documentation
749
+ #
750
+ # @overload batch_update_firewall_rule(params = {})
751
+ # @param [Hash] params ({})
752
+ def batch_update_firewall_rule(params = {}, options = {})
753
+ req = build_request(:batch_update_firewall_rule, params)
754
+ req.send_request(options)
755
+ end
756
+
757
+ # Creates an access source for a DNS view. Access sources define IP
758
+ # addresses or CIDR ranges that are allowed to send DNS queries to the
759
+ # Route 53 Global Resolver, along with the permitted DNS protocols.
760
+ #
761
+ # @option params [required, String] :cidr
762
+ # The IP address or CIDR range that is allowed to send DNS queries to
763
+ # the Route 53 Global Resolver.
764
+ #
765
+ # @option params [String] :client_token
766
+ # A unique string that identifies the request and ensures idempotency.
767
+ #
768
+ # **A suitable default value is auto-generated.** You should normally
769
+ # not need to pass this option.**
770
+ #
771
+ # @option params [String] :ip_address_type
772
+ # The IP address type for this access source. Valid values are IPv4 and
773
+ # IPv6 (if the Route 53 Global Resolver supports dual-stack).
774
+ #
775
+ # @option params [String] :name
776
+ # A descriptive name for the access source.
777
+ #
778
+ # @option params [required, String] :dns_view_id
779
+ # The ID of the DNS view to associate with this access source.
780
+ #
781
+ # @option params [required, String] :protocol
782
+ # The DNS protocol that is permitted for this access source. Valid
783
+ # values are Do53 (DNS over port 53), DoT (DNS over TLS), and DoH (DNS
784
+ # over HTTPS).
785
+ #
786
+ # @option params [Hash<String,String>] :tags
787
+ # Tags to associate with the access source.
788
+ #
789
+ # @return [Types::CreateAccessSourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
790
+ #
791
+ # * {Types::CreateAccessSourceOutput#arn #arn} => String
792
+ # * {Types::CreateAccessSourceOutput#cidr #cidr} => String
793
+ # * {Types::CreateAccessSourceOutput#created_at #created_at} => Time
794
+ # * {Types::CreateAccessSourceOutput#id #id} => String
795
+ # * {Types::CreateAccessSourceOutput#ip_address_type #ip_address_type} => String
796
+ # * {Types::CreateAccessSourceOutput#name #name} => String
797
+ # * {Types::CreateAccessSourceOutput#dns_view_id #dns_view_id} => String
798
+ # * {Types::CreateAccessSourceOutput#protocol #protocol} => String
799
+ # * {Types::CreateAccessSourceOutput#status #status} => String
800
+ # * {Types::CreateAccessSourceOutput#updated_at #updated_at} => Time
801
+ #
802
+ #
803
+ # @example Example: CreateAccessSource example
804
+ #
805
+ # resp = client.create_access_source({
806
+ # name: "My Access Source",
807
+ # cidr: "85.90.183.3/30",
808
+ # client_token: "9fas9-9usdfa-xbi8-kco",
809
+ # dns_view_id: "dnsv-123456789",
810
+ # ip_address_type: "IPV4",
811
+ # protocol: "DO53",
812
+ # tags: {
813
+ # "Key1" => "Value1",
814
+ # },
815
+ # })
816
+ #
817
+ # resp.to_h outputs the following:
818
+ # {
819
+ # name: "My Access Source",
820
+ # arn: "arn:aws:route53globalresolver::123456789012:access-source/as-823as9d9831",
821
+ # cidr: "85.90.183.3/30",
822
+ # created_at: Time.parse("2025-10-16T14:07:45.934184715Z"),
823
+ # dns_view_id: "dnsv-123456789",
824
+ # id: "as-123456789",
825
+ # ip_address_type: "IPV4",
826
+ # protocol: "DO53",
827
+ # status: "CREATING",
828
+ # updated_at: Time.parse("2025-10-16T14:07:45.934184715Z"),
829
+ # }
830
+ #
831
+ # @example Request syntax with placeholder values
832
+ #
833
+ # resp = client.create_access_source({
834
+ # cidr: "Cidr", # required
835
+ # client_token: "ClientToken",
836
+ # ip_address_type: "IPV4", # accepts IPV4, IPV6
837
+ # name: "ResourceNameShort",
838
+ # dns_view_id: "ResourceId", # required
839
+ # protocol: "DO53", # required, accepts DO53, DOH, DOT
840
+ # tags: {
841
+ # "TagKey" => "TagValue",
842
+ # },
843
+ # })
844
+ #
845
+ # @example Response structure
846
+ #
847
+ # resp.arn #=> String
848
+ # resp.cidr #=> String
849
+ # resp.created_at #=> Time
850
+ # resp.id #=> String
851
+ # resp.ip_address_type #=> String, one of "IPV4", "IPV6"
852
+ # resp.name #=> String
853
+ # resp.dns_view_id #=> String
854
+ # resp.protocol #=> String, one of "DO53", "DOH", "DOT"
855
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
856
+ # resp.updated_at #=> Time
857
+ #
858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/CreateAccessSource AWS API Documentation
859
+ #
860
+ # @overload create_access_source(params = {})
861
+ # @param [Hash] params ({})
862
+ def create_access_source(params = {}, options = {})
863
+ req = build_request(:create_access_source, params)
864
+ req.send_request(options)
865
+ end
866
+
867
+ # Creates an access token for a DNS view. Access tokens provide
868
+ # token-based authentication for DNS-over-HTTPS (DoH) and DNS-over-TLS
869
+ # (DoT) connections to the Route 53 Global Resolver.
870
+ #
871
+ # @option params [String] :client_token
872
+ # A unique, case-sensitive identifier to ensure idempotency. This means
873
+ # that making the same request multiple times with the same
874
+ # `clientToken` has the same result every time.
875
+ #
876
+ # **A suitable default value is auto-generated.** You should normally
877
+ # not need to pass this option.**
878
+ #
879
+ # @option params [required, String] :dns_view_id
880
+ # The ID of the DNS view to associate with this token.
881
+ #
882
+ # @option params [Time,DateTime,Date,Integer,String] :expires_at
883
+ # The date and time when the token expires. Tokens can have a minimum
884
+ # expiration of 30 days and maximum of 365 days from creation.
885
+ #
886
+ # @option params [String] :name
887
+ # A descriptive name for the access token.
888
+ #
889
+ # @option params [Hash<String,String>] :tags
890
+ # An array of user-defined keys and optional values. These tags can be
891
+ # used for categorization and organization.
892
+ #
893
+ # @return [Types::CreateAccessTokenOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
894
+ #
895
+ # * {Types::CreateAccessTokenOutput#id #id} => String
896
+ # * {Types::CreateAccessTokenOutput#arn #arn} => String
897
+ # * {Types::CreateAccessTokenOutput#client_token #client_token} => String
898
+ # * {Types::CreateAccessTokenOutput#created_at #created_at} => Time
899
+ # * {Types::CreateAccessTokenOutput#dns_view_id #dns_view_id} => String
900
+ # * {Types::CreateAccessTokenOutput#expires_at #expires_at} => Time
901
+ # * {Types::CreateAccessTokenOutput#name #name} => String
902
+ # * {Types::CreateAccessTokenOutput#status #status} => String
903
+ # * {Types::CreateAccessTokenOutput#value #value} => String
904
+ #
905
+ # @example Request syntax with placeholder values
906
+ #
907
+ # resp = client.create_access_token({
908
+ # client_token: "ClientToken",
909
+ # dns_view_id: "ResourceId", # required
910
+ # expires_at: Time.now,
911
+ # name: "ResourceNameShort",
912
+ # tags: {
913
+ # "TagKey" => "TagValue",
914
+ # },
915
+ # })
916
+ #
917
+ # @example Response structure
918
+ #
919
+ # resp.id #=> String
920
+ # resp.arn #=> String
921
+ # resp.client_token #=> String
922
+ # resp.created_at #=> Time
923
+ # resp.dns_view_id #=> String
924
+ # resp.expires_at #=> Time
925
+ # resp.name #=> String
926
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
927
+ # resp.value #=> String
928
+ #
929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/CreateAccessToken AWS API Documentation
930
+ #
931
+ # @overload create_access_token(params = {})
932
+ # @param [Hash] params ({})
933
+ def create_access_token(params = {}, options = {})
934
+ req = build_request(:create_access_token, params)
935
+ req.send_request(options)
936
+ end
937
+
938
+ # Creates a DNS view within a Route 53 Global Resolver. A DNS view
939
+ # models end users, user groups, networks, and devices, and serves as a
940
+ # parent resource that holds configurations controlling access,
941
+ # authorization, DNS firewall rules, and forwarding rules.
942
+ #
943
+ # @option params [required, String] :global_resolver_id
944
+ # The ID of the Route 53 Global Resolver to associate with this DNS
945
+ # view.
946
+ #
947
+ # @option params [String] :client_token
948
+ # A unique string that identifies the request and ensures idempotency.
949
+ #
950
+ # **A suitable default value is auto-generated.** You should normally
951
+ # not need to pass this option.**
952
+ #
953
+ # @option params [required, String] :name
954
+ # A descriptive name for the DNS view.
955
+ #
956
+ # @option params [String] :dnssec_validation
957
+ # Whether to enable DNSSEC validation for DNS queries in this DNS view.
958
+ # When enabled, the resolver verifies the authenticity and integrity of
959
+ # DNS responses from public name servers for DNSSEC-signed domains.
960
+ #
961
+ # @option params [String] :edns_client_subnet
962
+ # Whether to enable EDNS Client Subnet injection for DNS queries in this
963
+ # DNS view. When enabled, client subnet information is forwarded to
964
+ # provide more accurate geographic-based DNS responses.
965
+ #
966
+ # @option params [String] :firewall_rules_fail_open
967
+ # Determines the behavior when Route 53 Global Resolver cannot apply DNS
968
+ # firewall rules due to service impairment. When enabled, DNS queries
969
+ # are allowed through; when disabled, queries are blocked.
970
+ #
971
+ # @option params [String] :description
972
+ # An optional description for the DNS view.
973
+ #
974
+ # @option params [Hash<String,String>] :tags
975
+ # Tags to associate with the DNS view.
976
+ #
977
+ # @return [Types::CreateDNSViewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
978
+ #
979
+ # * {Types::CreateDNSViewOutput#id #id} => String
980
+ # * {Types::CreateDNSViewOutput#arn #arn} => String
981
+ # * {Types::CreateDNSViewOutput#client_token #client_token} => String
982
+ # * {Types::CreateDNSViewOutput#dnssec_validation #dnssec_validation} => String
983
+ # * {Types::CreateDNSViewOutput#edns_client_subnet #edns_client_subnet} => String
984
+ # * {Types::CreateDNSViewOutput#firewall_rules_fail_open #firewall_rules_fail_open} => String
985
+ # * {Types::CreateDNSViewOutput#name #name} => String
986
+ # * {Types::CreateDNSViewOutput#description #description} => String
987
+ # * {Types::CreateDNSViewOutput#global_resolver_id #global_resolver_id} => String
988
+ # * {Types::CreateDNSViewOutput#created_at #created_at} => Time
989
+ # * {Types::CreateDNSViewOutput#updated_at #updated_at} => Time
990
+ # * {Types::CreateDNSViewOutput#status #status} => String
991
+ #
992
+ # @example Request syntax with placeholder values
993
+ #
994
+ # resp = client.create_dns_view({
995
+ # global_resolver_id: "ResourceId", # required
996
+ # client_token: "ClientToken",
997
+ # name: "ResourceName", # required
998
+ # dnssec_validation: "ENABLED", # accepts ENABLED, DISABLED
999
+ # edns_client_subnet: "ENABLED", # accepts ENABLED, DISABLED
1000
+ # firewall_rules_fail_open: "ENABLED", # accepts ENABLED, DISABLED
1001
+ # description: "ResourceDescription",
1002
+ # tags: {
1003
+ # "TagKey" => "TagValue",
1004
+ # },
1005
+ # })
1006
+ #
1007
+ # @example Response structure
1008
+ #
1009
+ # resp.id #=> String
1010
+ # resp.arn #=> String
1011
+ # resp.client_token #=> String
1012
+ # resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
1013
+ # resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
1014
+ # resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
1015
+ # resp.name #=> String
1016
+ # resp.description #=> String
1017
+ # resp.global_resolver_id #=> String
1018
+ # resp.created_at #=> Time
1019
+ # resp.updated_at #=> Time
1020
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"
1021
+ #
1022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/CreateDNSView AWS API Documentation
1023
+ #
1024
+ # @overload create_dns_view(params = {})
1025
+ # @param [Hash] params ({})
1026
+ def create_dns_view(params = {}, options = {})
1027
+ req = build_request(:create_dns_view, params)
1028
+ req.send_request(options)
1029
+ end
1030
+
1031
+ # Creates a firewall domain list. Domain lists are reusable sets of
1032
+ # domain specifications that you use in DNS firewall rules to allow,
1033
+ # block, or alert on DNS queries to specific domains.
1034
+ #
1035
+ # @option params [String] :client_token
1036
+ # A unique, case-sensitive identifier to ensure idempotency. This means
1037
+ # that making the same request multiple times with the same
1038
+ # `clientToken` has the same result every time.
1039
+ #
1040
+ # **A suitable default value is auto-generated.** You should normally
1041
+ # not need to pass this option.**
1042
+ #
1043
+ # @option params [required, String] :global_resolver_id
1044
+ # The ID of the Route 53 Global Resolver that the domain list will be
1045
+ # associated with.
1046
+ #
1047
+ # @option params [String] :description
1048
+ # An optional description for the firewall domain list.
1049
+ #
1050
+ # @option params [required, String] :name
1051
+ # A descriptive name for the firewall domain list.
1052
+ #
1053
+ # @option params [Hash<String,String>] :tags
1054
+ # An array of user-defined keys and optional values. These tags can be
1055
+ # used for categorization and organization.
1056
+ #
1057
+ # @return [Types::CreateFirewallDomainListOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1058
+ #
1059
+ # * {Types::CreateFirewallDomainListOutput#arn #arn} => String
1060
+ # * {Types::CreateFirewallDomainListOutput#global_resolver_id #global_resolver_id} => String
1061
+ # * {Types::CreateFirewallDomainListOutput#created_at #created_at} => Time
1062
+ # * {Types::CreateFirewallDomainListOutput#description #description} => String
1063
+ # * {Types::CreateFirewallDomainListOutput#domain_count #domain_count} => Integer
1064
+ # * {Types::CreateFirewallDomainListOutput#id #id} => String
1065
+ # * {Types::CreateFirewallDomainListOutput#name #name} => String
1066
+ # * {Types::CreateFirewallDomainListOutput#status #status} => String
1067
+ # * {Types::CreateFirewallDomainListOutput#updated_at #updated_at} => Time
1068
+ #
1069
+ # @example Request syntax with placeholder values
1070
+ #
1071
+ # resp = client.create_firewall_domain_list({
1072
+ # client_token: "ClientToken",
1073
+ # global_resolver_id: "ResourceId", # required
1074
+ # description: "ResourceDescription",
1075
+ # name: "ResourceName", # required
1076
+ # tags: {
1077
+ # "TagKey" => "TagValue",
1078
+ # },
1079
+ # })
1080
+ #
1081
+ # @example Response structure
1082
+ #
1083
+ # resp.arn #=> String
1084
+ # resp.global_resolver_id #=> String
1085
+ # resp.created_at #=> Time
1086
+ # resp.description #=> String
1087
+ # resp.domain_count #=> Integer
1088
+ # resp.id #=> String
1089
+ # resp.name #=> String
1090
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1091
+ # resp.updated_at #=> Time
1092
+ #
1093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/CreateFirewallDomainList AWS API Documentation
1094
+ #
1095
+ # @overload create_firewall_domain_list(params = {})
1096
+ # @param [Hash] params ({})
1097
+ def create_firewall_domain_list(params = {}, options = {})
1098
+ req = build_request(:create_firewall_domain_list, params)
1099
+ req.send_request(options)
1100
+ end
1101
+
1102
+ # Creates a DNS firewall rule. Firewall rules define actions (ALLOW,
1103
+ # BLOCK, or ALERT) to take on DNS queries that match specified domain
1104
+ # lists, managed domain lists, or advanced threat protections.
1105
+ #
1106
+ # @option params [required, String] :action
1107
+ # The action that DNS Firewall should take on a DNS query when it
1108
+ # matches one of the domains in the rule's domain list:
1109
+ #
1110
+ # * `ALLOW` - Permit the request to go through.
1111
+ #
1112
+ # * `ALERT` - Permit the request and send metrics and logs to
1113
+ # CloudWatch.
1114
+ #
1115
+ # * `BLOCK` - Disallow the request. This option requires additional
1116
+ # details in the rule's `BlockResponse`.
1117
+ #
1118
+ # @option params [String] :block_override_dns_type
1119
+ # The DNS record's type. This determines the format of the record value
1120
+ # that you provided in `BlockOverrideDomain`. Used for the rule action
1121
+ # `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
1122
+ #
1123
+ # This setting is required if the `BlockResponse` setting is `OVERRIDE`.
1124
+ #
1125
+ # @option params [String] :block_override_domain
1126
+ # The custom DNS record to send back in response to the query. Used for
1127
+ # the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
1128
+ #
1129
+ # This setting is required if the `BlockResponse` setting is `OVERRIDE`.
1130
+ #
1131
+ # @option params [Integer] :block_override_ttl
1132
+ # The recommended amount of time, in seconds, for the DNS resolver or
1133
+ # web browser to cache the provided override record. Used for the rule
1134
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
1135
+ #
1136
+ # This setting is required if the `BlockResponse` setting is `OVERRIDE`.
1137
+ #
1138
+ # @option params [String] :block_response
1139
+ # The response to return when the action is BLOCK. Valid values are
1140
+ # NXDOMAIN (domain does not exist), NODATA (domain exists but no
1141
+ # records), or OVERRIDE (return custom response).
1142
+ #
1143
+ # @option params [String] :client_token
1144
+ # A unique, case-sensitive identifier to ensure idempotency. This means
1145
+ # that making the same request multiple times with the same
1146
+ # `clientToken` has the same result every time.
1147
+ #
1148
+ # **A suitable default value is auto-generated.** You should normally
1149
+ # not need to pass this option.**
1150
+ #
1151
+ # @option params [String] :confidence_threshold
1152
+ # The confidence threshold for advanced threat detection. Valid values
1153
+ # are HIGH, MEDIUM, or LOW, indicating the accuracy level required for
1154
+ # threat detection.
1155
+ #
1156
+ # @option params [String] :description
1157
+ # An optional description for the firewall rule.
1158
+ #
1159
+ # @option params [String] :dns_advanced_protection
1160
+ # Whether to enable advanced DNS threat protection for this rule.
1161
+ # Advanced protection can detect and block DNS tunneling and Domain
1162
+ # Generation Algorithm (DGA) threats.
1163
+ #
1164
+ # @option params [String] :firewall_domain_list_id
1165
+ # The ID of the firewall domain list to use in this rule.
1166
+ #
1167
+ # @option params [required, String] :name
1168
+ # A descriptive name for the firewall rule.
1169
+ #
1170
+ # @option params [Integer] :priority
1171
+ # The priority of this rule. Rules are evaluated in priority order, with
1172
+ # lower numbers having higher priority. When a DNS query matches
1173
+ # multiple rules, the rule with the highest priority (lowest number) is
1174
+ # applied.
1175
+ #
1176
+ # @option params [required, String] :dns_view_id
1177
+ # The ID of the DNS view to associate with this firewall rule.
1178
+ #
1179
+ # @option params [String] :q_type
1180
+ # The DNS query type to match for this rule. Examples include A (IPv4
1181
+ # address), AAAA (IPv6 address), MX (mail exchange), or TXT (text
1182
+ # record).
1183
+ #
1184
+ # @return [Types::CreateFirewallRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1185
+ #
1186
+ # * {Types::CreateFirewallRuleOutput#action #action} => String
1187
+ # * {Types::CreateFirewallRuleOutput#block_override_dns_type #block_override_dns_type} => String
1188
+ # * {Types::CreateFirewallRuleOutput#block_override_domain #block_override_domain} => String
1189
+ # * {Types::CreateFirewallRuleOutput#block_override_ttl #block_override_ttl} => Integer
1190
+ # * {Types::CreateFirewallRuleOutput#block_response #block_response} => String
1191
+ # * {Types::CreateFirewallRuleOutput#confidence_threshold #confidence_threshold} => String
1192
+ # * {Types::CreateFirewallRuleOutput#created_at #created_at} => Time
1193
+ # * {Types::CreateFirewallRuleOutput#description #description} => String
1194
+ # * {Types::CreateFirewallRuleOutput#dns_advanced_protection #dns_advanced_protection} => String
1195
+ # * {Types::CreateFirewallRuleOutput#firewall_domain_list_id #firewall_domain_list_id} => String
1196
+ # * {Types::CreateFirewallRuleOutput#id #id} => String
1197
+ # * {Types::CreateFirewallRuleOutput#name #name} => String
1198
+ # * {Types::CreateFirewallRuleOutput#priority #priority} => Integer
1199
+ # * {Types::CreateFirewallRuleOutput#dns_view_id #dns_view_id} => String
1200
+ # * {Types::CreateFirewallRuleOutput#query_type #query_type} => String
1201
+ # * {Types::CreateFirewallRuleOutput#status #status} => String
1202
+ # * {Types::CreateFirewallRuleOutput#updated_at #updated_at} => Time
1203
+ #
1204
+ # @example Request syntax with placeholder values
1205
+ #
1206
+ # resp = client.create_firewall_rule({
1207
+ # action: "ALLOW", # required, accepts ALLOW, ALERT, BLOCK
1208
+ # block_override_dns_type: "CNAME", # accepts CNAME
1209
+ # block_override_domain: "Domain",
1210
+ # block_override_ttl: 1,
1211
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
1212
+ # client_token: "ClientToken",
1213
+ # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
1214
+ # description: "ResourceDescription",
1215
+ # dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
1216
+ # firewall_domain_list_id: "ResourceId",
1217
+ # name: "ResourceName", # required
1218
+ # priority: 1,
1219
+ # dns_view_id: "ResourceId", # required
1220
+ # q_type: "DnsQueryType",
1221
+ # })
1222
+ #
1223
+ # @example Response structure
1224
+ #
1225
+ # resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
1226
+ # resp.block_override_dns_type #=> String, one of "CNAME"
1227
+ # resp.block_override_domain #=> String
1228
+ # resp.block_override_ttl #=> Integer
1229
+ # resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
1230
+ # resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1231
+ # resp.created_at #=> Time
1232
+ # resp.description #=> String
1233
+ # resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
1234
+ # resp.firewall_domain_list_id #=> String
1235
+ # resp.id #=> String
1236
+ # resp.name #=> String
1237
+ # resp.priority #=> Integer
1238
+ # resp.dns_view_id #=> String
1239
+ # resp.query_type #=> String
1240
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1241
+ # resp.updated_at #=> Time
1242
+ #
1243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/CreateFirewallRule AWS API Documentation
1244
+ #
1245
+ # @overload create_firewall_rule(params = {})
1246
+ # @param [Hash] params ({})
1247
+ def create_firewall_rule(params = {}, options = {})
1248
+ req = build_request(:create_firewall_rule, params)
1249
+ req.send_request(options)
1250
+ end
1251
+
1252
+ # Creates a new Route 53 Global Resolver instance. A Route 53 Global
1253
+ # Resolver is a global, internet-accessible DNS resolver that provides
1254
+ # secure DNS resolution for both public and private domains through
1255
+ # global anycast IP addresses.
1256
+ #
1257
+ # @option params [String] :client_token
1258
+ # A unique string that identifies the request and ensures idempotency.
1259
+ # If you make multiple requests with the same client token, only one
1260
+ # Route 53 Global Resolver is created.
1261
+ #
1262
+ # **A suitable default value is auto-generated.** You should normally
1263
+ # not need to pass this option.**
1264
+ #
1265
+ # @option params [String] :description
1266
+ # An optional description for the Route 53 Global Resolver instance.
1267
+ # Maximum length of 1024 characters.
1268
+ #
1269
+ # @option params [required, String] :name
1270
+ # A descriptive name for the Route 53 Global Resolver instance. Maximum
1271
+ # length of 64 characters.
1272
+ #
1273
+ # @option params [String] :observability_region
1274
+ # The AWS region where query resolution logs and metrics will be
1275
+ # aggregated and delivered. If not specified, logging is not enabled.
1276
+ #
1277
+ # @option params [required, Array<String>] :regions
1278
+ # List of AWS regions where the Route 53 Global Resolver will operate.
1279
+ # The resolver will be distributed across these regions to provide
1280
+ # global availability and low-latency DNS resolution.
1281
+ #
1282
+ # @option params [Hash<String,String>] :tags
1283
+ # Tags to associate with the Route 53 Global Resolver. Tags are
1284
+ # key-value pairs that help you organize and identify your resources.
1285
+ #
1286
+ # @return [Types::CreateGlobalResolverOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1287
+ #
1288
+ # * {Types::CreateGlobalResolverOutput#id #id} => String
1289
+ # * {Types::CreateGlobalResolverOutput#arn #arn} => String
1290
+ # * {Types::CreateGlobalResolverOutput#client_token #client_token} => String
1291
+ # * {Types::CreateGlobalResolverOutput#created_at #created_at} => Time
1292
+ # * {Types::CreateGlobalResolverOutput#description #description} => String
1293
+ # * {Types::CreateGlobalResolverOutput#dns_name #dns_name} => String
1294
+ # * {Types::CreateGlobalResolverOutput#ipv4_addresses #ipv4_addresses} => Array&lt;String&gt;
1295
+ # * {Types::CreateGlobalResolverOutput#name #name} => String
1296
+ # * {Types::CreateGlobalResolverOutput#observability_region #observability_region} => String
1297
+ # * {Types::CreateGlobalResolverOutput#regions #regions} => Array&lt;String&gt;
1298
+ # * {Types::CreateGlobalResolverOutput#status #status} => String
1299
+ # * {Types::CreateGlobalResolverOutput#updated_at #updated_at} => Time
1300
+ #
1301
+ # @example Request syntax with placeholder values
1302
+ #
1303
+ # resp = client.create_global_resolver({
1304
+ # client_token: "ClientToken",
1305
+ # description: "ResourceDescription",
1306
+ # name: "ResourceName", # required
1307
+ # observability_region: "Region",
1308
+ # regions: ["Region"], # required
1309
+ # tags: {
1310
+ # "TagKey" => "TagValue",
1311
+ # },
1312
+ # })
1313
+ #
1314
+ # @example Response structure
1315
+ #
1316
+ # resp.id #=> String
1317
+ # resp.arn #=> String
1318
+ # resp.client_token #=> String
1319
+ # resp.created_at #=> Time
1320
+ # resp.description #=> String
1321
+ # resp.dns_name #=> String
1322
+ # resp.ipv4_addresses #=> Array
1323
+ # resp.ipv4_addresses[0] #=> String
1324
+ # resp.name #=> String
1325
+ # resp.observability_region #=> String
1326
+ # resp.regions #=> Array
1327
+ # resp.regions[0] #=> String
1328
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1329
+ # resp.updated_at #=> Time
1330
+ #
1331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/CreateGlobalResolver AWS API Documentation
1332
+ #
1333
+ # @overload create_global_resolver(params = {})
1334
+ # @param [Hash] params ({})
1335
+ def create_global_resolver(params = {}, options = {})
1336
+ req = build_request(:create_global_resolver, params)
1337
+ req.send_request(options)
1338
+ end
1339
+
1340
+ # Deletes an access source. This operation cannot be undone.
1341
+ #
1342
+ # @option params [required, String] :access_source_id
1343
+ # The unique identifier of the access source to delete.
1344
+ #
1345
+ # @return [Types::DeleteAccessSourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1346
+ #
1347
+ # * {Types::DeleteAccessSourceOutput#arn #arn} => String
1348
+ # * {Types::DeleteAccessSourceOutput#cidr #cidr} => String
1349
+ # * {Types::DeleteAccessSourceOutput#created_at #created_at} => Time
1350
+ # * {Types::DeleteAccessSourceOutput#id #id} => String
1351
+ # * {Types::DeleteAccessSourceOutput#ip_address_type #ip_address_type} => String
1352
+ # * {Types::DeleteAccessSourceOutput#name #name} => String
1353
+ # * {Types::DeleteAccessSourceOutput#dns_view_id #dns_view_id} => String
1354
+ # * {Types::DeleteAccessSourceOutput#protocol #protocol} => String
1355
+ # * {Types::DeleteAccessSourceOutput#status #status} => String
1356
+ # * {Types::DeleteAccessSourceOutput#updated_at #updated_at} => Time
1357
+ #
1358
+ # @example Request syntax with placeholder values
1359
+ #
1360
+ # resp = client.delete_access_source({
1361
+ # access_source_id: "ResourceId", # required
1362
+ # })
1363
+ #
1364
+ # @example Response structure
1365
+ #
1366
+ # resp.arn #=> String
1367
+ # resp.cidr #=> String
1368
+ # resp.created_at #=> Time
1369
+ # resp.id #=> String
1370
+ # resp.ip_address_type #=> String, one of "IPV4", "IPV6"
1371
+ # resp.name #=> String
1372
+ # resp.dns_view_id #=> String
1373
+ # resp.protocol #=> String, one of "DO53", "DOH", "DOT"
1374
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1375
+ # resp.updated_at #=> Time
1376
+ #
1377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DeleteAccessSource AWS API Documentation
1378
+ #
1379
+ # @overload delete_access_source(params = {})
1380
+ # @param [Hash] params ({})
1381
+ def delete_access_source(params = {}, options = {})
1382
+ req = build_request(:delete_access_source, params)
1383
+ req.send_request(options)
1384
+ end
1385
+
1386
+ # Deletes an access token. This operation cannot be undone.
1387
+ #
1388
+ # @option params [required, String] :access_token_id
1389
+ # The unique identifier of the access token to delete.
1390
+ #
1391
+ # @return [Types::DeleteAccessTokenOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1392
+ #
1393
+ # * {Types::DeleteAccessTokenOutput#id #id} => String
1394
+ # * {Types::DeleteAccessTokenOutput#status #status} => String
1395
+ # * {Types::DeleteAccessTokenOutput#deleted_at #deleted_at} => Time
1396
+ #
1397
+ # @example Request syntax with placeholder values
1398
+ #
1399
+ # resp = client.delete_access_token({
1400
+ # access_token_id: "ResourceId", # required
1401
+ # })
1402
+ #
1403
+ # @example Response structure
1404
+ #
1405
+ # resp.id #=> String
1406
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
1407
+ # resp.deleted_at #=> Time
1408
+ #
1409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DeleteAccessToken AWS API Documentation
1410
+ #
1411
+ # @overload delete_access_token(params = {})
1412
+ # @param [Hash] params ({})
1413
+ def delete_access_token(params = {}, options = {})
1414
+ req = build_request(:delete_access_token, params)
1415
+ req.send_request(options)
1416
+ end
1417
+
1418
+ # Deletes a DNS view. This operation cannot be undone.
1419
+ #
1420
+ # @option params [required, String] :dns_view_id
1421
+ # The unique identifier of the DNS view to delete.
1422
+ #
1423
+ # @return [Types::DeleteDNSViewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1424
+ #
1425
+ # * {Types::DeleteDNSViewOutput#id #id} => String
1426
+ # * {Types::DeleteDNSViewOutput#arn #arn} => String
1427
+ # * {Types::DeleteDNSViewOutput#client_token #client_token} => String
1428
+ # * {Types::DeleteDNSViewOutput#dnssec_validation #dnssec_validation} => String
1429
+ # * {Types::DeleteDNSViewOutput#edns_client_subnet #edns_client_subnet} => String
1430
+ # * {Types::DeleteDNSViewOutput#firewall_rules_fail_open #firewall_rules_fail_open} => String
1431
+ # * {Types::DeleteDNSViewOutput#name #name} => String
1432
+ # * {Types::DeleteDNSViewOutput#description #description} => String
1433
+ # * {Types::DeleteDNSViewOutput#global_resolver_id #global_resolver_id} => String
1434
+ # * {Types::DeleteDNSViewOutput#created_at #created_at} => Time
1435
+ # * {Types::DeleteDNSViewOutput#updated_at #updated_at} => Time
1436
+ # * {Types::DeleteDNSViewOutput#status #status} => String
1437
+ #
1438
+ # @example Request syntax with placeholder values
1439
+ #
1440
+ # resp = client.delete_dns_view({
1441
+ # dns_view_id: "ResourceId", # required
1442
+ # })
1443
+ #
1444
+ # @example Response structure
1445
+ #
1446
+ # resp.id #=> String
1447
+ # resp.arn #=> String
1448
+ # resp.client_token #=> String
1449
+ # resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
1450
+ # resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
1451
+ # resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
1452
+ # resp.name #=> String
1453
+ # resp.description #=> String
1454
+ # resp.global_resolver_id #=> String
1455
+ # resp.created_at #=> Time
1456
+ # resp.updated_at #=> Time
1457
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"
1458
+ #
1459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DeleteDNSView AWS API Documentation
1460
+ #
1461
+ # @overload delete_dns_view(params = {})
1462
+ # @param [Hash] params ({})
1463
+ def delete_dns_view(params = {}, options = {})
1464
+ req = build_request(:delete_dns_view, params)
1465
+ req.send_request(options)
1466
+ end
1467
+
1468
+ # Deletes a firewall domain list. This operation cannot be undone.
1469
+ #
1470
+ # @option params [required, String] :firewall_domain_list_id
1471
+ # The unique identifier of the firewall domain list to delete.
1472
+ #
1473
+ # @return [Types::DeleteFirewallDomainListOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1474
+ #
1475
+ # * {Types::DeleteFirewallDomainListOutput#arn #arn} => String
1476
+ # * {Types::DeleteFirewallDomainListOutput#id #id} => String
1477
+ # * {Types::DeleteFirewallDomainListOutput#name #name} => String
1478
+ # * {Types::DeleteFirewallDomainListOutput#status #status} => String
1479
+ #
1480
+ # @example Request syntax with placeholder values
1481
+ #
1482
+ # resp = client.delete_firewall_domain_list({
1483
+ # firewall_domain_list_id: "ResourceId", # required
1484
+ # })
1485
+ #
1486
+ # @example Response structure
1487
+ #
1488
+ # resp.arn #=> String
1489
+ # resp.id #=> String
1490
+ # resp.name #=> String
1491
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1492
+ #
1493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DeleteFirewallDomainList AWS API Documentation
1494
+ #
1495
+ # @overload delete_firewall_domain_list(params = {})
1496
+ # @param [Hash] params ({})
1497
+ def delete_firewall_domain_list(params = {}, options = {})
1498
+ req = build_request(:delete_firewall_domain_list, params)
1499
+ req.send_request(options)
1500
+ end
1501
+
1502
+ # Deletes a DNS firewall rule. This operation cannot be undone.
1503
+ #
1504
+ # @option params [required, String] :firewall_rule_id
1505
+ # The unique identifier of the firewall rule to delete.
1506
+ #
1507
+ # @return [Types::DeleteFirewallRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1508
+ #
1509
+ # * {Types::DeleteFirewallRuleOutput#action #action} => String
1510
+ # * {Types::DeleteFirewallRuleOutput#block_override_dns_type #block_override_dns_type} => String
1511
+ # * {Types::DeleteFirewallRuleOutput#block_override_domain #block_override_domain} => String
1512
+ # * {Types::DeleteFirewallRuleOutput#block_override_ttl #block_override_ttl} => Integer
1513
+ # * {Types::DeleteFirewallRuleOutput#block_response #block_response} => String
1514
+ # * {Types::DeleteFirewallRuleOutput#confidence_threshold #confidence_threshold} => String
1515
+ # * {Types::DeleteFirewallRuleOutput#created_at #created_at} => Time
1516
+ # * {Types::DeleteFirewallRuleOutput#description #description} => String
1517
+ # * {Types::DeleteFirewallRuleOutput#dns_advanced_protection #dns_advanced_protection} => String
1518
+ # * {Types::DeleteFirewallRuleOutput#firewall_domain_list_id #firewall_domain_list_id} => String
1519
+ # * {Types::DeleteFirewallRuleOutput#id #id} => String
1520
+ # * {Types::DeleteFirewallRuleOutput#name #name} => String
1521
+ # * {Types::DeleteFirewallRuleOutput#priority #priority} => Integer
1522
+ # * {Types::DeleteFirewallRuleOutput#dns_view_id #dns_view_id} => String
1523
+ # * {Types::DeleteFirewallRuleOutput#query_type #query_type} => String
1524
+ # * {Types::DeleteFirewallRuleOutput#status #status} => String
1525
+ # * {Types::DeleteFirewallRuleOutput#updated_at #updated_at} => Time
1526
+ #
1527
+ # @example Request syntax with placeholder values
1528
+ #
1529
+ # resp = client.delete_firewall_rule({
1530
+ # firewall_rule_id: "ResourceId", # required
1531
+ # })
1532
+ #
1533
+ # @example Response structure
1534
+ #
1535
+ # resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
1536
+ # resp.block_override_dns_type #=> String, one of "CNAME"
1537
+ # resp.block_override_domain #=> String
1538
+ # resp.block_override_ttl #=> Integer
1539
+ # resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
1540
+ # resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1541
+ # resp.created_at #=> Time
1542
+ # resp.description #=> String
1543
+ # resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
1544
+ # resp.firewall_domain_list_id #=> String
1545
+ # resp.id #=> String
1546
+ # resp.name #=> String
1547
+ # resp.priority #=> Integer
1548
+ # resp.dns_view_id #=> String
1549
+ # resp.query_type #=> String
1550
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1551
+ # resp.updated_at #=> Time
1552
+ #
1553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DeleteFirewallRule AWS API Documentation
1554
+ #
1555
+ # @overload delete_firewall_rule(params = {})
1556
+ # @param [Hash] params ({})
1557
+ def delete_firewall_rule(params = {}, options = {})
1558
+ req = build_request(:delete_firewall_rule, params)
1559
+ req.send_request(options)
1560
+ end
1561
+
1562
+ # Deletes a Route 53 Global Resolver instance. This operation cannot be
1563
+ # undone. All associated DNS views, access sources, tokens, and firewall
1564
+ # rules are also deleted.
1565
+ #
1566
+ # @option params [required, String] :global_resolver_id
1567
+ # The unique identifier of the Route 53 Global Resolver to delete.
1568
+ #
1569
+ # @return [Types::DeleteGlobalResolverOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1570
+ #
1571
+ # * {Types::DeleteGlobalResolverOutput#id #id} => String
1572
+ # * {Types::DeleteGlobalResolverOutput#arn #arn} => String
1573
+ # * {Types::DeleteGlobalResolverOutput#client_token #client_token} => String
1574
+ # * {Types::DeleteGlobalResolverOutput#dns_name #dns_name} => String
1575
+ # * {Types::DeleteGlobalResolverOutput#observability_region #observability_region} => String
1576
+ # * {Types::DeleteGlobalResolverOutput#name #name} => String
1577
+ # * {Types::DeleteGlobalResolverOutput#description #description} => String
1578
+ # * {Types::DeleteGlobalResolverOutput#regions #regions} => Array&lt;String&gt;
1579
+ # * {Types::DeleteGlobalResolverOutput#created_at #created_at} => Time
1580
+ # * {Types::DeleteGlobalResolverOutput#updated_at #updated_at} => Time
1581
+ # * {Types::DeleteGlobalResolverOutput#status #status} => String
1582
+ # * {Types::DeleteGlobalResolverOutput#ipv4_addresses #ipv4_addresses} => Array&lt;String&gt;
1583
+ #
1584
+ # @example Request syntax with placeholder values
1585
+ #
1586
+ # resp = client.delete_global_resolver({
1587
+ # global_resolver_id: "ResourceId", # required
1588
+ # })
1589
+ #
1590
+ # @example Response structure
1591
+ #
1592
+ # resp.id #=> String
1593
+ # resp.arn #=> String
1594
+ # resp.client_token #=> String
1595
+ # resp.dns_name #=> String
1596
+ # resp.observability_region #=> String
1597
+ # resp.name #=> String
1598
+ # resp.description #=> String
1599
+ # resp.regions #=> Array
1600
+ # resp.regions[0] #=> String
1601
+ # resp.created_at #=> Time
1602
+ # resp.updated_at #=> Time
1603
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1604
+ # resp.ipv4_addresses #=> Array
1605
+ # resp.ipv4_addresses[0] #=> String
1606
+ #
1607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DeleteGlobalResolver AWS API Documentation
1608
+ #
1609
+ # @overload delete_global_resolver(params = {})
1610
+ # @param [Hash] params ({})
1611
+ def delete_global_resolver(params = {}, options = {})
1612
+ req = build_request(:delete_global_resolver, params)
1613
+ req.send_request(options)
1614
+ end
1615
+
1616
+ # Disables a DNS view, preventing it from serving DNS queries.
1617
+ #
1618
+ # @option params [required, String] :dns_view_id
1619
+ # The unique identifier of the DNS view to disable.
1620
+ #
1621
+ # @return [Types::DisableDNSViewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1622
+ #
1623
+ # * {Types::DisableDNSViewOutput#id #id} => String
1624
+ # * {Types::DisableDNSViewOutput#arn #arn} => String
1625
+ # * {Types::DisableDNSViewOutput#client_token #client_token} => String
1626
+ # * {Types::DisableDNSViewOutput#dnssec_validation #dnssec_validation} => String
1627
+ # * {Types::DisableDNSViewOutput#edns_client_subnet #edns_client_subnet} => String
1628
+ # * {Types::DisableDNSViewOutput#firewall_rules_fail_open #firewall_rules_fail_open} => String
1629
+ # * {Types::DisableDNSViewOutput#name #name} => String
1630
+ # * {Types::DisableDNSViewOutput#description #description} => String
1631
+ # * {Types::DisableDNSViewOutput#global_resolver_id #global_resolver_id} => String
1632
+ # * {Types::DisableDNSViewOutput#created_at #created_at} => Time
1633
+ # * {Types::DisableDNSViewOutput#updated_at #updated_at} => Time
1634
+ # * {Types::DisableDNSViewOutput#status #status} => String
1635
+ #
1636
+ # @example Request syntax with placeholder values
1637
+ #
1638
+ # resp = client.disable_dns_view({
1639
+ # dns_view_id: "ResourceId", # required
1640
+ # })
1641
+ #
1642
+ # @example Response structure
1643
+ #
1644
+ # resp.id #=> String
1645
+ # resp.arn #=> String
1646
+ # resp.client_token #=> String
1647
+ # resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
1648
+ # resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
1649
+ # resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
1650
+ # resp.name #=> String
1651
+ # resp.description #=> String
1652
+ # resp.global_resolver_id #=> String
1653
+ # resp.created_at #=> Time
1654
+ # resp.updated_at #=> Time
1655
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"
1656
+ #
1657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DisableDNSView AWS API Documentation
1658
+ #
1659
+ # @overload disable_dns_view(params = {})
1660
+ # @param [Hash] params ({})
1661
+ def disable_dns_view(params = {}, options = {})
1662
+ req = build_request(:disable_dns_view, params)
1663
+ req.send_request(options)
1664
+ end
1665
+
1666
+ # Disassociates a Route 53 private hosted zone from a Route 53 Global
1667
+ # Resolver resource.
1668
+ #
1669
+ # @option params [required, String] :hosted_zone_id
1670
+ # The ID of the Route 53 private hosted zone to disassociate.
1671
+ #
1672
+ # @option params [required, String] :resource_arn
1673
+ # The Amazon Resource Name (ARN) of the Route 53 Global Resolver
1674
+ # resource to disassociate the hosted zone from.
1675
+ #
1676
+ # @return [Types::DisassociateHostedZoneOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1677
+ #
1678
+ # * {Types::DisassociateHostedZoneOutput#id #id} => String
1679
+ # * {Types::DisassociateHostedZoneOutput#resource_arn #resource_arn} => String
1680
+ # * {Types::DisassociateHostedZoneOutput#hosted_zone_id #hosted_zone_id} => String
1681
+ # * {Types::DisassociateHostedZoneOutput#hosted_zone_name #hosted_zone_name} => String
1682
+ # * {Types::DisassociateHostedZoneOutput#name #name} => String
1683
+ # * {Types::DisassociateHostedZoneOutput#created_at #created_at} => Time
1684
+ # * {Types::DisassociateHostedZoneOutput#updated_at #updated_at} => Time
1685
+ # * {Types::DisassociateHostedZoneOutput#status #status} => String
1686
+ #
1687
+ # @example Request syntax with placeholder values
1688
+ #
1689
+ # resp = client.disassociate_hosted_zone({
1690
+ # hosted_zone_id: "HostedZoneId", # required
1691
+ # resource_arn: "ResourceArn", # required
1692
+ # })
1693
+ #
1694
+ # @example Response structure
1695
+ #
1696
+ # resp.id #=> String
1697
+ # resp.resource_arn #=> String
1698
+ # resp.hosted_zone_id #=> String
1699
+ # resp.hosted_zone_name #=> String
1700
+ # resp.name #=> String
1701
+ # resp.created_at #=> Time
1702
+ # resp.updated_at #=> Time
1703
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
1704
+ #
1705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/DisassociateHostedZone AWS API Documentation
1706
+ #
1707
+ # @overload disassociate_hosted_zone(params = {})
1708
+ # @param [Hash] params ({})
1709
+ def disassociate_hosted_zone(params = {}, options = {})
1710
+ req = build_request(:disassociate_hosted_zone, params)
1711
+ req.send_request(options)
1712
+ end
1713
+
1714
+ # Enables a disabled DNS view, allowing it to serve DNS queries again.
1715
+ #
1716
+ # @option params [required, String] :dns_view_id
1717
+ # The unique identifier of the DNS view to enable.
1718
+ #
1719
+ # @return [Types::EnableDNSViewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1720
+ #
1721
+ # * {Types::EnableDNSViewOutput#id #id} => String
1722
+ # * {Types::EnableDNSViewOutput#arn #arn} => String
1723
+ # * {Types::EnableDNSViewOutput#client_token #client_token} => String
1724
+ # * {Types::EnableDNSViewOutput#dnssec_validation #dnssec_validation} => String
1725
+ # * {Types::EnableDNSViewOutput#edns_client_subnet #edns_client_subnet} => String
1726
+ # * {Types::EnableDNSViewOutput#firewall_rules_fail_open #firewall_rules_fail_open} => String
1727
+ # * {Types::EnableDNSViewOutput#name #name} => String
1728
+ # * {Types::EnableDNSViewOutput#description #description} => String
1729
+ # * {Types::EnableDNSViewOutput#global_resolver_id #global_resolver_id} => String
1730
+ # * {Types::EnableDNSViewOutput#created_at #created_at} => Time
1731
+ # * {Types::EnableDNSViewOutput#updated_at #updated_at} => Time
1732
+ # * {Types::EnableDNSViewOutput#status #status} => String
1733
+ #
1734
+ # @example Request syntax with placeholder values
1735
+ #
1736
+ # resp = client.enable_dns_view({
1737
+ # dns_view_id: "ResourceId", # required
1738
+ # })
1739
+ #
1740
+ # @example Response structure
1741
+ #
1742
+ # resp.id #=> String
1743
+ # resp.arn #=> String
1744
+ # resp.client_token #=> String
1745
+ # resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
1746
+ # resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
1747
+ # resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
1748
+ # resp.name #=> String
1749
+ # resp.description #=> String
1750
+ # resp.global_resolver_id #=> String
1751
+ # resp.created_at #=> Time
1752
+ # resp.updated_at #=> Time
1753
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"
1754
+ #
1755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/EnableDNSView AWS API Documentation
1756
+ #
1757
+ # @overload enable_dns_view(params = {})
1758
+ # @param [Hash] params ({})
1759
+ def enable_dns_view(params = {}, options = {})
1760
+ req = build_request(:enable_dns_view, params)
1761
+ req.send_request(options)
1762
+ end
1763
+
1764
+ # Retrieves information about an access source.
1765
+ #
1766
+ # @option params [required, String] :access_source_id
1767
+ # The unique identifier of the access source to retrieve.
1768
+ #
1769
+ # @return [Types::GetAccessSourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1770
+ #
1771
+ # * {Types::GetAccessSourceOutput#arn #arn} => String
1772
+ # * {Types::GetAccessSourceOutput#cidr #cidr} => String
1773
+ # * {Types::GetAccessSourceOutput#created_at #created_at} => Time
1774
+ # * {Types::GetAccessSourceOutput#id #id} => String
1775
+ # * {Types::GetAccessSourceOutput#ip_address_type #ip_address_type} => String
1776
+ # * {Types::GetAccessSourceOutput#name #name} => String
1777
+ # * {Types::GetAccessSourceOutput#dns_view_id #dns_view_id} => String
1778
+ # * {Types::GetAccessSourceOutput#protocol #protocol} => String
1779
+ # * {Types::GetAccessSourceOutput#status #status} => String
1780
+ # * {Types::GetAccessSourceOutput#updated_at #updated_at} => Time
1781
+ #
1782
+ # @example Request syntax with placeholder values
1783
+ #
1784
+ # resp = client.get_access_source({
1785
+ # access_source_id: "ResourceId", # required
1786
+ # })
1787
+ #
1788
+ # @example Response structure
1789
+ #
1790
+ # resp.arn #=> String
1791
+ # resp.cidr #=> String
1792
+ # resp.created_at #=> Time
1793
+ # resp.id #=> String
1794
+ # resp.ip_address_type #=> String, one of "IPV4", "IPV6"
1795
+ # resp.name #=> String
1796
+ # resp.dns_view_id #=> String
1797
+ # resp.protocol #=> String, one of "DO53", "DOH", "DOT"
1798
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1799
+ # resp.updated_at #=> Time
1800
+ #
1801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetAccessSource AWS API Documentation
1802
+ #
1803
+ # @overload get_access_source(params = {})
1804
+ # @param [Hash] params ({})
1805
+ def get_access_source(params = {}, options = {})
1806
+ req = build_request(:get_access_source, params)
1807
+ req.send_request(options)
1808
+ end
1809
+
1810
+ # Retrieves information about an access token.
1811
+ #
1812
+ # @option params [required, String] :access_token_id
1813
+ # ID of the token.
1814
+ #
1815
+ # @return [Types::GetAccessTokenOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1816
+ #
1817
+ # * {Types::GetAccessTokenOutput#id #id} => String
1818
+ # * {Types::GetAccessTokenOutput#arn #arn} => String
1819
+ # * {Types::GetAccessTokenOutput#client_token #client_token} => String
1820
+ # * {Types::GetAccessTokenOutput#created_at #created_at} => Time
1821
+ # * {Types::GetAccessTokenOutput#dns_view_id #dns_view_id} => String
1822
+ # * {Types::GetAccessTokenOutput#expires_at #expires_at} => Time
1823
+ # * {Types::GetAccessTokenOutput#global_resolver_id #global_resolver_id} => String
1824
+ # * {Types::GetAccessTokenOutput#name #name} => String
1825
+ # * {Types::GetAccessTokenOutput#status #status} => String
1826
+ # * {Types::GetAccessTokenOutput#updated_at #updated_at} => Time
1827
+ # * {Types::GetAccessTokenOutput#value #value} => String
1828
+ #
1829
+ # @example Request syntax with placeholder values
1830
+ #
1831
+ # resp = client.get_access_token({
1832
+ # access_token_id: "ResourceId", # required
1833
+ # })
1834
+ #
1835
+ # @example Response structure
1836
+ #
1837
+ # resp.id #=> String
1838
+ # resp.arn #=> String
1839
+ # resp.client_token #=> String
1840
+ # resp.created_at #=> Time
1841
+ # resp.dns_view_id #=> String
1842
+ # resp.expires_at #=> Time
1843
+ # resp.global_resolver_id #=> String
1844
+ # resp.name #=> String
1845
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
1846
+ # resp.updated_at #=> Time
1847
+ # resp.value #=> String
1848
+ #
1849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetAccessToken AWS API Documentation
1850
+ #
1851
+ # @overload get_access_token(params = {})
1852
+ # @param [Hash] params ({})
1853
+ def get_access_token(params = {}, options = {})
1854
+ req = build_request(:get_access_token, params)
1855
+ req.send_request(options)
1856
+ end
1857
+
1858
+ # Retrieves information about a DNS view.
1859
+ #
1860
+ # @option params [required, String] :dns_view_id
1861
+ # The ID of the DNS view to retrieve information about.
1862
+ #
1863
+ # @return [Types::GetDNSViewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1864
+ #
1865
+ # * {Types::GetDNSViewOutput#id #id} => String
1866
+ # * {Types::GetDNSViewOutput#arn #arn} => String
1867
+ # * {Types::GetDNSViewOutput#client_token #client_token} => String
1868
+ # * {Types::GetDNSViewOutput#dnssec_validation #dnssec_validation} => String
1869
+ # * {Types::GetDNSViewOutput#edns_client_subnet #edns_client_subnet} => String
1870
+ # * {Types::GetDNSViewOutput#firewall_rules_fail_open #firewall_rules_fail_open} => String
1871
+ # * {Types::GetDNSViewOutput#name #name} => String
1872
+ # * {Types::GetDNSViewOutput#description #description} => String
1873
+ # * {Types::GetDNSViewOutput#global_resolver_id #global_resolver_id} => String
1874
+ # * {Types::GetDNSViewOutput#created_at #created_at} => Time
1875
+ # * {Types::GetDNSViewOutput#updated_at #updated_at} => Time
1876
+ # * {Types::GetDNSViewOutput#status #status} => String
1877
+ #
1878
+ # @example Request syntax with placeholder values
1879
+ #
1880
+ # resp = client.get_dns_view({
1881
+ # dns_view_id: "ResourceId", # required
1882
+ # })
1883
+ #
1884
+ # @example Response structure
1885
+ #
1886
+ # resp.id #=> String
1887
+ # resp.arn #=> String
1888
+ # resp.client_token #=> String
1889
+ # resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
1890
+ # resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
1891
+ # resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
1892
+ # resp.name #=> String
1893
+ # resp.description #=> String
1894
+ # resp.global_resolver_id #=> String
1895
+ # resp.created_at #=> Time
1896
+ # resp.updated_at #=> Time
1897
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"
1898
+ #
1899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetDNSView AWS API Documentation
1900
+ #
1901
+ # @overload get_dns_view(params = {})
1902
+ # @param [Hash] params ({})
1903
+ def get_dns_view(params = {}, options = {})
1904
+ req = build_request(:get_dns_view, params)
1905
+ req.send_request(options)
1906
+ end
1907
+
1908
+ # Retrieves information about a firewall domain list.
1909
+ #
1910
+ # @option params [required, String] :firewall_domain_list_id
1911
+ # ID of the domain list.
1912
+ #
1913
+ # @return [Types::GetFirewallDomainListOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1914
+ #
1915
+ # * {Types::GetFirewallDomainListOutput#arn #arn} => String
1916
+ # * {Types::GetFirewallDomainListOutput#global_resolver_id #global_resolver_id} => String
1917
+ # * {Types::GetFirewallDomainListOutput#client_token #client_token} => String
1918
+ # * {Types::GetFirewallDomainListOutput#created_at #created_at} => Time
1919
+ # * {Types::GetFirewallDomainListOutput#description #description} => String
1920
+ # * {Types::GetFirewallDomainListOutput#domain_count #domain_count} => Integer
1921
+ # * {Types::GetFirewallDomainListOutput#id #id} => String
1922
+ # * {Types::GetFirewallDomainListOutput#name #name} => String
1923
+ # * {Types::GetFirewallDomainListOutput#status #status} => String
1924
+ # * {Types::GetFirewallDomainListOutput#status_message #status_message} => String
1925
+ # * {Types::GetFirewallDomainListOutput#updated_at #updated_at} => Time
1926
+ #
1927
+ # @example Request syntax with placeholder values
1928
+ #
1929
+ # resp = client.get_firewall_domain_list({
1930
+ # firewall_domain_list_id: "ResourceId", # required
1931
+ # })
1932
+ #
1933
+ # @example Response structure
1934
+ #
1935
+ # resp.arn #=> String
1936
+ # resp.global_resolver_id #=> String
1937
+ # resp.client_token #=> String
1938
+ # resp.created_at #=> Time
1939
+ # resp.description #=> String
1940
+ # resp.domain_count #=> Integer
1941
+ # resp.id #=> String
1942
+ # resp.name #=> String
1943
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
1944
+ # resp.status_message #=> String
1945
+ # resp.updated_at #=> Time
1946
+ #
1947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetFirewallDomainList AWS API Documentation
1948
+ #
1949
+ # @overload get_firewall_domain_list(params = {})
1950
+ # @param [Hash] params ({})
1951
+ def get_firewall_domain_list(params = {}, options = {})
1952
+ req = build_request(:get_firewall_domain_list, params)
1953
+ req.send_request(options)
1954
+ end
1955
+
1956
+ # Retrieves information about a DNS firewall rule.
1957
+ #
1958
+ # @option params [required, String] :firewall_rule_id
1959
+ # ID of the DNS Firewall rule.
1960
+ #
1961
+ # @return [Types::GetFirewallRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1962
+ #
1963
+ # * {Types::GetFirewallRuleOutput#action #action} => String
1964
+ # * {Types::GetFirewallRuleOutput#block_override_dns_type #block_override_dns_type} => String
1965
+ # * {Types::GetFirewallRuleOutput#block_override_domain #block_override_domain} => String
1966
+ # * {Types::GetFirewallRuleOutput#block_override_ttl #block_override_ttl} => Integer
1967
+ # * {Types::GetFirewallRuleOutput#block_response #block_response} => String
1968
+ # * {Types::GetFirewallRuleOutput#confidence_threshold #confidence_threshold} => String
1969
+ # * {Types::GetFirewallRuleOutput#created_at #created_at} => Time
1970
+ # * {Types::GetFirewallRuleOutput#description #description} => String
1971
+ # * {Types::GetFirewallRuleOutput#dns_advanced_protection #dns_advanced_protection} => String
1972
+ # * {Types::GetFirewallRuleOutput#firewall_domain_list_id #firewall_domain_list_id} => String
1973
+ # * {Types::GetFirewallRuleOutput#id #id} => String
1974
+ # * {Types::GetFirewallRuleOutput#name #name} => String
1975
+ # * {Types::GetFirewallRuleOutput#priority #priority} => Integer
1976
+ # * {Types::GetFirewallRuleOutput#dns_view_id #dns_view_id} => String
1977
+ # * {Types::GetFirewallRuleOutput#query_type #query_type} => String
1978
+ # * {Types::GetFirewallRuleOutput#status #status} => String
1979
+ # * {Types::GetFirewallRuleOutput#updated_at #updated_at} => Time
1980
+ #
1981
+ # @example Request syntax with placeholder values
1982
+ #
1983
+ # resp = client.get_firewall_rule({
1984
+ # firewall_rule_id: "ResourceId", # required
1985
+ # })
1986
+ #
1987
+ # @example Response structure
1988
+ #
1989
+ # resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
1990
+ # resp.block_override_dns_type #=> String, one of "CNAME"
1991
+ # resp.block_override_domain #=> String
1992
+ # resp.block_override_ttl #=> Integer
1993
+ # resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
1994
+ # resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1995
+ # resp.created_at #=> Time
1996
+ # resp.description #=> String
1997
+ # resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
1998
+ # resp.firewall_domain_list_id #=> String
1999
+ # resp.id #=> String
2000
+ # resp.name #=> String
2001
+ # resp.priority #=> Integer
2002
+ # resp.dns_view_id #=> String
2003
+ # resp.query_type #=> String
2004
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2005
+ # resp.updated_at #=> Time
2006
+ #
2007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetFirewallRule AWS API Documentation
2008
+ #
2009
+ # @overload get_firewall_rule(params = {})
2010
+ # @param [Hash] params ({})
2011
+ def get_firewall_rule(params = {}, options = {})
2012
+ req = build_request(:get_firewall_rule, params)
2013
+ req.send_request(options)
2014
+ end
2015
+
2016
+ # Retrieves information about a Route 53 Global Resolver instance.
2017
+ #
2018
+ # @option params [required, String] :global_resolver_id
2019
+ # The ID of the Route 53 Global Resolver to retrieve information about.
2020
+ #
2021
+ # @return [Types::GetGlobalResolverOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2022
+ #
2023
+ # * {Types::GetGlobalResolverOutput#id #id} => String
2024
+ # * {Types::GetGlobalResolverOutput#arn #arn} => String
2025
+ # * {Types::GetGlobalResolverOutput#client_token #client_token} => String
2026
+ # * {Types::GetGlobalResolverOutput#dns_name #dns_name} => String
2027
+ # * {Types::GetGlobalResolverOutput#observability_region #observability_region} => String
2028
+ # * {Types::GetGlobalResolverOutput#name #name} => String
2029
+ # * {Types::GetGlobalResolverOutput#description #description} => String
2030
+ # * {Types::GetGlobalResolverOutput#regions #regions} => Array&lt;String&gt;
2031
+ # * {Types::GetGlobalResolverOutput#created_at #created_at} => Time
2032
+ # * {Types::GetGlobalResolverOutput#updated_at #updated_at} => Time
2033
+ # * {Types::GetGlobalResolverOutput#status #status} => String
2034
+ # * {Types::GetGlobalResolverOutput#ipv4_addresses #ipv4_addresses} => Array&lt;String&gt;
2035
+ #
2036
+ # @example Request syntax with placeholder values
2037
+ #
2038
+ # resp = client.get_global_resolver({
2039
+ # global_resolver_id: "ResourceId", # required
2040
+ # })
2041
+ #
2042
+ # @example Response structure
2043
+ #
2044
+ # resp.id #=> String
2045
+ # resp.arn #=> String
2046
+ # resp.client_token #=> String
2047
+ # resp.dns_name #=> String
2048
+ # resp.observability_region #=> String
2049
+ # resp.name #=> String
2050
+ # resp.description #=> String
2051
+ # resp.regions #=> Array
2052
+ # resp.regions[0] #=> String
2053
+ # resp.created_at #=> Time
2054
+ # resp.updated_at #=> Time
2055
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2056
+ # resp.ipv4_addresses #=> Array
2057
+ # resp.ipv4_addresses[0] #=> String
2058
+ #
2059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetGlobalResolver AWS API Documentation
2060
+ #
2061
+ # @overload get_global_resolver(params = {})
2062
+ # @param [Hash] params ({})
2063
+ def get_global_resolver(params = {}, options = {})
2064
+ req = build_request(:get_global_resolver, params)
2065
+ req.send_request(options)
2066
+ end
2067
+
2068
+ # Retrieves information about a hosted zone association.
2069
+ #
2070
+ # @option params [required, String] :hosted_zone_association_id
2071
+ # ID of the private hosted zone association.
2072
+ #
2073
+ # @return [Types::GetHostedZoneAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2074
+ #
2075
+ # * {Types::GetHostedZoneAssociationOutput#id #id} => String
2076
+ # * {Types::GetHostedZoneAssociationOutput#resource_arn #resource_arn} => String
2077
+ # * {Types::GetHostedZoneAssociationOutput#hosted_zone_id #hosted_zone_id} => String
2078
+ # * {Types::GetHostedZoneAssociationOutput#hosted_zone_name #hosted_zone_name} => String
2079
+ # * {Types::GetHostedZoneAssociationOutput#name #name} => String
2080
+ # * {Types::GetHostedZoneAssociationOutput#created_at #created_at} => Time
2081
+ # * {Types::GetHostedZoneAssociationOutput#updated_at #updated_at} => Time
2082
+ # * {Types::GetHostedZoneAssociationOutput#status #status} => String
2083
+ #
2084
+ # @example Request syntax with placeholder values
2085
+ #
2086
+ # resp = client.get_hosted_zone_association({
2087
+ # hosted_zone_association_id: "ResourceId", # required
2088
+ # })
2089
+ #
2090
+ # @example Response structure
2091
+ #
2092
+ # resp.id #=> String
2093
+ # resp.resource_arn #=> String
2094
+ # resp.hosted_zone_id #=> String
2095
+ # resp.hosted_zone_name #=> String
2096
+ # resp.name #=> String
2097
+ # resp.created_at #=> Time
2098
+ # resp.updated_at #=> Time
2099
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
2100
+ #
2101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetHostedZoneAssociation AWS API Documentation
2102
+ #
2103
+ # @overload get_hosted_zone_association(params = {})
2104
+ # @param [Hash] params ({})
2105
+ def get_hosted_zone_association(params = {}, options = {})
2106
+ req = build_request(:get_hosted_zone_association, params)
2107
+ req.send_request(options)
2108
+ end
2109
+
2110
+ # Retrieves information about an AWS-managed firewall domain list.
2111
+ # Managed domain lists contain domains associated with malicious
2112
+ # activity, content categories, or specific threats.
2113
+ #
2114
+ # @option params [required, String] :managed_firewall_domain_list_id
2115
+ # ID of the Managed Domain List.
2116
+ #
2117
+ # @return [Types::GetManagedFirewallDomainListOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2118
+ #
2119
+ # * {Types::GetManagedFirewallDomainListOutput#description #description} => String
2120
+ # * {Types::GetManagedFirewallDomainListOutput#id #id} => String
2121
+ # * {Types::GetManagedFirewallDomainListOutput#name #name} => String
2122
+ # * {Types::GetManagedFirewallDomainListOutput#managed_list_type #managed_list_type} => String
2123
+ #
2124
+ # @example Request syntax with placeholder values
2125
+ #
2126
+ # resp = client.get_managed_firewall_domain_list({
2127
+ # managed_firewall_domain_list_id: "ResourceId", # required
2128
+ # })
2129
+ #
2130
+ # @example Response structure
2131
+ #
2132
+ # resp.description #=> String
2133
+ # resp.id #=> String
2134
+ # resp.name #=> String
2135
+ # resp.managed_list_type #=> String
2136
+ #
2137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/GetManagedFirewallDomainList AWS API Documentation
2138
+ #
2139
+ # @overload get_managed_firewall_domain_list(params = {})
2140
+ # @param [Hash] params ({})
2141
+ def get_managed_firewall_domain_list(params = {}, options = {})
2142
+ req = build_request(:get_managed_firewall_domain_list, params)
2143
+ req.send_request(options)
2144
+ end
2145
+
2146
+ # Imports a list of domains from an Amazon S3 file into a firewall
2147
+ # domain list. The file should contain one domain per line.
2148
+ #
2149
+ # @option params [required, String] :domain_file_url
2150
+ # The fully qualified URL of the file in Amazon S3 that contains the
2151
+ # list of domains to import. The file should contain one domain per
2152
+ # line.
2153
+ #
2154
+ # @option params [required, String] :firewall_domain_list_id
2155
+ # ID of the DNS Firewall domain list that you want to import the domain
2156
+ # list to.
2157
+ #
2158
+ # @option params [required, String] :operation
2159
+ # This value is `REPLACE`, and it updates the domain list to match the
2160
+ # list of domains in the imported file.
2161
+ #
2162
+ # @return [Types::ImportFirewallDomainsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2163
+ #
2164
+ # * {Types::ImportFirewallDomainsOutput#id #id} => String
2165
+ # * {Types::ImportFirewallDomainsOutput#name #name} => String
2166
+ # * {Types::ImportFirewallDomainsOutput#status #status} => String
2167
+ #
2168
+ # @example Request syntax with placeholder values
2169
+ #
2170
+ # resp = client.import_firewall_domains({
2171
+ # domain_file_url: "String", # required
2172
+ # firewall_domain_list_id: "ResourceId", # required
2173
+ # operation: "String", # required
2174
+ # })
2175
+ #
2176
+ # @example Response structure
2177
+ #
2178
+ # resp.id #=> String
2179
+ # resp.name #=> String
2180
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2181
+ #
2182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ImportFirewallDomains AWS API Documentation
2183
+ #
2184
+ # @overload import_firewall_domains(params = {})
2185
+ # @param [Hash] params ({})
2186
+ def import_firewall_domains(params = {}, options = {})
2187
+ req = build_request(:import_firewall_domains, params)
2188
+ req.send_request(options)
2189
+ end
2190
+
2191
+ # Lists all access sources with pagination support.
2192
+ #
2193
+ # @option params [Integer] :max_results
2194
+ # The maximum number of results to retrieve in a single call.
2195
+ #
2196
+ # @option params [String] :next_token
2197
+ # A pagination token used for large sets of results that can't be
2198
+ # returned in a single response.
2199
+ #
2200
+ # @option params [Hash<String,Array>] :filters
2201
+ # Values to filter the results.
2202
+ #
2203
+ # @return [Types::ListAccessSourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2204
+ #
2205
+ # * {Types::ListAccessSourcesOutput#next_token #next_token} => String
2206
+ # * {Types::ListAccessSourcesOutput#access_sources #access_sources} => Array&lt;Types::AccessSourcesItem&gt;
2207
+ #
2208
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2209
+ #
2210
+ # @example Request syntax with placeholder values
2211
+ #
2212
+ # resp = client.list_access_sources({
2213
+ # max_results: 1,
2214
+ # next_token: "String",
2215
+ # filters: {
2216
+ # "String" => ["String"],
2217
+ # },
2218
+ # })
2219
+ #
2220
+ # @example Response structure
2221
+ #
2222
+ # resp.next_token #=> String
2223
+ # resp.access_sources #=> Array
2224
+ # resp.access_sources[0].arn #=> String
2225
+ # resp.access_sources[0].cidr #=> String
2226
+ # resp.access_sources[0].created_at #=> Time
2227
+ # resp.access_sources[0].id #=> String
2228
+ # resp.access_sources[0].ip_address_type #=> String, one of "IPV4", "IPV6"
2229
+ # resp.access_sources[0].name #=> String
2230
+ # resp.access_sources[0].dns_view_id #=> String
2231
+ # resp.access_sources[0].protocol #=> String, one of "DO53", "DOH", "DOT"
2232
+ # resp.access_sources[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2233
+ # resp.access_sources[0].updated_at #=> Time
2234
+ #
2235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListAccessSources AWS API Documentation
2236
+ #
2237
+ # @overload list_access_sources(params = {})
2238
+ # @param [Hash] params ({})
2239
+ def list_access_sources(params = {}, options = {})
2240
+ req = build_request(:list_access_sources, params)
2241
+ req.send_request(options)
2242
+ end
2243
+
2244
+ # Lists all access tokens for a DNS view with pagination support.
2245
+ #
2246
+ # @option params [Integer] :max_results
2247
+ # The maximum number of results to retrieve in a single call.
2248
+ #
2249
+ # @option params [String] :next_token
2250
+ # A pagination token used for large sets of results that can't be
2251
+ # returned in a single response.
2252
+ #
2253
+ # @option params [required, String] :dns_view_id
2254
+ # The ID of the DNS view to list the tokens for.
2255
+ #
2256
+ # @option params [Hash<String,Array>] :filters
2257
+ # Filtering parameters.
2258
+ #
2259
+ # @return [Types::ListAccessTokensOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2260
+ #
2261
+ # * {Types::ListAccessTokensOutput#next_token #next_token} => String
2262
+ # * {Types::ListAccessTokensOutput#access_tokens #access_tokens} => Array&lt;Types::AccessTokenItem&gt;
2263
+ #
2264
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2265
+ #
2266
+ # @example Request syntax with placeholder values
2267
+ #
2268
+ # resp = client.list_access_tokens({
2269
+ # max_results: 1,
2270
+ # next_token: "String",
2271
+ # dns_view_id: "ResourceId", # required
2272
+ # filters: {
2273
+ # "String" => ["String"],
2274
+ # },
2275
+ # })
2276
+ #
2277
+ # @example Response structure
2278
+ #
2279
+ # resp.next_token #=> String
2280
+ # resp.access_tokens #=> Array
2281
+ # resp.access_tokens[0].id #=> String
2282
+ # resp.access_tokens[0].arn #=> String
2283
+ # resp.access_tokens[0].created_at #=> Time
2284
+ # resp.access_tokens[0].dns_view_id #=> String
2285
+ # resp.access_tokens[0].expires_at #=> Time
2286
+ # resp.access_tokens[0].global_resolver_id #=> String
2287
+ # resp.access_tokens[0].name #=> String
2288
+ # resp.access_tokens[0].status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
2289
+ # resp.access_tokens[0].updated_at #=> Time
2290
+ #
2291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListAccessTokens AWS API Documentation
2292
+ #
2293
+ # @overload list_access_tokens(params = {})
2294
+ # @param [Hash] params ({})
2295
+ def list_access_tokens(params = {}, options = {})
2296
+ req = build_request(:list_access_tokens, params)
2297
+ req.send_request(options)
2298
+ end
2299
+
2300
+ # Lists all DNS views for a Route 53 Global Resolver with pagination
2301
+ # support.
2302
+ #
2303
+ # @option params [Integer] :max_results
2304
+ # The maximum number of results to retrieve in a single call.
2305
+ #
2306
+ # @option params [String] :next_token
2307
+ # A pagination token used for large sets of results that can't be
2308
+ # returned in a single response.
2309
+ #
2310
+ # @option params [required, String] :global_resolver_id
2311
+ # The Global Resolver ID.
2312
+ #
2313
+ # @return [Types::ListDNSViewsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2314
+ #
2315
+ # * {Types::ListDNSViewsOutput#next_token #next_token} => String
2316
+ # * {Types::ListDNSViewsOutput#dns_views #dns_views} => Array&lt;Types::DNSViewSummary&gt;
2317
+ #
2318
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2319
+ #
2320
+ # @example Request syntax with placeholder values
2321
+ #
2322
+ # resp = client.list_dns_views({
2323
+ # max_results: 1,
2324
+ # next_token: "String",
2325
+ # global_resolver_id: "ResourceId", # required
2326
+ # })
2327
+ #
2328
+ # @example Response structure
2329
+ #
2330
+ # resp.next_token #=> String
2331
+ # resp.dns_views #=> Array
2332
+ # resp.dns_views[0].id #=> String
2333
+ # resp.dns_views[0].arn #=> String
2334
+ # resp.dns_views[0].client_token #=> String
2335
+ # resp.dns_views[0].dnssec_validation #=> String, one of "ENABLED", "DISABLED"
2336
+ # resp.dns_views[0].edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
2337
+ # resp.dns_views[0].firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
2338
+ # resp.dns_views[0].name #=> String
2339
+ # resp.dns_views[0].description #=> String
2340
+ # resp.dns_views[0].global_resolver_id #=> String
2341
+ # resp.dns_views[0].created_at #=> Time
2342
+ # resp.dns_views[0].updated_at #=> Time
2343
+ # resp.dns_views[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"
2344
+ #
2345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListDNSViews AWS API Documentation
2346
+ #
2347
+ # @overload list_dns_views(params = {})
2348
+ # @param [Hash] params ({})
2349
+ def list_dns_views(params = {}, options = {})
2350
+ req = build_request(:list_dns_views, params)
2351
+ req.send_request(options)
2352
+ end
2353
+
2354
+ # Lists all firewall domain lists for a Route 53 Global Resolver with
2355
+ # pagination support.
2356
+ #
2357
+ # @option params [Integer] :max_results
2358
+ # The maximum number of results to retrieve in a single call.
2359
+ #
2360
+ # @option params [String] :next_token
2361
+ # A pagination token used for large sets of results that can't be
2362
+ # returned in a single response.
2363
+ #
2364
+ # @option params [String] :global_resolver_id
2365
+ # The ID of the Global Resolver that contains the DNS view the domain
2366
+ # lists are associated to.
2367
+ #
2368
+ # @return [Types::ListFirewallDomainListsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2369
+ #
2370
+ # * {Types::ListFirewallDomainListsOutput#next_token #next_token} => String
2371
+ # * {Types::ListFirewallDomainListsOutput#firewall_domain_lists #firewall_domain_lists} => Array&lt;Types::FirewallDomainListsItem&gt;
2372
+ #
2373
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2374
+ #
2375
+ # @example Request syntax with placeholder values
2376
+ #
2377
+ # resp = client.list_firewall_domain_lists({
2378
+ # max_results: 1,
2379
+ # next_token: "String",
2380
+ # global_resolver_id: "ResourceId",
2381
+ # })
2382
+ #
2383
+ # @example Response structure
2384
+ #
2385
+ # resp.next_token #=> String
2386
+ # resp.firewall_domain_lists #=> Array
2387
+ # resp.firewall_domain_lists[0].arn #=> String
2388
+ # resp.firewall_domain_lists[0].global_resolver_id #=> String
2389
+ # resp.firewall_domain_lists[0].created_at #=> Time
2390
+ # resp.firewall_domain_lists[0].description #=> String
2391
+ # resp.firewall_domain_lists[0].id #=> String
2392
+ # resp.firewall_domain_lists[0].name #=> String
2393
+ # resp.firewall_domain_lists[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2394
+ # resp.firewall_domain_lists[0].updated_at #=> Time
2395
+ #
2396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListFirewallDomainLists AWS API Documentation
2397
+ #
2398
+ # @overload list_firewall_domain_lists(params = {})
2399
+ # @param [Hash] params ({})
2400
+ def list_firewall_domain_lists(params = {}, options = {})
2401
+ req = build_request(:list_firewall_domain_lists, params)
2402
+ req.send_request(options)
2403
+ end
2404
+
2405
+ # Lists all the domains in DNS Firewall domain list you have created.
2406
+ #
2407
+ # @option params [Integer] :max_results
2408
+ # The maximum number of results to retrieve in a single call.
2409
+ #
2410
+ # @option params [String] :next_token
2411
+ # A pagination token used for large sets of results that can't be
2412
+ # returned in a single response.
2413
+ #
2414
+ # @option params [required, String] :firewall_domain_list_id
2415
+ # ID of the DNS Firewall domain list.
2416
+ #
2417
+ # @return [Types::ListFirewallDomainsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2418
+ #
2419
+ # * {Types::ListFirewallDomainsOutput#next_token #next_token} => String
2420
+ # * {Types::ListFirewallDomainsOutput#domains #domains} => Array&lt;String&gt;
2421
+ #
2422
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2423
+ #
2424
+ # @example Request syntax with placeholder values
2425
+ #
2426
+ # resp = client.list_firewall_domains({
2427
+ # max_results: 1,
2428
+ # next_token: "String",
2429
+ # firewall_domain_list_id: "ResourceId", # required
2430
+ # })
2431
+ #
2432
+ # @example Response structure
2433
+ #
2434
+ # resp.next_token #=> String
2435
+ # resp.domains #=> Array
2436
+ # resp.domains[0] #=> String
2437
+ #
2438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListFirewallDomains AWS API Documentation
2439
+ #
2440
+ # @overload list_firewall_domains(params = {})
2441
+ # @param [Hash] params ({})
2442
+ def list_firewall_domains(params = {}, options = {})
2443
+ req = build_request(:list_firewall_domains, params)
2444
+ req.send_request(options)
2445
+ end
2446
+
2447
+ # Lists all DNS firewall rules for a DNS view with pagination support.
2448
+ #
2449
+ # @option params [Integer] :max_results
2450
+ # The maximum number of results to retrieve in a single call.
2451
+ #
2452
+ # @option params [String] :next_token
2453
+ # A pagination token used for large sets of results that can't be
2454
+ # returned in a single response.
2455
+ #
2456
+ # @option params [required, String] :dns_view_id
2457
+ # ID of the DNS view.
2458
+ #
2459
+ # @option params [Hash<String,Array>] :filters
2460
+ # Values to filter the results.
2461
+ #
2462
+ # @return [Types::ListFirewallRulesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2463
+ #
2464
+ # * {Types::ListFirewallRulesOutput#next_token #next_token} => String
2465
+ # * {Types::ListFirewallRulesOutput#firewall_rules #firewall_rules} => Array&lt;Types::FirewallRulesItem&gt;
2466
+ #
2467
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2468
+ #
2469
+ # @example Request syntax with placeholder values
2470
+ #
2471
+ # resp = client.list_firewall_rules({
2472
+ # max_results: 1,
2473
+ # next_token: "String",
2474
+ # dns_view_id: "ResourceId", # required
2475
+ # filters: {
2476
+ # "String" => ["String"],
2477
+ # },
2478
+ # })
2479
+ #
2480
+ # @example Response structure
2481
+ #
2482
+ # resp.next_token #=> String
2483
+ # resp.firewall_rules #=> Array
2484
+ # resp.firewall_rules[0].action #=> String, one of "ALLOW", "ALERT", "BLOCK"
2485
+ # resp.firewall_rules[0].block_override_dns_type #=> String, one of "CNAME"
2486
+ # resp.firewall_rules[0].block_override_domain #=> String
2487
+ # resp.firewall_rules[0].block_override_ttl #=> Integer
2488
+ # resp.firewall_rules[0].block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
2489
+ # resp.firewall_rules[0].confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
2490
+ # resp.firewall_rules[0].created_at #=> Time
2491
+ # resp.firewall_rules[0].description #=> String
2492
+ # resp.firewall_rules[0].dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
2493
+ # resp.firewall_rules[0].firewall_domain_list_id #=> String
2494
+ # resp.firewall_rules[0].id #=> String
2495
+ # resp.firewall_rules[0].name #=> String
2496
+ # resp.firewall_rules[0].priority #=> Integer
2497
+ # resp.firewall_rules[0].dns_view_id #=> String
2498
+ # resp.firewall_rules[0].query_type #=> String
2499
+ # resp.firewall_rules[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2500
+ # resp.firewall_rules[0].updated_at #=> Time
2501
+ #
2502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListFirewallRules AWS API Documentation
2503
+ #
2504
+ # @overload list_firewall_rules(params = {})
2505
+ # @param [Hash] params ({})
2506
+ def list_firewall_rules(params = {}, options = {})
2507
+ req = build_request(:list_firewall_rules, params)
2508
+ req.send_request(options)
2509
+ end
2510
+
2511
+ # Lists all Route 53 Global Resolver instances in your account with
2512
+ # pagination support.
2513
+ #
2514
+ # @option params [Integer] :max_results
2515
+ # The maximum number of Route 53 Global Resolver instances to return in
2516
+ # the response. Valid range is 1-100.
2517
+ #
2518
+ # @option params [String] :next_token
2519
+ # The token for the next page of results. This value is returned in the
2520
+ # response if there are more results to retrieve.
2521
+ #
2522
+ # @return [Types::ListGlobalResolversOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2523
+ #
2524
+ # * {Types::ListGlobalResolversOutput#next_token #next_token} => String
2525
+ # * {Types::ListGlobalResolversOutput#global_resolvers #global_resolvers} => Array&lt;Types::GlobalResolversItem&gt;
2526
+ #
2527
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2528
+ #
2529
+ # @example Request syntax with placeholder values
2530
+ #
2531
+ # resp = client.list_global_resolvers({
2532
+ # max_results: 1,
2533
+ # next_token: "String",
2534
+ # })
2535
+ #
2536
+ # @example Response structure
2537
+ #
2538
+ # resp.next_token #=> String
2539
+ # resp.global_resolvers #=> Array
2540
+ # resp.global_resolvers[0].id #=> String
2541
+ # resp.global_resolvers[0].arn #=> String
2542
+ # resp.global_resolvers[0].client_token #=> String
2543
+ # resp.global_resolvers[0].dns_name #=> String
2544
+ # resp.global_resolvers[0].observability_region #=> String
2545
+ # resp.global_resolvers[0].name #=> String
2546
+ # resp.global_resolvers[0].description #=> String
2547
+ # resp.global_resolvers[0].regions #=> Array
2548
+ # resp.global_resolvers[0].regions[0] #=> String
2549
+ # resp.global_resolvers[0].created_at #=> Time
2550
+ # resp.global_resolvers[0].updated_at #=> Time
2551
+ # resp.global_resolvers[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2552
+ # resp.global_resolvers[0].ipv4_addresses #=> Array
2553
+ # resp.global_resolvers[0].ipv4_addresses[0] #=> String
2554
+ #
2555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListGlobalResolvers AWS API Documentation
2556
+ #
2557
+ # @overload list_global_resolvers(params = {})
2558
+ # @param [Hash] params ({})
2559
+ def list_global_resolvers(params = {}, options = {})
2560
+ req = build_request(:list_global_resolvers, params)
2561
+ req.send_request(options)
2562
+ end
2563
+
2564
+ # Lists all hosted zone associations for a Route 53 Global Resolver
2565
+ # resource with pagination support.
2566
+ #
2567
+ # @option params [Integer] :max_results
2568
+ # The maximum number of results to retrieve in a single call.
2569
+ #
2570
+ # @option params [String] :next_token
2571
+ # A pagination token used for large sets of results that can't be
2572
+ # returned in a single response.
2573
+ #
2574
+ # @option params [required, String] :resource_arn
2575
+ # Amazon Resource Name (ARN) of the DNS view.
2576
+ #
2577
+ # @return [Types::ListHostedZoneAssociationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2578
+ #
2579
+ # * {Types::ListHostedZoneAssociationsOutput#next_token #next_token} => String
2580
+ # * {Types::ListHostedZoneAssociationsOutput#hosted_zone_associations #hosted_zone_associations} => Array&lt;Types::HostedZoneAssociationSummary&gt;
2581
+ #
2582
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2583
+ #
2584
+ # @example Request syntax with placeholder values
2585
+ #
2586
+ # resp = client.list_hosted_zone_associations({
2587
+ # max_results: 1,
2588
+ # next_token: "String",
2589
+ # resource_arn: "ResourceArn", # required
2590
+ # })
2591
+ #
2592
+ # @example Response structure
2593
+ #
2594
+ # resp.next_token #=> String
2595
+ # resp.hosted_zone_associations #=> Array
2596
+ # resp.hosted_zone_associations[0].id #=> String
2597
+ # resp.hosted_zone_associations[0].resource_arn #=> String
2598
+ # resp.hosted_zone_associations[0].hosted_zone_id #=> String
2599
+ # resp.hosted_zone_associations[0].hosted_zone_name #=> String
2600
+ # resp.hosted_zone_associations[0].name #=> String
2601
+ # resp.hosted_zone_associations[0].created_at #=> Time
2602
+ # resp.hosted_zone_associations[0].updated_at #=> Time
2603
+ # resp.hosted_zone_associations[0].status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
2604
+ #
2605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListHostedZoneAssociations AWS API Documentation
2606
+ #
2607
+ # @overload list_hosted_zone_associations(params = {})
2608
+ # @param [Hash] params ({})
2609
+ def list_hosted_zone_associations(params = {}, options = {})
2610
+ req = build_request(:list_hosted_zone_associations, params)
2611
+ req.send_request(options)
2612
+ end
2613
+
2614
+ # Returns a paginated list of the AWS Managed DNS Lists and the
2615
+ # categories for DNS Firewall. The categories are either `THREAT` or
2616
+ # `CONTENT`.
2617
+ #
2618
+ # @option params [Integer] :max_results
2619
+ # The maximum number of results to retrieve in a single call.
2620
+ #
2621
+ # @option params [String] :next_token
2622
+ # A pagination token used for large sets of results that can't be
2623
+ # returned in a single response.
2624
+ #
2625
+ # @option params [required, String] :managed_firewall_domain_list_type
2626
+ # The category of the Manage DNS list either `THREAT` or `CONTENT`.
2627
+ #
2628
+ # @return [Types::ListManagedFirewallDomainListsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2629
+ #
2630
+ # * {Types::ListManagedFirewallDomainListsOutput#next_token #next_token} => String
2631
+ # * {Types::ListManagedFirewallDomainListsOutput#managed_firewall_domain_lists #managed_firewall_domain_lists} => Array&lt;Types::ManagedFirewallDomainListsItem&gt;
2632
+ #
2633
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2634
+ #
2635
+ # @example Request syntax with placeholder values
2636
+ #
2637
+ # resp = client.list_managed_firewall_domain_lists({
2638
+ # max_results: 1,
2639
+ # next_token: "String",
2640
+ # managed_firewall_domain_list_type: "String", # required
2641
+ # })
2642
+ #
2643
+ # @example Response structure
2644
+ #
2645
+ # resp.next_token #=> String
2646
+ # resp.managed_firewall_domain_lists #=> Array
2647
+ # resp.managed_firewall_domain_lists[0].description #=> String
2648
+ # resp.managed_firewall_domain_lists[0].id #=> String
2649
+ # resp.managed_firewall_domain_lists[0].name #=> String
2650
+ # resp.managed_firewall_domain_lists[0].managed_list_type #=> String
2651
+ #
2652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListManagedFirewallDomainLists AWS API Documentation
2653
+ #
2654
+ # @overload list_managed_firewall_domain_lists(params = {})
2655
+ # @param [Hash] params ({})
2656
+ def list_managed_firewall_domain_lists(params = {}, options = {})
2657
+ req = build_request(:list_managed_firewall_domain_lists, params)
2658
+ req.send_request(options)
2659
+ end
2660
+
2661
+ # Lists the tags associated with a Route 53 Global Resolver resource.
2662
+ #
2663
+ # @option params [required, String] :resource_arn
2664
+ # Amazon Resource Name (ARN) for the resource.
2665
+ #
2666
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2667
+ #
2668
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2669
+ #
2670
+ # @example Request syntax with placeholder values
2671
+ #
2672
+ # resp = client.list_tags_for_resource({
2673
+ # resource_arn: "ResourceArn", # required
2674
+ # })
2675
+ #
2676
+ # @example Response structure
2677
+ #
2678
+ # resp.tags #=> Hash
2679
+ # resp.tags["TagKey"] #=> String
2680
+ #
2681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/ListTagsForResource AWS API Documentation
2682
+ #
2683
+ # @overload list_tags_for_resource(params = {})
2684
+ # @param [Hash] params ({})
2685
+ def list_tags_for_resource(params = {}, options = {})
2686
+ req = build_request(:list_tags_for_resource, params)
2687
+ req.send_request(options)
2688
+ end
2689
+
2690
+ # Adds or updates tags for a Route 53 Global Resolver resource. Tags are
2691
+ # key-value pairs that help you organize and identify your resources.
2692
+ #
2693
+ # @option params [required, String] :resource_arn
2694
+ # Amazon Resource Name (ARN) of the resource to be tagged.
2695
+ #
2696
+ # @option params [required, Hash<String,String>] :tags
2697
+ # An array of user-defined keys and optional values. These tags can be
2698
+ # used for categorization and organization.
2699
+ #
2700
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2701
+ #
2702
+ # @example Request syntax with placeholder values
2703
+ #
2704
+ # resp = client.tag_resource({
2705
+ # resource_arn: "ResourceArn", # required
2706
+ # tags: { # required
2707
+ # "TagKey" => "TagValue",
2708
+ # },
2709
+ # })
2710
+ #
2711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/TagResource AWS API Documentation
2712
+ #
2713
+ # @overload tag_resource(params = {})
2714
+ # @param [Hash] params ({})
2715
+ def tag_resource(params = {}, options = {})
2716
+ req = build_request(:tag_resource, params)
2717
+ req.send_request(options)
2718
+ end
2719
+
2720
+ # Removes tags from a Route 53 Global Resolver resource.
2721
+ #
2722
+ # @option params [required, String] :resource_arn
2723
+ # Amazon Resource Name (ARN) of the resource.
2724
+ #
2725
+ # @option params [required, Array<String>] :tag_keys
2726
+ # The tag keys associated with the resource.
2727
+ #
2728
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2729
+ #
2730
+ # @example Request syntax with placeholder values
2731
+ #
2732
+ # resp = client.untag_resource({
2733
+ # resource_arn: "ResourceArn", # required
2734
+ # tag_keys: ["TagKey"], # required
2735
+ # })
2736
+ #
2737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UntagResource AWS API Documentation
2738
+ #
2739
+ # @overload untag_resource(params = {})
2740
+ # @param [Hash] params ({})
2741
+ def untag_resource(params = {}, options = {})
2742
+ req = build_request(:untag_resource, params)
2743
+ req.send_request(options)
2744
+ end
2745
+
2746
+ # Updates the configuration of an access source.
2747
+ #
2748
+ # @option params [required, String] :access_source_id
2749
+ # The unique identifier of the access source to update.
2750
+ #
2751
+ # @option params [String] :cidr
2752
+ # The CIDR block for the access source.
2753
+ #
2754
+ # @option params [String] :ip_address_type
2755
+ # The IP address type for the access source.
2756
+ #
2757
+ # @option params [String] :name
2758
+ # The name of the access source.
2759
+ #
2760
+ # @option params [String] :protocol
2761
+ # The protocol for the access source.
2762
+ #
2763
+ # @return [Types::UpdateAccessSourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2764
+ #
2765
+ # * {Types::UpdateAccessSourceOutput#arn #arn} => String
2766
+ # * {Types::UpdateAccessSourceOutput#cidr #cidr} => String
2767
+ # * {Types::UpdateAccessSourceOutput#created_at #created_at} => Time
2768
+ # * {Types::UpdateAccessSourceOutput#id #id} => String
2769
+ # * {Types::UpdateAccessSourceOutput#ip_address_type #ip_address_type} => String
2770
+ # * {Types::UpdateAccessSourceOutput#name #name} => String
2771
+ # * {Types::UpdateAccessSourceOutput#dns_view_id #dns_view_id} => String
2772
+ # * {Types::UpdateAccessSourceOutput#protocol #protocol} => String
2773
+ # * {Types::UpdateAccessSourceOutput#status #status} => String
2774
+ # * {Types::UpdateAccessSourceOutput#updated_at #updated_at} => Time
2775
+ #
2776
+ # @example Request syntax with placeholder values
2777
+ #
2778
+ # resp = client.update_access_source({
2779
+ # access_source_id: "ResourceId", # required
2780
+ # cidr: "Cidr",
2781
+ # ip_address_type: "IPV4", # accepts IPV4, IPV6
2782
+ # name: "ResourceNameShort",
2783
+ # protocol: "DO53", # accepts DO53, DOH, DOT
2784
+ # })
2785
+ #
2786
+ # @example Response structure
2787
+ #
2788
+ # resp.arn #=> String
2789
+ # resp.cidr #=> String
2790
+ # resp.created_at #=> Time
2791
+ # resp.id #=> String
2792
+ # resp.ip_address_type #=> String, one of "IPV4", "IPV6"
2793
+ # resp.name #=> String
2794
+ # resp.dns_view_id #=> String
2795
+ # resp.protocol #=> String, one of "DO53", "DOH", "DOT"
2796
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2797
+ # resp.updated_at #=> Time
2798
+ #
2799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UpdateAccessSource AWS API Documentation
2800
+ #
2801
+ # @overload update_access_source(params = {})
2802
+ # @param [Hash] params ({})
2803
+ def update_access_source(params = {}, options = {})
2804
+ req = build_request(:update_access_source, params)
2805
+ req.send_request(options)
2806
+ end
2807
+
2808
+ # Updates the configuration of an access token.
2809
+ #
2810
+ # @option params [required, String] :access_token_id
2811
+ # The ID of the token.
2812
+ #
2813
+ # @option params [required, String] :name
2814
+ # The new name of the token.
2815
+ #
2816
+ # @return [Types::UpdateAccessTokenOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2817
+ #
2818
+ # * {Types::UpdateAccessTokenOutput#id #id} => String
2819
+ # * {Types::UpdateAccessTokenOutput#name #name} => String
2820
+ #
2821
+ # @example Request syntax with placeholder values
2822
+ #
2823
+ # resp = client.update_access_token({
2824
+ # access_token_id: "ResourceId", # required
2825
+ # name: "ResourceNameShort", # required
2826
+ # })
2827
+ #
2828
+ # @example Response structure
2829
+ #
2830
+ # resp.id #=> String
2831
+ # resp.name #=> String
2832
+ #
2833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UpdateAccessToken AWS API Documentation
2834
+ #
2835
+ # @overload update_access_token(params = {})
2836
+ # @param [Hash] params ({})
2837
+ def update_access_token(params = {}, options = {})
2838
+ req = build_request(:update_access_token, params)
2839
+ req.send_request(options)
2840
+ end
2841
+
2842
+ # Updates the configuration of a DNS view.
2843
+ #
2844
+ # @option params [required, String] :dns_view_id
2845
+ # The unique identifier of the DNS view to update.
2846
+ #
2847
+ # @option params [String] :name
2848
+ # The name of the DNS view.
2849
+ #
2850
+ # @option params [String] :description
2851
+ # A description of the DNS view.
2852
+ #
2853
+ # @option params [String] :dnssec_validation
2854
+ # Whether to enable DNSSEC validation for the DNS view.
2855
+ #
2856
+ # @option params [String] :edns_client_subnet
2857
+ # Whether to enable EDNS Client Subnet injection for the DNS view.
2858
+ #
2859
+ # @option params [String] :firewall_rules_fail_open
2860
+ # Whether firewall rules should fail open when they cannot be evaluated.
2861
+ #
2862
+ # @return [Types::UpdateDNSViewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2863
+ #
2864
+ # * {Types::UpdateDNSViewOutput#id #id} => String
2865
+ # * {Types::UpdateDNSViewOutput#arn #arn} => String
2866
+ # * {Types::UpdateDNSViewOutput#client_token #client_token} => String
2867
+ # * {Types::UpdateDNSViewOutput#dnssec_validation #dnssec_validation} => String
2868
+ # * {Types::UpdateDNSViewOutput#edns_client_subnet #edns_client_subnet} => String
2869
+ # * {Types::UpdateDNSViewOutput#firewall_rules_fail_open #firewall_rules_fail_open} => String
2870
+ # * {Types::UpdateDNSViewOutput#name #name} => String
2871
+ # * {Types::UpdateDNSViewOutput#description #description} => String
2872
+ # * {Types::UpdateDNSViewOutput#global_resolver_id #global_resolver_id} => String
2873
+ # * {Types::UpdateDNSViewOutput#created_at #created_at} => Time
2874
+ # * {Types::UpdateDNSViewOutput#updated_at #updated_at} => Time
2875
+ # * {Types::UpdateDNSViewOutput#status #status} => String
2876
+ #
2877
+ # @example Request syntax with placeholder values
2878
+ #
2879
+ # resp = client.update_dns_view({
2880
+ # dns_view_id: "ResourceId", # required
2881
+ # name: "ResourceName",
2882
+ # description: "ResourceDescription",
2883
+ # dnssec_validation: "ENABLED", # accepts ENABLED, DISABLED
2884
+ # edns_client_subnet: "ENABLED", # accepts ENABLED, DISABLED
2885
+ # firewall_rules_fail_open: "ENABLED", # accepts ENABLED, DISABLED
2886
+ # })
2887
+ #
2888
+ # @example Response structure
2889
+ #
2890
+ # resp.id #=> String
2891
+ # resp.arn #=> String
2892
+ # resp.client_token #=> String
2893
+ # resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
2894
+ # resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
2895
+ # resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
2896
+ # resp.name #=> String
2897
+ # resp.description #=> String
2898
+ # resp.global_resolver_id #=> String
2899
+ # resp.created_at #=> Time
2900
+ # resp.updated_at #=> Time
2901
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"
2902
+ #
2903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UpdateDNSView AWS API Documentation
2904
+ #
2905
+ # @overload update_dns_view(params = {})
2906
+ # @param [Hash] params ({})
2907
+ def update_dns_view(params = {}, options = {})
2908
+ req = build_request(:update_dns_view, params)
2909
+ req.send_request(options)
2910
+ end
2911
+
2912
+ # Updates a DNS Firewall domain list from an array of specified domains.
2913
+ #
2914
+ # @option params [required, Array<String>] :domains
2915
+ # A list of the domains. You can add up to 1000 domains per request.
2916
+ #
2917
+ # @option params [required, String] :firewall_domain_list_id
2918
+ # The ID of the DNS Firewall domain list to which you want to add the
2919
+ # domains.
2920
+ #
2921
+ # @option params [required, String] :operation
2922
+ # The operation for updating the domain list. The allowed values are
2923
+ # ADD, REMOVE, and REPLACE.
2924
+ #
2925
+ # @return [Types::UpdateFirewallDomainsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2926
+ #
2927
+ # * {Types::UpdateFirewallDomainsOutput#id #id} => String
2928
+ # * {Types::UpdateFirewallDomainsOutput#name #name} => String
2929
+ # * {Types::UpdateFirewallDomainsOutput#status #status} => String
2930
+ #
2931
+ # @example Request syntax with placeholder values
2932
+ #
2933
+ # resp = client.update_firewall_domains({
2934
+ # domains: ["Domain"], # required
2935
+ # firewall_domain_list_id: "ResourceId", # required
2936
+ # operation: "String", # required
2937
+ # })
2938
+ #
2939
+ # @example Response structure
2940
+ #
2941
+ # resp.id #=> String
2942
+ # resp.name #=> String
2943
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
2944
+ #
2945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UpdateFirewallDomains AWS API Documentation
2946
+ #
2947
+ # @overload update_firewall_domains(params = {})
2948
+ # @param [Hash] params ({})
2949
+ def update_firewall_domains(params = {}, options = {})
2950
+ req = build_request(:update_firewall_domains, params)
2951
+ req.send_request(options)
2952
+ end
2953
+
2954
+ # Updates the configuration of a DNS firewall rule.
2955
+ #
2956
+ # @option params [String] :action
2957
+ # The action that DNS Firewall should take on a DNS query when it
2958
+ # matches one of the domains in the rule's domain list, or a threat in
2959
+ # a DNS Firewall Advanced rule.
2960
+ #
2961
+ # @option params [String] :block_override_dns_type
2962
+ # The DNS record's type. This determines the format of the record value
2963
+ # that you provided in `BlockOverrideDomain`. Used for the rule action
2964
+ # `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
2965
+ #
2966
+ # @option params [String] :block_override_domain
2967
+ # The custom DNS record to send back in response to the query. Used for
2968
+ # the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
2969
+ #
2970
+ # @option params [Integer] :block_override_ttl
2971
+ # The recommended amount of time, in seconds, for the DNS resolver or
2972
+ # web browser to cache the provided override record. Used for the rule
2973
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
2974
+ #
2975
+ # @option params [String] :block_response
2976
+ # The way that you want DNS Firewall to block the request. Used for the
2977
+ # rule action setting `BLOCK`.
2978
+ #
2979
+ # @option params [required, String] :client_token
2980
+ # A unique, case-sensitive identifier to ensure idempotency. This means
2981
+ # that making the same request multiple times with the same
2982
+ # `clientToken` has the same result every time.
2983
+ #
2984
+ # **A suitable default value is auto-generated.** You should normally
2985
+ # not need to pass this option.**
2986
+ #
2987
+ # @option params [String] :confidence_threshold
2988
+ # The confidence threshold for DNS Firewall Advanced. You must provide
2989
+ # this value when you create a DNS Firewall Advanced rule.
2990
+ #
2991
+ # @option params [String] :description
2992
+ # The description for the Firewall rule.
2993
+ #
2994
+ # @option params [String] :dns_advanced_protection
2995
+ # The type of the DNS Firewall Advanced rule. Valid values are DGA and
2996
+ # DNS\_TUNNELING.
2997
+ #
2998
+ # @option params [required, String] :firewall_rule_id
2999
+ # The ID of the DNS Firewall rule.
3000
+ #
3001
+ # @option params [String] :name
3002
+ # The name of the DNS Firewall rule.
3003
+ #
3004
+ # @option params [Integer] :priority
3005
+ # The setting that determines the processing order of the rule in the
3006
+ # rule group. DNS Firewall processes the rules in a rule group by order
3007
+ # of priority, starting from the lowest setting.
3008
+ #
3009
+ # @return [Types::UpdateFirewallRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3010
+ #
3011
+ # * {Types::UpdateFirewallRuleOutput#action #action} => String
3012
+ # * {Types::UpdateFirewallRuleOutput#block_override_dns_type #block_override_dns_type} => String
3013
+ # * {Types::UpdateFirewallRuleOutput#block_override_domain #block_override_domain} => String
3014
+ # * {Types::UpdateFirewallRuleOutput#block_override_ttl #block_override_ttl} => Integer
3015
+ # * {Types::UpdateFirewallRuleOutput#block_response #block_response} => String
3016
+ # * {Types::UpdateFirewallRuleOutput#confidence_threshold #confidence_threshold} => String
3017
+ # * {Types::UpdateFirewallRuleOutput#created_at #created_at} => Time
3018
+ # * {Types::UpdateFirewallRuleOutput#description #description} => String
3019
+ # * {Types::UpdateFirewallRuleOutput#dns_advanced_protection #dns_advanced_protection} => String
3020
+ # * {Types::UpdateFirewallRuleOutput#firewall_domain_list_id #firewall_domain_list_id} => String
3021
+ # * {Types::UpdateFirewallRuleOutput#id #id} => String
3022
+ # * {Types::UpdateFirewallRuleOutput#name #name} => String
3023
+ # * {Types::UpdateFirewallRuleOutput#priority #priority} => Integer
3024
+ # * {Types::UpdateFirewallRuleOutput#dns_view_id #dns_view_id} => String
3025
+ # * {Types::UpdateFirewallRuleOutput#query_type #query_type} => String
3026
+ # * {Types::UpdateFirewallRuleOutput#status #status} => String
3027
+ # * {Types::UpdateFirewallRuleOutput#updated_at #updated_at} => Time
3028
+ #
3029
+ # @example Request syntax with placeholder values
3030
+ #
3031
+ # resp = client.update_firewall_rule({
3032
+ # action: "ALLOW", # accepts ALLOW, ALERT, BLOCK
3033
+ # block_override_dns_type: "CNAME", # accepts CNAME
3034
+ # block_override_domain: "Domain",
3035
+ # block_override_ttl: 1,
3036
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
3037
+ # client_token: "ClientToken", # required
3038
+ # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
3039
+ # description: "ResourceDescription",
3040
+ # dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
3041
+ # firewall_rule_id: "ResourceId", # required
3042
+ # name: "ResourceName",
3043
+ # priority: 1,
3044
+ # })
3045
+ #
3046
+ # @example Response structure
3047
+ #
3048
+ # resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
3049
+ # resp.block_override_dns_type #=> String, one of "CNAME"
3050
+ # resp.block_override_domain #=> String
3051
+ # resp.block_override_ttl #=> Integer
3052
+ # resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
3053
+ # resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
3054
+ # resp.created_at #=> Time
3055
+ # resp.description #=> String
3056
+ # resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
3057
+ # resp.firewall_domain_list_id #=> String
3058
+ # resp.id #=> String
3059
+ # resp.name #=> String
3060
+ # resp.priority #=> Integer
3061
+ # resp.dns_view_id #=> String
3062
+ # resp.query_type #=> String
3063
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
3064
+ # resp.updated_at #=> Time
3065
+ #
3066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UpdateFirewallRule AWS API Documentation
3067
+ #
3068
+ # @overload update_firewall_rule(params = {})
3069
+ # @param [Hash] params ({})
3070
+ def update_firewall_rule(params = {}, options = {})
3071
+ req = build_request(:update_firewall_rule, params)
3072
+ req.send_request(options)
3073
+ end
3074
+
3075
+ # Updates the configuration of a Route 53 Global Resolver instance. You
3076
+ # can modify the name, description, and observability region.
3077
+ #
3078
+ # @option params [required, String] :global_resolver_id
3079
+ # The ID of the Global Resolver.
3080
+ #
3081
+ # @option params [String] :name
3082
+ # The name of the Global Resolver.
3083
+ #
3084
+ # @option params [String] :observability_region
3085
+ # The AWS Regions in which the users' Global Resolver query resolution
3086
+ # logs will be propagated.
3087
+ #
3088
+ # @option params [String] :description
3089
+ # The description of the Global Resolver.
3090
+ #
3091
+ # @return [Types::UpdateGlobalResolverOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3092
+ #
3093
+ # * {Types::UpdateGlobalResolverOutput#id #id} => String
3094
+ # * {Types::UpdateGlobalResolverOutput#arn #arn} => String
3095
+ # * {Types::UpdateGlobalResolverOutput#client_token #client_token} => String
3096
+ # * {Types::UpdateGlobalResolverOutput#dns_name #dns_name} => String
3097
+ # * {Types::UpdateGlobalResolverOutput#observability_region #observability_region} => String
3098
+ # * {Types::UpdateGlobalResolverOutput#name #name} => String
3099
+ # * {Types::UpdateGlobalResolverOutput#description #description} => String
3100
+ # * {Types::UpdateGlobalResolverOutput#regions #regions} => Array&lt;String&gt;
3101
+ # * {Types::UpdateGlobalResolverOutput#created_at #created_at} => Time
3102
+ # * {Types::UpdateGlobalResolverOutput#updated_at #updated_at} => Time
3103
+ # * {Types::UpdateGlobalResolverOutput#status #status} => String
3104
+ # * {Types::UpdateGlobalResolverOutput#ipv4_addresses #ipv4_addresses} => Array&lt;String&gt;
3105
+ #
3106
+ # @example Request syntax with placeholder values
3107
+ #
3108
+ # resp = client.update_global_resolver({
3109
+ # global_resolver_id: "ResourceId", # required
3110
+ # name: "ResourceName",
3111
+ # observability_region: "Region",
3112
+ # description: "ResourceDescription",
3113
+ # })
3114
+ #
3115
+ # @example Response structure
3116
+ #
3117
+ # resp.id #=> String
3118
+ # resp.arn #=> String
3119
+ # resp.client_token #=> String
3120
+ # resp.dns_name #=> String
3121
+ # resp.observability_region #=> String
3122
+ # resp.name #=> String
3123
+ # resp.description #=> String
3124
+ # resp.regions #=> Array
3125
+ # resp.regions[0] #=> String
3126
+ # resp.created_at #=> Time
3127
+ # resp.updated_at #=> Time
3128
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
3129
+ # resp.ipv4_addresses #=> Array
3130
+ # resp.ipv4_addresses[0] #=> String
3131
+ #
3132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UpdateGlobalResolver AWS API Documentation
3133
+ #
3134
+ # @overload update_global_resolver(params = {})
3135
+ # @param [Hash] params ({})
3136
+ def update_global_resolver(params = {}, options = {})
3137
+ req = build_request(:update_global_resolver, params)
3138
+ req.send_request(options)
3139
+ end
3140
+
3141
+ # Updates the configuration of a hosted zone association.
3142
+ #
3143
+ # @option params [required, String] :hosted_zone_association_id
3144
+ # The ID of the private hosted zone association.
3145
+ #
3146
+ # @option params [String] :name
3147
+ # The name you want to update the hosted zone association to.
3148
+ #
3149
+ # @return [Types::UpdateHostedZoneAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3150
+ #
3151
+ # * {Types::UpdateHostedZoneAssociationOutput#id #id} => String
3152
+ # * {Types::UpdateHostedZoneAssociationOutput#resource_arn #resource_arn} => String
3153
+ # * {Types::UpdateHostedZoneAssociationOutput#hosted_zone_id #hosted_zone_id} => String
3154
+ # * {Types::UpdateHostedZoneAssociationOutput#hosted_zone_name #hosted_zone_name} => String
3155
+ # * {Types::UpdateHostedZoneAssociationOutput#name #name} => String
3156
+ # * {Types::UpdateHostedZoneAssociationOutput#created_at #created_at} => Time
3157
+ # * {Types::UpdateHostedZoneAssociationOutput#updated_at #updated_at} => Time
3158
+ # * {Types::UpdateHostedZoneAssociationOutput#status #status} => String
3159
+ #
3160
+ # @example Request syntax with placeholder values
3161
+ #
3162
+ # resp = client.update_hosted_zone_association({
3163
+ # hosted_zone_association_id: "ResourceId", # required
3164
+ # name: "ResourceName",
3165
+ # })
3166
+ #
3167
+ # @example Response structure
3168
+ #
3169
+ # resp.id #=> String
3170
+ # resp.resource_arn #=> String
3171
+ # resp.hosted_zone_id #=> String
3172
+ # resp.hosted_zone_name #=> String
3173
+ # resp.name #=> String
3174
+ # resp.created_at #=> Time
3175
+ # resp.updated_at #=> Time
3176
+ # resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
3177
+ #
3178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/UpdateHostedZoneAssociation AWS API Documentation
3179
+ #
3180
+ # @overload update_hosted_zone_association(params = {})
3181
+ # @param [Hash] params ({})
3182
+ def update_hosted_zone_association(params = {}, options = {})
3183
+ req = build_request(:update_hosted_zone_association, params)
3184
+ req.send_request(options)
3185
+ end
3186
+
3187
+ # @!endgroup
3188
+
3189
+ # @param params ({})
3190
+ # @api private
3191
+ def build_request(operation_name, params = {})
3192
+ handlers = @handlers.for(operation_name)
3193
+ tracer = config.telemetry_provider.tracer_provider.tracer(
3194
+ Aws::Telemetry.module_to_tracer_name('Aws::Route53GlobalResolver')
3195
+ )
3196
+ context = Seahorse::Client::RequestContext.new(
3197
+ operation_name: operation_name,
3198
+ operation: config.api.operation(operation_name),
3199
+ client: self,
3200
+ params: params,
3201
+ config: config,
3202
+ tracer: tracer
3203
+ )
3204
+ context[:gem_name] = 'aws-sdk-route53globalresolver'
3205
+ context[:gem_version] = '1.0.0'
3206
+ Seahorse::Client::Request.new(handlers, context)
3207
+ end
3208
+
3209
+ # @api private
3210
+ # @deprecated
3211
+ def waiter_names
3212
+ []
3213
+ end
3214
+
3215
+ class << self
3216
+
3217
+ # @api private
3218
+ attr_reader :identifier
3219
+
3220
+ # @api private
3221
+ def errors_module
3222
+ Errors
3223
+ end
3224
+
3225
+ end
3226
+ end
3227
+ end