aws-sdk-route53 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 366d79b236572e463af0d1ef988d597e73dab258
4
+ data.tar.gz: 67c46eccf539967b1003e64c310cba40df5ba8e0
5
+ SHA512:
6
+ metadata.gz: 2557e36df27878f7de6c69bd68cd179a620fd90c1ee82c8c5b2cdc6be3cebf9a53d42186ebdc3d29f8d7649ac1ce5ad2c5053f4dbf0e5b12fa08286bdbe232d8
7
+ data.tar.gz: 28db76f09393606c507cf74eaf08af1c03cf7d04078bd423faf9ee5cb41a62802f90dbc06e0f181ba3cdcdce9d4bba1397a2aef4fb7fe6843ecacdabe284ce6a
@@ -0,0 +1,48 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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-route53/types'
12
+ require_relative 'aws-sdk-route53/client_api'
13
+ require_relative 'aws-sdk-route53/client'
14
+ require_relative 'aws-sdk-route53/errors'
15
+ require_relative 'aws-sdk-route53/waiters'
16
+ require_relative 'aws-sdk-route53/resource'
17
+ require_relative 'aws-sdk-route53/customizations'
18
+
19
+ # This module provides support for Amazon Route 53. This module is available in the
20
+ # `aws-sdk-route53` gem.
21
+ #
22
+ # # Client
23
+ #
24
+ # The {Client} class provides one method for each API operation. Operation
25
+ # methods each accept a hash of request parameters and return a response
26
+ # structure.
27
+ #
28
+ # See {Client} for more information.
29
+ #
30
+ # # Errors
31
+ #
32
+ # Errors returned from Amazon Route 53 all
33
+ # extend {Errors::ServiceError}.
34
+ #
35
+ # begin
36
+ # # do stuff
37
+ # rescue Aws::Route53::Errors::ServiceError
38
+ # # rescues all service API errors
39
+ # end
40
+ #
41
+ # See {Errors} for more information.
42
+ #
43
+ # @service
44
+ module Aws::Route53
45
+
46
+ GEM_VERSION = '1.0.0.rc1'
47
+
48
+ end
@@ -0,0 +1,3609 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
23
+ require 'aws-sdk-route53/plugins/id_fix.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:route53)
26
+
27
+ module Aws
28
+ module Route53
29
+ class Client < Seahorse::Client::Base
30
+
31
+ include Aws::ClientStubs
32
+
33
+ @identifier = :route53
34
+
35
+ set_api(ClientApi::API)
36
+
37
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
38
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
39
+ add_plugin(Aws::Plugins::Logging)
40
+ add_plugin(Aws::Plugins::ParamConverter)
41
+ add_plugin(Aws::Plugins::ParamValidator)
42
+ add_plugin(Aws::Plugins::UserAgent)
43
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
44
+ add_plugin(Aws::Plugins::RetryErrors)
45
+ add_plugin(Aws::Plugins::GlobalConfiguration)
46
+ add_plugin(Aws::Plugins::RegionalEndpoint)
47
+ add_plugin(Aws::Plugins::ResponsePaging)
48
+ add_plugin(Aws::Plugins::StubResponses)
49
+ add_plugin(Aws::Plugins::IdempotencyToken)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::RestXml)
52
+ add_plugin(Aws::Route53::Plugins::IdFix)
53
+
54
+ # @option options [required, Aws::CredentialProvider] :credentials
55
+ # Your AWS credentials. This can be an instance of any one of the
56
+ # following classes:
57
+ #
58
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
59
+ # credentials.
60
+ #
61
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
62
+ # from an EC2 IMDS on an EC2 instance.
63
+ #
64
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
65
+ # shared file, such as `~/.aws/config`.
66
+ #
67
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
68
+ #
69
+ # When `:credentials` are not configured directly, the following
70
+ # locations will be searched for credentials:
71
+ #
72
+ # * `Aws.config[:credentials]`
73
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
74
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
75
+ # * `~/.aws/credentials`
76
+ # * `~/.aws/config`
77
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
78
+ # very aggressive. Construct and pass an instance of
79
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
80
+ # timeouts.
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ # @option options [String] :access_key_id
93
+ # @option options [Boolean] :convert_params (true)
94
+ # When `true`, an attempt is made to coerce request parameters into
95
+ # the required types.
96
+ # @option options [String] :endpoint
97
+ # The client endpoint is normally constructed from the `:region`
98
+ # option. You should only configure an `:endpoint` when connecting
99
+ # to test endpoints. This should be avalid HTTP(S) URI.
100
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
101
+ # The log formatter.
102
+ # @option options [Symbol] :log_level (:info)
103
+ # The log level to send messages to the `:logger` at.
104
+ # @option options [Logger] :logger
105
+ # The Logger instance to send log messages to. If this option
106
+ # is not set, logging will be disabled.
107
+ # @option options [String] :profile ("default")
108
+ # Used when loading credentials from the shared credentials file
109
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
110
+ # @option options [Integer] :retry_limit (3)
111
+ # The maximum number of times to retry failed requests. Only
112
+ # ~ 500 level server errors and certain ~ 400 level client errors
113
+ # are retried. Generally, these are throttling errors, data
114
+ # checksum errors, networking errors, timeout errors and auth
115
+ # errors from expired credentials.
116
+ # @option options [String] :secret_access_key
117
+ # @option options [String] :session_token
118
+ # @option options [Boolean] :stub_responses (false)
119
+ # Causes the client to return stubbed responses. By default
120
+ # fake responses are generated and returned. You can specify
121
+ # the response data to return or errors to raise by calling
122
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
123
+ #
124
+ # ** Please note ** When response stubbing is enabled, no HTTP
125
+ # requests are made, and retries are disabled.
126
+ # @option options [Boolean] :validate_params (true)
127
+ # When `true`, request parameters are validated before
128
+ # sending the request.
129
+ def initialize(*args)
130
+ super
131
+ end
132
+
133
+ # @!group API Operations
134
+
135
+ # Associates an Amazon VPC with a private hosted zone.
136
+ #
137
+ # To perform the association, the VPC and the private hosted zone must
138
+ # already exist. You can't convert a public hosted zone into a private
139
+ # hosted zone.
140
+ #
141
+ # Send a `POST` request to the `/2013-04-01/hostedzone/hosted zone
142
+ # ID/associatevpc` resource. The request body must include a document
143
+ # with an `AssociateVPCWithHostedZoneRequest` element. The response
144
+ # contains a `ChangeInfo` data type that you can use to track the
145
+ # progress of the request.
146
+ #
147
+ # <note markdown="1"> If you want to associate a VPC that was created by using one AWS
148
+ # account with a private hosted zone that was created by using a
149
+ # different account, the AWS account that created the private hosted
150
+ # zone must first submit a `CreateVPCAssociationAuthorization` request.
151
+ # Then the account that created the VPC must submit an
152
+ # `AssociateVPCWithHostedZone` request.
153
+ #
154
+ # </note>
155
+ # @option params [required, String] :hosted_zone_id
156
+ # The ID of the private hosted zone that you want to associate an Amazon
157
+ # VPC with.
158
+ #
159
+ # Note that you can't associate a VPC with a hosted zone that doesn't
160
+ # have an existing VPC association.
161
+ # @option params [required, Types::VPC] :vpc
162
+ # A complex type that contains information about the VPC that you want
163
+ # to associate with a private hosted zone.
164
+ # @option params [String] :comment
165
+ # *Optional:* A comment about the association request.
166
+ # @return [Types::AssociateVPCWithHostedZoneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
167
+ #
168
+ # * {Types::AssociateVPCWithHostedZoneResponse#change_info #ChangeInfo} => Types::ChangeInfo
169
+ #
170
+ # @example Request syntax with placeholder values
171
+ # resp = client.associate_vpc_with_hosted_zone({
172
+ # hosted_zone_id: "ResourceId", # required
173
+ # vpc: { # required
174
+ # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-central-1, ap-southeast-1, ap-southeast-2, ap-south-1, ap-northeast-1, ap-northeast-2, sa-east-1, cn-north-1
175
+ # vpc_id: "VPCId",
176
+ # },
177
+ # comment: "AssociateVPCComment",
178
+ # })
179
+ #
180
+ # @example Response structure
181
+ # resp.change_info.id #=> String
182
+ # resp.change_info.status #=> String, one of "PENDING", "INSYNC"
183
+ # resp.change_info.submitted_at #=> Time
184
+ # resp.change_info.comment #=> String
185
+ # @overload associate_vpc_with_hosted_zone(params = {})
186
+ # @param [Hash] params ({})
187
+ def associate_vpc_with_hosted_zone(params = {}, options = {})
188
+ req = build_request(:associate_vpc_with_hosted_zone, params)
189
+ req.send_request(options)
190
+ end
191
+
192
+ # Create, change, update, or delete authoritative DNS information on all
193
+ # Amazon Route 53 servers. Send a `POST` request to:
194
+ #
195
+ # `/2013-04-01/hostedzone/Amazon Route 53 hosted Zone ID/rrset`
196
+ # resource.
197
+ #
198
+ # The request body must include a document with a
199
+ # `ChangeResourceRecordSetsRequest` element. The request body contains a
200
+ # list of change items, known as a change batch. Change batches are
201
+ # considered transactional changes. When using the Amazon Route 53 API
202
+ # to change resource record sets, Amazon Route 53 either makes all or
203
+ # none of the changes in a change batch request. This ensures that
204
+ # Amazon Route 53 never partially implements the intended changes to the
205
+ # resource record sets in a hosted zone.
206
+ #
207
+ # For example, a change batch request that deletes the `CNAME` record
208
+ # for www.example.com and creates an alias resource record set for
209
+ # www.example.com. Amazon Route 53 deletes the first resource record set
210
+ # and creates the second resource record set in a single operation. If
211
+ # either the `DELETE` or the `CREATE` action fails, then both changes
212
+ # (plus any other changes in the batch) fail, and the original `CNAME`
213
+ # record continues to exist.
214
+ #
215
+ # Due to the nature of transactional changes, you can't delete the same
216
+ # resource record set more than once in a single change batch. If you
217
+ # attempt to delete the same change batch more than once, Amazon Route
218
+ # 53 returns an `InvalidChangeBatch` error.
219
+ #
220
+ # <note markdown="1"> To create resource record sets for complex routing configurations, use
221
+ # either the traffic flow visual editor in the Amazon Route 53 console
222
+ # or the API actions for traffic policies and traffic policy instances.
223
+ # Save the configuration as a traffic policy, then associate the traffic
224
+ # policy with one or more domain names (such as example.com) or
225
+ # subdomain names (such as www.example.com), in the same hosted zone or
226
+ # in multiple hosted zones. You can roll back the updates if the new
227
+ # configuration isn't performing as expected. For more information, see
228
+ # [Using Traffic Flow to Route DNS Traffic][1] in the *Amazon Route 53
229
+ # Developer Guide*.
230
+ #
231
+ # </note>
232
+ #
233
+ # Use `ChangeResourceRecordsSetsRequest` to perform the following
234
+ # actions:
235
+ #
236
+ # * `CREATE`\: Creates a resource record set that has the specified
237
+ # values.
238
+ #
239
+ # * `DELETE`\: Deletes an existing resource record set that has the
240
+ # specified values.
241
+ #
242
+ # * `UPSERT`\: If a resource record set does not already exist, AWS
243
+ # creates it. If a resource set does exist, Amazon Route 53 updates it
244
+ # with the values in the request.
245
+ #
246
+ # The values that you need to include in the request depend on the type
247
+ # of resource record set that you're creating, deleting, or updating:
248
+ #
249
+ # **Basic resource record sets (excluding alias, failover, geolocation,
250
+ # latency, and weighted resource record sets)**
251
+ #
252
+ # * `Name`
253
+ #
254
+ # * `Type`
255
+ #
256
+ # * `TTL`
257
+ #
258
+ # **Failover, geolocation, latency, or weighted resource record sets
259
+ # (excluding alias resource record sets)**
260
+ #
261
+ # * `Name`
262
+ #
263
+ # * `Type`
264
+ #
265
+ # * `TTL`
266
+ #
267
+ # * `SetIdentifier`
268
+ #
269
+ # **Alias resource record sets (including failover alias, geolocation
270
+ # alias, latency alias, and weighted alias resource record sets)**
271
+ #
272
+ # * `Name`
273
+ #
274
+ # * `Type`
275
+ #
276
+ # * `AliasTarget` (includes `DNSName`, `EvaluateTargetHealth`, and
277
+ # `HostedZoneId`)
278
+ #
279
+ # * `SetIdentifier` (for failover, geolocation, latency, and weighted
280
+ # resource record sets)
281
+ #
282
+ # When you submit a `ChangeResourceRecordSets` request, Amazon Route 53
283
+ # propagates your changes to all of the Amazon Route 53 authoritative
284
+ # DNS servers. While your changes are propagating, `GetChange` returns a
285
+ # status of `PENDING`. When propagation is complete, `GetChange` returns
286
+ # a status of `INSYNC`. Changes generally propagate to all Amazon Route
287
+ # 53 name servers in a few minutes. In rare circumstances, propagation
288
+ # can take up to 30 minutes. For more information, see GetChange
289
+ #
290
+ # For information about the limits on a `ChangeResourceRecordSets`
291
+ # request, see [Limits][2] in the *Amazon Route 53 Developer Guide*.
292
+ #
293
+ #
294
+ #
295
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/traffic-flow.html
296
+ # [2]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html
297
+ # @option params [required, String] :hosted_zone_id
298
+ # The ID of the hosted zone that contains the resource record sets that
299
+ # you want to change.
300
+ # @option params [required, Types::ChangeBatch] :change_batch
301
+ # A complex type that contains an optional comment and the `Changes`
302
+ # element.
303
+ # @return [Types::ChangeResourceRecordSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
304
+ #
305
+ # * {Types::ChangeResourceRecordSetsResponse#change_info #ChangeInfo} => Types::ChangeInfo
306
+ #
307
+ # @example Request syntax with placeholder values
308
+ # resp = client.change_resource_record_sets({
309
+ # hosted_zone_id: "ResourceId", # required
310
+ # change_batch: { # required
311
+ # comment: "ResourceDescription",
312
+ # changes: [ # required
313
+ # {
314
+ # action: "CREATE", # required, accepts CREATE, DELETE, UPSERT
315
+ # resource_record_set: { # required
316
+ # name: "DNSName", # required
317
+ # type: "SOA", # required, accepts SOA, A, TXT, NS, CNAME, MX, NAPTR, PTR, SRV, SPF, AAAA
318
+ # set_identifier: "ResourceRecordSetIdentifier",
319
+ # weight: 1,
320
+ # region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-central-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2, sa-east-1, cn-north-1, ap-south-1
321
+ # geo_location: {
322
+ # continent_code: "GeoLocationContinentCode",
323
+ # country_code: "GeoLocationCountryCode",
324
+ # subdivision_code: "GeoLocationSubdivisionCode",
325
+ # },
326
+ # failover: "PRIMARY", # accepts PRIMARY, SECONDARY
327
+ # ttl: 1,
328
+ # resource_records: [
329
+ # {
330
+ # value: "RData", # required
331
+ # },
332
+ # ],
333
+ # alias_target: {
334
+ # hosted_zone_id: "ResourceId", # required
335
+ # dns_name: "DNSName", # required
336
+ # evaluate_target_health: false, # required
337
+ # },
338
+ # health_check_id: "HealthCheckId",
339
+ # traffic_policy_instance_id: "TrafficPolicyInstanceId",
340
+ # },
341
+ # },
342
+ # ],
343
+ # },
344
+ # })
345
+ #
346
+ # @example Response structure
347
+ # resp.change_info.id #=> String
348
+ # resp.change_info.status #=> String, one of "PENDING", "INSYNC"
349
+ # resp.change_info.submitted_at #=> Time
350
+ # resp.change_info.comment #=> String
351
+ # @overload change_resource_record_sets(params = {})
352
+ # @param [Hash] params ({})
353
+ def change_resource_record_sets(params = {}, options = {})
354
+ req = build_request(:change_resource_record_sets, params)
355
+ req.send_request(options)
356
+ end
357
+
358
+ # Adds, edits, or deletes tags for a health check or a hosted zone.
359
+ #
360
+ # For information about using tags for cost allocation, see [Using Cost
361
+ # Allocation Tags][1] in the *AWS Billing and Cost Management User
362
+ # Guide*.
363
+ #
364
+ #
365
+ #
366
+ # [1]: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
367
+ # @option params [required, String] :resource_type
368
+ # The type of the resource.
369
+ #
370
+ # * The resource type for health checks is `healthcheck`.
371
+ #
372
+ # * The resource type for hosted zones is `hostedzone`.
373
+ # @option params [required, String] :resource_id
374
+ # The ID of the resource for which you want to add, change, or delete
375
+ # tags.
376
+ # @option params [Array<Types::Tag>] :add_tags
377
+ # A complex type that contains a list of the tags that you want to add
378
+ # to the specified health check or hosted zone and/or the tags for which
379
+ # you want to edit the `Value` element.
380
+ #
381
+ # You can add a maximum of 10 tags to a health check or a hosted zone.
382
+ # @option params [Array<String>] :remove_tag_keys
383
+ # A complex type that contains a list of the tags that you want to
384
+ # delete from the specified health check or hosted zone. You can specify
385
+ # up to 10 keys.
386
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
387
+ #
388
+ # @example Request syntax with placeholder values
389
+ # resp = client.change_tags_for_resource({
390
+ # resource_type: "healthcheck", # required, accepts healthcheck, hostedzone
391
+ # resource_id: "TagResourceId", # required
392
+ # add_tags: [
393
+ # {
394
+ # key: "TagKey",
395
+ # value: "TagValue",
396
+ # },
397
+ # ],
398
+ # remove_tag_keys: ["TagKey"],
399
+ # })
400
+ # @overload change_tags_for_resource(params = {})
401
+ # @param [Hash] params ({})
402
+ def change_tags_for_resource(params = {}, options = {})
403
+ req = build_request(:change_tags_for_resource, params)
404
+ req.send_request(options)
405
+ end
406
+
407
+ # Creates a new health check.
408
+ #
409
+ # To create a new health check, send a `POST` request to the
410
+ # `/2013-04-01/healthcheck` resource. The request body must include a
411
+ # document with a `CreateHealthCheckRequest` element. The response
412
+ # returns the `CreateHealthCheckResponse` element, containing the health
413
+ # check ID specified when adding health check to a resource record set.
414
+ # For information about adding health checks to resource record sets,
415
+ # see ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets.
416
+ #
417
+ # If you are registering EC2 instances with an Elastic Load Balancing
418
+ # (ELB) load balancer, do not create Amazon Route 53 health checks for
419
+ # the EC2 instances. When you register an EC2 instance with a load
420
+ # balancer, you configure settings for an ELB health check, which
421
+ # performs a similar function to an Amazon Route 53 health check.
422
+ #
423
+ # You can associate health checks with failover resource record sets in
424
+ # a private hosted zone. Note the following:
425
+ #
426
+ # * Amazon Route 53 health checkers are outside the VPC. To check the
427
+ # health of an endpoint within a VPC by IP address, you must assign a
428
+ # public IP address to the instance in the VPC.
429
+ #
430
+ # * You can configure a health checker to check the health of an
431
+ # external resource that the instance relies on, such as a database
432
+ # server.
433
+ #
434
+ # * You can create a CloudWatch metric, associate an alarm with the
435
+ # metric, and then create a health check that is based on the state of
436
+ # the alarm. For example, you might create a CloudWatch metric that
437
+ # checks the status of the Amazon EC2 `StatusCheckFailed` metric, add
438
+ # an alarm to the metric, and then create a health check that is based
439
+ # on the state of the alarm. For information about creating CloudWatch
440
+ # metrics and alarms by using the CloudWatch console, see the [Amazon
441
+ # CloudWatch User Guide][1].
442
+ #
443
+ #
444
+ #
445
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html
446
+ # @option params [required, String] :caller_reference
447
+ # A unique string that identifies the request and that allows failed
448
+ # `CreateHealthCheck` requests to be retried without the risk of
449
+ # executing the operation twice. You must use a unique `CallerReference`
450
+ # string every time you create a health check.
451
+ # @option params [required, Types::HealthCheckConfig] :health_check_config
452
+ # A complex type that contains the response to a `CreateHealthCheck`
453
+ # request.
454
+ # @return [Types::CreateHealthCheckResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
455
+ #
456
+ # * {Types::CreateHealthCheckResponse#health_check #HealthCheck} => Types::HealthCheck
457
+ # * {Types::CreateHealthCheckResponse#location #Location} => String
458
+ #
459
+ # @example Request syntax with placeholder values
460
+ # resp = client.create_health_check({
461
+ # caller_reference: "HealthCheckNonce", # required
462
+ # health_check_config: { # required
463
+ # ip_address: "IPAddress",
464
+ # port: 1,
465
+ # type: "HTTP", # required, accepts HTTP, HTTPS, HTTP_STR_MATCH, HTTPS_STR_MATCH, TCP, CALCULATED, CLOUDWATCH_METRIC
466
+ # resource_path: "ResourcePath",
467
+ # fully_qualified_domain_name: "FullyQualifiedDomainName",
468
+ # search_string: "SearchString",
469
+ # request_interval: 1,
470
+ # failure_threshold: 1,
471
+ # measure_latency: false,
472
+ # inverted: false,
473
+ # health_threshold: 1,
474
+ # child_health_checks: ["HealthCheckId"],
475
+ # enable_sni: false,
476
+ # regions: ["us-east-1"], # accepts us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1
477
+ # alarm_identifier: {
478
+ # region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-central-1, eu-west-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2, sa-east-1
479
+ # name: "AlarmName", # required
480
+ # },
481
+ # insufficient_data_health_status: "Healthy", # accepts Healthy, Unhealthy, LastKnownStatus
482
+ # },
483
+ # })
484
+ #
485
+ # @example Response structure
486
+ # resp.health_check.id #=> String
487
+ # resp.health_check.caller_reference #=> String
488
+ # resp.health_check.health_check_config.ip_address #=> String
489
+ # resp.health_check.health_check_config.port #=> Integer
490
+ # resp.health_check.health_check_config.type #=> String, one of "HTTP", "HTTPS", "HTTP_STR_MATCH", "HTTPS_STR_MATCH", "TCP", "CALCULATED", "CLOUDWATCH_METRIC"
491
+ # resp.health_check.health_check_config.resource_path #=> String
492
+ # resp.health_check.health_check_config.fully_qualified_domain_name #=> String
493
+ # resp.health_check.health_check_config.search_string #=> String
494
+ # resp.health_check.health_check_config.request_interval #=> Integer
495
+ # resp.health_check.health_check_config.failure_threshold #=> Integer
496
+ # resp.health_check.health_check_config.measure_latency #=> Boolean
497
+ # resp.health_check.health_check_config.inverted #=> Boolean
498
+ # resp.health_check.health_check_config.health_threshold #=> Integer
499
+ # resp.health_check.health_check_config.child_health_checks #=> Array
500
+ # resp.health_check.health_check_config.child_health_checks[0] #=> String
501
+ # resp.health_check.health_check_config.enable_sni #=> Boolean
502
+ # resp.health_check.health_check_config.regions #=> Array
503
+ # resp.health_check.health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1"
504
+ # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-central-1", "eu-west-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", "sa-east-1"
505
+ # resp.health_check.health_check_config.alarm_identifier.name #=> String
506
+ # resp.health_check.health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus"
507
+ # resp.health_check.health_check_version #=> Integer
508
+ # resp.health_check.cloud_watch_alarm_configuration.evaluation_periods #=> Integer
509
+ # resp.health_check.cloud_watch_alarm_configuration.threshold #=> Float
510
+ # resp.health_check.cloud_watch_alarm_configuration.comparison_operator #=> String, one of "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold"
511
+ # resp.health_check.cloud_watch_alarm_configuration.period #=> Integer
512
+ # resp.health_check.cloud_watch_alarm_configuration.metric_name #=> String
513
+ # resp.health_check.cloud_watch_alarm_configuration.namespace #=> String
514
+ # resp.health_check.cloud_watch_alarm_configuration.statistic #=> String, one of "Average", "Sum", "SampleCount", "Maximum", "Minimum"
515
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions #=> Array
516
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions[0].name #=> String
517
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions[0].value #=> String
518
+ # resp.location #=> String
519
+ # @overload create_health_check(params = {})
520
+ # @param [Hash] params ({})
521
+ def create_health_check(params = {}, options = {})
522
+ req = build_request(:create_health_check, params)
523
+ req.send_request(options)
524
+ end
525
+
526
+ # Creates a new public hosted zone, used to specify how the Domain Name
527
+ # System (DNS) routes traffic on the Internet for a domain, such as
528
+ # example.com, and its subdomains.
529
+ #
530
+ # Public hosted zones can't be converted to a private hosted zone or
531
+ # vice versa. Instead, create a new hosted zone with the same name and
532
+ # create new resource record sets.
533
+ #
534
+ # Send a `POST` request to the `/2013-04-01/hostedzone` resource. The
535
+ # request body must include a document with a `CreateHostedZoneRequest`
536
+ # element. The response returns the `CreateHostedZoneResponse` element
537
+ # containing metadata about the hosted zone.
538
+ #
539
+ # Fore more information about charges for hosted zones, see [Amazon
540
+ # Route 53 Pricing][1].
541
+ #
542
+ # Note the following:
543
+ #
544
+ # * You can't create a hosted zone for a top-level domain (TLD).
545
+ #
546
+ # * Amazon Route 53 automatically creates a default SOA record and four
547
+ # NS records for the zone. For more information about SOA and NS
548
+ # records, see [NS and SOA Records that Amazon Route 53 Creates for a
549
+ # Hosted Zone][2] in the *Amazon Route 53 Developer Guide*.
550
+ #
551
+ # * If your domain is registered with a registrar other than Amazon
552
+ # Route 53, you must update the name servers with your registrar to
553
+ # make Amazon Route 53 your DNS service. For more information, see
554
+ # [Configuring Amazon Route 53 as your DNS Service][3] in the *Amazon
555
+ # Route 53 Developer's Guide*.
556
+ #
557
+ # After creating a zone, its initial status is `PENDING`. This means
558
+ # that it is not yet available on all DNS servers. The status of the
559
+ # zone changes to `INSYNC` when the NS and SOA records are available on
560
+ # all Amazon Route 53 DNS servers.
561
+ #
562
+ # When trying to create a hosted zone using a reusable delegation set,
563
+ # specify an optional DelegationSetId, and Amazon Route 53 would assign
564
+ # those 4 NS records for the zone, instead of allotting a new one.
565
+ #
566
+ #
567
+ #
568
+ # [1]: http://aws.amazon.com/route53/pricing/
569
+ # [2]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html
570
+ # [3]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/creating-migrating.html
571
+ # @option params [required, String] :name
572
+ # The name of the domain. For resource record types that include a
573
+ # domain name, specify a fully qualified domain name, for example,
574
+ # *www.example.com*. The trailing dot is optional; Amazon Route 53
575
+ # assumes that the domain name is fully qualified. This means that
576
+ # Amazon Route 53 treats *www.example.com* (without a trailing dot) and
577
+ # *www.example.com.* (with a trailing dot) as identical.
578
+ #
579
+ # If you're creating a public hosted zone, this is the name you have
580
+ # registered with your DNS registrar. If your domain name is registered
581
+ # with a registrar other than Amazon Route 53, change the name servers
582
+ # for your domain to the set of `NameServers` that `CreateHostedZone`
583
+ # returns in the DelegationSet element.
584
+ # @option params [Types::VPC] :vpc
585
+ # The VPC that you want your hosted zone to be associated with. By
586
+ # providing this parameter, your newly created hosted can't be resolved
587
+ # anywhere other than the given VPC.
588
+ # @option params [required, String] :caller_reference
589
+ # A unique string that identifies the request and that allows failed
590
+ # `CreateHostedZone` requests to be retried without the risk of
591
+ # executing the operation twice. You must use a unique `CallerReference`
592
+ # string every time you create a hosted zone. `CallerReference` can be
593
+ # any unique string, for example, a date/time stamp.
594
+ # @option params [Types::HostedZoneConfig] :hosted_zone_config
595
+ # (Optional) A complex type that contains an optional comment about your
596
+ # hosted zone. If you don't want to specify a comment, omit both the
597
+ # `HostedZoneConfig` and `Comment` elements.
598
+ # @option params [String] :delegation_set_id
599
+ # If you want to associate a reusable delegation set with this hosted
600
+ # zone, the ID that Amazon Route 53 assigned to the reusable delegation
601
+ # set when you created it. For more information about reusable
602
+ # delegation sets, see CreateReusableDelegationSet.
603
+ #
604
+ # Type
605
+ #
606
+ # : String
607
+ #
608
+ # Default
609
+ #
610
+ # : None
611
+ #
612
+ # Parent
613
+ #
614
+ # : `CreatedHostedZoneRequest`
615
+ # @return [Types::CreateHostedZoneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
616
+ #
617
+ # * {Types::CreateHostedZoneResponse#hosted_zone #HostedZone} => Types::HostedZone
618
+ # * {Types::CreateHostedZoneResponse#change_info #ChangeInfo} => Types::ChangeInfo
619
+ # * {Types::CreateHostedZoneResponse#delegation_set #DelegationSet} => Types::DelegationSet
620
+ # * {Types::CreateHostedZoneResponse#vpc #VPC} => Types::VPC
621
+ # * {Types::CreateHostedZoneResponse#location #Location} => String
622
+ #
623
+ # @example Request syntax with placeholder values
624
+ # resp = client.create_hosted_zone({
625
+ # name: "DNSName", # required
626
+ # vpc: {
627
+ # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-central-1, ap-southeast-1, ap-southeast-2, ap-south-1, ap-northeast-1, ap-northeast-2, sa-east-1, cn-north-1
628
+ # vpc_id: "VPCId",
629
+ # },
630
+ # caller_reference: "Nonce", # required
631
+ # hosted_zone_config: {
632
+ # comment: "ResourceDescription",
633
+ # private_zone: false,
634
+ # },
635
+ # delegation_set_id: "ResourceId",
636
+ # })
637
+ #
638
+ # @example Response structure
639
+ # resp.hosted_zone.id #=> String
640
+ # resp.hosted_zone.name #=> String
641
+ # resp.hosted_zone.caller_reference #=> String
642
+ # resp.hosted_zone.config.comment #=> String
643
+ # resp.hosted_zone.config.private_zone #=> Boolean
644
+ # resp.hosted_zone.resource_record_set_count #=> Integer
645
+ # resp.change_info.id #=> String
646
+ # resp.change_info.status #=> String, one of "PENDING", "INSYNC"
647
+ # resp.change_info.submitted_at #=> Time
648
+ # resp.change_info.comment #=> String
649
+ # resp.delegation_set.id #=> String
650
+ # resp.delegation_set.caller_reference #=> String
651
+ # resp.delegation_set.name_servers #=> Array
652
+ # resp.delegation_set.name_servers[0] #=> String
653
+ # resp.vpc.vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-central-1", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "ap-northeast-1", "ap-northeast-2", "sa-east-1", "cn-north-1"
654
+ # resp.vpc.vpc_id #=> String
655
+ # resp.location #=> String
656
+ # @overload create_hosted_zone(params = {})
657
+ # @param [Hash] params ({})
658
+ def create_hosted_zone(params = {}, options = {})
659
+ req = build_request(:create_hosted_zone, params)
660
+ req.send_request(options)
661
+ end
662
+
663
+ # Creates a delegation set (a group of four name servers) that can be
664
+ # reused by multiple hosted zones. If a hosted zoned ID is specified,
665
+ # `CreateReusableDelegationSet` marks the delegation set associated with
666
+ # that zone as reusable
667
+ #
668
+ # Send a `POST` request to the `/2013-04-01/delegationset` resource. The
669
+ # request body must include a document with a
670
+ # `CreateReusableDelegationSetRequest` element.
671
+ #
672
+ # <note markdown="1"> A reusable delegation set can't be associated with a private hosted
673
+ # zone/
674
+ #
675
+ # </note>
676
+ #
677
+ # For more information, including a procedure on how to create and
678
+ # configure a reusable delegation set (also known as white label name
679
+ # servers), see [Configuring White Label Name Servers][1].
680
+ #
681
+ #
682
+ #
683
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/white-label-name-servers.html
684
+ # @option params [required, String] :caller_reference
685
+ # A unique string that identifies the request, and that allows you to
686
+ # retry failed `CreateReusableDelegationSet` requests without the risk
687
+ # of executing the operation twice. You must use a unique
688
+ # `CallerReference` string every time you submit a
689
+ # `CreateReusableDelegationSet` request. `CallerReference` can be any
690
+ # unique string, for example a date/time stamp.
691
+ # @option params [String] :hosted_zone_id
692
+ # If you want to mark the delegation set for an existing hosted zone as
693
+ # reusable, the ID for that hosted zone.
694
+ # @return [Types::CreateReusableDelegationSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
695
+ #
696
+ # * {Types::CreateReusableDelegationSetResponse#delegation_set #DelegationSet} => Types::DelegationSet
697
+ # * {Types::CreateReusableDelegationSetResponse#location #Location} => String
698
+ #
699
+ # @example Request syntax with placeholder values
700
+ # resp = client.create_reusable_delegation_set({
701
+ # caller_reference: "Nonce", # required
702
+ # hosted_zone_id: "ResourceId",
703
+ # })
704
+ #
705
+ # @example Response structure
706
+ # resp.delegation_set.id #=> String
707
+ # resp.delegation_set.caller_reference #=> String
708
+ # resp.delegation_set.name_servers #=> Array
709
+ # resp.delegation_set.name_servers[0] #=> String
710
+ # resp.location #=> String
711
+ # @overload create_reusable_delegation_set(params = {})
712
+ # @param [Hash] params ({})
713
+ def create_reusable_delegation_set(params = {}, options = {})
714
+ req = build_request(:create_reusable_delegation_set, params)
715
+ req.send_request(options)
716
+ end
717
+
718
+ # Creates a traffic policy, which you use to create multiple DNS
719
+ # resource record sets for one domain name (such as example.com) or one
720
+ # subdomain name (such as www.example.com).
721
+ #
722
+ # Send a `POST` request to the `/2013-04-01/trafficpolicy` resource. The
723
+ # request body must include a document with a
724
+ # `CreateTrafficPolicyRequest` element. The response includes the
725
+ # `CreateTrafficPolicyResponse` element, which contains information
726
+ # about the new traffic policy.
727
+ # @option params [required, String] :name
728
+ # The name of the traffic policy.
729
+ # @option params [required, String] :document
730
+ # The definition of this traffic policy in JSON format. For more
731
+ # information, see [Traffic Policy Document Format][1].
732
+ #
733
+ #
734
+ #
735
+ # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html
736
+ # @option params [String] :comment
737
+ # (Optional) Any comments that you want to include about the traffic
738
+ # policy.
739
+ # @return [Types::CreateTrafficPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
740
+ #
741
+ # * {Types::CreateTrafficPolicyResponse#traffic_policy #TrafficPolicy} => Types::TrafficPolicy
742
+ # * {Types::CreateTrafficPolicyResponse#location #Location} => String
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ # resp = client.create_traffic_policy({
746
+ # name: "TrafficPolicyName", # required
747
+ # document: "TrafficPolicyDocument", # required
748
+ # comment: "TrafficPolicyComment",
749
+ # })
750
+ #
751
+ # @example Response structure
752
+ # resp.traffic_policy.id #=> String
753
+ # resp.traffic_policy.version #=> Integer
754
+ # resp.traffic_policy.name #=> String
755
+ # resp.traffic_policy.type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
756
+ # resp.traffic_policy.document #=> String
757
+ # resp.traffic_policy.comment #=> String
758
+ # resp.location #=> String
759
+ # @overload create_traffic_policy(params = {})
760
+ # @param [Hash] params ({})
761
+ def create_traffic_policy(params = {}, options = {})
762
+ req = build_request(:create_traffic_policy, params)
763
+ req.send_request(options)
764
+ end
765
+
766
+ # Creates resource record sets in a specified hosted zone based on the
767
+ # settings in a specified traffic policy version. In addition,
768
+ # `CreateTrafficPolicyInstance` associates the resource record sets with
769
+ # a specified domain name (such as example.com) or subdomain name (such
770
+ # as www.example.com). Amazon Route 53 responds to DNS queries for the
771
+ # domain or subdomain name by using the resource record sets that
772
+ # `CreateTrafficPolicyInstance` created.
773
+ #
774
+ # Send a `POST` request to the `/2013-04-01/trafficpolicyinstance`
775
+ # resource. The request body must include a document with a
776
+ # `CreateTrafficPolicyRequest` element. The response returns the
777
+ # `CreateTrafficPolicyInstanceResponse` element, which contains
778
+ # information about the traffic policy instance.
779
+ # @option params [required, String] :hosted_zone_id
780
+ # The ID of the hosted zone in which you want Amazon Route 53 to create
781
+ # resource record sets by using the configuration in a traffic policy.
782
+ # @option params [required, String] :name
783
+ # The domain name (such as example.com) or subdomain name (such as
784
+ # www.example.com) for which Amazon Route 53 responds to DNS queries by
785
+ # using the resource record sets that Amazon Route 53 creates for this
786
+ # traffic policy instance.
787
+ # @option params [required, Integer] :ttl
788
+ # (Optional) The TTL that you want Amazon Route 53 to assign to all of
789
+ # the resource record sets that it creates in the specified hosted zone.
790
+ # @option params [required, String] :traffic_policy_id
791
+ # The ID of the traffic policy that you want to use to create resource
792
+ # record sets in the specified hosted zone.
793
+ # @option params [required, Integer] :traffic_policy_version
794
+ # The version of the traffic policy that you want to use to create
795
+ # resource record sets in the specified hosted zone.
796
+ # @return [Types::CreateTrafficPolicyInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
797
+ #
798
+ # * {Types::CreateTrafficPolicyInstanceResponse#traffic_policy_instance #TrafficPolicyInstance} => Types::TrafficPolicyInstance
799
+ # * {Types::CreateTrafficPolicyInstanceResponse#location #Location} => String
800
+ #
801
+ # @example Request syntax with placeholder values
802
+ # resp = client.create_traffic_policy_instance({
803
+ # hosted_zone_id: "ResourceId", # required
804
+ # name: "DNSName", # required
805
+ # ttl: 1, # required
806
+ # traffic_policy_id: "TrafficPolicyId", # required
807
+ # traffic_policy_version: 1, # required
808
+ # })
809
+ #
810
+ # @example Response structure
811
+ # resp.traffic_policy_instance.id #=> String
812
+ # resp.traffic_policy_instance.hosted_zone_id #=> String
813
+ # resp.traffic_policy_instance.name #=> String
814
+ # resp.traffic_policy_instance.ttl #=> Integer
815
+ # resp.traffic_policy_instance.state #=> String
816
+ # resp.traffic_policy_instance.message #=> String
817
+ # resp.traffic_policy_instance.traffic_policy_id #=> String
818
+ # resp.traffic_policy_instance.traffic_policy_version #=> Integer
819
+ # resp.traffic_policy_instance.traffic_policy_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
820
+ # resp.location #=> String
821
+ # @overload create_traffic_policy_instance(params = {})
822
+ # @param [Hash] params ({})
823
+ def create_traffic_policy_instance(params = {}, options = {})
824
+ req = build_request(:create_traffic_policy_instance, params)
825
+ req.send_request(options)
826
+ end
827
+
828
+ # Creates a new version of an existing traffic policy. When you create a
829
+ # new version of a traffic policy, you specify the ID of the traffic
830
+ # policy that you want to update and a JSON-formatted document that
831
+ # describes the new version. You use traffic policies to create multiple
832
+ # DNS resource record sets for one domain name (such as example.com) or
833
+ # one subdomain name (such as www.example.com). You can create a maximum
834
+ # of 1000 versions of a traffic policy. If you reach the limit and need
835
+ # to create another version, you'll need to start a new traffic policy.
836
+ #
837
+ # Send a `POST` request to the `/2013-04-01/trafficpolicy/` resource.
838
+ # The request body includes a document with a
839
+ # `CreateTrafficPolicyVersionRequest` element. The response returns the
840
+ # `CreateTrafficPolicyVersionResponse` element, which contains
841
+ # information about the new version of the traffic policy.
842
+ # @option params [required, String] :id
843
+ # The ID of the traffic policy for which you want to create a new
844
+ # version.
845
+ # @option params [required, String] :document
846
+ # The definition of this version of the traffic policy, in JSON format.
847
+ # You specified the JSON in the `CreateTrafficPolicyVersion` request.
848
+ # For more information about the JSON format, see CreateTrafficPolicy.
849
+ # @option params [String] :comment
850
+ # The comment that you specified in the `CreateTrafficPolicyVersion`
851
+ # request, if any.
852
+ # @return [Types::CreateTrafficPolicyVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
853
+ #
854
+ # * {Types::CreateTrafficPolicyVersionResponse#traffic_policy #TrafficPolicy} => Types::TrafficPolicy
855
+ # * {Types::CreateTrafficPolicyVersionResponse#location #Location} => String
856
+ #
857
+ # @example Request syntax with placeholder values
858
+ # resp = client.create_traffic_policy_version({
859
+ # id: "TrafficPolicyId", # required
860
+ # document: "TrafficPolicyDocument", # required
861
+ # comment: "TrafficPolicyComment",
862
+ # })
863
+ #
864
+ # @example Response structure
865
+ # resp.traffic_policy.id #=> String
866
+ # resp.traffic_policy.version #=> Integer
867
+ # resp.traffic_policy.name #=> String
868
+ # resp.traffic_policy.type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
869
+ # resp.traffic_policy.document #=> String
870
+ # resp.traffic_policy.comment #=> String
871
+ # resp.location #=> String
872
+ # @overload create_traffic_policy_version(params = {})
873
+ # @param [Hash] params ({})
874
+ def create_traffic_policy_version(params = {}, options = {})
875
+ req = build_request(:create_traffic_policy_version, params)
876
+ req.send_request(options)
877
+ end
878
+
879
+ # Authorizes the AWS account that created a specified VPC to submit an
880
+ # `AssociateVPCWithHostedZone` request to associate the VPC with a
881
+ # specified hosted zone that was created by a different account. To
882
+ # submit a `CreateVPCAssociationAuthorization` request, you must use the
883
+ # account that created the hosted zone. After you authorize the
884
+ # association, use the account that created the VPC to submit an
885
+ # `AssociateVPCWithHostedZone` request.
886
+ #
887
+ # <note markdown="1"> If you want to associate multiple VPCs that you created by using one
888
+ # account with a hosted zone that you created by using a different
889
+ # account, you must submit one authorization request for each VPC.
890
+ #
891
+ # </note>
892
+ #
893
+ # Send a `POST` request to the `/2013-04-01/hostedzone/hosted zone
894
+ # ID/authorizevpcassociation` resource. The request body must include a
895
+ # document with a `CreateVPCAssociationAuthorizationRequest` element.
896
+ # The response contains information about the authorization.
897
+ # @option params [required, String] :hosted_zone_id
898
+ # The ID of the private hosted zone that you want to authorize
899
+ # associating a VPC with.
900
+ # @option params [required, Types::VPC] :vpc
901
+ # A complex type that contains the VPC ID and region for the VPC that
902
+ # you want to authorize associating with your hosted zone.
903
+ # @return [Types::CreateVPCAssociationAuthorizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
904
+ #
905
+ # * {Types::CreateVPCAssociationAuthorizationResponse#hosted_zone_id #HostedZoneId} => String
906
+ # * {Types::CreateVPCAssociationAuthorizationResponse#vpc #VPC} => Types::VPC
907
+ #
908
+ # @example Request syntax with placeholder values
909
+ # resp = client.create_vpc_association_authorization({
910
+ # hosted_zone_id: "ResourceId", # required
911
+ # vpc: { # required
912
+ # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-central-1, ap-southeast-1, ap-southeast-2, ap-south-1, ap-northeast-1, ap-northeast-2, sa-east-1, cn-north-1
913
+ # vpc_id: "VPCId",
914
+ # },
915
+ # })
916
+ #
917
+ # @example Response structure
918
+ # resp.hosted_zone_id #=> String
919
+ # resp.vpc.vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-central-1", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "ap-northeast-1", "ap-northeast-2", "sa-east-1", "cn-north-1"
920
+ # resp.vpc.vpc_id #=> String
921
+ # @overload create_vpc_association_authorization(params = {})
922
+ # @param [Hash] params ({})
923
+ def create_vpc_association_authorization(params = {}, options = {})
924
+ req = build_request(:create_vpc_association_authorization, params)
925
+ req.send_request(options)
926
+ end
927
+
928
+ # Deletes a health check. Send a `DELETE` request to the
929
+ # `/2013-04-01/healthcheck/health check ID ` resource.
930
+ #
931
+ # Amazon Route 53 does not prevent you from deleting a health check even
932
+ # if the health check is associated with one or more resource record
933
+ # sets. If you delete a health check and you don't update the
934
+ # associated resource record sets, the future status of the health check
935
+ # can't be predicted and may change. This will affect the routing of
936
+ # DNS queries for your DNS failover configuration. For more information,
937
+ # see [Replacing and Deleting Health Checks][1] in the Amazon Route 53
938
+ # Developer Guide.
939
+ #
940
+ #
941
+ #
942
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html#health-checks-deleting.html
943
+ # @option params [required, String] :health_check_id
944
+ # The ID of the health check that you want to delete.
945
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
946
+ #
947
+ # @example Request syntax with placeholder values
948
+ # resp = client.delete_health_check({
949
+ # health_check_id: "HealthCheckId", # required
950
+ # })
951
+ # @overload delete_health_check(params = {})
952
+ # @param [Hash] params ({})
953
+ def delete_health_check(params = {}, options = {})
954
+ req = build_request(:delete_health_check, params)
955
+ req.send_request(options)
956
+ end
957
+
958
+ # Deletes a hosted zone. Send a `DELETE` request to the `/Amazon Route
959
+ # 53 API version/hostedzone/hosted zone ID ` resource.
960
+ #
961
+ # Delete a hosted zone only if there are no resource record sets other
962
+ # than the default SOA record and NS resource record sets. If the hosted
963
+ # zone contains other resource record sets, delete them before deleting
964
+ # the hosted zone. If you try to delete a hosted zone that contains
965
+ # other resource record sets, Amazon Route 53 denies your request with a
966
+ # `HostedZoneNotEmpty` error. For information about deleting records
967
+ # from your hosted zone, see ChangeResourceRecordSets.
968
+ # @option params [required, String] :id
969
+ # The ID of the hosted zone you want to delete.
970
+ # @return [Types::DeleteHostedZoneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
971
+ #
972
+ # * {Types::DeleteHostedZoneResponse#change_info #ChangeInfo} => Types::ChangeInfo
973
+ #
974
+ # @example Request syntax with placeholder values
975
+ # resp = client.delete_hosted_zone({
976
+ # id: "ResourceId", # required
977
+ # })
978
+ #
979
+ # @example Response structure
980
+ # resp.change_info.id #=> String
981
+ # resp.change_info.status #=> String, one of "PENDING", "INSYNC"
982
+ # resp.change_info.submitted_at #=> Time
983
+ # resp.change_info.comment #=> String
984
+ # @overload delete_hosted_zone(params = {})
985
+ # @param [Hash] params ({})
986
+ def delete_hosted_zone(params = {}, options = {})
987
+ req = build_request(:delete_hosted_zone, params)
988
+ req.send_request(options)
989
+ end
990
+
991
+ # Deletes a reusable delegation set. Send a `DELETE` request to the
992
+ # `/2013-04-01/delegationset/delegation set ID ` resource.
993
+ #
994
+ # You can delete a reusable delegation set only if there are no
995
+ # associated hosted zones.
996
+ #
997
+ # To verify that the reusable delegation set is not associated with any
998
+ # hosted zones, run the GetReusableDelegationSet action and specify the
999
+ # ID of the reusable delegation set that you want to delete.
1000
+ # @option params [required, String] :id
1001
+ # The ID of the reusable delegation set you want to delete.
1002
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1003
+ #
1004
+ # @example Request syntax with placeholder values
1005
+ # resp = client.delete_reusable_delegation_set({
1006
+ # id: "ResourceId", # required
1007
+ # })
1008
+ # @overload delete_reusable_delegation_set(params = {})
1009
+ # @param [Hash] params ({})
1010
+ def delete_reusable_delegation_set(params = {}, options = {})
1011
+ req = build_request(:delete_reusable_delegation_set, params)
1012
+ req.send_request(options)
1013
+ end
1014
+
1015
+ # Deletes a traffic policy.
1016
+ #
1017
+ # Send a `DELETE` request to the `/Amazon Route 53 API
1018
+ # version/trafficpolicy` resource.
1019
+ # @option params [required, String] :id
1020
+ # The ID of the traffic policy that you want to delete.
1021
+ # @option params [required, Integer] :version
1022
+ # The version number of the traffic policy that you want to delete.
1023
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1024
+ #
1025
+ # @example Request syntax with placeholder values
1026
+ # resp = client.delete_traffic_policy({
1027
+ # id: "TrafficPolicyId", # required
1028
+ # version: 1, # required
1029
+ # })
1030
+ # @overload delete_traffic_policy(params = {})
1031
+ # @param [Hash] params ({})
1032
+ def delete_traffic_policy(params = {}, options = {})
1033
+ req = build_request(:delete_traffic_policy, params)
1034
+ req.send_request(options)
1035
+ end
1036
+
1037
+ # Deletes a traffic policy instance and all of the resource record sets
1038
+ # that Amazon Route 53 created when you created the instance.
1039
+ #
1040
+ # Send a `DELETE` request to the `/Amazon Route 53 API
1041
+ # version/trafficpolicy/traffic policy instance ID ` resource.
1042
+ #
1043
+ # <note markdown="1"> In the Amazon Route 53 console, traffic policy instances are known as
1044
+ # policy records.
1045
+ #
1046
+ # </note>
1047
+ # @option params [required, String] :id
1048
+ # The ID of the traffic policy instance that you want to delete.
1049
+ #
1050
+ # When you delete a traffic policy instance, Amazon Route 53 also
1051
+ # deletes all of the resource record sets that were created when you
1052
+ # created the traffic policy instance.
1053
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1054
+ #
1055
+ # @example Request syntax with placeholder values
1056
+ # resp = client.delete_traffic_policy_instance({
1057
+ # id: "TrafficPolicyInstanceId", # required
1058
+ # })
1059
+ # @overload delete_traffic_policy_instance(params = {})
1060
+ # @param [Hash] params ({})
1061
+ def delete_traffic_policy_instance(params = {}, options = {})
1062
+ req = build_request(:delete_traffic_policy_instance, params)
1063
+ req.send_request(options)
1064
+ end
1065
+
1066
+ # Removes authorization to submit an `AssociateVPCWithHostedZone`
1067
+ # request to associate a specified VPC with a hosted zone that was
1068
+ # created by a different account. You must use the account that created
1069
+ # the hosted zone to submit a `DeleteVPCAssociationAuthorization`
1070
+ # request.
1071
+ #
1072
+ # Sending this request only prevents the AWS account that created the
1073
+ # VPC from associating the VPC with the Amazon Route 53 hosted zone in
1074
+ # the future. If the VPC is already associated with the hosted zone,
1075
+ # `DeleteVPCAssociationAuthorization` won't disassociate the VPC from
1076
+ # the hosted zone. If you want to delete an existing association, use
1077
+ # `DisassociateVPCFromHostedZone`.
1078
+ #
1079
+ # Send a `DELETE` request to the `/2013-04-01/hostedzone/hosted zone
1080
+ # ID/deauthorizevpcassociation` resource. The request body must include
1081
+ # a document with a `DeleteVPCAssociationAuthorizationRequest` element.
1082
+ # @option params [required, String] :hosted_zone_id
1083
+ # When removing authorization to associate a VPC that was created by one
1084
+ # AWS account with a hosted zone that was created with a different AWS
1085
+ # account, the ID of the hosted zone.
1086
+ # @option params [required, Types::VPC] :vpc
1087
+ # When removing authorization to associate a VPC that was created by one
1088
+ # AWS account with a hosted zone that was created with a different AWS
1089
+ # account, a complex type that includes the ID and region of the VPC.
1090
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1091
+ #
1092
+ # @example Request syntax with placeholder values
1093
+ # resp = client.delete_vpc_association_authorization({
1094
+ # hosted_zone_id: "ResourceId", # required
1095
+ # vpc: { # required
1096
+ # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-central-1, ap-southeast-1, ap-southeast-2, ap-south-1, ap-northeast-1, ap-northeast-2, sa-east-1, cn-north-1
1097
+ # vpc_id: "VPCId",
1098
+ # },
1099
+ # })
1100
+ # @overload delete_vpc_association_authorization(params = {})
1101
+ # @param [Hash] params ({})
1102
+ def delete_vpc_association_authorization(params = {}, options = {})
1103
+ req = build_request(:delete_vpc_association_authorization, params)
1104
+ req.send_request(options)
1105
+ end
1106
+
1107
+ # Disassociates a VPC from a Amazon Route 53 private hosted zone.
1108
+ #
1109
+ # <note markdown="1"> You can't disassociate the last VPC from a private hosted zone.
1110
+ #
1111
+ # </note>
1112
+ #
1113
+ # Send a `POST` request to the `/2013-04-01/hostedzone/hosted zone
1114
+ # ID/disassociatevpc` resource. The request body must include a document
1115
+ # with a `DisassociateVPCFromHostedZoneRequest` element. The response
1116
+ # includes a `DisassociateVPCFromHostedZoneResponse` element.
1117
+ #
1118
+ # You can't disassociate a VPC from a private hosted zone when only one
1119
+ # VPC is associated with the hosted zone. You also can't convert a
1120
+ # private hosted zone into a public hosted zone.
1121
+ # @option params [required, String] :hosted_zone_id
1122
+ # The ID of the private hosted zone that you want to disassociate a VPC
1123
+ # from.
1124
+ # @option params [required, Types::VPC] :vpc
1125
+ # A complex type that contains information about the VPC that you're
1126
+ # disassociating from the specified hosted zone.
1127
+ # @option params [String] :comment
1128
+ # *Optional:* A comment about the disassociation request.
1129
+ # @return [Types::DisassociateVPCFromHostedZoneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1130
+ #
1131
+ # * {Types::DisassociateVPCFromHostedZoneResponse#change_info #ChangeInfo} => Types::ChangeInfo
1132
+ #
1133
+ # @example Request syntax with placeholder values
1134
+ # resp = client.disassociate_vpc_from_hosted_zone({
1135
+ # hosted_zone_id: "ResourceId", # required
1136
+ # vpc: { # required
1137
+ # vpc_region: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-central-1, ap-southeast-1, ap-southeast-2, ap-south-1, ap-northeast-1, ap-northeast-2, sa-east-1, cn-north-1
1138
+ # vpc_id: "VPCId",
1139
+ # },
1140
+ # comment: "DisassociateVPCComment",
1141
+ # })
1142
+ #
1143
+ # @example Response structure
1144
+ # resp.change_info.id #=> String
1145
+ # resp.change_info.status #=> String, one of "PENDING", "INSYNC"
1146
+ # resp.change_info.submitted_at #=> Time
1147
+ # resp.change_info.comment #=> String
1148
+ # @overload disassociate_vpc_from_hosted_zone(params = {})
1149
+ # @param [Hash] params ({})
1150
+ def disassociate_vpc_from_hosted_zone(params = {}, options = {})
1151
+ req = build_request(:disassociate_vpc_from_hosted_zone, params)
1152
+ req.send_request(options)
1153
+ end
1154
+
1155
+ # Returns the current status of a change batch request. The status is
1156
+ # one of the following values:
1157
+ #
1158
+ # * `PENDING` indicates that the changes in this request have not
1159
+ # replicated to all Amazon Route 53 DNS servers. This is the initial
1160
+ # status of all change batch requests.
1161
+ #
1162
+ # * `INSYNC` indicates that the changes have replicated to all Amazon
1163
+ # Route 53 DNS servers.
1164
+ # @option params [required, String] :id
1165
+ # The ID of the change batch request. The value that you specify here is
1166
+ # the value that `ChangeResourceRecordSets` returned in the Id element
1167
+ # when you submitted the request.
1168
+ # @return [Types::GetChangeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1169
+ #
1170
+ # * {Types::GetChangeResponse#change_info #ChangeInfo} => Types::ChangeInfo
1171
+ #
1172
+ # @example Request syntax with placeholder values
1173
+ # resp = client.get_change({
1174
+ # id: "ResourceId", # required
1175
+ # })
1176
+ #
1177
+ # @example Response structure
1178
+ # resp.change_info.id #=> String
1179
+ # resp.change_info.status #=> String, one of "PENDING", "INSYNC"
1180
+ # resp.change_info.submitted_at #=> Time
1181
+ # resp.change_info.comment #=> String
1182
+ # @overload get_change(params = {})
1183
+ # @param [Hash] params ({})
1184
+ def get_change(params = {}, options = {})
1185
+ req = build_request(:get_change, params)
1186
+ req.send_request(options)
1187
+ end
1188
+
1189
+ # Retrieves a list of the IP ranges used by Amazon Route 53 health
1190
+ # checkers to check the health of your resources. Send a `GET` request
1191
+ # to the `/Amazon Route 53 API version/checkeripranges` resource. Use
1192
+ # these IP addresses to configure router and firewall rules to allow
1193
+ # health checkers to check the health of your resources.
1194
+ # @return [Types::GetCheckerIpRangesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1195
+ #
1196
+ # * {Types::GetCheckerIpRangesResponse#checker_ip_ranges #CheckerIpRanges} => Array&lt;String&gt;
1197
+ #
1198
+ # @example Request syntax with placeholder values
1199
+ # resp = client.get_checker_ip_ranges()
1200
+ #
1201
+ # @example Response structure
1202
+ # resp.checker_ip_ranges #=> Array
1203
+ # resp.checker_ip_ranges[0] #=> String
1204
+ # @overload get_checker_ip_ranges(params = {})
1205
+ # @param [Hash] params ({})
1206
+ def get_checker_ip_ranges(params = {}, options = {})
1207
+ req = build_request(:get_checker_ip_ranges, params)
1208
+ req.send_request(options)
1209
+ end
1210
+
1211
+ # Retrieves a single geo location. Send a `GET` request to the
1212
+ # `/2013-04-01/geolocation` resource with one of these options:
1213
+ # continentcode \| countrycode \| countrycode and subdivisioncode.
1214
+ # @option params [String] :continent_code
1215
+ # Amazon Route 53 supports the following continent codes:
1216
+ #
1217
+ # * **AF**\: Africa
1218
+ #
1219
+ # * **AN**\: Antarctica
1220
+ #
1221
+ # * **AS**\: Asia
1222
+ #
1223
+ # * **EU**\: Europe
1224
+ #
1225
+ # * **OC**\: Oceania
1226
+ #
1227
+ # * **NA**\: North America
1228
+ #
1229
+ # * **SA**\: South America
1230
+ # @option params [String] :country_code
1231
+ # Amazon Route 53 uses the two-letter country codes that are specified
1232
+ # in [ISO standard 3166-1 alpha-2][1].
1233
+ #
1234
+ #
1235
+ #
1236
+ # [1]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
1237
+ # @option params [String] :subdivision_code
1238
+ # Amazon Route 53 uses the one- to three-letter subdivision codes that
1239
+ # are specified in [ISO standard 3166-1 alpha-2][1]. Amazon Route 53
1240
+ # doesn't support subdivision codes for all countries. If you specify
1241
+ # `SubdivisionCode`, you must also specify `CountryCode`.
1242
+ #
1243
+ #
1244
+ #
1245
+ # [1]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
1246
+ # @return [Types::GetGeoLocationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1247
+ #
1248
+ # * {Types::GetGeoLocationResponse#geo_location_details #GeoLocationDetails} => Types::GeoLocationDetails
1249
+ #
1250
+ # @example Request syntax with placeholder values
1251
+ # resp = client.get_geo_location({
1252
+ # continent_code: "GeoLocationContinentCode",
1253
+ # country_code: "GeoLocationCountryCode",
1254
+ # subdivision_code: "GeoLocationSubdivisionCode",
1255
+ # })
1256
+ #
1257
+ # @example Response structure
1258
+ # resp.geo_location_details.continent_code #=> String
1259
+ # resp.geo_location_details.continent_name #=> String
1260
+ # resp.geo_location_details.country_code #=> String
1261
+ # resp.geo_location_details.country_name #=> String
1262
+ # resp.geo_location_details.subdivision_code #=> String
1263
+ # resp.geo_location_details.subdivision_name #=> String
1264
+ # @overload get_geo_location(params = {})
1265
+ # @param [Hash] params ({})
1266
+ def get_geo_location(params = {}, options = {})
1267
+ req = build_request(:get_geo_location, params)
1268
+ req.send_request(options)
1269
+ end
1270
+
1271
+ # Gets information about a specified health check. Send a `GET` request
1272
+ # to the `/2013-04-01/healthcheck/health check ID ` resource. For more
1273
+ # information about using the console to perform this operation, see
1274
+ # [Amazon Route 53 Health Checks and DNS Failover][1] in the Amazon
1275
+ # Route 53 Developer Guide.
1276
+ #
1277
+ #
1278
+ #
1279
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html
1280
+ # @option params [required, String] :health_check_id
1281
+ # The identifier that Amazon Route 53 assigned to the health check when
1282
+ # you created it. When you add or update a resource record set, you use
1283
+ # this value to specify which health check to use. The value can be up
1284
+ # to 64 characters long.
1285
+ # @return [Types::GetHealthCheckResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1286
+ #
1287
+ # * {Types::GetHealthCheckResponse#health_check #HealthCheck} => Types::HealthCheck
1288
+ #
1289
+ # @example Request syntax with placeholder values
1290
+ # resp = client.get_health_check({
1291
+ # health_check_id: "HealthCheckId", # required
1292
+ # })
1293
+ #
1294
+ # @example Response structure
1295
+ # resp.health_check.id #=> String
1296
+ # resp.health_check.caller_reference #=> String
1297
+ # resp.health_check.health_check_config.ip_address #=> String
1298
+ # resp.health_check.health_check_config.port #=> Integer
1299
+ # resp.health_check.health_check_config.type #=> String, one of "HTTP", "HTTPS", "HTTP_STR_MATCH", "HTTPS_STR_MATCH", "TCP", "CALCULATED", "CLOUDWATCH_METRIC"
1300
+ # resp.health_check.health_check_config.resource_path #=> String
1301
+ # resp.health_check.health_check_config.fully_qualified_domain_name #=> String
1302
+ # resp.health_check.health_check_config.search_string #=> String
1303
+ # resp.health_check.health_check_config.request_interval #=> Integer
1304
+ # resp.health_check.health_check_config.failure_threshold #=> Integer
1305
+ # resp.health_check.health_check_config.measure_latency #=> Boolean
1306
+ # resp.health_check.health_check_config.inverted #=> Boolean
1307
+ # resp.health_check.health_check_config.health_threshold #=> Integer
1308
+ # resp.health_check.health_check_config.child_health_checks #=> Array
1309
+ # resp.health_check.health_check_config.child_health_checks[0] #=> String
1310
+ # resp.health_check.health_check_config.enable_sni #=> Boolean
1311
+ # resp.health_check.health_check_config.regions #=> Array
1312
+ # resp.health_check.health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1"
1313
+ # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-central-1", "eu-west-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", "sa-east-1"
1314
+ # resp.health_check.health_check_config.alarm_identifier.name #=> String
1315
+ # resp.health_check.health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus"
1316
+ # resp.health_check.health_check_version #=> Integer
1317
+ # resp.health_check.cloud_watch_alarm_configuration.evaluation_periods #=> Integer
1318
+ # resp.health_check.cloud_watch_alarm_configuration.threshold #=> Float
1319
+ # resp.health_check.cloud_watch_alarm_configuration.comparison_operator #=> String, one of "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold"
1320
+ # resp.health_check.cloud_watch_alarm_configuration.period #=> Integer
1321
+ # resp.health_check.cloud_watch_alarm_configuration.metric_name #=> String
1322
+ # resp.health_check.cloud_watch_alarm_configuration.namespace #=> String
1323
+ # resp.health_check.cloud_watch_alarm_configuration.statistic #=> String, one of "Average", "Sum", "SampleCount", "Maximum", "Minimum"
1324
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions #=> Array
1325
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions[0].name #=> String
1326
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions[0].value #=> String
1327
+ # @overload get_health_check(params = {})
1328
+ # @param [Hash] params ({})
1329
+ def get_health_check(params = {}, options = {})
1330
+ req = build_request(:get_health_check, params)
1331
+ req.send_request(options)
1332
+ end
1333
+
1334
+ # To retrieve a count of all your health checks, send a `GET` request to
1335
+ # the `/2013-04-01/healthcheckcount` resource.
1336
+ # @return [Types::GetHealthCheckCountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1337
+ #
1338
+ # * {Types::GetHealthCheckCountResponse#health_check_count #HealthCheckCount} => Integer
1339
+ #
1340
+ # @example Request syntax with placeholder values
1341
+ # resp = client.get_health_check_count()
1342
+ #
1343
+ # @example Response structure
1344
+ # resp.health_check_count #=> Integer
1345
+ # @overload get_health_check_count(params = {})
1346
+ # @param [Hash] params ({})
1347
+ def get_health_check_count(params = {}, options = {})
1348
+ req = build_request(:get_health_check_count, params)
1349
+ req.send_request(options)
1350
+ end
1351
+
1352
+ # If you want to learn why a health check is currently failing or why it
1353
+ # failed most recently (if at all), you can get the failure reason for
1354
+ # the most recent failure. Send a `GET` request to the `/Amazon Route 53
1355
+ # API version/healthcheck/health check ID/lastfailurereason` resource.
1356
+ # @option params [required, String] :health_check_id
1357
+ # The ID for the health check for which you want the last failure
1358
+ # reason. When you created the health check, `CreateHealthCheck`
1359
+ # returned the ID in the response, in the `HealthCheckId` element.
1360
+ # @return [Types::GetHealthCheckLastFailureReasonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1361
+ #
1362
+ # * {Types::GetHealthCheckLastFailureReasonResponse#health_check_observations #HealthCheckObservations} => Array&lt;Types::HealthCheckObservation&gt;
1363
+ #
1364
+ # @example Request syntax with placeholder values
1365
+ # resp = client.get_health_check_last_failure_reason({
1366
+ # health_check_id: "HealthCheckId", # required
1367
+ # })
1368
+ #
1369
+ # @example Response structure
1370
+ # resp.health_check_observations #=> Array
1371
+ # resp.health_check_observations[0].region #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1"
1372
+ # resp.health_check_observations[0].ip_address #=> String
1373
+ # resp.health_check_observations[0].status_report.status #=> String
1374
+ # resp.health_check_observations[0].status_report.checked_time #=> Time
1375
+ # @overload get_health_check_last_failure_reason(params = {})
1376
+ # @param [Hash] params ({})
1377
+ def get_health_check_last_failure_reason(params = {}, options = {})
1378
+ req = build_request(:get_health_check_last_failure_reason, params)
1379
+ req.send_request(options)
1380
+ end
1381
+
1382
+ # Gets status of a specified health check. Send a `GET` request to the
1383
+ # `/2013-04-01/healthcheck/health check ID/status` resource. You can use
1384
+ # this call to get a health check's current status.
1385
+ # @option params [required, String] :health_check_id
1386
+ # If you want Amazon Route 53 to return this resource record set in
1387
+ # response to a DNS query only when a health check is passing, include
1388
+ # the `HealthCheckId` element and specify the ID of the applicable
1389
+ # health check.
1390
+ #
1391
+ # Amazon Route 53 determines whether a resource record set is healthy by
1392
+ # periodically sending a request to the endpoint that is specified in
1393
+ # the health check. If that endpoint returns an HTTP status code of 2xx
1394
+ # or 3xx, the endpoint is healthy. If the endpoint returns an HTTP
1395
+ # status code of 400 or greater, or if the endpoint doesn't respond for
1396
+ # a certain amount of time, Amazon Route 53 considers the endpoint
1397
+ # unhealthy and also considers the resource record set unhealthy.
1398
+ #
1399
+ # The `HealthCheckId` element is only useful when Amazon Route 53 is
1400
+ # choosing between two or more resource record sets to respond to a DNS
1401
+ # query, and you want Amazon Route 53 to base the choice in part on the
1402
+ # status of a health check. Configuring health checks only makes sense
1403
+ # in the following configurations:
1404
+ #
1405
+ # * You're checking the health of the resource record sets in a
1406
+ # weighted, latency, geolocation, or failover resource record set, and
1407
+ # you specify health check IDs for all of the resource record sets. If
1408
+ # the health check for one resource record set specifies an endpoint
1409
+ # that is not healthy, Amazon Route 53 stops responding to queries
1410
+ # using the value for that resource record set.
1411
+ #
1412
+ # * You set `EvaluateTargetHealth` to `true` for the resource record
1413
+ # sets in an alias, weighted alias, latency alias, geolocation alias,
1414
+ # or failover alias resource record set, and you specify health check
1415
+ # IDs for all of the resource record sets that are referenced by the
1416
+ # alias resource record sets. For more information about this
1417
+ # configuration, see `EvaluateTargetHealth`.
1418
+ #
1419
+ # Amazon Route 53 doesn't check the health of the endpoint specified
1420
+ # in the resource record set, for example, the endpoint specified by
1421
+ # the IP address in the `Value` element. When you add a
1422
+ # `HealthCheckId` element to a resource record set, Amazon Route 53
1423
+ # checks the health of the endpoint that you specified in the health
1424
+ # check.
1425
+ #
1426
+ # For geolocation resource record sets, if an endpoint is unhealthy,
1427
+ # Amazon Route 53 looks for a resource record set for the larger,
1428
+ # associated geographic region. For example, suppose you have resource
1429
+ # record sets for a state in the United States, for the United States,
1430
+ # for North America, and for all locations. If the endpoint for the
1431
+ # state resource record set is unhealthy, Amazon Route 53 checks the
1432
+ # resource record sets for the United States, for North America, and for
1433
+ # all locations (a resource record set for which the value of
1434
+ # CountryCode is `*`), in that order, until it finds a resource record
1435
+ # set for which the endpoint is healthy.
1436
+ #
1437
+ # If your health checks specify the endpoint only by domain name, we
1438
+ # recommend that you create a separate health check for each endpoint.
1439
+ # For example, create a health check for each HTTP server that is
1440
+ # serving content for www.example.com. For the value of
1441
+ # `FullyQualifiedDomainName`, specify the domain name of the server
1442
+ # (such as `us-east-1-www.example.com`), not the name of the resource
1443
+ # record sets (example.com).
1444
+ #
1445
+ # In this configuration, if you create a health check for which the
1446
+ # value of `FullyQualifiedDomainName` matches the name of the resource
1447
+ # record sets and then associate the health check with those resource
1448
+ # record sets, health check results will be unpredictable.
1449
+ # @return [Types::GetHealthCheckStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1450
+ #
1451
+ # * {Types::GetHealthCheckStatusResponse#health_check_observations #HealthCheckObservations} => Array&lt;Types::HealthCheckObservation&gt;
1452
+ #
1453
+ # @example Request syntax with placeholder values
1454
+ # resp = client.get_health_check_status({
1455
+ # health_check_id: "HealthCheckId", # required
1456
+ # })
1457
+ #
1458
+ # @example Response structure
1459
+ # resp.health_check_observations #=> Array
1460
+ # resp.health_check_observations[0].region #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1"
1461
+ # resp.health_check_observations[0].ip_address #=> String
1462
+ # resp.health_check_observations[0].status_report.status #=> String
1463
+ # resp.health_check_observations[0].status_report.checked_time #=> Time
1464
+ # @overload get_health_check_status(params = {})
1465
+ # @param [Hash] params ({})
1466
+ def get_health_check_status(params = {}, options = {})
1467
+ req = build_request(:get_health_check_status, params)
1468
+ req.send_request(options)
1469
+ end
1470
+
1471
+ # Retrieves the delegation set for a hosted zone, including the four
1472
+ # name servers assigned to the hosted zone. Send a `GET` request to the
1473
+ # `/Amazon Route 53 API version/hostedzone/hosted zone ID ` resource.
1474
+ # @option params [required, String] :id
1475
+ # The ID of the hosted zone for which you want to get a list of the name
1476
+ # servers in the delegation set.
1477
+ # @return [Types::GetHostedZoneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1478
+ #
1479
+ # * {Types::GetHostedZoneResponse#hosted_zone #HostedZone} => Types::HostedZone
1480
+ # * {Types::GetHostedZoneResponse#delegation_set #DelegationSet} => Types::DelegationSet
1481
+ # * {Types::GetHostedZoneResponse#vp_cs #VPCs} => Array&lt;Types::VPC&gt;
1482
+ #
1483
+ # @example Request syntax with placeholder values
1484
+ # resp = client.get_hosted_zone({
1485
+ # id: "ResourceId", # required
1486
+ # })
1487
+ #
1488
+ # @example Response structure
1489
+ # resp.hosted_zone.id #=> String
1490
+ # resp.hosted_zone.name #=> String
1491
+ # resp.hosted_zone.caller_reference #=> String
1492
+ # resp.hosted_zone.config.comment #=> String
1493
+ # resp.hosted_zone.config.private_zone #=> Boolean
1494
+ # resp.hosted_zone.resource_record_set_count #=> Integer
1495
+ # resp.delegation_set.id #=> String
1496
+ # resp.delegation_set.caller_reference #=> String
1497
+ # resp.delegation_set.name_servers #=> Array
1498
+ # resp.delegation_set.name_servers[0] #=> String
1499
+ # resp.vp_cs #=> Array
1500
+ # resp.vp_cs[0].vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-central-1", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "ap-northeast-1", "ap-northeast-2", "sa-east-1", "cn-north-1"
1501
+ # resp.vp_cs[0].vpc_id #=> String
1502
+ # @overload get_hosted_zone(params = {})
1503
+ # @param [Hash] params ({})
1504
+ def get_hosted_zone(params = {}, options = {})
1505
+ req = build_request(:get_hosted_zone, params)
1506
+ req.send_request(options)
1507
+ end
1508
+
1509
+ # Retrieves a count of all your hosted zones. Send a `GET` request to
1510
+ # the `/2013-04-01/hostedzonecount` resource.
1511
+ # @return [Types::GetHostedZoneCountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1512
+ #
1513
+ # * {Types::GetHostedZoneCountResponse#hosted_zone_count #HostedZoneCount} => Integer
1514
+ #
1515
+ # @example Request syntax with placeholder values
1516
+ # resp = client.get_hosted_zone_count()
1517
+ #
1518
+ # @example Response structure
1519
+ # resp.hosted_zone_count #=> Integer
1520
+ # @overload get_hosted_zone_count(params = {})
1521
+ # @param [Hash] params ({})
1522
+ def get_hosted_zone_count(params = {}, options = {})
1523
+ req = build_request(:get_hosted_zone_count, params)
1524
+ req.send_request(options)
1525
+ end
1526
+
1527
+ # Retrieves the reusable delegation set. Send a `GET` request to the
1528
+ # `/2013-04-01/delegationset/delegation set ID ` resource.
1529
+ # @option params [required, String] :id
1530
+ # The ID of the reusable delegation set for which you want to get a list
1531
+ # of the name server.
1532
+ # @return [Types::GetReusableDelegationSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1533
+ #
1534
+ # * {Types::GetReusableDelegationSetResponse#delegation_set #DelegationSet} => Types::DelegationSet
1535
+ #
1536
+ # @example Request syntax with placeholder values
1537
+ # resp = client.get_reusable_delegation_set({
1538
+ # id: "ResourceId", # required
1539
+ # })
1540
+ #
1541
+ # @example Response structure
1542
+ # resp.delegation_set.id #=> String
1543
+ # resp.delegation_set.caller_reference #=> String
1544
+ # resp.delegation_set.name_servers #=> Array
1545
+ # resp.delegation_set.name_servers[0] #=> String
1546
+ # @overload get_reusable_delegation_set(params = {})
1547
+ # @param [Hash] params ({})
1548
+ def get_reusable_delegation_set(params = {}, options = {})
1549
+ req = build_request(:get_reusable_delegation_set, params)
1550
+ req.send_request(options)
1551
+ end
1552
+
1553
+ # Gets information about a specific traffic policy version.
1554
+ #
1555
+ # Send a `GET` request to the `/Amazon Route 53 API
1556
+ # version/trafficpolicy` resource.
1557
+ # @option params [required, String] :id
1558
+ # The ID of the traffic policy that you want to get information about.
1559
+ # @option params [required, Integer] :version
1560
+ # The version number of the traffic policy that you want to get
1561
+ # information about.
1562
+ # @return [Types::GetTrafficPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1563
+ #
1564
+ # * {Types::GetTrafficPolicyResponse#traffic_policy #TrafficPolicy} => Types::TrafficPolicy
1565
+ #
1566
+ # @example Request syntax with placeholder values
1567
+ # resp = client.get_traffic_policy({
1568
+ # id: "TrafficPolicyId", # required
1569
+ # version: 1, # required
1570
+ # })
1571
+ #
1572
+ # @example Response structure
1573
+ # resp.traffic_policy.id #=> String
1574
+ # resp.traffic_policy.version #=> Integer
1575
+ # resp.traffic_policy.name #=> String
1576
+ # resp.traffic_policy.type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
1577
+ # resp.traffic_policy.document #=> String
1578
+ # resp.traffic_policy.comment #=> String
1579
+ # @overload get_traffic_policy(params = {})
1580
+ # @param [Hash] params ({})
1581
+ def get_traffic_policy(params = {}, options = {})
1582
+ req = build_request(:get_traffic_policy, params)
1583
+ req.send_request(options)
1584
+ end
1585
+
1586
+ # Gets information about a specified traffic policy instance.
1587
+ #
1588
+ # Send a `GET` request to the `/Amazon Route 53 API
1589
+ # version/trafficpolicyinstance` resource.
1590
+ #
1591
+ # <note markdown="1"> After you submit a `CreateTrafficPolicyInstance` or an
1592
+ # `UpdateTrafficPolicyInstance` request, there's a brief delay while
1593
+ # Amazon Route 53 creates the resource record sets that are specified in
1594
+ # the traffic policy definition. For more information, see the `State`
1595
+ # response element.
1596
+ #
1597
+ # </note>
1598
+ #
1599
+ # <note markdown="1"> In the Amazon Route 53 console, traffic policy instances are known as
1600
+ # policy records.
1601
+ #
1602
+ # </note>
1603
+ # @option params [required, String] :id
1604
+ # The ID of the traffic policy instance that you want to get information
1605
+ # about.
1606
+ # @return [Types::GetTrafficPolicyInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1607
+ #
1608
+ # * {Types::GetTrafficPolicyInstanceResponse#traffic_policy_instance #TrafficPolicyInstance} => Types::TrafficPolicyInstance
1609
+ #
1610
+ # @example Request syntax with placeholder values
1611
+ # resp = client.get_traffic_policy_instance({
1612
+ # id: "TrafficPolicyInstanceId", # required
1613
+ # })
1614
+ #
1615
+ # @example Response structure
1616
+ # resp.traffic_policy_instance.id #=> String
1617
+ # resp.traffic_policy_instance.hosted_zone_id #=> String
1618
+ # resp.traffic_policy_instance.name #=> String
1619
+ # resp.traffic_policy_instance.ttl #=> Integer
1620
+ # resp.traffic_policy_instance.state #=> String
1621
+ # resp.traffic_policy_instance.message #=> String
1622
+ # resp.traffic_policy_instance.traffic_policy_id #=> String
1623
+ # resp.traffic_policy_instance.traffic_policy_version #=> Integer
1624
+ # resp.traffic_policy_instance.traffic_policy_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
1625
+ # @overload get_traffic_policy_instance(params = {})
1626
+ # @param [Hash] params ({})
1627
+ def get_traffic_policy_instance(params = {}, options = {})
1628
+ req = build_request(:get_traffic_policy_instance, params)
1629
+ req.send_request(options)
1630
+ end
1631
+
1632
+ # Gets the number of traffic policy instances that are associated with
1633
+ # the current AWS account.
1634
+ #
1635
+ # To get the number of traffic policy instances, send a `GET` request to
1636
+ # the `/2013-04-01/trafficpolicyinstancecount` resource.
1637
+ # @return [Types::GetTrafficPolicyInstanceCountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1638
+ #
1639
+ # * {Types::GetTrafficPolicyInstanceCountResponse#traffic_policy_instance_count #TrafficPolicyInstanceCount} => Integer
1640
+ #
1641
+ # @example Request syntax with placeholder values
1642
+ # resp = client.get_traffic_policy_instance_count()
1643
+ #
1644
+ # @example Response structure
1645
+ # resp.traffic_policy_instance_count #=> Integer
1646
+ # @overload get_traffic_policy_instance_count(params = {})
1647
+ # @param [Hash] params ({})
1648
+ def get_traffic_policy_instance_count(params = {}, options = {})
1649
+ req = build_request(:get_traffic_policy_instance_count, params)
1650
+ req.send_request(options)
1651
+ end
1652
+
1653
+ # Retrieves a list of supported geo locations. Send a `GET` request to
1654
+ # the `/2013-04-01/geolocations` resource. The response to this request
1655
+ # includes a `GeoLocationDetailsList` element for each location that
1656
+ # Amazon Route 53 supports.
1657
+ #
1658
+ # Countries are listed first, and continents are listed last. If Amazon
1659
+ # Route 53 supports subdivisions for a country (for example, states or
1660
+ # provinces), the subdivisions for that country are listed in
1661
+ # alphabetical order immediately after the corresponding country.
1662
+ # @option params [String] :start_continent_code
1663
+ # The code for the continent with which you want to start listing
1664
+ # locations that Amazon Route 53 supports for geolocation. If Amazon
1665
+ # Route 53 has already returned a page or more of results, if
1666
+ # `IsTruncated` is true, and if `NextContinentCode` from the previous
1667
+ # response has a value, enter that value in `StartContinentCode` to
1668
+ # return the next page of results.
1669
+ #
1670
+ # Include `StartContinentCode` only if you want to list continents.
1671
+ # Don't include `StartContinentCode` when you're listing countries or
1672
+ # countries with their subdivisions.
1673
+ # @option params [String] :start_country_code
1674
+ # The code for the country with which you want to start listing
1675
+ # locations that Amazon Route 53 supports for geolocation. If Amazon
1676
+ # Route 53 has already returned a page or more of results, if
1677
+ # `IsTruncated` is `true`, and if `NextCountryCode` from the previous
1678
+ # response has a value, enter that value in `StartCountryCode` to return
1679
+ # the next page of results.
1680
+ #
1681
+ # Amazon Route 53 uses the two-letter country codes that are specified
1682
+ # in [ISO standard 3166-1 alpha-2][1].
1683
+ #
1684
+ #
1685
+ #
1686
+ # [1]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
1687
+ # @option params [String] :start_subdivision_code
1688
+ # The code for the subdivision (for example, state or province) with
1689
+ # which you want to start listing locations that Amazon Route 53
1690
+ # supports for geolocation. If Amazon Route 53 has already returned a
1691
+ # page or more of results, if `IsTruncated` is `true`, and if
1692
+ # `NextSubdivisionCode` from the previous response has a value, enter
1693
+ # that value in `StartSubdivisionCode` to return the next page of
1694
+ # results.
1695
+ #
1696
+ # To list subdivisions of a country, you must include both
1697
+ # `StartCountryCode` and `StartSubdivisionCode`.
1698
+ # @option params [Integer] :max_items
1699
+ # (Optional) The maximum number of geolocations to be included in the
1700
+ # response body for this request. If more than `MaxItems` geolocations
1701
+ # remain to be listed, then the value of the `IsTruncated` element in
1702
+ # the response is `true`.
1703
+ # @return [Types::ListGeoLocationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1704
+ #
1705
+ # * {Types::ListGeoLocationsResponse#geo_location_details_list #GeoLocationDetailsList} => Array&lt;Types::GeoLocationDetails&gt;
1706
+ # * {Types::ListGeoLocationsResponse#is_truncated #IsTruncated} => Boolean
1707
+ # * {Types::ListGeoLocationsResponse#next_continent_code #NextContinentCode} => String
1708
+ # * {Types::ListGeoLocationsResponse#next_country_code #NextCountryCode} => String
1709
+ # * {Types::ListGeoLocationsResponse#next_subdivision_code #NextSubdivisionCode} => String
1710
+ # * {Types::ListGeoLocationsResponse#max_items #MaxItems} => Integer
1711
+ #
1712
+ # @example Request syntax with placeholder values
1713
+ # resp = client.list_geo_locations({
1714
+ # start_continent_code: "GeoLocationContinentCode",
1715
+ # start_country_code: "GeoLocationCountryCode",
1716
+ # start_subdivision_code: "GeoLocationSubdivisionCode",
1717
+ # max_items: 1,
1718
+ # })
1719
+ #
1720
+ # @example Response structure
1721
+ # resp.geo_location_details_list #=> Array
1722
+ # resp.geo_location_details_list[0].continent_code #=> String
1723
+ # resp.geo_location_details_list[0].continent_name #=> String
1724
+ # resp.geo_location_details_list[0].country_code #=> String
1725
+ # resp.geo_location_details_list[0].country_name #=> String
1726
+ # resp.geo_location_details_list[0].subdivision_code #=> String
1727
+ # resp.geo_location_details_list[0].subdivision_name #=> String
1728
+ # resp.is_truncated #=> Boolean
1729
+ # resp.next_continent_code #=> String
1730
+ # resp.next_country_code #=> String
1731
+ # resp.next_subdivision_code #=> String
1732
+ # resp.max_items #=> Integer
1733
+ # @overload list_geo_locations(params = {})
1734
+ # @param [Hash] params ({})
1735
+ def list_geo_locations(params = {}, options = {})
1736
+ req = build_request(:list_geo_locations, params)
1737
+ req.send_request(options)
1738
+ end
1739
+
1740
+ # Retrieve a list of your health checks. Send a `GET` request to the
1741
+ # `/2013-04-01/healthcheck` resource. The response to this request
1742
+ # includes a `HealthChecks` element with zero or more `HealthCheck`
1743
+ # child elements. By default, the list of health checks is displayed on
1744
+ # a single page. You can control the length of the page that is
1745
+ # displayed by using the `MaxItems` parameter. You can use the `Marker`
1746
+ # parameter to control the health check that the list begins with.
1747
+ #
1748
+ # For information about listing health checks using the Amazon Route 53
1749
+ # console, see [Amazon Route 53 Health Checks and DNS Failover][1].
1750
+ #
1751
+ #
1752
+ #
1753
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html
1754
+ # @option params [String] :marker
1755
+ # If the response to a `ListHealthChecks` is more than one page, marker
1756
+ # is the health check ID for the first health check on the next page of
1757
+ # results. For more information, see ListHealthChecksResponse$MaxItems.
1758
+ # @option params [Integer] :max_items
1759
+ # The maximum number of `HealthCheck` elements you want
1760
+ # `ListHealthChecks` to return on each page of the response body. If the
1761
+ # AWS account includes more `HealthCheck` elements than the value of
1762
+ # `maxitems`, the response is broken into pages. Each page contains the
1763
+ # number of `HealthCheck` elements specified by `maxitems`.
1764
+ #
1765
+ # For example, suppose you specify `10` for `maxitems` and the current
1766
+ # AWS account has `51` health checks. In the response,
1767
+ # `ListHealthChecks` sets ListHealthChecksResponse$IsTruncated to true
1768
+ # and includes the ListHealthChecksResponse$NextMarker element. To
1769
+ # access the second and subsequent pages, you resend the `GET`
1770
+ # `ListHealthChecks` request, add the ListHealthChecksResponse$Marker
1771
+ # parameter to the request, and specify the value of the
1772
+ # ListHealthChecksResponse$NextMarker element from the previous
1773
+ # response. On the last (sixth) page of the response, which contains
1774
+ # only one HealthCheck element:
1775
+ #
1776
+ # * The value of ListHealthChecksResponse$IsTruncated is `false`.
1777
+ #
1778
+ # * ListHealthChecksResponse$NextMarker is omitted.
1779
+ # @return [Types::ListHealthChecksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1780
+ #
1781
+ # * {Types::ListHealthChecksResponse#health_checks #HealthChecks} => Array&lt;Types::HealthCheck&gt;
1782
+ # * {Types::ListHealthChecksResponse#marker #Marker} => String
1783
+ # * {Types::ListHealthChecksResponse#is_truncated #IsTruncated} => Boolean
1784
+ # * {Types::ListHealthChecksResponse#next_marker #NextMarker} => String
1785
+ # * {Types::ListHealthChecksResponse#max_items #MaxItems} => Integer
1786
+ #
1787
+ # @example Request syntax with placeholder values
1788
+ # resp = client.list_health_checks({
1789
+ # marker: "PageMarker",
1790
+ # max_items: 1,
1791
+ # })
1792
+ #
1793
+ # @example Response structure
1794
+ # resp.health_checks #=> Array
1795
+ # resp.health_checks[0].id #=> String
1796
+ # resp.health_checks[0].caller_reference #=> String
1797
+ # resp.health_checks[0].health_check_config.ip_address #=> String
1798
+ # resp.health_checks[0].health_check_config.port #=> Integer
1799
+ # resp.health_checks[0].health_check_config.type #=> String, one of "HTTP", "HTTPS", "HTTP_STR_MATCH", "HTTPS_STR_MATCH", "TCP", "CALCULATED", "CLOUDWATCH_METRIC"
1800
+ # resp.health_checks[0].health_check_config.resource_path #=> String
1801
+ # resp.health_checks[0].health_check_config.fully_qualified_domain_name #=> String
1802
+ # resp.health_checks[0].health_check_config.search_string #=> String
1803
+ # resp.health_checks[0].health_check_config.request_interval #=> Integer
1804
+ # resp.health_checks[0].health_check_config.failure_threshold #=> Integer
1805
+ # resp.health_checks[0].health_check_config.measure_latency #=> Boolean
1806
+ # resp.health_checks[0].health_check_config.inverted #=> Boolean
1807
+ # resp.health_checks[0].health_check_config.health_threshold #=> Integer
1808
+ # resp.health_checks[0].health_check_config.child_health_checks #=> Array
1809
+ # resp.health_checks[0].health_check_config.child_health_checks[0] #=> String
1810
+ # resp.health_checks[0].health_check_config.enable_sni #=> Boolean
1811
+ # resp.health_checks[0].health_check_config.regions #=> Array
1812
+ # resp.health_checks[0].health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1"
1813
+ # resp.health_checks[0].health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-central-1", "eu-west-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", "sa-east-1"
1814
+ # resp.health_checks[0].health_check_config.alarm_identifier.name #=> String
1815
+ # resp.health_checks[0].health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus"
1816
+ # resp.health_checks[0].health_check_version #=> Integer
1817
+ # resp.health_checks[0].cloud_watch_alarm_configuration.evaluation_periods #=> Integer
1818
+ # resp.health_checks[0].cloud_watch_alarm_configuration.threshold #=> Float
1819
+ # resp.health_checks[0].cloud_watch_alarm_configuration.comparison_operator #=> String, one of "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold"
1820
+ # resp.health_checks[0].cloud_watch_alarm_configuration.period #=> Integer
1821
+ # resp.health_checks[0].cloud_watch_alarm_configuration.metric_name #=> String
1822
+ # resp.health_checks[0].cloud_watch_alarm_configuration.namespace #=> String
1823
+ # resp.health_checks[0].cloud_watch_alarm_configuration.statistic #=> String, one of "Average", "Sum", "SampleCount", "Maximum", "Minimum"
1824
+ # resp.health_checks[0].cloud_watch_alarm_configuration.dimensions #=> Array
1825
+ # resp.health_checks[0].cloud_watch_alarm_configuration.dimensions[0].name #=> String
1826
+ # resp.health_checks[0].cloud_watch_alarm_configuration.dimensions[0].value #=> String
1827
+ # resp.marker #=> String
1828
+ # resp.is_truncated #=> Boolean
1829
+ # resp.next_marker #=> String
1830
+ # resp.max_items #=> Integer
1831
+ # @overload list_health_checks(params = {})
1832
+ # @param [Hash] params ({})
1833
+ def list_health_checks(params = {}, options = {})
1834
+ req = build_request(:list_health_checks, params)
1835
+ req.send_request(options)
1836
+ end
1837
+
1838
+ # To retrieve a list of your public and private hosted zones, send a
1839
+ # `GET` request to the `/2013-04-01/hostedzone` resource. The response
1840
+ # to this request includes a `HostedZones` child element for each hosted
1841
+ # zone created by the current AWS account.
1842
+ #
1843
+ # Amazon Route 53 returns a maximum of 100 items in each response. If
1844
+ # you have a lot of hosted zones, you can use the `maxitems` parameter
1845
+ # to list them in groups of up to 100. The response includes four values
1846
+ # that help navigate from one group of `maxitems` hosted zones to the
1847
+ # next:
1848
+ #
1849
+ # * `MaxItems` is the value specified for the `maxitems` parameter in
1850
+ # the request that produced the current response.
1851
+ #
1852
+ # * If the value of `IsTruncated` in the response is true, there are
1853
+ # more hosted zones associated with the current AWS account.
1854
+ #
1855
+ # * `NextMarker` is the hosted zone ID of the next hosted zone that is
1856
+ # associated with the current AWS account. If you want to list more
1857
+ # hosted zones, make another call to `ListHostedZones`, and specify
1858
+ # the value of the `NextMarker` element in the marker parameter.
1859
+ #
1860
+ # If `IsTruncated` is false, the `NextMarker` element is omitted from
1861
+ # the response.
1862
+ #
1863
+ # * If you're making the second or subsequent call to
1864
+ # `ListHostedZones`, the `Marker` element matches the value that you
1865
+ # specified in the `marker` parameter in the previous request.
1866
+ # @option params [String] :marker
1867
+ # (Optional) If you have more hosted zones than the value of `maxitems`,
1868
+ # `ListHostedZones` returns only the first `maxitems` hosted zones. To
1869
+ # get the next group of `maxitems` hosted zones, submit another request
1870
+ # to `ListHostedZones`. For the value of marker, specify the value of
1871
+ # the `NextMarker` element that was returned in the previous response.
1872
+ #
1873
+ # Hosted zones are listed in the order in which they were created.
1874
+ # @option params [Integer] :max_items
1875
+ # (Optional) The maximum number of hosted zones to be included in the
1876
+ # response body for this request. If you have more than `maxitems`
1877
+ # hosted zones, the value of the `IsTruncated` element in the response
1878
+ # is `true`, and the value of the `NextMarker` element is the hosted
1879
+ # zone ID of the first hosted zone in the next group of `maxitems`
1880
+ # hosted zones.
1881
+ # @option params [String] :delegation_set_id
1882
+ # If you're using reusable delegation sets and you want to list all of
1883
+ # the hosted zones that are associated with a reusable delegation set,
1884
+ # specify the ID of that reusable delegation set.
1885
+ # @return [Types::ListHostedZonesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1886
+ #
1887
+ # * {Types::ListHostedZonesResponse#hosted_zones #HostedZones} => Array&lt;Types::HostedZone&gt;
1888
+ # * {Types::ListHostedZonesResponse#marker #Marker} => String
1889
+ # * {Types::ListHostedZonesResponse#is_truncated #IsTruncated} => Boolean
1890
+ # * {Types::ListHostedZonesResponse#next_marker #NextMarker} => String
1891
+ # * {Types::ListHostedZonesResponse#max_items #MaxItems} => Integer
1892
+ #
1893
+ # @example Request syntax with placeholder values
1894
+ # resp = client.list_hosted_zones({
1895
+ # marker: "PageMarker",
1896
+ # max_items: 1,
1897
+ # delegation_set_id: "ResourceId",
1898
+ # })
1899
+ #
1900
+ # @example Response structure
1901
+ # resp.hosted_zones #=> Array
1902
+ # resp.hosted_zones[0].id #=> String
1903
+ # resp.hosted_zones[0].name #=> String
1904
+ # resp.hosted_zones[0].caller_reference #=> String
1905
+ # resp.hosted_zones[0].config.comment #=> String
1906
+ # resp.hosted_zones[0].config.private_zone #=> Boolean
1907
+ # resp.hosted_zones[0].resource_record_set_count #=> Integer
1908
+ # resp.marker #=> String
1909
+ # resp.is_truncated #=> Boolean
1910
+ # resp.next_marker #=> String
1911
+ # resp.max_items #=> Integer
1912
+ # @overload list_hosted_zones(params = {})
1913
+ # @param [Hash] params ({})
1914
+ def list_hosted_zones(params = {}, options = {})
1915
+ req = build_request(:list_hosted_zones, params)
1916
+ req.send_request(options)
1917
+ end
1918
+
1919
+ # Retrieves a list of your hosted zones in lexicographic order. Send a
1920
+ # `GET` request to the `/2013-04-01/hostedzonesbyname` resource. The
1921
+ # response includes a `HostedZones` child element for each hosted zone
1922
+ # created by the current AWS account.
1923
+ #
1924
+ # `ListHostedZonesByName` sorts hosted zones by name with the labels
1925
+ # reversed. For example:
1926
+ #
1927
+ # * `com.example.www.`
1928
+ #
1929
+ # ^
1930
+ #
1931
+ # Note the trailing dot, which can change the sort order in some
1932
+ # circumstances.
1933
+ #
1934
+ # If the domain name includes escape characters or Punycode,
1935
+ # `ListHostedZonesByName` alphabetizes the domain name using the escaped
1936
+ # or Punycoded value, which is the format that Amazon Route 53 saves in
1937
+ # its database. For example, to create a hosted zone for example.com,
1938
+ # specify ex\\344mple.com for the domain name. `ListHostedZonesByName`
1939
+ # alphabetizes it as:
1940
+ #
1941
+ # * `com.ex\344mple.`
1942
+ #
1943
+ # ^
1944
+ #
1945
+ # The labels are reversed and alphabetized using the escaped value. For
1946
+ # more information about valid domain name formats, including
1947
+ # internationalized domain names, see [DNS Domain Name Format][1] in the
1948
+ # Amazon Route 53 Developer Guide.
1949
+ #
1950
+ # Amazon Route 53 returns up to 100 items in each response. If you have
1951
+ # a lot of hosted zones, use the `MaxItems` parameter to list them in
1952
+ # groups of up to 100. The response includes values that help navigate
1953
+ # from one group of `MaxItems` hosted zones to the next:
1954
+ #
1955
+ # * The `DNSName` and `HostedZoneId` elements in the response contain
1956
+ # the values, if any, specified for the `dnsname` and `hostedzoneid`
1957
+ # parameters in the request that produced the current response.
1958
+ #
1959
+ # * The `MaxItems` element in the response contains the value, if any,
1960
+ # that you specified for the `maxitems` parameter in the request that
1961
+ # produced the current response.
1962
+ #
1963
+ # * If the value of `IsTruncated` in the response is true, there are
1964
+ # more hosted zones associated with the current AWS account.
1965
+ #
1966
+ # If `IsTruncated` is false, this response includes the last hosted
1967
+ # zone that is associated with the current account. The `NextDNSName`
1968
+ # element and `NextHostedZoneId` elements are omitted from the
1969
+ # response.
1970
+ #
1971
+ # * The `NextDNSName` and `NextHostedZoneId` elements in the response
1972
+ # contain the domain name and the hosted zone ID of the next hosted
1973
+ # zone that is associated with the current AWS account. If you want to
1974
+ # list more hosted zones, make another call to
1975
+ # `ListHostedZonesByName`, and specify the value of `NextDNSName` and
1976
+ # `NextHostedZoneId` in the `dnsname` and `hostedzoneid` parameters,
1977
+ # respectively.
1978
+ #
1979
+ #
1980
+ #
1981
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html
1982
+ # @option params [String] :dns_name
1983
+ # (Optional) For your first request to `ListHostedZonesByName`, include
1984
+ # the `dnsname` parameter only if you want to specify the name of the
1985
+ # first hosted zone in the response. If you don't include the `dnsname`
1986
+ # parameter, Amazon Route 53 returns all of the hosted zones that were
1987
+ # created by the current AWS account, in ASCII order. For subsequent
1988
+ # requests, include both `dnsname` and `hostedzoneid` parameters. For
1989
+ # `dnsname`, specify the value of `NextDNSName` from the previous
1990
+ # response.
1991
+ # @option params [String] :hosted_zone_id
1992
+ # (Optional) For your first request to `ListHostedZonesByName`, do not
1993
+ # include the `hostedzoneid` parameter.
1994
+ #
1995
+ # If you have more hosted zones than the value of `maxitems`,
1996
+ # `ListHostedZonesByName` returns only the first `maxitems` hosted
1997
+ # zones. To get the next group of `maxitems` hosted zones, submit
1998
+ # another request to `ListHostedZonesByName` and include both `dnsname`
1999
+ # and `hostedzoneid` parameters. For the value of `hostedzoneid`,
2000
+ # specify the value of the `NextHostedZoneId` element from the previous
2001
+ # response.
2002
+ # @option params [Integer] :max_items
2003
+ # The maximum number of hosted zones to be included in the response body
2004
+ # for this request. If you have more than `maxitems` hosted zones, then
2005
+ # the value of the `IsTruncated` element in the response is true, and
2006
+ # the values of `NextDNSName` and `NextHostedZoneId` specify the first
2007
+ # hosted zone in the next group of `maxitems` hosted zones.
2008
+ # @return [Types::ListHostedZonesByNameResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2009
+ #
2010
+ # * {Types::ListHostedZonesByNameResponse#hosted_zones #HostedZones} => Array&lt;Types::HostedZone&gt;
2011
+ # * {Types::ListHostedZonesByNameResponse#dns_name #DNSName} => String
2012
+ # * {Types::ListHostedZonesByNameResponse#hosted_zone_id #HostedZoneId} => String
2013
+ # * {Types::ListHostedZonesByNameResponse#is_truncated #IsTruncated} => Boolean
2014
+ # * {Types::ListHostedZonesByNameResponse#next_dns_name #NextDNSName} => String
2015
+ # * {Types::ListHostedZonesByNameResponse#next_hosted_zone_id #NextHostedZoneId} => String
2016
+ # * {Types::ListHostedZonesByNameResponse#max_items #MaxItems} => Integer
2017
+ #
2018
+ # @example Request syntax with placeholder values
2019
+ # resp = client.list_hosted_zones_by_name({
2020
+ # dns_name: "DNSName",
2021
+ # hosted_zone_id: "ResourceId",
2022
+ # max_items: 1,
2023
+ # })
2024
+ #
2025
+ # @example Response structure
2026
+ # resp.hosted_zones #=> Array
2027
+ # resp.hosted_zones[0].id #=> String
2028
+ # resp.hosted_zones[0].name #=> String
2029
+ # resp.hosted_zones[0].caller_reference #=> String
2030
+ # resp.hosted_zones[0].config.comment #=> String
2031
+ # resp.hosted_zones[0].config.private_zone #=> Boolean
2032
+ # resp.hosted_zones[0].resource_record_set_count #=> Integer
2033
+ # resp.dns_name #=> String
2034
+ # resp.hosted_zone_id #=> String
2035
+ # resp.is_truncated #=> Boolean
2036
+ # resp.next_dns_name #=> String
2037
+ # resp.next_hosted_zone_id #=> String
2038
+ # resp.max_items #=> Integer
2039
+ # @overload list_hosted_zones_by_name(params = {})
2040
+ # @param [Hash] params ({})
2041
+ def list_hosted_zones_by_name(params = {}, options = {})
2042
+ req = build_request(:list_hosted_zones_by_name, params)
2043
+ req.send_request(options)
2044
+ end
2045
+
2046
+ # Lists the resource record sets in a specified hosted zone.
2047
+ #
2048
+ # `ListResourceRecordSets` returns up to 100 resource record sets at a
2049
+ # time in ASCII order, beginning at a position specified by the `name`
2050
+ # and `type` elements. The action sorts results first by DNS name with
2051
+ # the labels reversed, for example:
2052
+ #
2053
+ # `com.example.www.`
2054
+ #
2055
+ # Note the trailing dot, which can change the sort order in some
2056
+ # circumstances.
2057
+ #
2058
+ # When multiple records have the same DNS name, the action sorts results
2059
+ # by the record type.
2060
+ #
2061
+ # You can use the name and type elements to adjust the beginning
2062
+ # position of the list of resource record sets returned:
2063
+ #
2064
+ # If you do not specify Name or Type
2065
+ #
2066
+ # : The results begin with the first resource record set that the hosted
2067
+ # zone contains.
2068
+ #
2069
+ # If you specify Name but not Type
2070
+ #
2071
+ # : The results begin with the first resource record set in the list
2072
+ # whose name is greater than or equal to `Name`.
2073
+ #
2074
+ # If you specify Type but not Name
2075
+ #
2076
+ # : Amazon Route 53 returns the `InvalidInput` error.
2077
+ #
2078
+ # If you specify both Name and Type
2079
+ #
2080
+ # : The results begin with the first resource record set in the list
2081
+ # whose name is greater than or equal to `Name`, and whose type is
2082
+ # greater than or equal to `Type`.
2083
+ #
2084
+ # This action returns the most current version of the records. This
2085
+ # includes records that are `PENDING`, and that are not yet available on
2086
+ # all Amazon Route 53 DNS servers.
2087
+ #
2088
+ # To ensure that you get an accurate listing of the resource record sets
2089
+ # for a hosted zone at a point in time, do not submit a
2090
+ # `ChangeResourceRecordSets` request while you're paging through the
2091
+ # results of a `ListResourceRecordSets` request. If you do, some pages
2092
+ # may display results without the latest changes while other pages
2093
+ # display results with the latest changes.
2094
+ # @option params [required, String] :hosted_zone_id
2095
+ # The ID of the hosted zone that contains the resource record sets that
2096
+ # you want to get.
2097
+ # @option params [String] :start_record_name
2098
+ # The first name in the lexicographic ordering of domain names that you
2099
+ # want the `ListResourceRecordSets` request to list.
2100
+ # @option params [String] :start_record_type
2101
+ # The type of resource record set to begin the record listing from.
2102
+ #
2103
+ # Valid values for basic resource record sets: `A` \| `AAAA` \| `CNAME`
2104
+ # \| `MX` \| `NAPTR` \| `NS` \| `PTR` \| `SOA` \| `SPF` \| `SRV` \|
2105
+ # `TXT`
2106
+ #
2107
+ # Values for weighted, latency, geo, and failover resource record sets:
2108
+ # `A` \| `AAAA` \| `CNAME` \| `MX` \| `NAPTR` \| `PTR` \| `SPF` \| `SRV`
2109
+ # \| `TXT`
2110
+ #
2111
+ # Values for alias resource record sets:
2112
+ #
2113
+ # * **CloudFront distribution**\: A or AAAA
2114
+ #
2115
+ # * **Elastic Beanstalk environment that has a regionalized
2116
+ # subdomain**\: A
2117
+ #
2118
+ # * **ELB load balancer**\: A \| AAAA
2119
+ #
2120
+ # * **Amazon S3 bucket**\: A
2121
+ #
2122
+ # Constraint: Specifying `type` without specifying `name` returns an
2123
+ # `InvalidInput` error.
2124
+ # @option params [String] :start_record_identifier
2125
+ # *Weighted resource record sets only:* If results were truncated for a
2126
+ # given DNS name and type, specify the value of `NextRecordIdentifier`
2127
+ # from the previous response to get the next resource record set that
2128
+ # has the current DNS name and type.
2129
+ # @option params [Integer] :max_items
2130
+ # (Optional) The maximum number of resource records sets to include in
2131
+ # the response body for this request. If the response includes more than
2132
+ # `maxitems` resource record sets, the value of the `IsTruncated`
2133
+ # element in the response is `true`, and the values of the
2134
+ # `NextRecordName` and `NextRecordType` elements in the response
2135
+ # identify the first resource record set in the next group of `maxitems`
2136
+ # resource record sets.
2137
+ # @return [Types::ListResourceRecordSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2138
+ #
2139
+ # * {Types::ListResourceRecordSetsResponse#resource_record_sets #ResourceRecordSets} => Array&lt;Types::ResourceRecordSet&gt;
2140
+ # * {Types::ListResourceRecordSetsResponse#is_truncated #IsTruncated} => Boolean
2141
+ # * {Types::ListResourceRecordSetsResponse#next_record_name #NextRecordName} => String
2142
+ # * {Types::ListResourceRecordSetsResponse#next_record_type #NextRecordType} => String
2143
+ # * {Types::ListResourceRecordSetsResponse#next_record_identifier #NextRecordIdentifier} => String
2144
+ # * {Types::ListResourceRecordSetsResponse#max_items #MaxItems} => Integer
2145
+ #
2146
+ # @example Request syntax with placeholder values
2147
+ # resp = client.list_resource_record_sets({
2148
+ # hosted_zone_id: "ResourceId", # required
2149
+ # start_record_name: "DNSName",
2150
+ # start_record_type: "SOA", # accepts SOA, A, TXT, NS, CNAME, MX, NAPTR, PTR, SRV, SPF, AAAA
2151
+ # start_record_identifier: "ResourceRecordSetIdentifier",
2152
+ # max_items: 1,
2153
+ # })
2154
+ #
2155
+ # @example Response structure
2156
+ # resp.resource_record_sets #=> Array
2157
+ # resp.resource_record_sets[0].name #=> String
2158
+ # resp.resource_record_sets[0].type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2159
+ # resp.resource_record_sets[0].set_identifier #=> String
2160
+ # resp.resource_record_sets[0].weight #=> Integer
2161
+ # resp.resource_record_sets[0].region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-central-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", "sa-east-1", "cn-north-1", "ap-south-1"
2162
+ # resp.resource_record_sets[0].geo_location.continent_code #=> String
2163
+ # resp.resource_record_sets[0].geo_location.country_code #=> String
2164
+ # resp.resource_record_sets[0].geo_location.subdivision_code #=> String
2165
+ # resp.resource_record_sets[0].failover #=> String, one of "PRIMARY", "SECONDARY"
2166
+ # resp.resource_record_sets[0].ttl #=> Integer
2167
+ # resp.resource_record_sets[0].resource_records #=> Array
2168
+ # resp.resource_record_sets[0].resource_records[0].value #=> String
2169
+ # resp.resource_record_sets[0].alias_target.hosted_zone_id #=> String
2170
+ # resp.resource_record_sets[0].alias_target.dns_name #=> String
2171
+ # resp.resource_record_sets[0].alias_target.evaluate_target_health #=> Boolean
2172
+ # resp.resource_record_sets[0].health_check_id #=> String
2173
+ # resp.resource_record_sets[0].traffic_policy_instance_id #=> String
2174
+ # resp.is_truncated #=> Boolean
2175
+ # resp.next_record_name #=> String
2176
+ # resp.next_record_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2177
+ # resp.next_record_identifier #=> String
2178
+ # resp.max_items #=> Integer
2179
+ # @overload list_resource_record_sets(params = {})
2180
+ # @param [Hash] params ({})
2181
+ def list_resource_record_sets(params = {}, options = {})
2182
+ req = build_request(:list_resource_record_sets, params)
2183
+ req.send_request(options)
2184
+ end
2185
+
2186
+ # To retrieve a list of your reusable delegation sets, send a `GET`
2187
+ # request to the `/2013-04-01/delegationset` resource. The response to
2188
+ # this request includes a `DelegationSets` element with zero, one, or
2189
+ # multiple `DelegationSet` child elements. By default, the list of
2190
+ # delegation sets is displayed on a single page. You can control the
2191
+ # length of the page that is displayed by using the `MaxItems`
2192
+ # parameter. You can use the `Marker` parameter to control the
2193
+ # delegation set that the list begins with.
2194
+ #
2195
+ # <note markdown="1"> Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to
2196
+ # a value greater than 100, Amazon Route 53 returns only the first 100.
2197
+ #
2198
+ # </note>
2199
+ # @option params [String] :marker
2200
+ # If you're making the second or subsequent call to
2201
+ # `ListReusableDelegationSets`, the `Marker` element matches the value
2202
+ # that you specified in the `marker` parameter in the previous request.
2203
+ # @option params [Integer] :max_items
2204
+ # The value that you specified for the `maxitems` parameter in the
2205
+ # request that produced the current response.
2206
+ # @return [Types::ListReusableDelegationSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2207
+ #
2208
+ # * {Types::ListReusableDelegationSetsResponse#delegation_sets #DelegationSets} => Array&lt;Types::DelegationSet&gt;
2209
+ # * {Types::ListReusableDelegationSetsResponse#marker #Marker} => String
2210
+ # * {Types::ListReusableDelegationSetsResponse#is_truncated #IsTruncated} => Boolean
2211
+ # * {Types::ListReusableDelegationSetsResponse#next_marker #NextMarker} => String
2212
+ # * {Types::ListReusableDelegationSetsResponse#max_items #MaxItems} => Integer
2213
+ #
2214
+ # @example Request syntax with placeholder values
2215
+ # resp = client.list_reusable_delegation_sets({
2216
+ # marker: "PageMarker",
2217
+ # max_items: 1,
2218
+ # })
2219
+ #
2220
+ # @example Response structure
2221
+ # resp.delegation_sets #=> Array
2222
+ # resp.delegation_sets[0].id #=> String
2223
+ # resp.delegation_sets[0].caller_reference #=> String
2224
+ # resp.delegation_sets[0].name_servers #=> Array
2225
+ # resp.delegation_sets[0].name_servers[0] #=> String
2226
+ # resp.marker #=> String
2227
+ # resp.is_truncated #=> Boolean
2228
+ # resp.next_marker #=> String
2229
+ # resp.max_items #=> Integer
2230
+ # @overload list_reusable_delegation_sets(params = {})
2231
+ # @param [Hash] params ({})
2232
+ def list_reusable_delegation_sets(params = {}, options = {})
2233
+ req = build_request(:list_reusable_delegation_sets, params)
2234
+ req.send_request(options)
2235
+ end
2236
+
2237
+ # Lists tags for one health check or hosted zone.
2238
+ #
2239
+ # For information about using tags for cost allocation, see [Using Cost
2240
+ # Allocation Tags][1] in the *AWS Billing and Cost Management User
2241
+ # Guide*.
2242
+ #
2243
+ #
2244
+ #
2245
+ # [1]: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
2246
+ # @option params [required, String] :resource_type
2247
+ # The type of the resource.
2248
+ #
2249
+ # * The resource type for health checks is `healthcheck`.
2250
+ #
2251
+ # * The resource type for hosted zones is `hostedzone`.
2252
+ # @option params [required, String] :resource_id
2253
+ # The ID of the resource for which you want to retrieve tags.
2254
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2255
+ #
2256
+ # * {Types::ListTagsForResourceResponse#resource_tag_set #ResourceTagSet} => Types::ResourceTagSet
2257
+ #
2258
+ # @example Request syntax with placeholder values
2259
+ # resp = client.list_tags_for_resource({
2260
+ # resource_type: "healthcheck", # required, accepts healthcheck, hostedzone
2261
+ # resource_id: "TagResourceId", # required
2262
+ # })
2263
+ #
2264
+ # @example Response structure
2265
+ # resp.resource_tag_set.resource_type #=> String, one of "healthcheck", "hostedzone"
2266
+ # resp.resource_tag_set.resource_id #=> String
2267
+ # resp.resource_tag_set.tags #=> Array
2268
+ # resp.resource_tag_set.tags[0].key #=> String
2269
+ # resp.resource_tag_set.tags[0].value #=> String
2270
+ # @overload list_tags_for_resource(params = {})
2271
+ # @param [Hash] params ({})
2272
+ def list_tags_for_resource(params = {}, options = {})
2273
+ req = build_request(:list_tags_for_resource, params)
2274
+ req.send_request(options)
2275
+ end
2276
+
2277
+ # Lists tags for up to 10 health checks or hosted zones.
2278
+ #
2279
+ # For information about using tags for cost allocation, see [Using Cost
2280
+ # Allocation Tags][1] in the *AWS Billing and Cost Management User
2281
+ # Guide*.
2282
+ #
2283
+ #
2284
+ #
2285
+ # [1]: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
2286
+ # @option params [required, String] :resource_type
2287
+ # The type of the resources.
2288
+ #
2289
+ # * The resource type for health checks is `healthcheck`.
2290
+ #
2291
+ # * The resource type for hosted zones is `hostedzone`.
2292
+ # @option params [required, Array<String>] :resource_ids
2293
+ # A complex type that contains the ResourceId element for each resource
2294
+ # for which you want to get a list of tags.
2295
+ # @return [Types::ListTagsForResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2296
+ #
2297
+ # * {Types::ListTagsForResourcesResponse#resource_tag_sets #ResourceTagSets} => Array&lt;Types::ResourceTagSet&gt;
2298
+ #
2299
+ # @example Request syntax with placeholder values
2300
+ # resp = client.list_tags_for_resources({
2301
+ # resource_type: "healthcheck", # required, accepts healthcheck, hostedzone
2302
+ # resource_ids: ["TagResourceId"], # required
2303
+ # })
2304
+ #
2305
+ # @example Response structure
2306
+ # resp.resource_tag_sets #=> Array
2307
+ # resp.resource_tag_sets[0].resource_type #=> String, one of "healthcheck", "hostedzone"
2308
+ # resp.resource_tag_sets[0].resource_id #=> String
2309
+ # resp.resource_tag_sets[0].tags #=> Array
2310
+ # resp.resource_tag_sets[0].tags[0].key #=> String
2311
+ # resp.resource_tag_sets[0].tags[0].value #=> String
2312
+ # @overload list_tags_for_resources(params = {})
2313
+ # @param [Hash] params ({})
2314
+ def list_tags_for_resources(params = {}, options = {})
2315
+ req = build_request(:list_tags_for_resources, params)
2316
+ req.send_request(options)
2317
+ end
2318
+
2319
+ # Gets information about the latest version for every traffic policy
2320
+ # that is associated with the current AWS account. Send a `GET` request
2321
+ # to the `/Amazon Route 53 API version/trafficpolicy` resource.
2322
+ #
2323
+ # Amazon Route 53 returns a maximum of 100 items in each response. If
2324
+ # you have a lot of traffic policies, you can use the `maxitems`
2325
+ # parameter to list them in groups of up to 100.
2326
+ #
2327
+ # The response includes three values that help you navigate from one
2328
+ # group of `maxitems` traffic policies to the next:
2329
+ #
2330
+ # * **IsTruncated**
2331
+ #
2332
+ # If the value of `IsTruncated` in the response is `true`, there are
2333
+ # more traffic policies associated with the current AWS account.
2334
+ #
2335
+ # If `IsTruncated` is `false`, this response includes the last traffic
2336
+ # policy that is associated with the current account.
2337
+ #
2338
+ # * **TrafficPolicyIdMarker**
2339
+ #
2340
+ # If `IsTruncated` is `true`, `TrafficPolicyIdMarker` is the ID of the
2341
+ # first traffic policy in the next group of `MaxItems` traffic
2342
+ # policies. If you want to list more traffic policies, make another
2343
+ # call to `ListTrafficPolicies`, and specify the value of the
2344
+ # `TrafficPolicyIdMarker` element from the response in the
2345
+ # `TrafficPolicyIdMarker` request parameter.
2346
+ #
2347
+ # If `IsTruncated` is `false`, the `TrafficPolicyIdMarker` element is
2348
+ # omitted from the response.
2349
+ #
2350
+ # * **MaxItems**
2351
+ #
2352
+ # The value that you specified for the `MaxItems` parameter in the
2353
+ # request that produced the current response.
2354
+ # @option params [String] :traffic_policy_id_marker
2355
+ # (Conditional) For your first request to `ListTrafficPolicies`, do not
2356
+ # include the `TrafficPolicyIdMarker` parameter.
2357
+ #
2358
+ # If you have more traffic policies than the value of `MaxItems`,
2359
+ # `ListTrafficPolicies` returns only the first `MaxItems` traffic
2360
+ # policies. To get the next group of `MaxItems` policies, submit another
2361
+ # request to `ListTrafficPolicies`. For the value of
2362
+ # `TrafficPolicyIdMarker`, specify the value of the
2363
+ # `TrafficPolicyIdMarker` element that was returned in the previous
2364
+ # response.
2365
+ #
2366
+ # Policies are listed in the order in which they were created.
2367
+ # @option params [Integer] :max_items
2368
+ # (Optional) The maximum number of traffic policies to be included in
2369
+ # the response body for this request. If you have more than `MaxItems`
2370
+ # traffic policies, the value of the `IsTruncated` element in the
2371
+ # response is `true`, and the value of the `TrafficPolicyIdMarker`
2372
+ # element is the ID of the first traffic policy in the next group of
2373
+ # `MaxItems` traffic policies.
2374
+ # @return [Types::ListTrafficPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2375
+ #
2376
+ # * {Types::ListTrafficPoliciesResponse#traffic_policy_summaries #TrafficPolicySummaries} => Array&lt;Types::TrafficPolicySummary&gt;
2377
+ # * {Types::ListTrafficPoliciesResponse#is_truncated #IsTruncated} => Boolean
2378
+ # * {Types::ListTrafficPoliciesResponse#traffic_policy_id_marker #TrafficPolicyIdMarker} => String
2379
+ # * {Types::ListTrafficPoliciesResponse#max_items #MaxItems} => Integer
2380
+ #
2381
+ # @example Request syntax with placeholder values
2382
+ # resp = client.list_traffic_policies({
2383
+ # traffic_policy_id_marker: "TrafficPolicyId",
2384
+ # max_items: 1,
2385
+ # })
2386
+ #
2387
+ # @example Response structure
2388
+ # resp.traffic_policy_summaries #=> Array
2389
+ # resp.traffic_policy_summaries[0].id #=> String
2390
+ # resp.traffic_policy_summaries[0].name #=> String
2391
+ # resp.traffic_policy_summaries[0].type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2392
+ # resp.traffic_policy_summaries[0].latest_version #=> Integer
2393
+ # resp.traffic_policy_summaries[0].traffic_policy_count #=> Integer
2394
+ # resp.is_truncated #=> Boolean
2395
+ # resp.traffic_policy_id_marker #=> String
2396
+ # resp.max_items #=> Integer
2397
+ # @overload list_traffic_policies(params = {})
2398
+ # @param [Hash] params ({})
2399
+ def list_traffic_policies(params = {}, options = {})
2400
+ req = build_request(:list_traffic_policies, params)
2401
+ req.send_request(options)
2402
+ end
2403
+
2404
+ # Gets information about the traffic policy instances that you created
2405
+ # by using the current AWS account.
2406
+ #
2407
+ # <note markdown="1"> After you submit an `UpdateTrafficPolicyInstance` request, there's a
2408
+ # brief delay while Amazon Route 53 creates the resource record sets
2409
+ # that are specified in the traffic policy definition. For more
2410
+ # information, see the `State` response element.
2411
+ #
2412
+ # </note>
2413
+ #
2414
+ # Send a `GET` request to the `/Amazon Route 53 API
2415
+ # version/trafficpolicyinstance` resource.
2416
+ #
2417
+ # Amazon Route 53 returns a maximum of 100 items in each response. If
2418
+ # you have a lot of traffic policy instances, you can use the `MaxItems`
2419
+ # parameter to list them in groups of up to 100.
2420
+ #
2421
+ # The response includes five values that help you navigate from one
2422
+ # group of `MaxItems` traffic policy instances to the next:
2423
+ #
2424
+ # * **IsTruncated**
2425
+ #
2426
+ # If the value of `IsTruncated` in the response is `true`, there are
2427
+ # more traffic policy instances associated with the current AWS
2428
+ # account.
2429
+ #
2430
+ # If `IsTruncated` is `false`, this response includes the last traffic
2431
+ # policy instance that is associated with the current account.
2432
+ #
2433
+ # * **MaxItems**
2434
+ #
2435
+ # The value that you specified for the `MaxItems` parameter in the
2436
+ # request that produced the current response.
2437
+ #
2438
+ # * **HostedZoneIdMarker**, **TrafficPolicyInstanceNameMarker**, and
2439
+ # **TrafficPolicyInstanceTypeMarker**
2440
+ #
2441
+ # If `IsTruncated` is `true`, these three values in the response
2442
+ # represent the first traffic policy instance in the next group of
2443
+ # `MaxItems` traffic policy instances. To list more traffic policy
2444
+ # instances, make another call to `ListTrafficPolicyInstances`, and
2445
+ # specify these values in the corresponding request parameters.
2446
+ #
2447
+ # If `IsTruncated` is `false`, all three elements are omitted from the
2448
+ # response.
2449
+ # @option params [String] :hosted_zone_id_marker
2450
+ # For the first request to `ListTrafficPolicyInstances`, omit this
2451
+ # value.
2452
+ #
2453
+ # If the value of `IsTruncated` in the previous response was `true`, you
2454
+ # have more traffic policy instances. To get the next group of
2455
+ # `MaxItems` traffic policy instances, submit another
2456
+ # `ListTrafficPolicyInstances` request. For the value of
2457
+ # `HostedZoneIdMarker`, specify the value of `HostedZoneIdMarker` from
2458
+ # the previous response, which is the hosted zone ID of the first
2459
+ # traffic policy instance in the next group of `MaxItems` traffic policy
2460
+ # instances.
2461
+ #
2462
+ # If the value of `IsTruncated` in the previous response was `false`,
2463
+ # there are no more traffic policy instances to get.
2464
+ # @option params [String] :traffic_policy_instance_name_marker
2465
+ # For the first request to `ListTrafficPolicyInstances`, omit this
2466
+ # value.
2467
+ #
2468
+ # If the value of `IsTruncated` in the previous response was `true`,
2469
+ # `TrafficPolicyInstanceNameMarker` is the name of the first traffic
2470
+ # policy instance in the next group of `MaxItems` traffic policy
2471
+ # instances.
2472
+ #
2473
+ # If the value of `IsTruncated` in the previous response was `false`,
2474
+ # there are no more traffic policy instances to get.
2475
+ # @option params [String] :traffic_policy_instance_type_marker
2476
+ # For the first request to `ListTrafficPolicyInstances`, omit this
2477
+ # value.
2478
+ #
2479
+ # If the value of `IsTruncated` in the previous response was `true`,
2480
+ # `TrafficPolicyInstanceTypeMarker` is the DNS type of the first traffic
2481
+ # policy instance in the next group of `MaxItems` traffic policy
2482
+ # instances.
2483
+ #
2484
+ # If the value of `IsTruncated` in the previous response was `false`,
2485
+ # there are no more traffic policy instances to get.
2486
+ # @option params [Integer] :max_items
2487
+ # The maximum number of traffic policy instances to be included in the
2488
+ # response body for this request. If you have more than `MaxItems`
2489
+ # traffic policy instances, the value of the `IsTruncated` element in
2490
+ # the response is `true`, and the values of `HostedZoneIdMarker`,
2491
+ # `TrafficPolicyInstanceNameMarker`, and
2492
+ # `TrafficPolicyInstanceTypeMarker` represent the first traffic policy
2493
+ # instance in the next group of `MaxItems` traffic policy instances.
2494
+ # @return [Types::ListTrafficPolicyInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2495
+ #
2496
+ # * {Types::ListTrafficPolicyInstancesResponse#traffic_policy_instances #TrafficPolicyInstances} => Array&lt;Types::TrafficPolicyInstance&gt;
2497
+ # * {Types::ListTrafficPolicyInstancesResponse#hosted_zone_id_marker #HostedZoneIdMarker} => String
2498
+ # * {Types::ListTrafficPolicyInstancesResponse#traffic_policy_instance_name_marker #TrafficPolicyInstanceNameMarker} => String
2499
+ # * {Types::ListTrafficPolicyInstancesResponse#traffic_policy_instance_type_marker #TrafficPolicyInstanceTypeMarker} => String
2500
+ # * {Types::ListTrafficPolicyInstancesResponse#is_truncated #IsTruncated} => Boolean
2501
+ # * {Types::ListTrafficPolicyInstancesResponse#max_items #MaxItems} => Integer
2502
+ #
2503
+ # @example Request syntax with placeholder values
2504
+ # resp = client.list_traffic_policy_instances({
2505
+ # hosted_zone_id_marker: "ResourceId",
2506
+ # traffic_policy_instance_name_marker: "DNSName",
2507
+ # traffic_policy_instance_type_marker: "SOA", # accepts SOA, A, TXT, NS, CNAME, MX, NAPTR, PTR, SRV, SPF, AAAA
2508
+ # max_items: 1,
2509
+ # })
2510
+ #
2511
+ # @example Response structure
2512
+ # resp.traffic_policy_instances #=> Array
2513
+ # resp.traffic_policy_instances[0].id #=> String
2514
+ # resp.traffic_policy_instances[0].hosted_zone_id #=> String
2515
+ # resp.traffic_policy_instances[0].name #=> String
2516
+ # resp.traffic_policy_instances[0].ttl #=> Integer
2517
+ # resp.traffic_policy_instances[0].state #=> String
2518
+ # resp.traffic_policy_instances[0].message #=> String
2519
+ # resp.traffic_policy_instances[0].traffic_policy_id #=> String
2520
+ # resp.traffic_policy_instances[0].traffic_policy_version #=> Integer
2521
+ # resp.traffic_policy_instances[0].traffic_policy_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2522
+ # resp.hosted_zone_id_marker #=> String
2523
+ # resp.traffic_policy_instance_name_marker #=> String
2524
+ # resp.traffic_policy_instance_type_marker #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2525
+ # resp.is_truncated #=> Boolean
2526
+ # resp.max_items #=> Integer
2527
+ # @overload list_traffic_policy_instances(params = {})
2528
+ # @param [Hash] params ({})
2529
+ def list_traffic_policy_instances(params = {}, options = {})
2530
+ req = build_request(:list_traffic_policy_instances, params)
2531
+ req.send_request(options)
2532
+ end
2533
+
2534
+ # Gets information about the traffic policy instances that you created
2535
+ # in a specified hosted zone.
2536
+ #
2537
+ # <note markdown="1"> After you submit an `UpdateTrafficPolicyInstance` request, there's a
2538
+ # brief delay while Amazon Route 53 creates the resource record sets
2539
+ # that are specified in the traffic policy definition. For more
2540
+ # information, see the `State` response element.
2541
+ #
2542
+ # </note>
2543
+ #
2544
+ # Send a `GET` request to the `/Amazon Route 53 API
2545
+ # version/trafficpolicyinstance` resource and include the ID of the
2546
+ # hosted zone.
2547
+ #
2548
+ # Amazon Route 53 returns a maximum of 100 items in each response. If
2549
+ # you have a lot of traffic policy instances, you can use the `MaxItems`
2550
+ # parameter to list them in groups of up to 100.
2551
+ #
2552
+ # The response includes four values that help you navigate from one
2553
+ # group of `MaxItems` traffic policy instances to the next:
2554
+ #
2555
+ # * **IsTruncated**
2556
+ #
2557
+ # If the value of `IsTruncated in the response is true, there are more
2558
+ # traffic policy instances associated with the current AWS
2559
+ # account.</p> If IsTruncated is false, this response includes the
2560
+ # last traffic policy instance that is associated with the current
2561
+ # account. </li> MaxItems The value that you specified for the
2562
+ # MaxItems parameter in the request that produced the current
2563
+ # response. TrafficPolicyInstanceNameMarker and
2564
+ # TrafficPolicyInstanceTypeMarker If IsTruncated is true, these two
2565
+ # values in the response represent the first traffic policy instance
2566
+ # in the next group of MaxItems traffic policy instances. To list more
2567
+ # traffic policy instances, make another call to
2568
+ # ListTrafficPolicyInstancesByHostedZone, and specify these values in
2569
+ # the corresponding request parameters. If IsTruncated is false, all
2570
+ # three elements are omitted from the response. </ul>
2571
+ # `
2572
+ # @option params [required, String] :hosted_zone_id
2573
+ # The ID of the hosted zone for which you want to list traffic policy
2574
+ # instances.
2575
+ # @option params [String] :traffic_policy_instance_name_marker
2576
+ # For the first request to `ListTrafficPolicyInstancesByHostedZone`,
2577
+ # omit this value.
2578
+ #
2579
+ # If the value of `IsTruncated` in the previous response was `true`,
2580
+ # `TrafficPolicyInstanceNameMarker` is the name of the first traffic
2581
+ # policy instance in the next group of `MaxItems` traffic policy
2582
+ # instances.
2583
+ #
2584
+ # If the value of `IsTruncated` in the previous response was `false`,
2585
+ # there are no more traffic policy instances to get for this hosted
2586
+ # zone.
2587
+ #
2588
+ # If the value of `IsTruncated` in the previous response was `false`,
2589
+ # omit this value.
2590
+ # @option params [String] :traffic_policy_instance_type_marker
2591
+ # For the first request to `ListTrafficPolicyInstancesByHostedZone`,
2592
+ # omit this value.
2593
+ #
2594
+ # If the value of `IsTruncated` in the previous response was `true`,
2595
+ # `TrafficPolicyInstanceTypeMarker` is the DNS type of the first traffic
2596
+ # policy instance in the next group of `MaxItems` traffic policy
2597
+ # instances.
2598
+ #
2599
+ # If the value of `IsTruncated` in the previous response was `false`,
2600
+ # there are no more traffic policy instances to get for this hosted
2601
+ # zone.
2602
+ # @option params [Integer] :max_items
2603
+ # The maximum number of traffic policy instances to be included in the
2604
+ # response body for this request. If you have more than `MaxItems`
2605
+ # traffic policy instances, the value of the `IsTruncated` element in
2606
+ # the response is `true`, and the values of `HostedZoneIdMarker`,
2607
+ # `TrafficPolicyInstanceNameMarker`, and
2608
+ # `TrafficPolicyInstanceTypeMarker` represent the first traffic policy
2609
+ # instance in the next group of `MaxItems` traffic policy instances.
2610
+ # @return [Types::ListTrafficPolicyInstancesByHostedZoneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2611
+ #
2612
+ # * {Types::ListTrafficPolicyInstancesByHostedZoneResponse#traffic_policy_instances #TrafficPolicyInstances} => Array&lt;Types::TrafficPolicyInstance&gt;
2613
+ # * {Types::ListTrafficPolicyInstancesByHostedZoneResponse#traffic_policy_instance_name_marker #TrafficPolicyInstanceNameMarker} => String
2614
+ # * {Types::ListTrafficPolicyInstancesByHostedZoneResponse#traffic_policy_instance_type_marker #TrafficPolicyInstanceTypeMarker} => String
2615
+ # * {Types::ListTrafficPolicyInstancesByHostedZoneResponse#is_truncated #IsTruncated} => Boolean
2616
+ # * {Types::ListTrafficPolicyInstancesByHostedZoneResponse#max_items #MaxItems} => Integer
2617
+ #
2618
+ # @example Request syntax with placeholder values
2619
+ # resp = client.list_traffic_policy_instances_by_hosted_zone({
2620
+ # hosted_zone_id: "ResourceId", # required
2621
+ # traffic_policy_instance_name_marker: "DNSName",
2622
+ # traffic_policy_instance_type_marker: "SOA", # accepts SOA, A, TXT, NS, CNAME, MX, NAPTR, PTR, SRV, SPF, AAAA
2623
+ # max_items: 1,
2624
+ # })
2625
+ #
2626
+ # @example Response structure
2627
+ # resp.traffic_policy_instances #=> Array
2628
+ # resp.traffic_policy_instances[0].id #=> String
2629
+ # resp.traffic_policy_instances[0].hosted_zone_id #=> String
2630
+ # resp.traffic_policy_instances[0].name #=> String
2631
+ # resp.traffic_policy_instances[0].ttl #=> Integer
2632
+ # resp.traffic_policy_instances[0].state #=> String
2633
+ # resp.traffic_policy_instances[0].message #=> String
2634
+ # resp.traffic_policy_instances[0].traffic_policy_id #=> String
2635
+ # resp.traffic_policy_instances[0].traffic_policy_version #=> Integer
2636
+ # resp.traffic_policy_instances[0].traffic_policy_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2637
+ # resp.traffic_policy_instance_name_marker #=> String
2638
+ # resp.traffic_policy_instance_type_marker #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2639
+ # resp.is_truncated #=> Boolean
2640
+ # resp.max_items #=> Integer
2641
+ # @overload list_traffic_policy_instances_by_hosted_zone(params = {})
2642
+ # @param [Hash] params ({})
2643
+ def list_traffic_policy_instances_by_hosted_zone(params = {}, options = {})
2644
+ req = build_request(:list_traffic_policy_instances_by_hosted_zone, params)
2645
+ req.send_request(options)
2646
+ end
2647
+
2648
+ # Gets information about the traffic policy instances that you created
2649
+ # by using a specify traffic policy version.
2650
+ #
2651
+ # <note markdown="1"> After you submit a `CreateTrafficPolicyInstance` or an
2652
+ # `UpdateTrafficPolicyInstance` request, there's a brief delay while
2653
+ # Amazon Route 53 creates the resource record sets that are specified in
2654
+ # the traffic policy definition. For more information, see the `State`
2655
+ # response element.
2656
+ #
2657
+ # </note>
2658
+ #
2659
+ # Send a `GET` request to the `/Route 53 API
2660
+ # version/trafficpolicyinstance` resource and include the ID and version
2661
+ # of the traffic policy.
2662
+ #
2663
+ # Amazon Route 53 returns a maximum of 100 items in each response. If
2664
+ # you have a lot of traffic policy instances, you can use the `MaxItems`
2665
+ # parameter to list them in groups of up to 100.
2666
+ #
2667
+ # The response includes five values that help you navigate from one
2668
+ # group of `MaxItems` traffic policy instances to the next:
2669
+ #
2670
+ # * **IsTruncated**
2671
+ #
2672
+ # If the value of `IsTruncated` in the response is `true`, there are
2673
+ # more traffic policy instances associated with the specified traffic
2674
+ # policy.
2675
+ #
2676
+ # If `IsTruncated` is `false`, this response includes the last traffic
2677
+ # policy instance that is associated with the specified traffic
2678
+ # policy.
2679
+ #
2680
+ # * **MaxItems**
2681
+ #
2682
+ # The value that you specified for the `MaxItems` parameter in the
2683
+ # request that produced the current response.
2684
+ #
2685
+ # * **HostedZoneIdMarker**, **TrafficPolicyInstanceNameMarker**, and
2686
+ # **TrafficPolicyInstanceTypeMarker**
2687
+ #
2688
+ # If `IsTruncated` is `true`, these values in the response represent
2689
+ # the first traffic policy instance in the next group of `MaxItems`
2690
+ # traffic policy instances. To list more traffic policy instances,
2691
+ # make another call to `ListTrafficPolicyInstancesByPolicy`, and
2692
+ # specify these values in the corresponding request parameters.
2693
+ #
2694
+ # If `IsTruncated` is `false`, all three elements are omitted from the
2695
+ # response.
2696
+ # @option params [required, String] :traffic_policy_id
2697
+ # The ID of the traffic policy for which you want to list traffic policy
2698
+ # instances.
2699
+ # @option params [required, Integer] :traffic_policy_version
2700
+ # The version of the traffic policy for which you want to list traffic
2701
+ # policy instances. The version must be associated with the traffic
2702
+ # policy that is specified by `TrafficPolicyId`.
2703
+ # @option params [String] :hosted_zone_id_marker
2704
+ # For the first request to `ListTrafficPolicyInstancesByPolicy`, omit
2705
+ # this value.
2706
+ #
2707
+ # If the value of `IsTruncated` in the previous response was `true`,
2708
+ # `HostedZoneIdMarker` is the ID of the hosted zone for the first
2709
+ # traffic policy instance in the next group of `MaxItems` traffic policy
2710
+ # instances.
2711
+ #
2712
+ # If the value of `IsTruncated` in the previous response was `false`,
2713
+ # there are no more traffic policy instances to get for this hosted
2714
+ # zone.
2715
+ #
2716
+ # If the value of `IsTruncated` in the previous response was `false`,
2717
+ # omit this value.
2718
+ # @option params [String] :traffic_policy_instance_name_marker
2719
+ # For the first request to `ListTrafficPolicyInstancesByPolicy`, omit
2720
+ # this value.
2721
+ #
2722
+ # If the value of `IsTruncated` in the previous response was `true`,
2723
+ # `TrafficPolicyInstanceNameMarker` is the name of the first traffic
2724
+ # policy instance in the next group of `MaxItems` traffic policy
2725
+ # instances.
2726
+ #
2727
+ # If the value of `IsTruncated` in the previous response was `false`,
2728
+ # there are no more traffic policy instances to get for this hosted
2729
+ # zone.
2730
+ #
2731
+ # If the value of `IsTruncated` in the previous response was `false`,
2732
+ # omit this value.
2733
+ # @option params [String] :traffic_policy_instance_type_marker
2734
+ # For the first request to `ListTrafficPolicyInstancesByPolicy`, omit
2735
+ # this value.
2736
+ #
2737
+ # If the value of `IsTruncated` in the previous response was `true`,
2738
+ # `TrafficPolicyInstanceTypeMarker` is the DNS type of the first traffic
2739
+ # policy instance in the next group of `MaxItems` traffic policy
2740
+ # instances.
2741
+ #
2742
+ # If the value of `IsTruncated` in the previous response was `false`,
2743
+ # there are no more traffic policy instances to get for this hosted
2744
+ # zone.
2745
+ # @option params [Integer] :max_items
2746
+ # The maximum number of traffic policy instances to be included in the
2747
+ # response body for this request. If you have more than `MaxItems`
2748
+ # traffic policy instances, the value of the `IsTruncated` element in
2749
+ # the response is `true`, and the values of `HostedZoneIdMarker`,
2750
+ # `TrafficPolicyInstanceNameMarker`, and
2751
+ # `TrafficPolicyInstanceTypeMarker` represent the first traffic policy
2752
+ # instance in the next group of `MaxItems` traffic policy instances.
2753
+ # @return [Types::ListTrafficPolicyInstancesByPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2754
+ #
2755
+ # * {Types::ListTrafficPolicyInstancesByPolicyResponse#traffic_policy_instances #TrafficPolicyInstances} => Array&lt;Types::TrafficPolicyInstance&gt;
2756
+ # * {Types::ListTrafficPolicyInstancesByPolicyResponse#hosted_zone_id_marker #HostedZoneIdMarker} => String
2757
+ # * {Types::ListTrafficPolicyInstancesByPolicyResponse#traffic_policy_instance_name_marker #TrafficPolicyInstanceNameMarker} => String
2758
+ # * {Types::ListTrafficPolicyInstancesByPolicyResponse#traffic_policy_instance_type_marker #TrafficPolicyInstanceTypeMarker} => String
2759
+ # * {Types::ListTrafficPolicyInstancesByPolicyResponse#is_truncated #IsTruncated} => Boolean
2760
+ # * {Types::ListTrafficPolicyInstancesByPolicyResponse#max_items #MaxItems} => Integer
2761
+ #
2762
+ # @example Request syntax with placeholder values
2763
+ # resp = client.list_traffic_policy_instances_by_policy({
2764
+ # traffic_policy_id: "TrafficPolicyId", # required
2765
+ # traffic_policy_version: 1, # required
2766
+ # hosted_zone_id_marker: "ResourceId",
2767
+ # traffic_policy_instance_name_marker: "DNSName",
2768
+ # traffic_policy_instance_type_marker: "SOA", # accepts SOA, A, TXT, NS, CNAME, MX, NAPTR, PTR, SRV, SPF, AAAA
2769
+ # max_items: 1,
2770
+ # })
2771
+ #
2772
+ # @example Response structure
2773
+ # resp.traffic_policy_instances #=> Array
2774
+ # resp.traffic_policy_instances[0].id #=> String
2775
+ # resp.traffic_policy_instances[0].hosted_zone_id #=> String
2776
+ # resp.traffic_policy_instances[0].name #=> String
2777
+ # resp.traffic_policy_instances[0].ttl #=> Integer
2778
+ # resp.traffic_policy_instances[0].state #=> String
2779
+ # resp.traffic_policy_instances[0].message #=> String
2780
+ # resp.traffic_policy_instances[0].traffic_policy_id #=> String
2781
+ # resp.traffic_policy_instances[0].traffic_policy_version #=> Integer
2782
+ # resp.traffic_policy_instances[0].traffic_policy_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2783
+ # resp.hosted_zone_id_marker #=> String
2784
+ # resp.traffic_policy_instance_name_marker #=> String
2785
+ # resp.traffic_policy_instance_type_marker #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2786
+ # resp.is_truncated #=> Boolean
2787
+ # resp.max_items #=> Integer
2788
+ # @overload list_traffic_policy_instances_by_policy(params = {})
2789
+ # @param [Hash] params ({})
2790
+ def list_traffic_policy_instances_by_policy(params = {}, options = {})
2791
+ req = build_request(:list_traffic_policy_instances_by_policy, params)
2792
+ req.send_request(options)
2793
+ end
2794
+
2795
+ # Gets information about all of the versions for a specified traffic
2796
+ # policy.
2797
+ #
2798
+ # Send a `GET` request to the `/Amazon Route 53 API
2799
+ # version/trafficpolicy` resource and specify the ID of the traffic
2800
+ # policy for which you want to list versions.
2801
+ #
2802
+ # Amazon Route 53 returns a maximum of 100 items in each response. If
2803
+ # you have a lot of traffic policies, you can use the `maxitems`
2804
+ # parameter to list them in groups of up to 100.
2805
+ #
2806
+ # The response includes three values that help you navigate from one
2807
+ # group of `maxitems` traffic policies to the next:
2808
+ #
2809
+ # * **IsTruncated**
2810
+ #
2811
+ # If the value of `IsTruncated` in the response is `true`, there are
2812
+ # more traffic policy versions associated with the specified traffic
2813
+ # policy.
2814
+ #
2815
+ # If `IsTruncated` is `false`, this response includes the last traffic
2816
+ # policy version that is associated with the specified traffic policy.
2817
+ #
2818
+ # * **TrafficPolicyVersionMarker**
2819
+ #
2820
+ # The ID of the next traffic policy version that is associated with
2821
+ # the current AWS account. If you want to list more traffic policies,
2822
+ # make another call to `ListTrafficPolicyVersions`, and specify the
2823
+ # value of the `TrafficPolicyVersionMarker` element in the
2824
+ # `TrafficPolicyVersionMarker` request parameter.
2825
+ #
2826
+ # If `IsTruncated` is `false`, Amazon Route 53 omits the
2827
+ # `TrafficPolicyVersionMarker` element from the response.
2828
+ #
2829
+ # * **MaxItems**
2830
+ #
2831
+ # The value that you specified for the `MaxItems` parameter in the
2832
+ # request that produced the current response.
2833
+ # @option params [required, String] :id
2834
+ # Specify the value of `Id` of the traffic policy for which you want to
2835
+ # list all versions.
2836
+ # @option params [String] :traffic_policy_version_marker
2837
+ # For your first request to `ListTrafficPolicyVersions`, do not include
2838
+ # the `TrafficPolicyVersionMarker` parameter.
2839
+ #
2840
+ # If you have more traffic policy versions than the value of `MaxItems`,
2841
+ # `ListTrafficPolicyVersions` returns only the first group of `MaxItems`
2842
+ # versions. To get the next group of `MaxItems` traffic policy versions,
2843
+ # submit another request to `ListTrafficPolicyVersions`. For the value
2844
+ # of `TrafficPolicyVersionMarker`, specify the value of the
2845
+ # `TrafficPolicyVersionMarker` element that was returned in the previous
2846
+ # response.
2847
+ #
2848
+ # Traffic policy versions are listed in sequential order.
2849
+ # @option params [Integer] :max_items
2850
+ # The maximum number of traffic policy versions that you want Amazon
2851
+ # Route 53 to include in the response body for this request. If the
2852
+ # specified traffic policy has more than `MaxItems` versions, the value
2853
+ # of the `IsTruncated` element in the response is `true`, and the value
2854
+ # of the `TrafficPolicyVersionMarker` element is the ID of the first
2855
+ # version in the next group of `MaxItems` traffic policy versions.
2856
+ # @return [Types::ListTrafficPolicyVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2857
+ #
2858
+ # * {Types::ListTrafficPolicyVersionsResponse#traffic_policies #TrafficPolicies} => Array&lt;Types::TrafficPolicy&gt;
2859
+ # * {Types::ListTrafficPolicyVersionsResponse#is_truncated #IsTruncated} => Boolean
2860
+ # * {Types::ListTrafficPolicyVersionsResponse#traffic_policy_version_marker #TrafficPolicyVersionMarker} => String
2861
+ # * {Types::ListTrafficPolicyVersionsResponse#max_items #MaxItems} => Integer
2862
+ #
2863
+ # @example Request syntax with placeholder values
2864
+ # resp = client.list_traffic_policy_versions({
2865
+ # id: "TrafficPolicyId", # required
2866
+ # traffic_policy_version_marker: "TrafficPolicyVersionMarker",
2867
+ # max_items: 1,
2868
+ # })
2869
+ #
2870
+ # @example Response structure
2871
+ # resp.traffic_policies #=> Array
2872
+ # resp.traffic_policies[0].id #=> String
2873
+ # resp.traffic_policies[0].version #=> Integer
2874
+ # resp.traffic_policies[0].name #=> String
2875
+ # resp.traffic_policies[0].type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
2876
+ # resp.traffic_policies[0].document #=> String
2877
+ # resp.traffic_policies[0].comment #=> String
2878
+ # resp.is_truncated #=> Boolean
2879
+ # resp.traffic_policy_version_marker #=> String
2880
+ # resp.max_items #=> Integer
2881
+ # @overload list_traffic_policy_versions(params = {})
2882
+ # @param [Hash] params ({})
2883
+ def list_traffic_policy_versions(params = {}, options = {})
2884
+ req = build_request(:list_traffic_policy_versions, params)
2885
+ req.send_request(options)
2886
+ end
2887
+
2888
+ # Gets a list of the VPCs that were created by other accounts and that
2889
+ # can be associated with a specified hosted zone because you've
2890
+ # submitted one or more `CreateVPCAssociationAuthorization` requests.
2891
+ #
2892
+ # Send a `GET` request to the `/2013-04-01/hostedzone/hosted zone
2893
+ # ID/authorizevpcassociation` resource. The response to this request
2894
+ # includes a `VPCs` element with a `VPC` child element for each VPC that
2895
+ # can be associated with the hosted zone.
2896
+ #
2897
+ # Amazon Route 53 returns up to 50 VPCs per page. To return fewer VPCs
2898
+ # per page, include the `MaxResults` parameter:
2899
+ #
2900
+ # `/2013-04-01/hostedzone/hosted zone
2901
+ # ID/authorizevpcassociation?MaxItems=VPCs per page `
2902
+ #
2903
+ # If the response includes a `NextToken` element, there are more VPCs to
2904
+ # list. To get the next page of VPCs, submit another
2905
+ # `ListVPCAssociationAuthorizations` request, and include the value of
2906
+ # the `NextToken` element from the response in the `NextToken` request
2907
+ # parameter:
2908
+ #
2909
+ # `/2013-04-01/hostedzone/hosted zone
2910
+ # ID/authorizevpcassociation?MaxItems=VPCs per page&NextToken= `
2911
+ # @option params [required, String] :hosted_zone_id
2912
+ # The ID of the hosted zone for which you want a list of VPCs that can
2913
+ # be associated with the hosted zone.
2914
+ # @option params [String] :next_token
2915
+ # *Optional*\: If a response includes a `NextToken` element, there are
2916
+ # more VPCs that can be associated with the specified hosted zone. To
2917
+ # get the next page of results, submit another request, and include the
2918
+ # value of the `NextToken` element in from the response in the
2919
+ # `NextToken` parameter in another `ListVPCAssociationAuthorizations`
2920
+ # request.
2921
+ # @option params [String] :max_results
2922
+ # *Optional*\: An integer that specifies the maximum number of VPCs that
2923
+ # you want Amazon Route 53 to return.
2924
+ # @return [Types::ListVPCAssociationAuthorizationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2925
+ #
2926
+ # * {Types::ListVPCAssociationAuthorizationsResponse#hosted_zone_id #HostedZoneId} => String
2927
+ # * {Types::ListVPCAssociationAuthorizationsResponse#next_token #NextToken} => String
2928
+ # * {Types::ListVPCAssociationAuthorizationsResponse#vp_cs #VPCs} => Array&lt;Types::VPC&gt;
2929
+ #
2930
+ # @example Request syntax with placeholder values
2931
+ # resp = client.list_vpc_association_authorizations({
2932
+ # hosted_zone_id: "ResourceId", # required
2933
+ # next_token: "PaginationToken",
2934
+ # max_results: "MaxResults",
2935
+ # })
2936
+ #
2937
+ # @example Response structure
2938
+ # resp.hosted_zone_id #=> String
2939
+ # resp.next_token #=> String
2940
+ # resp.vp_cs #=> Array
2941
+ # resp.vp_cs[0].vpc_region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-central-1", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "ap-northeast-1", "ap-northeast-2", "sa-east-1", "cn-north-1"
2942
+ # resp.vp_cs[0].vpc_id #=> String
2943
+ # @overload list_vpc_association_authorizations(params = {})
2944
+ # @param [Hash] params ({})
2945
+ def list_vpc_association_authorizations(params = {}, options = {})
2946
+ req = build_request(:list_vpc_association_authorizations, params)
2947
+ req.send_request(options)
2948
+ end
2949
+
2950
+ # Gets the value that Amazon Route 53 returns in response to a DNS
2951
+ # request for a specified record name and type. You can optionally
2952
+ # specify the IP address of a DNS resolver, an EDNS0 client subnet IP
2953
+ # address, and a subnet mask.
2954
+ # @option params [required, String] :hosted_zone_id
2955
+ # The ID of the hosted zone that you want Amazon Route 53 to simulate a
2956
+ # query for.
2957
+ # @option params [required, String] :record_name
2958
+ # The name of the resource record set that you want Amazon Route 53 to
2959
+ # simulate a query for.
2960
+ # @option params [required, String] :record_type
2961
+ # The type of the resource record set.
2962
+ # @option params [String] :resolver_ip
2963
+ # If you want to simulate a request from a specific DNS resolver,
2964
+ # specify the IP address for that resolver. If you omit this value,
2965
+ # `TestDnsAnswer` uses the IP address of a DNS resolver in the AWS US
2966
+ # East region.
2967
+ # @option params [String] :edns0_client_subnet_ip
2968
+ # If the resolver that you specified for resolverip supports EDNS0,
2969
+ # specify the IP address of a client in the applicable location.
2970
+ # @option params [String] :edns0_client_subnet_mask
2971
+ # If you specify an IP address for `edns0clientsubnetip`, you can
2972
+ # optionally specify the number of bits of the IP address that you want
2973
+ # the checking tool to include in the DNS query. For example, if you
2974
+ # specify `192.0.2.44` for `edns0clientsubnetip` and `24` for
2975
+ # `edns0clientsubnetmask`, the checking tool will simulate a request
2976
+ # from 192.0.2.0/24. The default value is 24 bits.
2977
+ # @return [Types::TestDNSAnswerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2978
+ #
2979
+ # * {Types::TestDNSAnswerResponse#nameserver #Nameserver} => String
2980
+ # * {Types::TestDNSAnswerResponse#record_name #RecordName} => String
2981
+ # * {Types::TestDNSAnswerResponse#record_type #RecordType} => String
2982
+ # * {Types::TestDNSAnswerResponse#record_data #RecordData} => Array&lt;String&gt;
2983
+ # * {Types::TestDNSAnswerResponse#response_code #ResponseCode} => String
2984
+ # * {Types::TestDNSAnswerResponse#protocol #Protocol} => String
2985
+ #
2986
+ # @example Request syntax with placeholder values
2987
+ # resp = client.test_dns_answer({
2988
+ # hosted_zone_id: "ResourceId", # required
2989
+ # record_name: "DNSName", # required
2990
+ # record_type: "SOA", # required, accepts SOA, A, TXT, NS, CNAME, MX, NAPTR, PTR, SRV, SPF, AAAA
2991
+ # resolver_ip: "IPAddress",
2992
+ # edns0_client_subnet_ip: "IPAddress",
2993
+ # edns0_client_subnet_mask: "SubnetMask",
2994
+ # })
2995
+ #
2996
+ # @example Response structure
2997
+ # resp.nameserver #=> String
2998
+ # resp.record_name #=> String
2999
+ # resp.record_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
3000
+ # resp.record_data #=> Array
3001
+ # resp.record_data[0] #=> String
3002
+ # resp.response_code #=> String
3003
+ # resp.protocol #=> String
3004
+ # @overload test_dns_answer(params = {})
3005
+ # @param [Hash] params ({})
3006
+ def test_dns_answer(params = {}, options = {})
3007
+ req = build_request(:test_dns_answer, params)
3008
+ req.send_request(options)
3009
+ end
3010
+
3011
+ # Updates an existing health check.
3012
+ #
3013
+ # Send a `POST` request to the `/2013-04-01/healthcheck/health check ID
3014
+ # ` resource. The request body must include a document with an
3015
+ # `UpdateHealthCheckRequest` element. For more information about
3016
+ # updating health checks, see [Creating, Updating, and Deleting Health
3017
+ # Checks][1] in the Amazon Route 53 Developer Guide.
3018
+ #
3019
+ #
3020
+ #
3021
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html
3022
+ # @option params [required, String] :health_check_id
3023
+ # The ID for the health check for which you want detailed information.
3024
+ # When you created the health check, `CreateHealthCheck` returned the ID
3025
+ # in the response, in the `HealthCheckId` element.
3026
+ # @option params [Integer] :health_check_version
3027
+ # A sequential counter that Amazon Route 53 sets to `1` when you create
3028
+ # a health check and increments by `1` each time you update settings for
3029
+ # the health check.
3030
+ #
3031
+ # We recommend that you use `GetHealthCheck` or `ListHealthChecks` to
3032
+ # get the current value of `HealthCheckVersion` for the health check
3033
+ # that you want to update, and that you include that value in your
3034
+ # `UpdateHealthCheck` request. This prevents Amazon Route 53 from
3035
+ # overwriting an intervening update:
3036
+ #
3037
+ # * f the value in the `UpdateHealthCheck` request matches the value of
3038
+ # `HealthCheckVersion` in the health check, Amazon Route 53 updates
3039
+ # the health check with the new settings.
3040
+ #
3041
+ # * If the value of `HealthCheckVersion` in the health check is greater,
3042
+ # the health check was changed after you got the version number.
3043
+ # Amazon Route 53 does not update the health check, and it returns a
3044
+ # `HealthCheckVersionMismatch` error.
3045
+ # @option params [String] :ip_address
3046
+ # The IPv4 or IPv6 IP address for the endpoint that you want Amazon
3047
+ # Route 53 to perform health checks on. If you don't specify a value
3048
+ # for `IPAddress`, Amazon Route 53 sends a DNS request to resolve the
3049
+ # domain name that you specify in `FullyQualifiedDomainName` at the
3050
+ # interval that you specify in `RequestInterval`. Using an IP address
3051
+ # that is returned by DNS, Amazon Route 53 then checks the health of the
3052
+ # endpoint.
3053
+ #
3054
+ # If the endpoint is an EC2 instance, we recommend that you create an
3055
+ # Elastic IP address, associate it with your EC2 instance, and specify
3056
+ # the Elastic IP address for `IPAddress`. This ensures that the IP
3057
+ # address of your instance never changes. For more information, see
3058
+ # [Elastic IP Addresses (EIP)][1] in the *Amazon EC2 User Guide for
3059
+ # Linux Instances*.
3060
+ #
3061
+ # <note markdown="1"> If a health check already has a value for `IPAddress`, you can change
3062
+ # the value. However, you can't update an existing health check to add
3063
+ # or remove the value of `IPAddress`.
3064
+ #
3065
+ # </note>
3066
+ #
3067
+ # For more information, see
3068
+ # UpdateHealthCheckRequest$FullyQualifiedDomainName.
3069
+ #
3070
+ # Constraints: Amazon Route 53 can't check the health of endpoints for
3071
+ # which the IP address is in local, private, non-routable, or multicast
3072
+ # ranges. For more information about IP addresses for which you can't
3073
+ # create health checks, see the following documents:
3074
+ #
3075
+ # * [RFC 5735, Special Use IPv4 Addresses][2]
3076
+ #
3077
+ # * [RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space][3]
3078
+ #
3079
+ # * [RFC 5156, Special-Use IPv6 Addresses][4]
3080
+ #
3081
+ #
3082
+ #
3083
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
3084
+ # [2]: https://tools.ietf.org/html/rfc5735
3085
+ # [3]: https://tools.ietf.org/html/rfc6598
3086
+ # [4]: https://tools.ietf.org/html/rfc5156
3087
+ # @option params [Integer] :port
3088
+ # The port on the endpoint on which you want Amazon Route 53 to perform
3089
+ # health checks.
3090
+ # @option params [String] :resource_path
3091
+ # The path that you want Amazon Route 53 to request when performing
3092
+ # health checks. The path can be any value for which your endpoint will
3093
+ # return an HTTP status code of 2xx or 3xx when the endpoint is healthy,
3094
+ # for example the file /docs/route53-health-check.html.
3095
+ #
3096
+ # Specify this value only if you want to change it.
3097
+ # @option params [String] :fully_qualified_domain_name
3098
+ # Amazon Route 53 behavior depends on whether you specify a value for
3099
+ # `IPAddress`.
3100
+ #
3101
+ # <note markdown="1"> If a health check already has a value for `IPAddress`, you can change
3102
+ # the value. However, you can't update an existing health check to add
3103
+ # or remove the value of `IPAddress`.
3104
+ #
3105
+ # </note>
3106
+ #
3107
+ # **If you specify a value for** `IPAddress`\:
3108
+ #
3109
+ # Amazon Route 53 sends health check requests to the specified IPv4 or
3110
+ # IPv6 address and passes the value of `FullyQualifiedDomainName` in the
3111
+ # `Host` header for all health checks except TCP health checks. This is
3112
+ # typically the fully qualified DNS name of the endpoint on which you
3113
+ # want Amazon Route 53 to perform health checks.
3114
+ #
3115
+ # When Amazon Route 53 checks the health of an endpoint, here is how it
3116
+ # constructs the `Host` header:
3117
+ #
3118
+ # * If you specify a value of `80` for `Port` and `HTTP` or
3119
+ # `HTTP_STR_MATCH` for `Type`, Amazon Route 53 passes the value of
3120
+ # `FullyQualifiedDomainName` to the endpoint in the `Host` header.
3121
+ #
3122
+ # * If you specify a value of `443` for `Port` and `HTTPS` or
3123
+ # `HTTPS_STR_MATCH` for `Type`, Amazon Route 53 passes the value of
3124
+ # `FullyQualifiedDomainName` to the endpoint in the Host header.
3125
+ #
3126
+ # * If you specify another value for `Port` and any value except `TCP`
3127
+ # for `Type`, Amazon Route 53 passes <i>
3128
+ # <code>FullyQualifiedDomainName</code>\:<code>Port</code> </i> to the
3129
+ # endpoint in the Host header.
3130
+ #
3131
+ # If you don't specify a value for `FullyQualifiedDomainName`, Amazon
3132
+ # Route 53 substitutes the value of `IPAddress` in the `Host` header in
3133
+ # each of the above cases.
3134
+ #
3135
+ # **If you don't specify a value for** `IPAddress`\:
3136
+ #
3137
+ # If you don't specify a value for `IPAddress`, Amazon Route 53 sends a
3138
+ # DNS request to the domain that you specify in
3139
+ # `FullyQualifiedDomainName` at the interval you specify in
3140
+ # `RequestInterval`. Using an IPv4 address that is returned by DNS,
3141
+ # Amazon Route 53 then checks the health of the endpoint.
3142
+ #
3143
+ # <note markdown="1"> If you don't specify a value for `IPAddress`, Amazon Route 53 uses
3144
+ # only IPv4 to send health checks to the endpoint. If there's no
3145
+ # resource record set with a type of A for the name that you specify for
3146
+ # `FullyQualifiedDomainName`, the health check fails with a "DNS
3147
+ # resolution failed" error.
3148
+ #
3149
+ # </note>
3150
+ #
3151
+ # If you want to check the health of weighted, latency, or failover
3152
+ # resource record sets and you choose to specify the endpoint only by
3153
+ # `FullyQualifiedDomainName`, we recommend that you create a separate
3154
+ # health check for each endpoint. For example, create a health check for
3155
+ # each HTTP server that is serving content for www.example.com. For the
3156
+ # value of `FullyQualifiedDomainName`, specify the domain name of the
3157
+ # server (such as `us-east-1-www.example.com`), not the name of the
3158
+ # resource record sets (www.example.com).
3159
+ #
3160
+ # In this configuration, if the value of `FullyQualifiedDomainName`
3161
+ # matches the name of the resource record sets and you then associate
3162
+ # the health check with those resource record sets, health check results
3163
+ # will be unpredictable.
3164
+ #
3165
+ # In addition, if the value of `Type` is `HTTP`, `HTTPS`,
3166
+ # `HTTP_STR_MATCH`, or `HTTPS_STR_MATCH`, Amazon Route 53 passes the
3167
+ # value of `FullyQualifiedDomainName` in the `Host` header, as it does
3168
+ # when you specify a value for `IPAddress`. If the value of `Type` is
3169
+ # `TCP`, Amazon Route 53 doesn't pass a `Host` header.
3170
+ # @option params [String] :search_string
3171
+ # If the value of `Type` is `HTTP_STR_MATCH` or `HTTP_STR_MATCH`, the
3172
+ # string that you want Amazon Route 53 to search for in the response
3173
+ # body from the specified resource. If the string appears in the
3174
+ # response body, Amazon Route 53 considers the resource healthy. (You
3175
+ # can't change the value of `Type` when you update a health check.)
3176
+ # @option params [Integer] :failure_threshold
3177
+ # The number of consecutive health checks that an endpoint must pass or
3178
+ # fail for Amazon Route 53 to change the current status of the endpoint
3179
+ # from unhealthy to healthy or vice versa. For more information, see
3180
+ # [How Amazon Route 53 Determines Whether an Endpoint Is Healthy][1] in
3181
+ # the *Amazon Route 53 Developer Guide*.
3182
+ #
3183
+ #
3184
+ #
3185
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html
3186
+ # @option params [Boolean] :inverted
3187
+ # Specify whether you want Amazon Route 53 to invert the status of a
3188
+ # health check, for example, to consider a health check unhealthy when
3189
+ # it otherwise would be considered healthy.
3190
+ # @option params [Integer] :health_threshold
3191
+ # The number of child health checks that are associated with a
3192
+ # `CALCULATED` health that Amazon Route 53 must consider healthy for the
3193
+ # `CALCULATED` health check to be considered healthy. To specify the
3194
+ # child health checks that you want to associate with a `CALCULATED`
3195
+ # health check, use the `ChildHealthChecks` and `ChildHealthCheck`
3196
+ # elements.
3197
+ #
3198
+ # Note the following:
3199
+ #
3200
+ # * If you specify a number greater than the number of child health
3201
+ # checks, Amazon Route 53 always considers this health check to be
3202
+ # unhealthy.
3203
+ #
3204
+ # * If you specify `0`, Amazon Route 53 always considers this health
3205
+ # check to be healthy.
3206
+ # @option params [Array<String>] :child_health_checks
3207
+ # A complex type that contains one `ChildHealthCheck` element for each
3208
+ # health check that you want to associate with a `CALCULATED` health
3209
+ # check.
3210
+ # @option params [Boolean] :enable_sni
3211
+ # Specify whether you want Amazon Route 53 to send the value of
3212
+ # `FullyQualifiedDomainName` to the endpoint in the `client_hello`
3213
+ # message during `TLS` negotiation. This allows the endpoint to respond
3214
+ # to `HTTPS` health check requests with the applicable SSL/TLS
3215
+ # certificate.
3216
+ #
3217
+ # Some endpoints require that HTTPS requests include the host name in
3218
+ # the `client_hello` message. If you don't enable SNI, the status of
3219
+ # the health check will be SSL alert `handshake_failure`. A health check
3220
+ # can also have that status for other reasons. If SNI is enabled and
3221
+ # you're still getting the error, check the SSL/TLS configuration on
3222
+ # your endpoint and confirm that your certificate is valid.
3223
+ #
3224
+ # The SSL/TLS certificate on your endpoint includes a domain name in the
3225
+ # `Common Name` field and possibly several more in the `Subject
3226
+ # Alternative Names` field. One of the domain names in the certificate
3227
+ # should match the value that you specify for
3228
+ # `FullyQualifiedDomainName`. If the endpoint responds to the
3229
+ # `client_hello` message with a certificate that does not include the
3230
+ # domain name that you specified in `FullyQualifiedDomainName`, a health
3231
+ # checker will retry the handshake. In the second attempt, the health
3232
+ # checker will omit `FullyQualifiedDomainName` from the `client_hello`
3233
+ # message.
3234
+ # @option params [Array<String>] :regions
3235
+ # A complex type that contains one Region element for each region from
3236
+ # which you want Amazon Route 53 health checkers to check the specified
3237
+ # endpoint.
3238
+ # @option params [Types::AlarmIdentifier] :alarm_identifier
3239
+ # A complex type that identifies the CloudWatch alarm that you want
3240
+ # Amazon Route 53 health checkers to use to determine whether this
3241
+ # health check is healthy.
3242
+ # @option params [String] :insufficient_data_health_status
3243
+ # When CloudWatch has insufficient data about the metric to determine
3244
+ # the alarm state, the status that you want Amazon Route 53 to assign to
3245
+ # the health check:
3246
+ #
3247
+ # * `Healthy`\: Amazon Route 53 considers the health check to be
3248
+ # healthy.
3249
+ #
3250
+ # * `Unhealthy`\: Amazon Route 53 considers the health check to be
3251
+ # unhealthy.
3252
+ #
3253
+ # * `LastKnownStatus`\: Amazon Route 53 uses the status of the health
3254
+ # check from the last time CloudWatch had sufficient data to determine
3255
+ # the alarm state. For new health checks that have no last known
3256
+ # status, the default status for the health check is healthy.
3257
+ # @return [Types::UpdateHealthCheckResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3258
+ #
3259
+ # * {Types::UpdateHealthCheckResponse#health_check #HealthCheck} => Types::HealthCheck
3260
+ #
3261
+ # @example Request syntax with placeholder values
3262
+ # resp = client.update_health_check({
3263
+ # health_check_id: "HealthCheckId", # required
3264
+ # health_check_version: 1,
3265
+ # ip_address: "IPAddress",
3266
+ # port: 1,
3267
+ # resource_path: "ResourcePath",
3268
+ # fully_qualified_domain_name: "FullyQualifiedDomainName",
3269
+ # search_string: "SearchString",
3270
+ # failure_threshold: 1,
3271
+ # inverted: false,
3272
+ # health_threshold: 1,
3273
+ # child_health_checks: ["HealthCheckId"],
3274
+ # enable_sni: false,
3275
+ # regions: ["us-east-1"], # accepts us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1
3276
+ # alarm_identifier: {
3277
+ # region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-central-1, eu-west-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2, sa-east-1
3278
+ # name: "AlarmName", # required
3279
+ # },
3280
+ # insufficient_data_health_status: "Healthy", # accepts Healthy, Unhealthy, LastKnownStatus
3281
+ # })
3282
+ #
3283
+ # @example Response structure
3284
+ # resp.health_check.id #=> String
3285
+ # resp.health_check.caller_reference #=> String
3286
+ # resp.health_check.health_check_config.ip_address #=> String
3287
+ # resp.health_check.health_check_config.port #=> Integer
3288
+ # resp.health_check.health_check_config.type #=> String, one of "HTTP", "HTTPS", "HTTP_STR_MATCH", "HTTPS_STR_MATCH", "TCP", "CALCULATED", "CLOUDWATCH_METRIC"
3289
+ # resp.health_check.health_check_config.resource_path #=> String
3290
+ # resp.health_check.health_check_config.fully_qualified_domain_name #=> String
3291
+ # resp.health_check.health_check_config.search_string #=> String
3292
+ # resp.health_check.health_check_config.request_interval #=> Integer
3293
+ # resp.health_check.health_check_config.failure_threshold #=> Integer
3294
+ # resp.health_check.health_check_config.measure_latency #=> Boolean
3295
+ # resp.health_check.health_check_config.inverted #=> Boolean
3296
+ # resp.health_check.health_check_config.health_threshold #=> Integer
3297
+ # resp.health_check.health_check_config.child_health_checks #=> Array
3298
+ # resp.health_check.health_check_config.child_health_checks[0] #=> String
3299
+ # resp.health_check.health_check_config.enable_sni #=> Boolean
3300
+ # resp.health_check.health_check_config.regions #=> Array
3301
+ # resp.health_check.health_check_config.regions[0] #=> String, one of "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1"
3302
+ # resp.health_check.health_check_config.alarm_identifier.region #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-central-1", "eu-west-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", "sa-east-1"
3303
+ # resp.health_check.health_check_config.alarm_identifier.name #=> String
3304
+ # resp.health_check.health_check_config.insufficient_data_health_status #=> String, one of "Healthy", "Unhealthy", "LastKnownStatus"
3305
+ # resp.health_check.health_check_version #=> Integer
3306
+ # resp.health_check.cloud_watch_alarm_configuration.evaluation_periods #=> Integer
3307
+ # resp.health_check.cloud_watch_alarm_configuration.threshold #=> Float
3308
+ # resp.health_check.cloud_watch_alarm_configuration.comparison_operator #=> String, one of "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold"
3309
+ # resp.health_check.cloud_watch_alarm_configuration.period #=> Integer
3310
+ # resp.health_check.cloud_watch_alarm_configuration.metric_name #=> String
3311
+ # resp.health_check.cloud_watch_alarm_configuration.namespace #=> String
3312
+ # resp.health_check.cloud_watch_alarm_configuration.statistic #=> String, one of "Average", "Sum", "SampleCount", "Maximum", "Minimum"
3313
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions #=> Array
3314
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions[0].name #=> String
3315
+ # resp.health_check.cloud_watch_alarm_configuration.dimensions[0].value #=> String
3316
+ # @overload update_health_check(params = {})
3317
+ # @param [Hash] params ({})
3318
+ def update_health_check(params = {}, options = {})
3319
+ req = build_request(:update_health_check, params)
3320
+ req.send_request(options)
3321
+ end
3322
+
3323
+ # Updates the hosted zone comment. Send a `POST` request to the
3324
+ # `/2013-04-01/hostedzone/hosted zone ID ` resource.
3325
+ # @option params [required, String] :id
3326
+ # The ID for the hosted zone for which you want to update the comment.
3327
+ # @option params [String] :comment
3328
+ # The new comment for the hosted zone. If you don't specify a value for
3329
+ # `Comment`, Amazon Route 53 deletes the existing value of the `Comment`
3330
+ # element, if any.
3331
+ # @return [Types::UpdateHostedZoneCommentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3332
+ #
3333
+ # * {Types::UpdateHostedZoneCommentResponse#hosted_zone #HostedZone} => Types::HostedZone
3334
+ #
3335
+ # @example Request syntax with placeholder values
3336
+ # resp = client.update_hosted_zone_comment({
3337
+ # id: "ResourceId", # required
3338
+ # comment: "ResourceDescription",
3339
+ # })
3340
+ #
3341
+ # @example Response structure
3342
+ # resp.hosted_zone.id #=> String
3343
+ # resp.hosted_zone.name #=> String
3344
+ # resp.hosted_zone.caller_reference #=> String
3345
+ # resp.hosted_zone.config.comment #=> String
3346
+ # resp.hosted_zone.config.private_zone #=> Boolean
3347
+ # resp.hosted_zone.resource_record_set_count #=> Integer
3348
+ # @overload update_hosted_zone_comment(params = {})
3349
+ # @param [Hash] params ({})
3350
+ def update_hosted_zone_comment(params = {}, options = {})
3351
+ req = build_request(:update_hosted_zone_comment, params)
3352
+ req.send_request(options)
3353
+ end
3354
+
3355
+ # Updates the comment for a specified traffic policy version.
3356
+ #
3357
+ # Send a `POST` request to the `/2013-04-01/trafficpolicy/` resource.
3358
+ #
3359
+ # The request body must include a document with an
3360
+ # `UpdateTrafficPolicyCommentRequest` element.
3361
+ # @option params [required, String] :id
3362
+ # The value of `Id` for the traffic policy for which you want to update
3363
+ # the comment.
3364
+ # @option params [required, Integer] :version
3365
+ # The value of `Version` for the traffic policy for which you want to
3366
+ # update the comment.
3367
+ # @option params [required, String] :comment
3368
+ # The new comment for the specified traffic policy and version.
3369
+ # @return [Types::UpdateTrafficPolicyCommentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3370
+ #
3371
+ # * {Types::UpdateTrafficPolicyCommentResponse#traffic_policy #TrafficPolicy} => Types::TrafficPolicy
3372
+ #
3373
+ # @example Request syntax with placeholder values
3374
+ # resp = client.update_traffic_policy_comment({
3375
+ # id: "TrafficPolicyId", # required
3376
+ # version: 1, # required
3377
+ # comment: "TrafficPolicyComment", # required
3378
+ # })
3379
+ #
3380
+ # @example Response structure
3381
+ # resp.traffic_policy.id #=> String
3382
+ # resp.traffic_policy.version #=> Integer
3383
+ # resp.traffic_policy.name #=> String
3384
+ # resp.traffic_policy.type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
3385
+ # resp.traffic_policy.document #=> String
3386
+ # resp.traffic_policy.comment #=> String
3387
+ # @overload update_traffic_policy_comment(params = {})
3388
+ # @param [Hash] params ({})
3389
+ def update_traffic_policy_comment(params = {}, options = {})
3390
+ req = build_request(:update_traffic_policy_comment, params)
3391
+ req.send_request(options)
3392
+ end
3393
+
3394
+ # Updates the resource record sets in a specified hosted zone that were
3395
+ # created based on the settings in a specified traffic policy version.
3396
+ #
3397
+ # Send a `POST` request to the
3398
+ # `/2013-04-01/trafficpolicyinstance/traffic policy ID ` resource. The
3399
+ # request body must include a document with an
3400
+ # `UpdateTrafficPolicyInstanceRequest` element.
3401
+ #
3402
+ # When you update a traffic policy instance, Amazon Route 53 continues
3403
+ # to respond to DNS queries for the root resource record set name (such
3404
+ # as example.com) while it replaces one group of resource record sets
3405
+ # with another. Amazon Route 53 performs the following operations:
3406
+ #
3407
+ # 1. Amazon Route 53 creates a new group of resource record sets based
3408
+ # on the specified traffic policy. This is true regardless of how
3409
+ # substantial the differences are between the existing resource
3410
+ # record sets and the new resource record sets.
3411
+ #
3412
+ # 2. When all of the new resource record sets have been created, Amazon
3413
+ # Route 53 starts to respond to DNS queries for the root resource
3414
+ # record set name (such as example.com) by using the new resource
3415
+ # record sets.
3416
+ #
3417
+ # 3. Amazon Route 53 deletes the old group of resource record sets that
3418
+ # are associated with the root resource record set name.
3419
+ # @option params [required, String] :id
3420
+ # The ID of the traffic policy instance that you want to update.
3421
+ # @option params [required, Integer] :ttl
3422
+ # The TTL that you want Amazon Route 53 to assign to all of the updated
3423
+ # resource record sets.
3424
+ # @option params [required, String] :traffic_policy_id
3425
+ # The ID of the traffic policy that you want Amazon Route 53 to use to
3426
+ # update resource record sets for the specified traffic policy instance.
3427
+ # @option params [required, Integer] :traffic_policy_version
3428
+ # The version of the traffic policy that you want Amazon Route 53 to use
3429
+ # to update resource record sets for the specified traffic policy
3430
+ # instance.
3431
+ # @return [Types::UpdateTrafficPolicyInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3432
+ #
3433
+ # * {Types::UpdateTrafficPolicyInstanceResponse#traffic_policy_instance #TrafficPolicyInstance} => Types::TrafficPolicyInstance
3434
+ #
3435
+ # @example Request syntax with placeholder values
3436
+ # resp = client.update_traffic_policy_instance({
3437
+ # id: "TrafficPolicyInstanceId", # required
3438
+ # ttl: 1, # required
3439
+ # traffic_policy_id: "TrafficPolicyId", # required
3440
+ # traffic_policy_version: 1, # required
3441
+ # })
3442
+ #
3443
+ # @example Response structure
3444
+ # resp.traffic_policy_instance.id #=> String
3445
+ # resp.traffic_policy_instance.hosted_zone_id #=> String
3446
+ # resp.traffic_policy_instance.name #=> String
3447
+ # resp.traffic_policy_instance.ttl #=> Integer
3448
+ # resp.traffic_policy_instance.state #=> String
3449
+ # resp.traffic_policy_instance.message #=> String
3450
+ # resp.traffic_policy_instance.traffic_policy_id #=> String
3451
+ # resp.traffic_policy_instance.traffic_policy_version #=> Integer
3452
+ # resp.traffic_policy_instance.traffic_policy_type #=> String, one of "SOA", "A", "TXT", "NS", "CNAME", "MX", "NAPTR", "PTR", "SRV", "SPF", "AAAA"
3453
+ # @overload update_traffic_policy_instance(params = {})
3454
+ # @param [Hash] params ({})
3455
+ def update_traffic_policy_instance(params = {}, options = {})
3456
+ req = build_request(:update_traffic_policy_instance, params)
3457
+ req.send_request(options)
3458
+ end
3459
+
3460
+ # @!endgroup
3461
+
3462
+ # @param params ({})
3463
+ # @api private
3464
+ def build_request(operation_name, params = {})
3465
+ handlers = @handlers.for(operation_name)
3466
+ context = Seahorse::Client::RequestContext.new(
3467
+ operation_name: operation_name,
3468
+ operation: config.api.operation(operation_name),
3469
+ client: self,
3470
+ params: params,
3471
+ config: config)
3472
+ context[:gem_name] = 'aws-sdk-route53'
3473
+ context[:gem_version] = '1.0.0.rc1'
3474
+ Seahorse::Client::Request.new(handlers, context)
3475
+ end
3476
+
3477
+ # Polls an API operation until a resource enters a desired state.
3478
+ #
3479
+ # ## Basic Usage
3480
+ #
3481
+ # A waiter will call an API operation until:
3482
+ #
3483
+ # * It is successful
3484
+ # * It enters a terminal state
3485
+ # * It makes the maximum number of attempts
3486
+ #
3487
+ # In between attempts, the waiter will sleep.
3488
+ #
3489
+ # # polls in a loop, sleeping between attempts
3490
+ # client.waiter_until(waiter_name, params)
3491
+ #
3492
+ # ## Configuration
3493
+ #
3494
+ # You can configure the maximum number of polling attempts, and the
3495
+ # delay (in seconds) between each polling attempt. You can pass
3496
+ # configuration as the final arguments hash.
3497
+ #
3498
+ # # poll for ~25 seconds
3499
+ # client.wait_until(waiter_name, params, {
3500
+ # max_attempts: 5,
3501
+ # delay: 5,
3502
+ # })
3503
+ #
3504
+ # ## Callbacks
3505
+ #
3506
+ # You can be notified before each polling attempt and before each
3507
+ # delay. If you throw `:success` or `:failure` from these callbacks,
3508
+ # it will terminate the waiter.
3509
+ #
3510
+ # started_at = Time.now
3511
+ # client.wait_until(waiter_name, params, {
3512
+ #
3513
+ # # disable max attempts
3514
+ # max_attempts: nil,
3515
+ #
3516
+ # # poll for 1 hour, instead of a number of attempts
3517
+ # before_wait: -> (attempts, response) do
3518
+ # throw :failure if Time.now - started_at > 3600
3519
+ # end
3520
+ # })
3521
+ #
3522
+ # ## Handling Errors
3523
+ #
3524
+ # When a waiter is unsuccessful, it will raise an error.
3525
+ # All of the failure errors extend from
3526
+ # {Aws::Waiters::Errors::WaiterFailed}.
3527
+ #
3528
+ # begin
3529
+ # client.wait_until(...)
3530
+ # rescue Aws::Waiters::Errors::WaiterFailed
3531
+ # # resource did not enter the desired state in time
3532
+ # end
3533
+ #
3534
+ # ## Valid Waiters
3535
+ #
3536
+ # The following table lists the valid waiter names, the operations they call,
3537
+ # and the default `:delay` and `:max_attempts` values.
3538
+ #
3539
+ # | waiter_name | params | :delay | :max_attempts |
3540
+ # | ---------------------------- | ------------- | -------- | ------------- |
3541
+ # | resource_record_sets_changed | {#get_change} | 30 | 60 |
3542
+ #
3543
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
3544
+ # because the waiter has entered a state that it will not transition
3545
+ # out of, preventing success.
3546
+ #
3547
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
3548
+ # maximum number of attempts have been made, and the waiter is not
3549
+ # yet successful.
3550
+ #
3551
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
3552
+ # while polling for a resource that is not expected.
3553
+ #
3554
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
3555
+ # for an unknown state.
3556
+ #
3557
+ # @return [Boolean] Returns `true` if the waiter was successful.
3558
+ # @param [Symbol] waiter_name
3559
+ # @param [Hash] params ({})
3560
+ # @param [Hash] options ({})
3561
+ # @option options [Integer] :max_attempts
3562
+ # @option options [Integer] :delay
3563
+ # @option options [Proc] :before_attempt
3564
+ # @option options [Proc] :before_wait
3565
+ def wait_until(waiter_name, params = {}, options = {})
3566
+ w = waiter(waiter_name, options)
3567
+ yield(w.waiter) if block_given? # deprecated
3568
+ w.wait(params)
3569
+ end
3570
+
3571
+ # @api private
3572
+ # @deprecated
3573
+ def waiter_names
3574
+ waiters.keys
3575
+ end
3576
+
3577
+ private
3578
+
3579
+ # @param [Symbol] waiter_name
3580
+ # @param [Hash] options ({})
3581
+ def waiter(waiter_name, options = {})
3582
+ waiter_class = waiters[waiter_name]
3583
+ if waiter_class
3584
+ waiter_class.new(options.merge(client: self))
3585
+ else
3586
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
3587
+ end
3588
+ end
3589
+
3590
+ def waiters
3591
+ {
3592
+ resource_record_sets_changed: Waiters::ResourceRecordSetsChanged
3593
+ }
3594
+ end
3595
+
3596
+ class << self
3597
+
3598
+ # @api private
3599
+ attr_reader :identifier
3600
+
3601
+ # @api private
3602
+ def errors_module
3603
+ Errors
3604
+ end
3605
+
3606
+ end
3607
+ end
3608
+ end
3609
+ end