aws-sdk-route53resolver 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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 822dc382eb72f22f187d7dfba82e5b8bdb62f92e
4
+ data.tar.gz: fb29de1453f4d1ee745d2c5141d71709d726ec6a
5
+ SHA512:
6
+ metadata.gz: 991ea5d9495e829caec2374f09578fe7432caf5f3eaae398a3cc1bb4192369cb51dd1258b3398dce574fa13724df9c27d4db2e997ea611b333f441856a539bb4
7
+ data.tar.gz: 1165979cbc37775cbb4b4e5d361737ee65060e370a155160725e7fe26d5d29a7422f97a30934dc6f3609431ec0ba90fac61e972a8abb7e0f48cf5205e07c1249
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-route53resolver/types'
12
+ require_relative 'aws-sdk-route53resolver/client_api'
13
+ require_relative 'aws-sdk-route53resolver/client'
14
+ require_relative 'aws-sdk-route53resolver/errors'
15
+ require_relative 'aws-sdk-route53resolver/resource'
16
+ require_relative 'aws-sdk-route53resolver/customizations'
17
+
18
+ # This module provides support for Amazon Route 53 Resolver. This module is available in the
19
+ # `aws-sdk-route53resolver` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Route 53 Resolver all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::Route53Resolver::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::Route53Resolver
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1415 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/response_paging.rb'
20
+ require 'aws-sdk-core/plugins/stub_responses.rb'
21
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
22
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
23
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
25
+ require 'aws-sdk-core/plugins/signature_v4.rb'
26
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
27
+
28
+ Aws::Plugins::GlobalConfiguration.add_identifier(:route53resolver)
29
+
30
+ module Aws::Route53Resolver
31
+ class Client < Seahorse::Client::Base
32
+
33
+ include Aws::ClientStubs
34
+
35
+ @identifier = :route53resolver
36
+
37
+ set_api(ClientApi::API)
38
+
39
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
40
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
41
+ add_plugin(Aws::Plugins::Logging)
42
+ add_plugin(Aws::Plugins::ParamConverter)
43
+ add_plugin(Aws::Plugins::ParamValidator)
44
+ add_plugin(Aws::Plugins::UserAgent)
45
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
46
+ add_plugin(Aws::Plugins::RetryErrors)
47
+ add_plugin(Aws::Plugins::GlobalConfiguration)
48
+ add_plugin(Aws::Plugins::RegionalEndpoint)
49
+ add_plugin(Aws::Plugins::EndpointDiscovery)
50
+ add_plugin(Aws::Plugins::ResponsePaging)
51
+ add_plugin(Aws::Plugins::StubResponses)
52
+ add_plugin(Aws::Plugins::IdempotencyToken)
53
+ add_plugin(Aws::Plugins::JsonvalueConverter)
54
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
55
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
56
+ add_plugin(Aws::Plugins::SignatureV4)
57
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
58
+
59
+ # @overload initialize(options)
60
+ # @param [Hash] options
61
+ # @option options [required, Aws::CredentialProvider] :credentials
62
+ # Your AWS credentials. This can be an instance of any one of the
63
+ # following classes:
64
+ #
65
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
66
+ # credentials.
67
+ #
68
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
69
+ # from an EC2 IMDS on an EC2 instance.
70
+ #
71
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
72
+ # shared file, such as `~/.aws/config`.
73
+ #
74
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
75
+ #
76
+ # When `:credentials` are not configured directly, the following
77
+ # locations will be searched for credentials:
78
+ #
79
+ # * `Aws.config[:credentials]`
80
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
81
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
82
+ # * `~/.aws/credentials`
83
+ # * `~/.aws/config`
84
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
85
+ # very aggressive. Construct and pass an instance of
86
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
87
+ # timeouts.
88
+ #
89
+ # @option options [required, String] :region
90
+ # The AWS region to connect to. The configured `:region` is
91
+ # used to determine the service `:endpoint`. When not passed,
92
+ # a default `:region` is search for in the following locations:
93
+ #
94
+ # * `Aws.config[:region]`
95
+ # * `ENV['AWS_REGION']`
96
+ # * `ENV['AMAZON_REGION']`
97
+ # * `ENV['AWS_DEFAULT_REGION']`
98
+ # * `~/.aws/credentials`
99
+ # * `~/.aws/config`
100
+ #
101
+ # @option options [String] :access_key_id
102
+ #
103
+ # @option options [Boolean] :active_endpoint_cache (false)
104
+ # When set to `true`, a thread polling for endpoints will be running in
105
+ # the background every 60 secs (default). Defaults to `false`.
106
+ #
107
+ # @option options [Boolean] :client_side_monitoring (false)
108
+ # When `true`, client-side metrics will be collected for all API requests from
109
+ # this client.
110
+ #
111
+ # @option options [String] :client_side_monitoring_client_id ("")
112
+ # Allows you to provide an identifier for this client which will be attached to
113
+ # all generated client side metrics. Defaults to an empty string.
114
+ #
115
+ # @option options [Integer] :client_side_monitoring_port (31000)
116
+ # Required for publishing client metrics. The port that the client side monitoring
117
+ # agent is running on, where client metrics will be published via UDP.
118
+ #
119
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
120
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
121
+ # will use the Client Side Monitoring Agent Publisher.
122
+ #
123
+ # @option options [Boolean] :convert_params (true)
124
+ # When `true`, an attempt is made to coerce request parameters into
125
+ # the required types.
126
+ #
127
+ # @option options [String] :endpoint
128
+ # The client endpoint is normally constructed from the `:region`
129
+ # option. You should only configure an `:endpoint` when connecting
130
+ # to test endpoints. This should be avalid HTTP(S) URI.
131
+ #
132
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
133
+ # Used for the maximum size limit of the LRU cache storing endpoints data
134
+ # for endpoint discovery enabled operations. Defaults to 1000.
135
+ #
136
+ # @option options [Integer] :endpoint_cache_max_threads (10)
137
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
138
+ #
139
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
140
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
141
+ # Use this option to config the time interval in seconds for making
142
+ # requests fetching endpoints information. Defaults to 60 sec.
143
+ #
144
+ # @option options [Boolean] :endpoint_discovery (false)
145
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
146
+ #
147
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
148
+ # The log formatter.
149
+ #
150
+ # @option options [Symbol] :log_level (:info)
151
+ # The log level to send messages to the `:logger` at.
152
+ #
153
+ # @option options [Logger] :logger
154
+ # The Logger instance to send log messages to. If this option
155
+ # is not set, logging will be disabled.
156
+ #
157
+ # @option options [String] :profile ("default")
158
+ # Used when loading credentials from the shared credentials file
159
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
160
+ #
161
+ # @option options [Float] :retry_base_delay (0.3)
162
+ # The base delay in seconds used by the default backoff function.
163
+ #
164
+ # @option options [Symbol] :retry_jitter (:none)
165
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
166
+ #
167
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
168
+ #
169
+ # @option options [Integer] :retry_limit (3)
170
+ # The maximum number of times to retry failed requests. Only
171
+ # ~ 500 level server errors and certain ~ 400 level client errors
172
+ # are retried. Generally, these are throttling errors, data
173
+ # checksum errors, networking errors, timeout errors and auth
174
+ # errors from expired credentials.
175
+ #
176
+ # @option options [Integer] :retry_max_delay (0)
177
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
178
+ #
179
+ # @option options [String] :secret_access_key
180
+ #
181
+ # @option options [String] :session_token
182
+ #
183
+ # @option options [Boolean] :simple_json (false)
184
+ # Disables request parameter conversion, validation, and formatting.
185
+ # Also disable response data type conversions. This option is useful
186
+ # when you want to ensure the highest level of performance by
187
+ # avoiding overhead of walking request parameters and response data
188
+ # structures.
189
+ #
190
+ # When `:simple_json` is enabled, the request parameters hash must
191
+ # be formatted exactly as the DynamoDB API expects.
192
+ #
193
+ # @option options [Boolean] :stub_responses (false)
194
+ # Causes the client to return stubbed responses. By default
195
+ # fake responses are generated and returned. You can specify
196
+ # the response data to return or errors to raise by calling
197
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
198
+ #
199
+ # ** Please note ** When response stubbing is enabled, no HTTP
200
+ # requests are made, and retries are disabled.
201
+ #
202
+ # @option options [Boolean] :validate_params (true)
203
+ # When `true`, request parameters are validated before
204
+ # sending the request.
205
+ #
206
+ def initialize(*args)
207
+ super
208
+ end
209
+
210
+ # @!group API Operations
211
+
212
+ # Adds IP addresses to an inbound or an outbound resolver endpoint. If
213
+ # you want to adding more than one IP address, submit one
214
+ # `AssociateResolverEndpointIpAddress` request for each IP address.
215
+ #
216
+ # To remove an IP address from an endpoint, see
217
+ # DisassociateResolverEndpointIpAddress.
218
+ #
219
+ # @option params [required, String] :resolver_endpoint_id
220
+ # The ID of the resolver endpoint that you want to associate IP
221
+ # addresses with.
222
+ #
223
+ # @option params [required, Types::IpAddressUpdate] :ip_address
224
+ # Either the IPv4 address that you want to add to a resolver endpoint or
225
+ # a subnet ID. If you specify a subnet ID, Resolver chooses an IP
226
+ # address for you from the available IPs in the specified subnet.
227
+ #
228
+ # @return [Types::AssociateResolverEndpointIpAddressResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
229
+ #
230
+ # * {Types::AssociateResolverEndpointIpAddressResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
231
+ #
232
+ # @example Request syntax with placeholder values
233
+ #
234
+ # resp = client.associate_resolver_endpoint_ip_address({
235
+ # resolver_endpoint_id: "ResourceId", # required
236
+ # ip_address: { # required
237
+ # ip_id: "ResourceId",
238
+ # subnet_id: "SubnetId",
239
+ # ip: "Ip",
240
+ # },
241
+ # })
242
+ #
243
+ # @example Response structure
244
+ #
245
+ # resp.resolver_endpoint.id #=> String
246
+ # resp.resolver_endpoint.creator_request_id #=> String
247
+ # resp.resolver_endpoint.arn #=> String
248
+ # resp.resolver_endpoint.name #=> String
249
+ # resp.resolver_endpoint.security_group_ids #=> Array
250
+ # resp.resolver_endpoint.security_group_ids[0] #=> String
251
+ # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
252
+ # resp.resolver_endpoint.ip_address_count #=> Integer
253
+ # resp.resolver_endpoint.host_vpc_id #=> String
254
+ # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
255
+ # resp.resolver_endpoint.status_message #=> String
256
+ # resp.resolver_endpoint.creation_time #=> String
257
+ # resp.resolver_endpoint.modification_time #=> String
258
+ #
259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverEndpointIpAddress AWS API Documentation
260
+ #
261
+ # @overload associate_resolver_endpoint_ip_address(params = {})
262
+ # @param [Hash] params ({})
263
+ def associate_resolver_endpoint_ip_address(params = {}, options = {})
264
+ req = build_request(:associate_resolver_endpoint_ip_address, params)
265
+ req.send_request(options)
266
+ end
267
+
268
+ # Associates a resolver rule with a VPC. When you associate a rule with
269
+ # a VPC, Resolver forwards all DNS queries for the domain name that is
270
+ # specified in the rule and that originate in the VPC. The queries are
271
+ # forwarded to the IP addresses for the DNS resolvers that are specified
272
+ # in the rule. For more information about rules, see CreateResolverRule.
273
+ #
274
+ # @option params [required, String] :resolver_rule_id
275
+ # The ID of the resolver rule that you want to associate with the VPC.
276
+ # To list the existing resolver rules, use ListResolverRules.
277
+ #
278
+ # @option params [String] :name
279
+ # A name for the association that you're creating between a resolver
280
+ # rule and a VPC.
281
+ #
282
+ # @option params [required, String] :vpc_id
283
+ # The ID of the VPC that you want to associate the resolver rule with.
284
+ #
285
+ # @return [Types::AssociateResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
286
+ #
287
+ # * {Types::AssociateResolverRuleResponse#resolver_rule_association #resolver_rule_association} => Types::ResolverRuleAssociation
288
+ #
289
+ # @example Request syntax with placeholder values
290
+ #
291
+ # resp = client.associate_resolver_rule({
292
+ # resolver_rule_id: "ResourceId", # required
293
+ # name: "Name",
294
+ # vpc_id: "ResourceId", # required
295
+ # })
296
+ #
297
+ # @example Response structure
298
+ #
299
+ # resp.resolver_rule_association.id #=> String
300
+ # resp.resolver_rule_association.resolver_rule_id #=> String
301
+ # resp.resolver_rule_association.name #=> String
302
+ # resp.resolver_rule_association.vpc_id #=> String
303
+ # resp.resolver_rule_association.status #=> String, one of "CREATING", "COMPLETE", "DELETING", "FAILED", "OVERRIDDEN"
304
+ # resp.resolver_rule_association.status_message #=> String
305
+ #
306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverRule AWS API Documentation
307
+ #
308
+ # @overload associate_resolver_rule(params = {})
309
+ # @param [Hash] params ({})
310
+ def associate_resolver_rule(params = {}, options = {})
311
+ req = build_request(:associate_resolver_rule, params)
312
+ req.send_request(options)
313
+ end
314
+
315
+ # Creates a resolver endpoint. There are two types of resolver
316
+ # endpoints, inbound and outbound:
317
+ #
318
+ # * An *inbound resolver endpoint* forwards DNS queries to the DNS
319
+ # service for a VPC from your network or another VPC.
320
+ #
321
+ # * An *outbound resolver endpoint* forwards DNS queries from the DNS
322
+ # service for a VPC to your network or another VPC.
323
+ #
324
+ # @option params [required, String] :creator_request_id
325
+ # A unique string that identifies the request and that allows failed
326
+ # requests to be retried without the risk of executing the operation
327
+ # twice. `CreatorRequestId` can be any unique string, for example, a
328
+ # date/time stamp.
329
+ #
330
+ # @option params [String] :name
331
+ # A friendly name that lets you easily find a configuration in the
332
+ # Resolver dashboard in the Route 53 console.
333
+ #
334
+ # @option params [required, Array<String>] :security_group_ids
335
+ # The ID of one or more security groups that you want to use to control
336
+ # access to this VPC. The security group that you specify must include
337
+ # one or more inbound rules (for inbound resolver endpoints) or outbound
338
+ # rules (for outbound resolver endpoints).
339
+ #
340
+ # @option params [required, String] :direction
341
+ # Specify the applicable value:
342
+ #
343
+ # * `INBOUND`\: Resolver forwards DNS queries to the DNS service for a
344
+ # VPC from your network or another VPC
345
+ #
346
+ # * `OUTBOUND`\: Resolver forwards DNS queries from the DNS service for
347
+ # a VPC to your network or another VPC
348
+ #
349
+ # @option params [required, Array<Types::IpAddressRequest>] :ip_addresses
350
+ # The subnets and IP addresses in your VPC that you want DNS queries to
351
+ # pass through on the way from your VPCs to your network (for outbound
352
+ # endpoints) or on the way from your network to your VPCs (for inbound
353
+ # resolver endpoints).
354
+ #
355
+ # @option params [Array<Types::Tag>] :tags
356
+ # A list of the tag keys and values that you want to associate with the
357
+ # endpoint.
358
+ #
359
+ # @return [Types::CreateResolverEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
360
+ #
361
+ # * {Types::CreateResolverEndpointResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
362
+ #
363
+ # @example Request syntax with placeholder values
364
+ #
365
+ # resp = client.create_resolver_endpoint({
366
+ # creator_request_id: "CreatorRequestId", # required
367
+ # name: "Name",
368
+ # security_group_ids: ["ResourceId"], # required
369
+ # direction: "INBOUND", # required, accepts INBOUND, OUTBOUND
370
+ # ip_addresses: [ # required
371
+ # {
372
+ # subnet_id: "SubnetId", # required
373
+ # ip: "Ip",
374
+ # },
375
+ # ],
376
+ # tags: [
377
+ # {
378
+ # key: "TagKey",
379
+ # value: "TagValue",
380
+ # },
381
+ # ],
382
+ # })
383
+ #
384
+ # @example Response structure
385
+ #
386
+ # resp.resolver_endpoint.id #=> String
387
+ # resp.resolver_endpoint.creator_request_id #=> String
388
+ # resp.resolver_endpoint.arn #=> String
389
+ # resp.resolver_endpoint.name #=> String
390
+ # resp.resolver_endpoint.security_group_ids #=> Array
391
+ # resp.resolver_endpoint.security_group_ids[0] #=> String
392
+ # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
393
+ # resp.resolver_endpoint.ip_address_count #=> Integer
394
+ # resp.resolver_endpoint.host_vpc_id #=> String
395
+ # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
396
+ # resp.resolver_endpoint.status_message #=> String
397
+ # resp.resolver_endpoint.creation_time #=> String
398
+ # resp.resolver_endpoint.modification_time #=> String
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint AWS API Documentation
401
+ #
402
+ # @overload create_resolver_endpoint(params = {})
403
+ # @param [Hash] params ({})
404
+ def create_resolver_endpoint(params = {}, options = {})
405
+ req = build_request(:create_resolver_endpoint, params)
406
+ req.send_request(options)
407
+ end
408
+
409
+ # For DNS queries that originate in your VPCs, specifies which resolver
410
+ # endpoint the queries pass through, one domain name that you want to
411
+ # forward to your network, and the IP addresses of the DNS resolvers in
412
+ # your network.
413
+ #
414
+ # @option params [required, String] :creator_request_id
415
+ # A unique string that identifies the request and that allows failed
416
+ # requests to be retried without the risk of executing the operation
417
+ # twice. `CreatorRequestId` can be any unique string, for example, a
418
+ # date/time stamp.
419
+ #
420
+ # @option params [String] :name
421
+ # A friendly name that lets you easily find a rule in the Resolver
422
+ # dashboard in the Route 53 console.
423
+ #
424
+ # @option params [required, String] :rule_type
425
+ # Specify `FORWARD`. Other resolver rule types aren't supported.
426
+ #
427
+ # @option params [required, String] :domain_name
428
+ # DNS queries for this domain name are forwarded to the IP addresses
429
+ # that you specify in `TargetIps`. If a query matches multiple resolver
430
+ # rules (example.com and www.example.com), outbound DNS queries are
431
+ # routed using the resolver rule that contains the most specific domain
432
+ # name (www.example.com).
433
+ #
434
+ # @option params [Array<Types::TargetAddress>] :target_ips
435
+ # The IPs that you want Resolver to forward DNS queries to. You can
436
+ # specify only IPv4 addresses. Separate IP addresses with a comma.
437
+ #
438
+ # @option params [String] :resolver_endpoint_id
439
+ # The ID of the outbound resolver endpoint that you want to use to route
440
+ # DNS queries to the IP addresses that you specify in `TargetIps`.
441
+ #
442
+ # @option params [Array<Types::Tag>] :tags
443
+ # A list of the tag keys and values that you want to associate with the
444
+ # endpoint.
445
+ #
446
+ # @return [Types::CreateResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
447
+ #
448
+ # * {Types::CreateResolverRuleResponse#resolver_rule #resolver_rule} => Types::ResolverRule
449
+ #
450
+ # @example Request syntax with placeholder values
451
+ #
452
+ # resp = client.create_resolver_rule({
453
+ # creator_request_id: "CreatorRequestId", # required
454
+ # name: "Name",
455
+ # rule_type: "FORWARD", # required, accepts FORWARD, SYSTEM, RECURSIVE
456
+ # domain_name: "DomainName", # required
457
+ # target_ips: [
458
+ # {
459
+ # ip: "Ip", # required
460
+ # port: 1,
461
+ # },
462
+ # ],
463
+ # resolver_endpoint_id: "ResourceId",
464
+ # tags: [
465
+ # {
466
+ # key: "TagKey",
467
+ # value: "TagValue",
468
+ # },
469
+ # ],
470
+ # })
471
+ #
472
+ # @example Response structure
473
+ #
474
+ # resp.resolver_rule.id #=> String
475
+ # resp.resolver_rule.creator_request_id #=> String
476
+ # resp.resolver_rule.arn #=> String
477
+ # resp.resolver_rule.domain_name #=> String
478
+ # resp.resolver_rule.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
479
+ # resp.resolver_rule.status_message #=> String
480
+ # resp.resolver_rule.rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
481
+ # resp.resolver_rule.name #=> String
482
+ # resp.resolver_rule.target_ips #=> Array
483
+ # resp.resolver_rule.target_ips[0].ip #=> String
484
+ # resp.resolver_rule.target_ips[0].port #=> Integer
485
+ # resp.resolver_rule.resolver_endpoint_id #=> String
486
+ # resp.resolver_rule.owner_id #=> String
487
+ # resp.resolver_rule.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
488
+ #
489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule AWS API Documentation
490
+ #
491
+ # @overload create_resolver_rule(params = {})
492
+ # @param [Hash] params ({})
493
+ def create_resolver_rule(params = {}, options = {})
494
+ req = build_request(:create_resolver_rule, params)
495
+ req.send_request(options)
496
+ end
497
+
498
+ # Deletes a resolver endpoint. The effect of deleting a resolver
499
+ # endpoint depends on whether it's an inbound or an outbound resolver
500
+ # endpoint:
501
+ #
502
+ # * **Inbound**\: DNS queries from your network or another VPC are no
503
+ # longer routed to the DNS service for the specified VPC.
504
+ #
505
+ # * **Outbound**\: DNS queries from a VPC are no longer routed to your
506
+ # network or to another VPC.
507
+ #
508
+ # @option params [required, String] :resolver_endpoint_id
509
+ # The ID of the resolver endpoint that you want to delete.
510
+ #
511
+ # @return [Types::DeleteResolverEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
512
+ #
513
+ # * {Types::DeleteResolverEndpointResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
514
+ #
515
+ # @example Request syntax with placeholder values
516
+ #
517
+ # resp = client.delete_resolver_endpoint({
518
+ # resolver_endpoint_id: "ResourceId", # required
519
+ # })
520
+ #
521
+ # @example Response structure
522
+ #
523
+ # resp.resolver_endpoint.id #=> String
524
+ # resp.resolver_endpoint.creator_request_id #=> String
525
+ # resp.resolver_endpoint.arn #=> String
526
+ # resp.resolver_endpoint.name #=> String
527
+ # resp.resolver_endpoint.security_group_ids #=> Array
528
+ # resp.resolver_endpoint.security_group_ids[0] #=> String
529
+ # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
530
+ # resp.resolver_endpoint.ip_address_count #=> Integer
531
+ # resp.resolver_endpoint.host_vpc_id #=> String
532
+ # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
533
+ # resp.resolver_endpoint.status_message #=> String
534
+ # resp.resolver_endpoint.creation_time #=> String
535
+ # resp.resolver_endpoint.modification_time #=> String
536
+ #
537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint AWS API Documentation
538
+ #
539
+ # @overload delete_resolver_endpoint(params = {})
540
+ # @param [Hash] params ({})
541
+ def delete_resolver_endpoint(params = {}, options = {})
542
+ req = build_request(:delete_resolver_endpoint, params)
543
+ req.send_request(options)
544
+ end
545
+
546
+ # Deletes a resolver rule. Before you can delete a resolver rule, you
547
+ # must disassociate it from all the VPCs that you associated the
548
+ # resolver rule with. For more infomation, see DisassociateResolverRule.
549
+ #
550
+ # @option params [required, String] :resolver_rule_id
551
+ # The ID of the resolver rule that you want to delete.
552
+ #
553
+ # @return [Types::DeleteResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
554
+ #
555
+ # * {Types::DeleteResolverRuleResponse#resolver_rule #resolver_rule} => Types::ResolverRule
556
+ #
557
+ # @example Request syntax with placeholder values
558
+ #
559
+ # resp = client.delete_resolver_rule({
560
+ # resolver_rule_id: "ResourceId", # required
561
+ # })
562
+ #
563
+ # @example Response structure
564
+ #
565
+ # resp.resolver_rule.id #=> String
566
+ # resp.resolver_rule.creator_request_id #=> String
567
+ # resp.resolver_rule.arn #=> String
568
+ # resp.resolver_rule.domain_name #=> String
569
+ # resp.resolver_rule.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
570
+ # resp.resolver_rule.status_message #=> String
571
+ # resp.resolver_rule.rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
572
+ # resp.resolver_rule.name #=> String
573
+ # resp.resolver_rule.target_ips #=> Array
574
+ # resp.resolver_rule.target_ips[0].ip #=> String
575
+ # resp.resolver_rule.target_ips[0].port #=> Integer
576
+ # resp.resolver_rule.resolver_endpoint_id #=> String
577
+ # resp.resolver_rule.owner_id #=> String
578
+ # resp.resolver_rule.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule AWS API Documentation
581
+ #
582
+ # @overload delete_resolver_rule(params = {})
583
+ # @param [Hash] params ({})
584
+ def delete_resolver_rule(params = {}, options = {})
585
+ req = build_request(:delete_resolver_rule, params)
586
+ req.send_request(options)
587
+ end
588
+
589
+ # Removes IP addresses from an inbound or an outbound resolver endpoint.
590
+ # If you want to remove more than one IP address, submit one
591
+ # `DisassociateResolverEndpointIpAddress` request for each IP address.
592
+ #
593
+ # To add an IP address to an endpoint, see
594
+ # AssociateResolverEndpointIpAddress.
595
+ #
596
+ # @option params [required, String] :resolver_endpoint_id
597
+ # The ID of the resolver endpoint that you want to disassociate an IP
598
+ # address from.
599
+ #
600
+ # @option params [required, Types::IpAddressUpdate] :ip_address
601
+ # The IPv4 address that you want to remove from a resolver endpoint.
602
+ #
603
+ # @return [Types::DisassociateResolverEndpointIpAddressResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
604
+ #
605
+ # * {Types::DisassociateResolverEndpointIpAddressResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
606
+ #
607
+ # @example Request syntax with placeholder values
608
+ #
609
+ # resp = client.disassociate_resolver_endpoint_ip_address({
610
+ # resolver_endpoint_id: "ResourceId", # required
611
+ # ip_address: { # required
612
+ # ip_id: "ResourceId",
613
+ # subnet_id: "SubnetId",
614
+ # ip: "Ip",
615
+ # },
616
+ # })
617
+ #
618
+ # @example Response structure
619
+ #
620
+ # resp.resolver_endpoint.id #=> String
621
+ # resp.resolver_endpoint.creator_request_id #=> String
622
+ # resp.resolver_endpoint.arn #=> String
623
+ # resp.resolver_endpoint.name #=> String
624
+ # resp.resolver_endpoint.security_group_ids #=> Array
625
+ # resp.resolver_endpoint.security_group_ids[0] #=> String
626
+ # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
627
+ # resp.resolver_endpoint.ip_address_count #=> Integer
628
+ # resp.resolver_endpoint.host_vpc_id #=> String
629
+ # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
630
+ # resp.resolver_endpoint.status_message #=> String
631
+ # resp.resolver_endpoint.creation_time #=> String
632
+ # resp.resolver_endpoint.modification_time #=> String
633
+ #
634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress AWS API Documentation
635
+ #
636
+ # @overload disassociate_resolver_endpoint_ip_address(params = {})
637
+ # @param [Hash] params ({})
638
+ def disassociate_resolver_endpoint_ip_address(params = {}, options = {})
639
+ req = build_request(:disassociate_resolver_endpoint_ip_address, params)
640
+ req.send_request(options)
641
+ end
642
+
643
+ # Removes the association between a specified resolver rule and a
644
+ # specified VPC.
645
+ #
646
+ # If you disassociate a resolver rule from a VPC, Resolver stops
647
+ # forwarding DNS queries for the domain name that you specified in the
648
+ # resolver rule.
649
+ #
650
+ # @option params [required, String] :vpc_id
651
+ # The ID of the VPC that you want to disassociate the resolver rule
652
+ # from.
653
+ #
654
+ # @option params [required, String] :resolver_rule_id
655
+ # The ID of the resolver rule that you want to disassociate from the
656
+ # specified VPC.
657
+ #
658
+ # @return [Types::DisassociateResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
659
+ #
660
+ # * {Types::DisassociateResolverRuleResponse#resolver_rule_association #resolver_rule_association} => Types::ResolverRuleAssociation
661
+ #
662
+ # @example Request syntax with placeholder values
663
+ #
664
+ # resp = client.disassociate_resolver_rule({
665
+ # vpc_id: "ResourceId", # required
666
+ # resolver_rule_id: "ResourceId", # required
667
+ # })
668
+ #
669
+ # @example Response structure
670
+ #
671
+ # resp.resolver_rule_association.id #=> String
672
+ # resp.resolver_rule_association.resolver_rule_id #=> String
673
+ # resp.resolver_rule_association.name #=> String
674
+ # resp.resolver_rule_association.vpc_id #=> String
675
+ # resp.resolver_rule_association.status #=> String, one of "CREATING", "COMPLETE", "DELETING", "FAILED", "OVERRIDDEN"
676
+ # resp.resolver_rule_association.status_message #=> String
677
+ #
678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule AWS API Documentation
679
+ #
680
+ # @overload disassociate_resolver_rule(params = {})
681
+ # @param [Hash] params ({})
682
+ def disassociate_resolver_rule(params = {}, options = {})
683
+ req = build_request(:disassociate_resolver_rule, params)
684
+ req.send_request(options)
685
+ end
686
+
687
+ # Gets information about a specified resolver endpoint, such as whether
688
+ # it's an inbound or an outbound resolver endpoint, and the current
689
+ # status of the endpoint.
690
+ #
691
+ # @option params [required, String] :resolver_endpoint_id
692
+ # The ID of the resolver endpoint that you want to get information
693
+ # about.
694
+ #
695
+ # @return [Types::GetResolverEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
696
+ #
697
+ # * {Types::GetResolverEndpointResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
698
+ #
699
+ # @example Request syntax with placeholder values
700
+ #
701
+ # resp = client.get_resolver_endpoint({
702
+ # resolver_endpoint_id: "ResourceId", # required
703
+ # })
704
+ #
705
+ # @example Response structure
706
+ #
707
+ # resp.resolver_endpoint.id #=> String
708
+ # resp.resolver_endpoint.creator_request_id #=> String
709
+ # resp.resolver_endpoint.arn #=> String
710
+ # resp.resolver_endpoint.name #=> String
711
+ # resp.resolver_endpoint.security_group_ids #=> Array
712
+ # resp.resolver_endpoint.security_group_ids[0] #=> String
713
+ # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
714
+ # resp.resolver_endpoint.ip_address_count #=> Integer
715
+ # resp.resolver_endpoint.host_vpc_id #=> String
716
+ # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
717
+ # resp.resolver_endpoint.status_message #=> String
718
+ # resp.resolver_endpoint.creation_time #=> String
719
+ # resp.resolver_endpoint.modification_time #=> String
720
+ #
721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint AWS API Documentation
722
+ #
723
+ # @overload get_resolver_endpoint(params = {})
724
+ # @param [Hash] params ({})
725
+ def get_resolver_endpoint(params = {}, options = {})
726
+ req = build_request(:get_resolver_endpoint, params)
727
+ req.send_request(options)
728
+ end
729
+
730
+ # Gets information about a specified resolver rule, such as the domain
731
+ # name that the rule forwards DNS queries for and the ID of the outbound
732
+ # resolver endpoint that the rule is associated with.
733
+ #
734
+ # @option params [required, String] :resolver_rule_id
735
+ # The ID of the resolver rule that you want to get information about.
736
+ #
737
+ # @return [Types::GetResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
738
+ #
739
+ # * {Types::GetResolverRuleResponse#resolver_rule #resolver_rule} => Types::ResolverRule
740
+ #
741
+ # @example Request syntax with placeholder values
742
+ #
743
+ # resp = client.get_resolver_rule({
744
+ # resolver_rule_id: "ResourceId", # required
745
+ # })
746
+ #
747
+ # @example Response structure
748
+ #
749
+ # resp.resolver_rule.id #=> String
750
+ # resp.resolver_rule.creator_request_id #=> String
751
+ # resp.resolver_rule.arn #=> String
752
+ # resp.resolver_rule.domain_name #=> String
753
+ # resp.resolver_rule.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
754
+ # resp.resolver_rule.status_message #=> String
755
+ # resp.resolver_rule.rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
756
+ # resp.resolver_rule.name #=> String
757
+ # resp.resolver_rule.target_ips #=> Array
758
+ # resp.resolver_rule.target_ips[0].ip #=> String
759
+ # resp.resolver_rule.target_ips[0].port #=> Integer
760
+ # resp.resolver_rule.resolver_endpoint_id #=> String
761
+ # resp.resolver_rule.owner_id #=> String
762
+ # resp.resolver_rule.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
763
+ #
764
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule AWS API Documentation
765
+ #
766
+ # @overload get_resolver_rule(params = {})
767
+ # @param [Hash] params ({})
768
+ def get_resolver_rule(params = {}, options = {})
769
+ req = build_request(:get_resolver_rule, params)
770
+ req.send_request(options)
771
+ end
772
+
773
+ # Gets information about an association between a specified resolver
774
+ # rule and a VPC. You associate a resolver rule and a VPC using
775
+ # AssociateResolverRule.
776
+ #
777
+ # @option params [required, String] :resolver_rule_association_id
778
+ # The ID of the resolver rule association that you want to get
779
+ # information about.
780
+ #
781
+ # @return [Types::GetResolverRuleAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
782
+ #
783
+ # * {Types::GetResolverRuleAssociationResponse#resolver_rule_association #resolver_rule_association} => Types::ResolverRuleAssociation
784
+ #
785
+ # @example Request syntax with placeholder values
786
+ #
787
+ # resp = client.get_resolver_rule_association({
788
+ # resolver_rule_association_id: "ResourceId", # required
789
+ # })
790
+ #
791
+ # @example Response structure
792
+ #
793
+ # resp.resolver_rule_association.id #=> String
794
+ # resp.resolver_rule_association.resolver_rule_id #=> String
795
+ # resp.resolver_rule_association.name #=> String
796
+ # resp.resolver_rule_association.vpc_id #=> String
797
+ # resp.resolver_rule_association.status #=> String, one of "CREATING", "COMPLETE", "DELETING", "FAILED", "OVERRIDDEN"
798
+ # resp.resolver_rule_association.status_message #=> String
799
+ #
800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation AWS API Documentation
801
+ #
802
+ # @overload get_resolver_rule_association(params = {})
803
+ # @param [Hash] params ({})
804
+ def get_resolver_rule_association(params = {}, options = {})
805
+ req = build_request(:get_resolver_rule_association, params)
806
+ req.send_request(options)
807
+ end
808
+
809
+ # Gets information about a resolver rule policy. A resolver rule policy
810
+ # specifies the Resolver operations and resources that you want to allow
811
+ # another AWS account to be able to use.
812
+ #
813
+ # @option params [required, String] :arn
814
+ # The ID of the resolver rule policy that you want to get information
815
+ # about.
816
+ #
817
+ # @return [Types::GetResolverRulePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
818
+ #
819
+ # * {Types::GetResolverRulePolicyResponse#resolver_rule_policy #resolver_rule_policy} => String
820
+ #
821
+ # @example Request syntax with placeholder values
822
+ #
823
+ # resp = client.get_resolver_rule_policy({
824
+ # arn: "Arn", # required
825
+ # })
826
+ #
827
+ # @example Response structure
828
+ #
829
+ # resp.resolver_rule_policy #=> String
830
+ #
831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy AWS API Documentation
832
+ #
833
+ # @overload get_resolver_rule_policy(params = {})
834
+ # @param [Hash] params ({})
835
+ def get_resolver_rule_policy(params = {}, options = {})
836
+ req = build_request(:get_resolver_rule_policy, params)
837
+ req.send_request(options)
838
+ end
839
+
840
+ # Gets the IP addresses for a specified resolver endpoint.
841
+ #
842
+ # @option params [required, String] :resolver_endpoint_id
843
+ # The ID of the resolver endpoint that you want to get IP addresses for.
844
+ #
845
+ # @option params [Integer] :max_results
846
+ # The maximum number of IP addresses that you want to return in the
847
+ # response to a `ListResolverEndpointIpAddresses` request. If you don't
848
+ # specify a value for `MaxResults`, Resolver returns up to 100 IP
849
+ # addresses.
850
+ #
851
+ # @option params [String] :next_token
852
+ # For the first `ListResolverEndpointIpAddresses` request, omit this
853
+ # value.
854
+ #
855
+ # If the specified resolver endpoint has more than `MaxResults` IP
856
+ # addresses, you can submit another `ListResolverEndpointIpAddresses`
857
+ # request to get the next group of IP addresses. In the next request,
858
+ # specify the value of `NextToken` from the previous response.
859
+ #
860
+ # @return [Types::ListResolverEndpointIpAddressesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
861
+ #
862
+ # * {Types::ListResolverEndpointIpAddressesResponse#next_token #next_token} => String
863
+ # * {Types::ListResolverEndpointIpAddressesResponse#max_results #max_results} => Integer
864
+ # * {Types::ListResolverEndpointIpAddressesResponse#ip_addresses #ip_addresses} => Array&lt;Types::IpAddressResponse&gt;
865
+ #
866
+ # @example Request syntax with placeholder values
867
+ #
868
+ # resp = client.list_resolver_endpoint_ip_addresses({
869
+ # resolver_endpoint_id: "ResourceId", # required
870
+ # max_results: 1,
871
+ # next_token: "NextToken",
872
+ # })
873
+ #
874
+ # @example Response structure
875
+ #
876
+ # resp.next_token #=> String
877
+ # resp.max_results #=> Integer
878
+ # resp.ip_addresses #=> Array
879
+ # resp.ip_addresses[0].ip_id #=> String
880
+ # resp.ip_addresses[0].subnet_id #=> String
881
+ # resp.ip_addresses[0].ip #=> String
882
+ # resp.ip_addresses[0].status #=> String, one of "CREATING", "FAILED_CREATION", "ATTACHING", "ATTACHED", "REMAP_DETACHING", "REMAP_ATTACHING", "DETACHING", "FAILED_RESOURCE_GONE", "DELETING", "DELETE_FAILED_FAS_EXPIRED"
883
+ # resp.ip_addresses[0].status_message #=> String
884
+ # resp.ip_addresses[0].creation_time #=> String
885
+ # resp.ip_addresses[0].modification_time #=> String
886
+ #
887
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses AWS API Documentation
888
+ #
889
+ # @overload list_resolver_endpoint_ip_addresses(params = {})
890
+ # @param [Hash] params ({})
891
+ def list_resolver_endpoint_ip_addresses(params = {}, options = {})
892
+ req = build_request(:list_resolver_endpoint_ip_addresses, params)
893
+ req.send_request(options)
894
+ end
895
+
896
+ # Lists all the resolver endpoints that were created using the current
897
+ # AWS account.
898
+ #
899
+ # @option params [Integer] :max_results
900
+ # The maximum number of resolver endpoints that you want to return in
901
+ # the response to a `ListResolverEndpoints` request. If you don't
902
+ # specify a value for `MaxResults`, Resolver returns up to 100 resolver
903
+ # endpoints.
904
+ #
905
+ # @option params [String] :next_token
906
+ # For the first `ListResolverEndpoints` request, omit this value.
907
+ #
908
+ # If you have more than `MaxResults` resolver endpoints, you can submit
909
+ # another `ListResolverEndpoints` request to get the next group of
910
+ # resolver endpoints. In the next request, specify the value of
911
+ # `NextToken` from the previous response.
912
+ #
913
+ # @option params [Array<Types::Filter>] :filters
914
+ # An optional specification to return a subset of resolver endpoints,
915
+ # such as all inbound resolver endpoints.
916
+ #
917
+ # <note markdown="1"> If you submit a second or subsequent `ListResolverEndpoints` request
918
+ # and specify the `NextToken` parameter, you must use the same values
919
+ # for `Filters`, if any, as in the previous request.
920
+ #
921
+ # </note>
922
+ #
923
+ # @return [Types::ListResolverEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
924
+ #
925
+ # * {Types::ListResolverEndpointsResponse#next_token #next_token} => String
926
+ # * {Types::ListResolverEndpointsResponse#max_results #max_results} => Integer
927
+ # * {Types::ListResolverEndpointsResponse#resolver_endpoints #resolver_endpoints} => Array&lt;Types::ResolverEndpoint&gt;
928
+ #
929
+ # @example Request syntax with placeholder values
930
+ #
931
+ # resp = client.list_resolver_endpoints({
932
+ # max_results: 1,
933
+ # next_token: "NextToken",
934
+ # filters: [
935
+ # {
936
+ # name: "FilterName",
937
+ # values: ["FilterValue"],
938
+ # },
939
+ # ],
940
+ # })
941
+ #
942
+ # @example Response structure
943
+ #
944
+ # resp.next_token #=> String
945
+ # resp.max_results #=> Integer
946
+ # resp.resolver_endpoints #=> Array
947
+ # resp.resolver_endpoints[0].id #=> String
948
+ # resp.resolver_endpoints[0].creator_request_id #=> String
949
+ # resp.resolver_endpoints[0].arn #=> String
950
+ # resp.resolver_endpoints[0].name #=> String
951
+ # resp.resolver_endpoints[0].security_group_ids #=> Array
952
+ # resp.resolver_endpoints[0].security_group_ids[0] #=> String
953
+ # resp.resolver_endpoints[0].direction #=> String, one of "INBOUND", "OUTBOUND"
954
+ # resp.resolver_endpoints[0].ip_address_count #=> Integer
955
+ # resp.resolver_endpoints[0].host_vpc_id #=> String
956
+ # resp.resolver_endpoints[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
957
+ # resp.resolver_endpoints[0].status_message #=> String
958
+ # resp.resolver_endpoints[0].creation_time #=> String
959
+ # resp.resolver_endpoints[0].modification_time #=> String
960
+ #
961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints AWS API Documentation
962
+ #
963
+ # @overload list_resolver_endpoints(params = {})
964
+ # @param [Hash] params ({})
965
+ def list_resolver_endpoints(params = {}, options = {})
966
+ req = build_request(:list_resolver_endpoints, params)
967
+ req.send_request(options)
968
+ end
969
+
970
+ # Lists the associations that were created between resolver rules and
971
+ # VPCs using the current AWS account.
972
+ #
973
+ # @option params [Integer] :max_results
974
+ # The maximum number of rule associations that you want to return in the
975
+ # response to a `ListResolverRuleAssociations` request. If you don't
976
+ # specify a value for `MaxResults`, Resolver returns up to 100 rule
977
+ # associations.
978
+ #
979
+ # @option params [String] :next_token
980
+ # For the first `ListResolverRuleAssociation` request, omit this value.
981
+ #
982
+ # If you have more than `MaxResults` rule associations, you can submit
983
+ # another `ListResolverRuleAssociation` request to get the next group of
984
+ # rule associations. In the next request, specify the value of
985
+ # `NextToken` from the previous response.
986
+ #
987
+ # @option params [Array<Types::Filter>] :filters
988
+ # An optional specification to return a subset of resolver rules, such
989
+ # as resolver rules that are associated with the same VPC ID.
990
+ #
991
+ # <note markdown="1"> If you submit a second or subsequent `ListResolverRuleAssociations`
992
+ # request and specify the `NextToken` parameter, you must use the same
993
+ # values for `Filters`, if any, as in the previous request.
994
+ #
995
+ # </note>
996
+ #
997
+ # @return [Types::ListResolverRuleAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
998
+ #
999
+ # * {Types::ListResolverRuleAssociationsResponse#next_token #next_token} => String
1000
+ # * {Types::ListResolverRuleAssociationsResponse#max_results #max_results} => Integer
1001
+ # * {Types::ListResolverRuleAssociationsResponse#resolver_rule_associations #resolver_rule_associations} => Array&lt;Types::ResolverRuleAssociation&gt;
1002
+ #
1003
+ # @example Request syntax with placeholder values
1004
+ #
1005
+ # resp = client.list_resolver_rule_associations({
1006
+ # max_results: 1,
1007
+ # next_token: "NextToken",
1008
+ # filters: [
1009
+ # {
1010
+ # name: "FilterName",
1011
+ # values: ["FilterValue"],
1012
+ # },
1013
+ # ],
1014
+ # })
1015
+ #
1016
+ # @example Response structure
1017
+ #
1018
+ # resp.next_token #=> String
1019
+ # resp.max_results #=> Integer
1020
+ # resp.resolver_rule_associations #=> Array
1021
+ # resp.resolver_rule_associations[0].id #=> String
1022
+ # resp.resolver_rule_associations[0].resolver_rule_id #=> String
1023
+ # resp.resolver_rule_associations[0].name #=> String
1024
+ # resp.resolver_rule_associations[0].vpc_id #=> String
1025
+ # resp.resolver_rule_associations[0].status #=> String, one of "CREATING", "COMPLETE", "DELETING", "FAILED", "OVERRIDDEN"
1026
+ # resp.resolver_rule_associations[0].status_message #=> String
1027
+ #
1028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations AWS API Documentation
1029
+ #
1030
+ # @overload list_resolver_rule_associations(params = {})
1031
+ # @param [Hash] params ({})
1032
+ def list_resolver_rule_associations(params = {}, options = {})
1033
+ req = build_request(:list_resolver_rule_associations, params)
1034
+ req.send_request(options)
1035
+ end
1036
+
1037
+ # Lists the resolver rules that were created using the current AWS
1038
+ # account.
1039
+ #
1040
+ # @option params [Integer] :max_results
1041
+ # The maximum number of resolver rules that you want to return in the
1042
+ # response to a `ListResolverRules` request. If you don't specify a
1043
+ # value for `MaxResults`, Resolver returns up to 100 resolver rules.
1044
+ #
1045
+ # @option params [String] :next_token
1046
+ # For the first `ListResolverRules` request, omit this value.
1047
+ #
1048
+ # If you have more than `MaxResults` resolver rules, you can submit
1049
+ # another `ListResolverRules` request to get the next group of resolver
1050
+ # rules. In the next request, specify the value of `NextToken` from the
1051
+ # previous response.
1052
+ #
1053
+ # @option params [Array<Types::Filter>] :filters
1054
+ # An optional specification to return a subset of resolver rules, such
1055
+ # as all resolver rules that are associated with the same resolver
1056
+ # endpoint.
1057
+ #
1058
+ # <note markdown="1"> If you submit a second or subsequent `ListResolverRules` request and
1059
+ # specify the `NextToken` parameter, you must use the same values for
1060
+ # `Filters`, if any, as in the previous request.
1061
+ #
1062
+ # </note>
1063
+ #
1064
+ # @return [Types::ListResolverRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1065
+ #
1066
+ # * {Types::ListResolverRulesResponse#next_token #next_token} => String
1067
+ # * {Types::ListResolverRulesResponse#max_results #max_results} => Integer
1068
+ # * {Types::ListResolverRulesResponse#resolver_rules #resolver_rules} => Array&lt;Types::ResolverRule&gt;
1069
+ #
1070
+ # @example Request syntax with placeholder values
1071
+ #
1072
+ # resp = client.list_resolver_rules({
1073
+ # max_results: 1,
1074
+ # next_token: "NextToken",
1075
+ # filters: [
1076
+ # {
1077
+ # name: "FilterName",
1078
+ # values: ["FilterValue"],
1079
+ # },
1080
+ # ],
1081
+ # })
1082
+ #
1083
+ # @example Response structure
1084
+ #
1085
+ # resp.next_token #=> String
1086
+ # resp.max_results #=> Integer
1087
+ # resp.resolver_rules #=> Array
1088
+ # resp.resolver_rules[0].id #=> String
1089
+ # resp.resolver_rules[0].creator_request_id #=> String
1090
+ # resp.resolver_rules[0].arn #=> String
1091
+ # resp.resolver_rules[0].domain_name #=> String
1092
+ # resp.resolver_rules[0].status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
1093
+ # resp.resolver_rules[0].status_message #=> String
1094
+ # resp.resolver_rules[0].rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
1095
+ # resp.resolver_rules[0].name #=> String
1096
+ # resp.resolver_rules[0].target_ips #=> Array
1097
+ # resp.resolver_rules[0].target_ips[0].ip #=> String
1098
+ # resp.resolver_rules[0].target_ips[0].port #=> Integer
1099
+ # resp.resolver_rules[0].resolver_endpoint_id #=> String
1100
+ # resp.resolver_rules[0].owner_id #=> String
1101
+ # resp.resolver_rules[0].share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1102
+ #
1103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules AWS API Documentation
1104
+ #
1105
+ # @overload list_resolver_rules(params = {})
1106
+ # @param [Hash] params ({})
1107
+ def list_resolver_rules(params = {}, options = {})
1108
+ req = build_request(:list_resolver_rules, params)
1109
+ req.send_request(options)
1110
+ end
1111
+
1112
+ # Lists the tags that you associated with the specified resource.
1113
+ #
1114
+ # @option params [required, String] :resource_arn
1115
+ # The Amazon Resource Name (ARN) for the resource that you want to list
1116
+ # tags for.
1117
+ #
1118
+ # @option params [Integer] :max_results
1119
+ # The maximum number of tags that you want to return in the response to
1120
+ # a `ListTagsForResource` request. If you don't specify a value for
1121
+ # `MaxResults`, Resolver returns up to 100 tags.
1122
+ #
1123
+ # @option params [String] :next_token
1124
+ # For the first `ListTagsForResource` request, omit this value.
1125
+ #
1126
+ # If you have more than `MaxResults` tags, you can submit another
1127
+ # `ListTagsForResource` request to get the next group of tags for the
1128
+ # resource. In the next request, specify the value of `NextToken` from
1129
+ # the previous response.
1130
+ #
1131
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1132
+ #
1133
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1134
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
1135
+ #
1136
+ # @example Request syntax with placeholder values
1137
+ #
1138
+ # resp = client.list_tags_for_resource({
1139
+ # resource_arn: "Arn", # required
1140
+ # max_results: 1,
1141
+ # next_token: "NextToken",
1142
+ # })
1143
+ #
1144
+ # @example Response structure
1145
+ #
1146
+ # resp.tags #=> Array
1147
+ # resp.tags[0].key #=> String
1148
+ # resp.tags[0].value #=> String
1149
+ # resp.next_token #=> String
1150
+ #
1151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource AWS API Documentation
1152
+ #
1153
+ # @overload list_tags_for_resource(params = {})
1154
+ # @param [Hash] params ({})
1155
+ def list_tags_for_resource(params = {}, options = {})
1156
+ req = build_request(:list_tags_for_resource, params)
1157
+ req.send_request(options)
1158
+ end
1159
+
1160
+ # Specifies the Resolver operations and resources that you want to allow
1161
+ # another AWS account to be able to use.
1162
+ #
1163
+ # @option params [required, String] :arn
1164
+ # The Amazon Resource Name (ARN) of the account that you want to grant
1165
+ # permissions to.
1166
+ #
1167
+ # @option params [required, String] :resolver_rule_policy
1168
+ # An AWS Identity and Access Management policy statement that lists the
1169
+ # permissions that you want to grant to another AWS account.
1170
+ #
1171
+ # @return [Types::PutResolverRulePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1172
+ #
1173
+ # * {Types::PutResolverRulePolicyResponse#return_value #return_value} => Boolean
1174
+ #
1175
+ # @example Request syntax with placeholder values
1176
+ #
1177
+ # resp = client.put_resolver_rule_policy({
1178
+ # arn: "Arn", # required
1179
+ # resolver_rule_policy: "ResolverRulePolicy", # required
1180
+ # })
1181
+ #
1182
+ # @example Response structure
1183
+ #
1184
+ # resp.return_value #=> Boolean
1185
+ #
1186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy AWS API Documentation
1187
+ #
1188
+ # @overload put_resolver_rule_policy(params = {})
1189
+ # @param [Hash] params ({})
1190
+ def put_resolver_rule_policy(params = {}, options = {})
1191
+ req = build_request(:put_resolver_rule_policy, params)
1192
+ req.send_request(options)
1193
+ end
1194
+
1195
+ # Adds one or more tags to a specified resource.
1196
+ #
1197
+ # @option params [required, String] :resource_arn
1198
+ # The Amazon Resource Name (ARN) for the resource that you want to add
1199
+ # tags to. To get the ARN for a resource, use the applicable `Get` or
1200
+ # `List` command:
1201
+ #
1202
+ # * GetResolverEndpoint
1203
+ #
1204
+ # * GetResolverRule
1205
+ #
1206
+ # * GetResolverRuleAssociation
1207
+ #
1208
+ # * ListResolverEndpoints
1209
+ #
1210
+ # * ListResolverRuleAssociations
1211
+ #
1212
+ # * ListResolverRules
1213
+ #
1214
+ # @option params [required, Array<Types::Tag>] :tags
1215
+ # The tags that you want to add to the specified resource.
1216
+ #
1217
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1218
+ #
1219
+ # @example Request syntax with placeholder values
1220
+ #
1221
+ # resp = client.tag_resource({
1222
+ # resource_arn: "Arn", # required
1223
+ # tags: [ # required
1224
+ # {
1225
+ # key: "TagKey",
1226
+ # value: "TagValue",
1227
+ # },
1228
+ # ],
1229
+ # })
1230
+ #
1231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource AWS API Documentation
1232
+ #
1233
+ # @overload tag_resource(params = {})
1234
+ # @param [Hash] params ({})
1235
+ def tag_resource(params = {}, options = {})
1236
+ req = build_request(:tag_resource, params)
1237
+ req.send_request(options)
1238
+ end
1239
+
1240
+ # Removes one or more tags from a specified resource.
1241
+ #
1242
+ # @option params [required, String] :resource_arn
1243
+ # The Amazon Resource Name (ARN) for the resource that you want to
1244
+ # remove tags from. To get the ARN for a resource, use the applicable
1245
+ # `Get` or `List` command:
1246
+ #
1247
+ # * GetResolverEndpoint
1248
+ #
1249
+ # * GetResolverRule
1250
+ #
1251
+ # * GetResolverRuleAssociation
1252
+ #
1253
+ # * ListResolverEndpoints
1254
+ #
1255
+ # * ListResolverRuleAssociations
1256
+ #
1257
+ # * ListResolverRules
1258
+ #
1259
+ # @option params [required, Array<String>] :tag_keys
1260
+ # The tags that you want to remove to the specified resource.
1261
+ #
1262
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1263
+ #
1264
+ # @example Request syntax with placeholder values
1265
+ #
1266
+ # resp = client.untag_resource({
1267
+ # resource_arn: "Arn", # required
1268
+ # tag_keys: ["TagKey"], # required
1269
+ # })
1270
+ #
1271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource AWS API Documentation
1272
+ #
1273
+ # @overload untag_resource(params = {})
1274
+ # @param [Hash] params ({})
1275
+ def untag_resource(params = {}, options = {})
1276
+ req = build_request(:untag_resource, params)
1277
+ req.send_request(options)
1278
+ end
1279
+
1280
+ # Updates the name of an inbound or an outbound resolver endpoint.
1281
+ #
1282
+ # @option params [required, String] :resolver_endpoint_id
1283
+ # The ID of the resolver endpoint that you want to update.
1284
+ #
1285
+ # @option params [String] :name
1286
+ # The name of the resolver endpoint that you want to update.
1287
+ #
1288
+ # @return [Types::UpdateResolverEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1289
+ #
1290
+ # * {Types::UpdateResolverEndpointResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
1291
+ #
1292
+ # @example Request syntax with placeholder values
1293
+ #
1294
+ # resp = client.update_resolver_endpoint({
1295
+ # resolver_endpoint_id: "ResourceId", # required
1296
+ # name: "Name",
1297
+ # })
1298
+ #
1299
+ # @example Response structure
1300
+ #
1301
+ # resp.resolver_endpoint.id #=> String
1302
+ # resp.resolver_endpoint.creator_request_id #=> String
1303
+ # resp.resolver_endpoint.arn #=> String
1304
+ # resp.resolver_endpoint.name #=> String
1305
+ # resp.resolver_endpoint.security_group_ids #=> Array
1306
+ # resp.resolver_endpoint.security_group_ids[0] #=> String
1307
+ # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
1308
+ # resp.resolver_endpoint.ip_address_count #=> Integer
1309
+ # resp.resolver_endpoint.host_vpc_id #=> String
1310
+ # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
1311
+ # resp.resolver_endpoint.status_message #=> String
1312
+ # resp.resolver_endpoint.creation_time #=> String
1313
+ # resp.resolver_endpoint.modification_time #=> String
1314
+ #
1315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint AWS API Documentation
1316
+ #
1317
+ # @overload update_resolver_endpoint(params = {})
1318
+ # @param [Hash] params ({})
1319
+ def update_resolver_endpoint(params = {}, options = {})
1320
+ req = build_request(:update_resolver_endpoint, params)
1321
+ req.send_request(options)
1322
+ end
1323
+
1324
+ # Updates settings for a specified resolver rule. `ResolverRuleId` is
1325
+ # required, and all other parameters are optional. If you don't specify
1326
+ # a parameter, it retains its current value.
1327
+ #
1328
+ # @option params [required, String] :resolver_rule_id
1329
+ # The ID of the resolver rule that you want to update.
1330
+ #
1331
+ # @option params [required, Types::ResolverRuleConfig] :config
1332
+ # The new settings for the resolver rule.
1333
+ #
1334
+ # @return [Types::UpdateResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1335
+ #
1336
+ # * {Types::UpdateResolverRuleResponse#resolver_rule #resolver_rule} => Types::ResolverRule
1337
+ #
1338
+ # @example Request syntax with placeholder values
1339
+ #
1340
+ # resp = client.update_resolver_rule({
1341
+ # resolver_rule_id: "ResourceId", # required
1342
+ # config: { # required
1343
+ # name: "Name",
1344
+ # target_ips: [
1345
+ # {
1346
+ # ip: "Ip", # required
1347
+ # port: 1,
1348
+ # },
1349
+ # ],
1350
+ # resolver_endpoint_id: "ResourceId",
1351
+ # },
1352
+ # })
1353
+ #
1354
+ # @example Response structure
1355
+ #
1356
+ # resp.resolver_rule.id #=> String
1357
+ # resp.resolver_rule.creator_request_id #=> String
1358
+ # resp.resolver_rule.arn #=> String
1359
+ # resp.resolver_rule.domain_name #=> String
1360
+ # resp.resolver_rule.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
1361
+ # resp.resolver_rule.status_message #=> String
1362
+ # resp.resolver_rule.rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
1363
+ # resp.resolver_rule.name #=> String
1364
+ # resp.resolver_rule.target_ips #=> Array
1365
+ # resp.resolver_rule.target_ips[0].ip #=> String
1366
+ # resp.resolver_rule.target_ips[0].port #=> Integer
1367
+ # resp.resolver_rule.resolver_endpoint_id #=> String
1368
+ # resp.resolver_rule.owner_id #=> String
1369
+ # resp.resolver_rule.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1370
+ #
1371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule AWS API Documentation
1372
+ #
1373
+ # @overload update_resolver_rule(params = {})
1374
+ # @param [Hash] params ({})
1375
+ def update_resolver_rule(params = {}, options = {})
1376
+ req = build_request(:update_resolver_rule, params)
1377
+ req.send_request(options)
1378
+ end
1379
+
1380
+ # @!endgroup
1381
+
1382
+ # @param params ({})
1383
+ # @api private
1384
+ def build_request(operation_name, params = {})
1385
+ handlers = @handlers.for(operation_name)
1386
+ context = Seahorse::Client::RequestContext.new(
1387
+ operation_name: operation_name,
1388
+ operation: config.api.operation(operation_name),
1389
+ client: self,
1390
+ params: params,
1391
+ config: config)
1392
+ context[:gem_name] = 'aws-sdk-route53resolver'
1393
+ context[:gem_version] = '1.0.0'
1394
+ Seahorse::Client::Request.new(handlers, context)
1395
+ end
1396
+
1397
+ # @api private
1398
+ # @deprecated
1399
+ def waiter_names
1400
+ []
1401
+ end
1402
+
1403
+ class << self
1404
+
1405
+ # @api private
1406
+ attr_reader :identifier
1407
+
1408
+ # @api private
1409
+ def errors_module
1410
+ Errors
1411
+ end
1412
+
1413
+ end
1414
+ end
1415
+ end