File Coverage

blib/lib/Paws/Route53.pm
Criterion Covered Total %
statement 32 223 14.3
branch 0 12 0.0
condition n/a
subroutine 12 62 19.3
pod 56 60 93.3
total 100 357 28.0


line stmt bran cond sub pod time code
1             package Paws::Route53;
2             warn "Paws::Route53 is not stable / supported / entirely developed";
3 1     1   1595 use Moose;
  1     4   5  
  1         10  
  4         3359  
  4         10  
  4         31  
4 20     20 0 82 sub service { 'route53' }
5 0     0 0 0 sub version { '2013-04-01' }
6 6     6 0 31 sub flattened_arrays { 0 }
7             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
8             has retry => (is => 'ro', isa => 'HashRef', default => sub {
9             { base => 'rand', type => 'exponential', growth_factor => 2 }
10             });
11             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
12             sub { defined $_[0]->http_status and $_[0]->http_status == 400 and $_[0]->code eq 'Throttling' },
13             sub { defined $_[0]->http_status and $_[0]->http_status == 400 and $_[0]->code eq 'PriorRequestNotComplete' },
14             ] });
15              
16             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::RestXmlCaller', 'Paws::Net::RestXMLResponse';
17              
18             has '+region_rules' => (default => sub {
19             my $regioninfo;
20             $regioninfo = [
21             {
22             constraints => [
23             [
24             'region',
25             'notStartsWith',
26             'cn-'
27             ]
28             ],
29             properties => {
30             credentialScope => {
31             region => 'us-east-1'
32             }
33             },
34             uri => 'https://route53.amazonaws.com'
35             }
36             ];
37              
38             return $regioninfo;
39             });
40              
41            
42             sub AssociateVPCWithHostedZone {
43 0     0 1 0 my $self = shift;
44 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::AssociateVPCWithHostedZone', @_);
45 0         0 return $self->caller->do_call($self, $call_object);
46             }
47             sub ChangeResourceRecordSets {
48 1     1 1 3 my $self = shift;
49 1         6 my $call_object = $self->new_with_coercions('Paws::Route53::ChangeResourceRecordSets', @_);
50 1         746 return $self->caller->do_call($self, $call_object);
51             }
52             sub ChangeTagsForResource {
53 0     0 1 0 my $self = shift;
54 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::ChangeTagsForResource', @_);
55 0         0 return $self->caller->do_call($self, $call_object);
56             }
57             sub CreateHealthCheck {
58 0     0 1 0 my $self = shift;
59 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateHealthCheck', @_);
60 0         0 return $self->caller->do_call($self, $call_object);
61             }
62             sub CreateHostedZone {
63 0     0 1 0 my $self = shift;
64 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateHostedZone', @_);
65 0         0 return $self->caller->do_call($self, $call_object);
66             }
67             sub CreateQueryLoggingConfig {
68 0     0 1 0 my $self = shift;
69 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateQueryLoggingConfig', @_);
70 0         0 return $self->caller->do_call($self, $call_object);
71             }
72             sub CreateReusableDelegationSet {
73 0     0 1 0 my $self = shift;
74 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateReusableDelegationSet', @_);
75 0         0 return $self->caller->do_call($self, $call_object);
76             }
77             sub CreateTrafficPolicy {
78 0     0 1 0 my $self = shift;
79 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateTrafficPolicy', @_);
80 0         0 return $self->caller->do_call($self, $call_object);
81             }
82             sub CreateTrafficPolicyInstance {
83 0     0 1 0 my $self = shift;
84 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateTrafficPolicyInstance', @_);
85 0         0 return $self->caller->do_call($self, $call_object);
86             }
87             sub CreateTrafficPolicyVersion {
88 0     0 1 0 my $self = shift;
89 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateTrafficPolicyVersion', @_);
90 0         0 return $self->caller->do_call($self, $call_object);
91             }
92             sub CreateVPCAssociationAuthorization {
93 0     0 1 0 my $self = shift;
94 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::CreateVPCAssociationAuthorization', @_);
95 0         0 return $self->caller->do_call($self, $call_object);
96             }
97             sub DeleteHealthCheck {
98 0     0 1 0 my $self = shift;
99 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DeleteHealthCheck', @_);
100 0         0 return $self->caller->do_call($self, $call_object);
101             }
102             sub DeleteHostedZone {
103 0     0 1 0 my $self = shift;
104 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DeleteHostedZone', @_);
105 0         0 return $self->caller->do_call($self, $call_object);
106             }
107             sub DeleteQueryLoggingConfig {
108 0     0 1 0 my $self = shift;
109 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DeleteQueryLoggingConfig', @_);
110 0         0 return $self->caller->do_call($self, $call_object);
111             }
112             sub DeleteReusableDelegationSet {
113 0     0 1 0 my $self = shift;
114 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DeleteReusableDelegationSet', @_);
115 0         0 return $self->caller->do_call($self, $call_object);
116             }
117             sub DeleteTrafficPolicy {
118 0     0 1 0 my $self = shift;
119 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DeleteTrafficPolicy', @_);
120 0         0 return $self->caller->do_call($self, $call_object);
121             }
122             sub DeleteTrafficPolicyInstance {
123 0     0 1 0 my $self = shift;
124 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DeleteTrafficPolicyInstance', @_);
125 0         0 return $self->caller->do_call($self, $call_object);
126             }
127             sub DeleteVPCAssociationAuthorization {
128 0     0 1 0 my $self = shift;
129 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DeleteVPCAssociationAuthorization', @_);
130 0         0 return $self->caller->do_call($self, $call_object);
131             }
132             sub DisassociateVPCFromHostedZone {
133 0     0 1 0 my $self = shift;
134 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::DisassociateVPCFromHostedZone', @_);
135 0         0 return $self->caller->do_call($self, $call_object);
136             }
137             sub GetChange {
138 0     0 1 0 my $self = shift;
139 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetChange', @_);
140 0         0 return $self->caller->do_call($self, $call_object);
141             }
142             sub GetCheckerIpRanges {
143 0     0 1 0 my $self = shift;
144 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetCheckerIpRanges', @_);
145 0         0 return $self->caller->do_call($self, $call_object);
146             }
147             sub GetGeoLocation {
148 0     0 1 0 my $self = shift;
149 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetGeoLocation', @_);
150 0         0 return $self->caller->do_call($self, $call_object);
151             }
152             sub GetHealthCheck {
153 0     0 1 0 my $self = shift;
154 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetHealthCheck', @_);
155 0         0 return $self->caller->do_call($self, $call_object);
156             }
157             sub GetHealthCheckCount {
158 0     0 1 0 my $self = shift;
159 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetHealthCheckCount', @_);
160 0         0 return $self->caller->do_call($self, $call_object);
161             }
162             sub GetHealthCheckLastFailureReason {
163 0     0 1 0 my $self = shift;
164 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetHealthCheckLastFailureReason', @_);
165 0         0 return $self->caller->do_call($self, $call_object);
166             }
167             sub GetHealthCheckStatus {
168 0     0 1 0 my $self = shift;
169 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetHealthCheckStatus', @_);
170 0         0 return $self->caller->do_call($self, $call_object);
171             }
172             sub GetHostedZone {
173 0     0 1 0 my $self = shift;
174 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetHostedZone', @_);
175 0         0 return $self->caller->do_call($self, $call_object);
176             }
177             sub GetHostedZoneCount {
178 0     0 1 0 my $self = shift;
179 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetHostedZoneCount', @_);
180 0         0 return $self->caller->do_call($self, $call_object);
181             }
182             sub GetQueryLoggingConfig {
183 0     0 1 0 my $self = shift;
184 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetQueryLoggingConfig', @_);
185 0         0 return $self->caller->do_call($self, $call_object);
186             }
187             sub GetReusableDelegationSet {
188 0     0 1 0 my $self = shift;
189 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetReusableDelegationSet', @_);
190 0         0 return $self->caller->do_call($self, $call_object);
191             }
192             sub GetTrafficPolicy {
193 0     0 1 0 my $self = shift;
194 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetTrafficPolicy', @_);
195 0         0 return $self->caller->do_call($self, $call_object);
196             }
197             sub GetTrafficPolicyInstance {
198 0     0 1 0 my $self = shift;
199 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetTrafficPolicyInstance', @_);
200 0         0 return $self->caller->do_call($self, $call_object);
201             }
202             sub GetTrafficPolicyInstanceCount {
203 0     0 1 0 my $self = shift;
204 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::GetTrafficPolicyInstanceCount', @_);
205 0         0 return $self->caller->do_call($self, $call_object);
206             }
207             sub ListGeoLocations {
208 1     1 1 315 my $self = shift;
209 1         6 my $call_object = $self->new_with_coercions('Paws::Route53::ListGeoLocations', @_);
210 1         649 return $self->caller->do_call($self, $call_object);
211             }
212             sub ListHealthChecks {
213 1     1 1 7 my $self = shift;
214 1         7 my $call_object = $self->new_with_coercions('Paws::Route53::ListHealthChecks', @_);
215 1         739 return $self->caller->do_call($self, $call_object);
216             }
217             sub ListHostedZones {
218 3     3 1 290 my $self = shift;
219 3         18 my $call_object = $self->new_with_coercions('Paws::Route53::ListHostedZones', @_);
220 3         1575 return $self->caller->do_call($self, $call_object);
221             }
222             sub ListHostedZonesByName {
223 1     1 1 320 my $self = shift;
224 1         9 my $call_object = $self->new_with_coercions('Paws::Route53::ListHostedZonesByName', @_);
225 1         508 return $self->caller->do_call($self, $call_object);
226             }
227             sub ListQueryLoggingConfigs {
228 0     0 1 0 my $self = shift;
229 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::ListQueryLoggingConfigs', @_);
230 0         0 return $self->caller->do_call($self, $call_object);
231             }
232             sub ListResourceRecordSets {
233 0     0 1 0 my $self = shift;
234 0         0 my $call_object = $self->new_with_coercions('Paws::Route53::ListResourceRecordSets', @_);
235 0         0 return $self->caller->do_call($self, $call_object);
236             }
237             sub ListReusableDelegationSets {
238 1     1 1 245 my $self = shift;
239 1         8 my $call_object = $self->new_with_coercions('Paws::Route53::ListReusableDelegationSets', @_);
240 1         404 return $self->caller->do_call($self, $call_object);
241             }
242             sub ListTagsForResource {
243 1     1 1 394 my $self = shift;
244 1         8 my $call_object = $self->new_with_coercions('Paws::Route53::ListTagsForResource', @_);
245 1         734 return $self->caller->do_call($self, $call_object);
246             }
247             sub ListTagsForResources {
248 1     1 1 352 my $self = shift;
249 1         6 my $call_object = $self->new_with_coercions('Paws::Route53::ListTagsForResources', @_);
250 1         788 return $self->caller->do_call($self, $call_object);
251             }
252             sub ListTrafficPolicies {
253 0     0 1   my $self = shift;
254 0           my $call_object = $self->new_with_coercions('Paws::Route53::ListTrafficPolicies', @_);
255 0           return $self->caller->do_call($self, $call_object);
256             }
257             sub ListTrafficPolicyInstances {
258 0     0 1   my $self = shift;
259 0           my $call_object = $self->new_with_coercions('Paws::Route53::ListTrafficPolicyInstances', @_);
260 0           return $self->caller->do_call($self, $call_object);
261             }
262             sub ListTrafficPolicyInstancesByHostedZone {
263 0     0 1   my $self = shift;
264 0           my $call_object = $self->new_with_coercions('Paws::Route53::ListTrafficPolicyInstancesByHostedZone', @_);
265 0           return $self->caller->do_call($self, $call_object);
266             }
267             sub ListTrafficPolicyInstancesByPolicy {
268 0     0 1   my $self = shift;
269 0           my $call_object = $self->new_with_coercions('Paws::Route53::ListTrafficPolicyInstancesByPolicy', @_);
270 0           return $self->caller->do_call($self, $call_object);
271             }
272             sub ListTrafficPolicyVersions {
273 0     0 1   my $self = shift;
274 0           my $call_object = $self->new_with_coercions('Paws::Route53::ListTrafficPolicyVersions', @_);
275 0           return $self->caller->do_call($self, $call_object);
276             }
277             sub ListVPCAssociationAuthorizations {
278 0     0 1   my $self = shift;
279 0           my $call_object = $self->new_with_coercions('Paws::Route53::ListVPCAssociationAuthorizations', @_);
280 0           return $self->caller->do_call($self, $call_object);
281             }
282             sub TestDNSAnswer {
283 0     0 1   my $self = shift;
284 0           my $call_object = $self->new_with_coercions('Paws::Route53::TestDNSAnswer', @_);
285 0           return $self->caller->do_call($self, $call_object);
286             }
287             sub UpdateHealthCheck {
288 0     0 1   my $self = shift;
289 0           my $call_object = $self->new_with_coercions('Paws::Route53::UpdateHealthCheck', @_);
290 0           return $self->caller->do_call($self, $call_object);
291             }
292             sub UpdateHostedZoneComment {
293 0     0 1   my $self = shift;
294 0           my $call_object = $self->new_with_coercions('Paws::Route53::UpdateHostedZoneComment', @_);
295 0           return $self->caller->do_call($self, $call_object);
296             }
297             sub UpdateTrafficPolicyComment {
298 0     0 1   my $self = shift;
299 0           my $call_object = $self->new_with_coercions('Paws::Route53::UpdateTrafficPolicyComment', @_);
300 0           return $self->caller->do_call($self, $call_object);
301             }
302             sub UpdateTrafficPolicyInstance {
303 0     0 1   my $self = shift;
304 0           my $call_object = $self->new_with_coercions('Paws::Route53::UpdateTrafficPolicyInstance', @_);
305 0           return $self->caller->do_call($self, $call_object);
306             }
307            
308             sub ListAllHealthChecks {
309 0     0 1   my $self = shift;
310              
311 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
312 0           my $result = $self->ListHealthChecks(@_);
313 0           my $next_result = $result;
314              
315 0 0         if (not defined $callback) {
316 0           while ($next_result->IsTruncated) {
317 0           $next_result = $self->ListHealthChecks(@_, Marker => $next_result->NextMarker);
318 0           push @{ $result->HealthChecks }, @{ $next_result->HealthChecks };
  0            
  0            
319             }
320 0           return $result;
321             } else {
322 0           while ($result->IsTruncated) {
323 0           $callback->($_ => 'HealthChecks') foreach (@{ $result->HealthChecks });
  0            
324 0           $result = $self->ListHealthChecks(@_, Marker => $result->NextMarker);
325             }
326 0           $callback->($_ => 'HealthChecks') foreach (@{ $result->HealthChecks });
  0            
327             }
328              
329             return undef
330 0           }
331             sub ListAllHostedZones {
332 0     0 1   my $self = shift;
333              
334 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
335 0           my $result = $self->ListHostedZones(@_);
336 0           my $next_result = $result;
337              
338 0 0         if (not defined $callback) {
339 0           while ($next_result->IsTruncated) {
340 0           $next_result = $self->ListHostedZones(@_, Marker => $next_result->NextMarker);
341 0           push @{ $result->HostedZones }, @{ $next_result->HostedZones };
  0            
  0            
342             }
343 0           return $result;
344             } else {
345 0           while ($result->IsTruncated) {
346 0           $callback->($_ => 'HostedZones') foreach (@{ $result->HostedZones });
  0            
347 0           $result = $self->ListHostedZones(@_, Marker => $result->NextMarker);
348             }
349 0           $callback->($_ => 'HostedZones') foreach (@{ $result->HostedZones });
  0            
350             }
351              
352             return undef
353 0           }
354             sub ListAllResourceRecordSets {
355 0     0 1   my $self = shift;
356              
357 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
358 0           my $result = $self->ListResourceRecordSets(@_);
359 0           my $next_result = $result;
360              
361 0 0         if (not defined $callback) {
362 0           while ($next_result->IsTruncated) {
363 0           $next_result = $self->ListResourceRecordSets(@_, StartRecordName => $next_result->NextRecordName, StartRecordType => $next_result->NextRecordType, StartRecordIdentifier => $next_result->NextRecordIdentifier);
364 0           push @{ $result->ResourceRecordSets }, @{ $next_result->ResourceRecordSets };
  0            
  0            
365             }
366 0           return $result;
367             } else {
368 0           while ($result->IsTruncated) {
369 0           $callback->($_ => 'ResourceRecordSets') foreach (@{ $result->ResourceRecordSets });
  0            
370 0           $result = $self->ListResourceRecordSets(@_, StartRecordName => $result->NextRecordName, StartRecordType => $result->NextRecordType, StartRecordIdentifier => $result->NextRecordIdentifier);
371             }
372 0           $callback->($_ => 'ResourceRecordSets') foreach (@{ $result->ResourceRecordSets });
  0            
373             }
374              
375             return undef
376 0           }
377              
378              
379 0     0 0   sub operations { qw/AssociateVPCWithHostedZone ChangeResourceRecordSets ChangeTagsForResource CreateHealthCheck CreateHostedZone CreateQueryLoggingConfig CreateReusableDelegationSet CreateTrafficPolicy CreateTrafficPolicyInstance CreateTrafficPolicyVersion CreateVPCAssociationAuthorization DeleteHealthCheck DeleteHostedZone DeleteQueryLoggingConfig DeleteReusableDelegationSet DeleteTrafficPolicy DeleteTrafficPolicyInstance DeleteVPCAssociationAuthorization DisassociateVPCFromHostedZone GetChange GetCheckerIpRanges GetGeoLocation GetHealthCheck GetHealthCheckCount GetHealthCheckLastFailureReason GetHealthCheckStatus GetHostedZone GetHostedZoneCount GetQueryLoggingConfig GetReusableDelegationSet GetTrafficPolicy GetTrafficPolicyInstance GetTrafficPolicyInstanceCount ListGeoLocations ListHealthChecks ListHostedZones ListHostedZonesByName ListQueryLoggingConfigs ListResourceRecordSets ListReusableDelegationSets ListTagsForResource ListTagsForResources ListTrafficPolicies ListTrafficPolicyInstances ListTrafficPolicyInstancesByHostedZone ListTrafficPolicyInstancesByPolicy ListTrafficPolicyVersions ListVPCAssociationAuthorizations TestDNSAnswer UpdateHealthCheck UpdateHostedZoneComment UpdateTrafficPolicyComment UpdateTrafficPolicyInstance / }
380              
381             1;
382              
383             ### main pod documentation begin ###
384              
385             =head1 NAME
386              
387             Paws::Route53 - Perl Interface to AWS Amazon Route 53
388              
389             =head1 SYNOPSIS
390              
391             use Paws;
392              
393             my $obj = Paws->service('Route53');
394             my $res = $obj->Method(
395             Arg1 => $val1,
396             Arg2 => [ 'V1', 'V2' ],
397             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
398             # of the arguments type
399             Arg3 => { Att1 => 'Val1' },
400             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
401             # the constructor of the arguments type
402             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
403             );
404              
405             =head1 DESCRIPTION
406              
407             Amazon Route 53
408              
409             Amazon Route 53 is a scalable Domain Name System (DNS) web service. It
410             provides secure and reliable routing to your infrastructure that uses
411             Amazon Web Services (AWS) products, such as Amazon Elastic Compute
412             Cloud (Amazon EC2), Elastic Load Balancing, or Amazon Simple Storage
413             Service (Amazon S3). You can also use Amazon Route 53 to route users to
414             your infrastructure outside of AWS.
415              
416             Amazon Route 53 is an authoritative DNS service, meaning it translates
417             friendly domains names like www.example.com into IP addresses like
418             192.0.2.1. Amazon Route 53 responds to DNS queries using a global
419             network of authoritative DNS servers, which reduces latency. For a list
420             of the locations of Amazon Route 53 DNS servers, see The Amazon Route
421             53 Global Network on the Amazon Route 53 detail page.
422              
423             =head1 METHODS
424              
425             =head2 AssociateVPCWithHostedZone(HostedZoneId => Str, VPC => L<Paws::Route53::VPC>, [Comment => Str])
426              
427             Each argument is described in detail in: L<Paws::Route53::AssociateVPCWithHostedZone>
428              
429             Returns: a L<Paws::Route53::AssociateVPCWithHostedZoneResponse> instance
430              
431             Associates an Amazon VPC with a private hosted zone.
432              
433             To perform the association, the VPC and the private hosted zone must
434             already exist. You can't convert a public hosted zone into a private
435             hosted zone.
436              
437             If you want to associate a VPC that was created by using one AWS
438             account with a private hosted zone that was created by using a
439             different account, the AWS account that created the private hosted zone
440             must first submit a C<CreateVPCAssociationAuthorization> request. Then
441             the account that created the VPC must submit an
442             C<AssociateVPCWithHostedZone> request.
443              
444              
445             =head2 ChangeResourceRecordSets(ChangeBatch => L<Paws::Route53::ChangeBatch>, HostedZoneId => Str)
446              
447             Each argument is described in detail in: L<Paws::Route53::ChangeResourceRecordSets>
448              
449             Returns: a L<Paws::Route53::ChangeResourceRecordSetsResponse> instance
450              
451             Creates, changes, or deletes a resource record set, which contains
452             authoritative DNS information for a specified domain name or subdomain
453             name. For example, you can use C<ChangeResourceRecordSets> to create a
454             resource record set that routes traffic for test.example.com to a web
455             server that has an IP address of 192.0.2.44.
456              
457             B<Change Batches and Transactional Changes>
458              
459             The request body must include a document with a
460             C<ChangeResourceRecordSetsRequest> element. The request body contains a
461             list of change items, known as a change batch. Change batches are
462             considered transactional changes. When using the Amazon Route 53 API to
463             change resource record sets, Amazon Route 53 either makes all or none
464             of the changes in a change batch request. This ensures that Amazon
465             Route 53 never partially implements the intended changes to the
466             resource record sets in a hosted zone.
467              
468             For example, a change batch request that deletes the C<CNAME> record
469             for www.example.com and creates an alias resource record set for
470             www.example.com. Amazon Route 53 deletes the first resource record set
471             and creates the second resource record set in a single operation. If
472             either the C<DELETE> or the C<CREATE> action fails, then both changes
473             (plus any other changes in the batch) fail, and the original C<CNAME>
474             record continues to exist.
475              
476             Due to the nature of transactional changes, you can't delete the same
477             resource record set more than once in a single change batch. If you
478             attempt to delete the same change batch more than once, Amazon Route 53
479             returns an C<InvalidChangeBatch> error.
480              
481             B<Traffic Flow>
482              
483             To create resource record sets for complex routing configurations, use
484             either the traffic flow visual editor in the Amazon Route 53 console or
485             the API actions for traffic policies and traffic policy instances. Save
486             the configuration as a traffic policy, then associate the traffic
487             policy with one or more domain names (such as example.com) or subdomain
488             names (such as www.example.com), in the same hosted zone or in multiple
489             hosted zones. You can roll back the updates if the new configuration
490             isn't performing as expected. For more information, see Using Traffic
491             Flow to Route DNS Traffic in the I<Amazon Route 53 Developer Guide>.
492              
493             B<Create, Delete, and Upsert>
494              
495             Use C<ChangeResourceRecordsSetsRequest> to perform the following
496             actions:
497              
498             =over
499              
500             =item *
501              
502             C<CREATE>: Creates a resource record set that has the specified values.
503              
504             =item *
505              
506             C<DELETE>: Deletes an existing resource record set that has the
507             specified values.
508              
509             =item *
510              
511             C<UPSERT>: If a resource record set does not already exist, AWS creates
512             it. If a resource set does exist, Amazon Route 53 updates it with the
513             values in the request.
514              
515             =back
516              
517             B<Syntaxes for Creating, Updating, and Deleting Resource Record Sets>
518              
519             The syntax for a request depends on the type of resource record set
520             that you want to create, delete, or update, such as weighted, alias, or
521             failover. The XML elements in your request must appear in the order
522             listed in the syntax.
523              
524             For an example for each type of resource record set, see "Examples."
525              
526             Don't refer to the syntax in the "Parameter Syntax" section, which
527             includes all of the elements for every kind of resource record set that
528             you can create, delete, or update by using C<ChangeResourceRecordSets>.
529              
530             B<Change Propagation to Amazon Route 53 DNS Servers>
531              
532             When you submit a C<ChangeResourceRecordSets> request, Amazon Route 53
533             propagates your changes to all of the Amazon Route 53 authoritative DNS
534             servers. While your changes are propagating, C<GetChange> returns a
535             status of C<PENDING>. When propagation is complete, C<GetChange>
536             returns a status of C<INSYNC>. Changes generally propagate to all
537             Amazon Route 53 name servers within 60 seconds. For more information,
538             see GetChange.
539              
540             B<Limits on ChangeResourceRecordSets Requests>
541              
542             For information about the limits on a C<ChangeResourceRecordSets>
543             request, see Limits in the I<Amazon Route 53 Developer Guide>.
544              
545              
546             =head2 ChangeTagsForResource(ResourceId => Str, ResourceType => Str, [AddTags => ArrayRef[L<Paws::Route53::Tag>], RemoveTagKeys => ArrayRef[Str|Undef]])
547              
548             Each argument is described in detail in: L<Paws::Route53::ChangeTagsForResource>
549              
550             Returns: a L<Paws::Route53::ChangeTagsForResourceResponse> instance
551              
552             Adds, edits, or deletes tags for a health check or a hosted zone.
553              
554             For information about using tags for cost allocation, see Using Cost
555             Allocation Tags in the I<AWS Billing and Cost Management User Guide>.
556              
557              
558             =head2 CreateHealthCheck(CallerReference => Str, HealthCheckConfig => L<Paws::Route53::HealthCheckConfig>)
559              
560             Each argument is described in detail in: L<Paws::Route53::CreateHealthCheck>
561              
562             Returns: a L<Paws::Route53::CreateHealthCheckResponse> instance
563              
564             Creates a new health check.
565              
566             For information about adding health checks to resource record sets, see
567             ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets.
568              
569             B<ELB Load Balancers>
570              
571             If you're registering EC2 instances with an Elastic Load Balancing
572             (ELB) load balancer, do not create Amazon Route 53 health checks for
573             the EC2 instances. When you register an EC2 instance with a load
574             balancer, you configure settings for an ELB health check, which
575             performs a similar function to an Amazon Route 53 health check.
576              
577             B<Private Hosted Zones>
578              
579             You can associate health checks with failover resource record sets in a
580             private hosted zone. Note the following:
581              
582             =over
583              
584             =item *
585              
586             Amazon Route 53 health checkers are outside the VPC. To check the
587             health of an endpoint within a VPC by IP address, you must assign a
588             public IP address to the instance in the VPC.
589              
590             =item *
591              
592             You can configure a health checker to check the health of an external
593             resource that the instance relies on, such as a database server.
594              
595             =item *
596              
597             You can create a CloudWatch metric, associate an alarm with the metric,
598             and then create a health check that is based on the state of the alarm.
599             For example, you might create a CloudWatch metric that checks the
600             status of the Amazon EC2 C<StatusCheckFailed> metric, add an alarm to
601             the metric, and then create a health check that is based on the state
602             of the alarm. For information about creating CloudWatch metrics and
603             alarms by using the CloudWatch console, see the Amazon CloudWatch User
604             Guide.
605              
606             =back
607              
608              
609              
610             =head2 CreateHostedZone(CallerReference => Str, Name => Str, [DelegationSetId => Str, HostedZoneConfig => L<Paws::Route53::HostedZoneConfig>, VPC => L<Paws::Route53::VPC>])
611              
612             Each argument is described in detail in: L<Paws::Route53::CreateHostedZone>
613              
614             Returns: a L<Paws::Route53::CreateHostedZoneResponse> instance
615              
616             Creates a new public hosted zone, which you use to specify how the
617             Domain Name System (DNS) routes traffic on the Internet for a domain,
618             such as example.com, and its subdomains.
619              
620             You can't convert a public hosted zones to a private hosted zone or
621             vice versa. Instead, you must create a new hosted zone with the same
622             name and create new resource record sets.
623              
624             For more information about charges for hosted zones, see Amazon Route
625             53 Pricing.
626              
627             Note the following:
628              
629             =over
630              
631             =item *
632              
633             You can't create a hosted zone for a top-level domain (TLD).
634              
635             =item *
636              
637             Amazon Route 53 automatically creates a default SOA record and four NS
638             records for the zone. For more information about SOA and NS records,
639             see NS and SOA Records that Amazon Route 53 Creates for a Hosted Zone
640             in the I<Amazon Route 53 Developer Guide>.
641              
642             If you want to use the same name servers for multiple hosted zones, you
643             can optionally associate a reusable delegation set with the hosted
644             zone. See the C<DelegationSetId> element.
645              
646             =item *
647              
648             If your domain is registered with a registrar other than Amazon Route
649             53, you must update the name servers with your registrar to make Amazon
650             Route 53 your DNS service. For more information, see Configuring Amazon
651             Route 53 as your DNS Service in the I<Amazon Route 53 Developer Guide>.
652              
653             =back
654              
655             When you submit a C<CreateHostedZone> request, the initial status of
656             the hosted zone is C<PENDING>. This means that the NS and SOA records
657             are not yet available on all Amazon Route 53 DNS servers. When the NS
658             and SOA records are available, the status of the zone changes to
659             C<INSYNC>.
660              
661              
662             =head2 CreateQueryLoggingConfig(CloudWatchLogsLogGroupArn => Str, HostedZoneId => Str)
663              
664             Each argument is described in detail in: L<Paws::Route53::CreateQueryLoggingConfig>
665              
666             Returns: a L<Paws::Route53::CreateQueryLoggingConfigResponse> instance
667              
668             Creates a configuration for DNS query logging. After you create a query
669             logging configuration, Amazon Route 53 begins to publish log data to an
670             Amazon CloudWatch Logs log group.
671              
672             DNS query logs contain information about the queries that Amazon Route
673             53 receives for a specified public hosted zone, such as the following:
674              
675             =over
676              
677             =item *
678              
679             Amazon Route 53 edge location that responded to the DNS query
680              
681             =item *
682              
683             Domain or subdomain that was requested
684              
685             =item *
686              
687             DNS record type, such as A or AAAA
688              
689             =item *
690              
691             DNS response code, such as C<NoError> or C<ServFail>
692              
693             =back
694              
695             =over
696              
697             =item Log Group and Resource Policy
698              
699             Before you create a query logging configuration, perform the following
700             operations.
701              
702             If you create a query logging configuration using the Amazon Route 53
703             console, Amazon Route 53 performs these operations automatically.
704              
705             =over
706              
707             =item 1.
708              
709             Create a CloudWatch Logs log group, and make note of the ARN, which you
710             specify when you create a query logging configuration. Note the
711             following:
712              
713             =over
714              
715             =item *
716              
717             You must create the log group in the us-east-1 region.
718              
719             =item *
720              
721             You must use the same AWS account to create the log group and the
722             hosted zone that you want to configure query logging for.
723              
724             =item *
725              
726             When you create log groups for query logging, we recommend that you use
727             a consistent prefix, for example:
728              
729             C</aws/route53/I<hosted zone name>>
730              
731             In the next step, you'll create a resource policy, which controls
732             access to one or more log groups and the associated AWS resources, such
733             as Amazon Route 53 hosted zones. There's a limit on the number of
734             resource policies that you can create, so we recommend that you use a
735             consistent prefix so you can use the same resource policy for all the
736             log groups that you create for query logging.
737              
738             =back
739              
740             =item 2.
741              
742             Create a CloudWatch Logs resource policy, and give it the permissions
743             that Amazon Route 53 needs to create log streams and to to send query
744             logs to log streams. For the value of C<Resource>, specify the ARN for
745             the log group that you created in the previous step. To use the same
746             resource policy for all the CloudWatch Logs log groups that you created
747             for query logging configurations, replace the hosted zone name with
748             C<*>, for example:
749              
750             C<arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*>
751              
752             You can't use the CloudWatch console to create or edit a resource
753             policy. You must use the CloudWatch API, one of the AWS SDKs, or the
754             AWS CLI.
755              
756             =back
757              
758             =item Log Streams and Edge Locations
759              
760             When Amazon Route 53 finishes creating the configuration for DNS query
761             logging, it does the following:
762              
763             =over
764              
765             =item *
766              
767             Creates a log stream for an edge location the first time that the edge
768             location responds to DNS queries for the specified hosted zone. That
769             log stream is used to log all queries that Amazon Route 53 responds to
770             for that edge location.
771              
772             =item *
773              
774             Begins to send query logs to the applicable log stream.
775              
776             =back
777              
778             The name of each log stream is in the following format:
779              
780             C<I<hosted zone ID>/I<edge location code>>
781              
782             The edge location code is a three-letter code and an arbitrarily
783             assigned number, for example, DFW3. The three-letter code typically
784             corresponds with the International Air Transport Association airport
785             code for an airport near the edge location. (These abbreviations might
786             change in the future.) For a list of edge locations, see "The Amazon
787             Route 53 Global Network" on the Amazon Route 53 Product Details page.
788              
789             =item Queries That Are Logged
790              
791             Query logs contain only the queries that DNS resolvers forward to
792             Amazon Route 53. If a DNS resolver has already cached the response to a
793             query (such as the IP address for a load balancer for example.com), the
794             resolver will continue to return the cached response. It doesn't
795             forward another query to Amazon Route 53 until the TTL for the
796             corresponding resource record set expires. Depending on how many DNS
797             queries are submitted for a resource record set, and depending on the
798             TTL for that resource record set, query logs might contain information
799             about only one query out of every several thousand queries that are
800             submitted to DNS. For more information about how DNS works, see Routing
801             Internet Traffic to Your Website or Web Application in the I<Amazon
802             Route 53 Developer Guide>.
803              
804             =item Log File Format
805              
806             For a list of the values in each query log and the format of each
807             value, see Logging DNS Queries in the I<Amazon Route 53 Developer
808             Guide>.
809              
810             =item Pricing
811              
812             For information about charges for query logs, see Amazon CloudWatch
813             Pricing.
814              
815             =item How to Stop Logging
816              
817             If you want Amazon Route 53 to stop sending query logs to CloudWatch
818             Logs, delete the query logging configuration. For more information, see
819             DeleteQueryLoggingConfig.
820              
821             =back
822              
823              
824              
825             =head2 CreateReusableDelegationSet(CallerReference => Str, [HostedZoneId => Str])
826              
827             Each argument is described in detail in: L<Paws::Route53::CreateReusableDelegationSet>
828              
829             Returns: a L<Paws::Route53::CreateReusableDelegationSetResponse> instance
830              
831             Creates a delegation set (a group of four name servers) that can be
832             reused by multiple hosted zones. If a hosted zoned ID is specified,
833             C<CreateReusableDelegationSet> marks the delegation set associated with
834             that zone as reusable
835              
836             A reusable delegation set can't be associated with a private hosted
837             zone.
838              
839             For information on how to use a reusable delegation set to configure
840             white label name servers, see Configuring White Label Name Servers.
841              
842              
843             =head2 CreateTrafficPolicy(Document => Str, Name => Str, [Comment => Str])
844              
845             Each argument is described in detail in: L<Paws::Route53::CreateTrafficPolicy>
846              
847             Returns: a L<Paws::Route53::CreateTrafficPolicyResponse> instance
848              
849             Creates a traffic policy, which you use to create multiple DNS resource
850             record sets for one domain name (such as example.com) or one subdomain
851             name (such as www.example.com).
852              
853              
854             =head2 CreateTrafficPolicyInstance(HostedZoneId => Str, Name => Str, TrafficPolicyId => Str, TrafficPolicyVersion => Int, TTL => Int)
855              
856             Each argument is described in detail in: L<Paws::Route53::CreateTrafficPolicyInstance>
857              
858             Returns: a L<Paws::Route53::CreateTrafficPolicyInstanceResponse> instance
859              
860             Creates resource record sets in a specified hosted zone based on the
861             settings in a specified traffic policy version. In addition,
862             C<CreateTrafficPolicyInstance> associates the resource record sets with
863             a specified domain name (such as example.com) or subdomain name (such
864             as www.example.com). Amazon Route 53 responds to DNS queries for the
865             domain or subdomain name by using the resource record sets that
866             C<CreateTrafficPolicyInstance> created.
867              
868              
869             =head2 CreateTrafficPolicyVersion(Document => Str, Id => Str, [Comment => Str])
870              
871             Each argument is described in detail in: L<Paws::Route53::CreateTrafficPolicyVersion>
872              
873             Returns: a L<Paws::Route53::CreateTrafficPolicyVersionResponse> instance
874              
875             Creates a new version of an existing traffic policy. When you create a
876             new version of a traffic policy, you specify the ID of the traffic
877             policy that you want to update and a JSON-formatted document that
878             describes the new version. You use traffic policies to create multiple
879             DNS resource record sets for one domain name (such as example.com) or
880             one subdomain name (such as www.example.com). You can create a maximum
881             of 1000 versions of a traffic policy. If you reach the limit and need
882             to create another version, you'll need to start a new traffic policy.
883              
884              
885             =head2 CreateVPCAssociationAuthorization(HostedZoneId => Str, VPC => L<Paws::Route53::VPC>)
886              
887             Each argument is described in detail in: L<Paws::Route53::CreateVPCAssociationAuthorization>
888              
889             Returns: a L<Paws::Route53::CreateVPCAssociationAuthorizationResponse> instance
890              
891             Authorizes the AWS account that created a specified VPC to submit an
892             C<AssociateVPCWithHostedZone> request to associate the VPC with a
893             specified hosted zone that was created by a different account. To
894             submit a C<CreateVPCAssociationAuthorization> request, you must use the
895             account that created the hosted zone. After you authorize the
896             association, use the account that created the VPC to submit an
897             C<AssociateVPCWithHostedZone> request.
898              
899             If you want to associate multiple VPCs that you created by using one
900             account with a hosted zone that you created by using a different
901             account, you must submit one authorization request for each VPC.
902              
903              
904             =head2 DeleteHealthCheck(HealthCheckId => Str)
905              
906             Each argument is described in detail in: L<Paws::Route53::DeleteHealthCheck>
907              
908             Returns: a L<Paws::Route53::DeleteHealthCheckResponse> instance
909              
910             Deletes a health check.
911              
912             Amazon Route 53 does not prevent you from deleting a health check even
913             if the health check is associated with one or more resource record
914             sets. If you delete a health check and you don't update the associated
915             resource record sets, the future status of the health check can't be
916             predicted and may change. This will affect the routing of DNS queries
917             for your DNS failover configuration. For more information, see
918             Replacing and Deleting Health Checks in the I<Amazon Route 53 Developer
919             Guide>.
920              
921              
922             =head2 DeleteHostedZone(Id => Str)
923              
924             Each argument is described in detail in: L<Paws::Route53::DeleteHostedZone>
925              
926             Returns: a L<Paws::Route53::DeleteHostedZoneResponse> instance
927              
928             Deletes a hosted zone.
929              
930             If the name servers for the hosted zone are associated with a domain
931             and if you want to make the domain unavailable on the Internet, we
932             recommend that you delete the name servers from the domain to prevent
933             future DNS queries from possibly being misrouted. If the domain is
934             registered with Amazon Route 53, see C<UpdateDomainNameservers>. If the
935             domain is registered with another registrar, use the method provided by
936             the registrar to delete name servers for the domain.
937              
938             Some domain registries don't allow you to remove all of the name
939             servers for a domain. If the registry for your domain requires one or
940             more name servers, we recommend that you delete the hosted zone only if
941             you transfer DNS service to another service provider, and you replace
942             the name servers for the domain with name servers from the new
943             provider.
944              
945             You can delete a hosted zone only if it contains only the default SOA
946             record and NS resource record sets. If the hosted zone contains other
947             resource record sets, you must delete them before you can delete the
948             hosted zone. If you try to delete a hosted zone that contains other
949             resource record sets, the request fails, and Amazon Route 53 returns a
950             C<HostedZoneNotEmpty> error. For information about deleting records
951             from your hosted zone, see ChangeResourceRecordSets.
952              
953             To verify that the hosted zone has been deleted, do one of the
954             following:
955              
956             =over
957              
958             =item *
959              
960             Use the C<GetHostedZone> action to request information about the hosted
961             zone.
962              
963             =item *
964              
965             Use the C<ListHostedZones> action to get a list of the hosted zones
966             associated with the current AWS account.
967              
968             =back
969              
970              
971              
972             =head2 DeleteQueryLoggingConfig(Id => Str)
973              
974             Each argument is described in detail in: L<Paws::Route53::DeleteQueryLoggingConfig>
975              
976             Returns: a L<Paws::Route53::DeleteQueryLoggingConfigResponse> instance
977              
978             Deletes a configuration for DNS query logging. If you delete a
979             configuration, Amazon Route 53 stops sending query logs to CloudWatch
980             Logs. Amazon Route 53 doesn't delete any logs that are already in
981             CloudWatch Logs.
982              
983             For more information about DNS query logs, see
984             CreateQueryLoggingConfig.
985              
986              
987             =head2 DeleteReusableDelegationSet(Id => Str)
988              
989             Each argument is described in detail in: L<Paws::Route53::DeleteReusableDelegationSet>
990              
991             Returns: a L<Paws::Route53::DeleteReusableDelegationSetResponse> instance
992              
993             Deletes a reusable delegation set.
994              
995             You can delete a reusable delegation set only if it isn't associated
996             with any hosted zones.
997              
998             To verify that the reusable delegation set is not associated with any
999             hosted zones, submit a GetReusableDelegationSet request and specify the
1000             ID of the reusable delegation set that you want to delete.
1001              
1002              
1003             =head2 DeleteTrafficPolicy(Id => Str, Version => Int)
1004              
1005             Each argument is described in detail in: L<Paws::Route53::DeleteTrafficPolicy>
1006              
1007             Returns: a L<Paws::Route53::DeleteTrafficPolicyResponse> instance
1008              
1009             Deletes a traffic policy.
1010              
1011              
1012             =head2 DeleteTrafficPolicyInstance(Id => Str)
1013              
1014             Each argument is described in detail in: L<Paws::Route53::DeleteTrafficPolicyInstance>
1015              
1016             Returns: a L<Paws::Route53::DeleteTrafficPolicyInstanceResponse> instance
1017              
1018             Deletes a traffic policy instance and all of the resource record sets
1019             that Amazon Route 53 created when you created the instance.
1020              
1021             In the Amazon Route 53 console, traffic policy instances are known as
1022             policy records.
1023              
1024              
1025             =head2 DeleteVPCAssociationAuthorization(HostedZoneId => Str, VPC => L<Paws::Route53::VPC>)
1026              
1027             Each argument is described in detail in: L<Paws::Route53::DeleteVPCAssociationAuthorization>
1028              
1029             Returns: a L<Paws::Route53::DeleteVPCAssociationAuthorizationResponse> instance
1030              
1031             Removes authorization to submit an C<AssociateVPCWithHostedZone>
1032             request to associate a specified VPC with a hosted zone that was
1033             created by a different account. You must use the account that created
1034             the hosted zone to submit a C<DeleteVPCAssociationAuthorization>
1035             request.
1036              
1037             Sending this request only prevents the AWS account that created the VPC
1038             from associating the VPC with the Amazon Route 53 hosted zone in the
1039             future. If the VPC is already associated with the hosted zone,
1040             C<DeleteVPCAssociationAuthorization> won't disassociate the VPC from
1041             the hosted zone. If you want to delete an existing association, use
1042             C<DisassociateVPCFromHostedZone>.
1043              
1044              
1045             =head2 DisassociateVPCFromHostedZone(HostedZoneId => Str, VPC => L<Paws::Route53::VPC>, [Comment => Str])
1046              
1047             Each argument is described in detail in: L<Paws::Route53::DisassociateVPCFromHostedZone>
1048              
1049             Returns: a L<Paws::Route53::DisassociateVPCFromHostedZoneResponse> instance
1050              
1051             Disassociates a VPC from a Amazon Route 53 private hosted zone.
1052              
1053             You can't disassociate the last VPC from a private hosted zone.
1054              
1055             You can't disassociate a VPC from a private hosted zone when only one
1056             VPC is associated with the hosted zone. You also can't convert a
1057             private hosted zone into a public hosted zone.
1058              
1059              
1060             =head2 GetChange(Id => Str)
1061              
1062             Each argument is described in detail in: L<Paws::Route53::GetChange>
1063              
1064             Returns: a L<Paws::Route53::GetChangeResponse> instance
1065              
1066             Returns the current status of a change batch request. The status is one
1067             of the following values:
1068              
1069             =over
1070              
1071             =item *
1072              
1073             C<PENDING> indicates that the changes in this request have not
1074             propagated to all Amazon Route 53 DNS servers. This is the initial
1075             status of all change batch requests.
1076              
1077             =item *
1078              
1079             C<INSYNC> indicates that the changes have propagated to all Amazon
1080             Route 53 DNS servers.
1081              
1082             =back
1083              
1084              
1085              
1086             =head2 GetCheckerIpRanges()
1087              
1088             Each argument is described in detail in: L<Paws::Route53::GetCheckerIpRanges>
1089              
1090             Returns: a L<Paws::Route53::GetCheckerIpRangesResponse> instance
1091              
1092             C<GetCheckerIpRanges> still works, but we recommend that you download
1093             ip-ranges.json, which includes IP address ranges for all AWS services.
1094             For more information, see IP Address Ranges of Amazon Route 53 Servers
1095             in the I<Amazon Route 53 Developer Guide>.
1096              
1097              
1098             =head2 GetGeoLocation([ContinentCode => Str, CountryCode => Str, SubdivisionCode => Str])
1099              
1100             Each argument is described in detail in: L<Paws::Route53::GetGeoLocation>
1101              
1102             Returns: a L<Paws::Route53::GetGeoLocationResponse> instance
1103              
1104             Gets information about whether a specified geographic location is
1105             supported for Amazon Route 53 geolocation resource record sets.
1106              
1107             Use the following syntax to determine whether a continent is supported
1108             for geolocation:
1109              
1110             C<GET /2013-04-01/geolocation?ContinentCode=I<two-letter abbreviation
1111             for a continent>>
1112              
1113             Use the following syntax to determine whether a country is supported
1114             for geolocation:
1115              
1116             C<GET /2013-04-01/geolocation?CountryCode=I<two-character country
1117             code>>
1118              
1119             Use the following syntax to determine whether a subdivision of a
1120             country is supported for geolocation:
1121              
1122             C<GET /2013-04-01/geolocation?CountryCode=I<two-character country
1123             code>&SubdivisionCode=I<subdivision code>>
1124              
1125              
1126             =head2 GetHealthCheck(HealthCheckId => Str)
1127              
1128             Each argument is described in detail in: L<Paws::Route53::GetHealthCheck>
1129              
1130             Returns: a L<Paws::Route53::GetHealthCheckResponse> instance
1131              
1132             Gets information about a specified health check.
1133              
1134              
1135             =head2 GetHealthCheckCount()
1136              
1137             Each argument is described in detail in: L<Paws::Route53::GetHealthCheckCount>
1138              
1139             Returns: a L<Paws::Route53::GetHealthCheckCountResponse> instance
1140              
1141             Retrieves the number of health checks that are associated with the
1142             current AWS account.
1143              
1144              
1145             =head2 GetHealthCheckLastFailureReason(HealthCheckId => Str)
1146              
1147             Each argument is described in detail in: L<Paws::Route53::GetHealthCheckLastFailureReason>
1148              
1149             Returns: a L<Paws::Route53::GetHealthCheckLastFailureReasonResponse> instance
1150              
1151             Gets the reason that a specified health check failed most recently.
1152              
1153              
1154             =head2 GetHealthCheckStatus(HealthCheckId => Str)
1155              
1156             Each argument is described in detail in: L<Paws::Route53::GetHealthCheckStatus>
1157              
1158             Returns: a L<Paws::Route53::GetHealthCheckStatusResponse> instance
1159              
1160             Gets status of a specified health check.
1161              
1162              
1163             =head2 GetHostedZone(Id => Str)
1164              
1165             Each argument is described in detail in: L<Paws::Route53::GetHostedZone>
1166              
1167             Returns: a L<Paws::Route53::GetHostedZoneResponse> instance
1168              
1169             Gets information about a specified hosted zone including the four name
1170             servers assigned to the hosted zone.
1171              
1172              
1173             =head2 GetHostedZoneCount()
1174              
1175             Each argument is described in detail in: L<Paws::Route53::GetHostedZoneCount>
1176              
1177             Returns: a L<Paws::Route53::GetHostedZoneCountResponse> instance
1178              
1179             Retrieves the number of hosted zones that are associated with the
1180             current AWS account.
1181              
1182              
1183             =head2 GetQueryLoggingConfig(Id => Str)
1184              
1185             Each argument is described in detail in: L<Paws::Route53::GetQueryLoggingConfig>
1186              
1187             Returns: a L<Paws::Route53::GetQueryLoggingConfigResponse> instance
1188              
1189             Gets information about a specified configuration for DNS query logging.
1190              
1191             For more information about DNS query logs, see CreateQueryLoggingConfig
1192             and Logging DNS Queries.
1193              
1194              
1195             =head2 GetReusableDelegationSet(Id => Str)
1196              
1197             Each argument is described in detail in: L<Paws::Route53::GetReusableDelegationSet>
1198              
1199             Returns: a L<Paws::Route53::GetReusableDelegationSetResponse> instance
1200              
1201             Retrieves information about a specified reusable delegation set,
1202             including the four name servers that are assigned to the delegation
1203             set.
1204              
1205              
1206             =head2 GetTrafficPolicy(Id => Str, Version => Int)
1207              
1208             Each argument is described in detail in: L<Paws::Route53::GetTrafficPolicy>
1209              
1210             Returns: a L<Paws::Route53::GetTrafficPolicyResponse> instance
1211              
1212             Gets information about a specific traffic policy version.
1213              
1214              
1215             =head2 GetTrafficPolicyInstance(Id => Str)
1216              
1217             Each argument is described in detail in: L<Paws::Route53::GetTrafficPolicyInstance>
1218              
1219             Returns: a L<Paws::Route53::GetTrafficPolicyInstanceResponse> instance
1220              
1221             Gets information about a specified traffic policy instance.
1222              
1223             After you submit a C<CreateTrafficPolicyInstance> or an
1224             C<UpdateTrafficPolicyInstance> request, there's a brief delay while
1225             Amazon Route 53 creates the resource record sets that are specified in
1226             the traffic policy definition. For more information, see the C<State>
1227             response element.
1228              
1229             In the Amazon Route 53 console, traffic policy instances are known as
1230             policy records.
1231              
1232              
1233             =head2 GetTrafficPolicyInstanceCount()
1234              
1235             Each argument is described in detail in: L<Paws::Route53::GetTrafficPolicyInstanceCount>
1236              
1237             Returns: a L<Paws::Route53::GetTrafficPolicyInstanceCountResponse> instance
1238              
1239             Gets the number of traffic policy instances that are associated with
1240             the current AWS account.
1241              
1242              
1243             =head2 ListGeoLocations([MaxItems => Str, StartContinentCode => Str, StartCountryCode => Str, StartSubdivisionCode => Str])
1244              
1245             Each argument is described in detail in: L<Paws::Route53::ListGeoLocations>
1246              
1247             Returns: a L<Paws::Route53::ListGeoLocationsResponse> instance
1248              
1249             Retrieves a list of supported geo locations.
1250              
1251             Countries are listed first, and continents are listed last. If Amazon
1252             Route 53 supports subdivisions for a country (for example, states or
1253             provinces), the subdivisions for that country are listed in
1254             alphabetical order immediately after the corresponding country.
1255              
1256              
1257             =head2 ListHealthChecks([Marker => Str, MaxItems => Str])
1258              
1259             Each argument is described in detail in: L<Paws::Route53::ListHealthChecks>
1260              
1261             Returns: a L<Paws::Route53::ListHealthChecksResponse> instance
1262              
1263             Retrieve a list of the health checks that are associated with the
1264             current AWS account.
1265              
1266              
1267             =head2 ListHostedZones([DelegationSetId => Str, Marker => Str, MaxItems => Str])
1268              
1269             Each argument is described in detail in: L<Paws::Route53::ListHostedZones>
1270              
1271             Returns: a L<Paws::Route53::ListHostedZonesResponse> instance
1272              
1273             Retrieves a list of the public and private hosted zones that are
1274             associated with the current AWS account. The response includes a
1275             C<HostedZones> child element for each hosted zone.
1276              
1277             Amazon Route 53 returns a maximum of 100 items in each response. If you
1278             have a lot of hosted zones, you can use the C<maxitems> parameter to
1279             list them in groups of up to 100.
1280              
1281              
1282             =head2 ListHostedZonesByName([DNSName => Str, HostedZoneId => Str, MaxItems => Str])
1283              
1284             Each argument is described in detail in: L<Paws::Route53::ListHostedZonesByName>
1285              
1286             Returns: a L<Paws::Route53::ListHostedZonesByNameResponse> instance
1287              
1288             Retrieves a list of your hosted zones in lexicographic order. The
1289             response includes a C<HostedZones> child element for each hosted zone
1290             created by the current AWS account.
1291              
1292             C<ListHostedZonesByName> sorts hosted zones by name with the labels
1293             reversed. For example:
1294              
1295             C<com.example.www.>
1296              
1297             Note the trailing dot, which can change the sort order in some
1298             circumstances.
1299              
1300             If the domain name includes escape characters or Punycode,
1301             C<ListHostedZonesByName> alphabetizes the domain name using the escaped
1302             or Punycoded value, which is the format that Amazon Route 53 saves in
1303             its database. For example, to create a hosted zone for
1304             exE<auml>mple.com, you specify ex\344mple.com for the domain name.
1305             C<ListHostedZonesByName> alphabetizes it as:
1306              
1307             C<com.ex\344mple.>
1308              
1309             The labels are reversed and alphabetized using the escaped value. For
1310             more information about valid domain name formats, including
1311             internationalized domain names, see DNS Domain Name Format in the
1312             I<Amazon Route 53 Developer Guide>.
1313              
1314             Amazon Route 53 returns up to 100 items in each response. If you have a
1315             lot of hosted zones, use the C<MaxItems> parameter to list them in
1316             groups of up to 100. The response includes values that help navigate
1317             from one group of C<MaxItems> hosted zones to the next:
1318              
1319             =over
1320              
1321             =item *
1322              
1323             The C<DNSName> and C<HostedZoneId> elements in the response contain the
1324             values, if any, specified for the C<dnsname> and C<hostedzoneid>
1325             parameters in the request that produced the current response.
1326              
1327             =item *
1328              
1329             The C<MaxItems> element in the response contains the value, if any,
1330             that you specified for the C<maxitems> parameter in the request that
1331             produced the current response.
1332              
1333             =item *
1334              
1335             If the value of C<IsTruncated> in the response is true, there are more
1336             hosted zones associated with the current AWS account.
1337              
1338             If C<IsTruncated> is false, this response includes the last hosted zone
1339             that is associated with the current account. The C<NextDNSName> element
1340             and C<NextHostedZoneId> elements are omitted from the response.
1341              
1342             =item *
1343              
1344             The C<NextDNSName> and C<NextHostedZoneId> elements in the response
1345             contain the domain name and the hosted zone ID of the next hosted zone
1346             that is associated with the current AWS account. If you want to list
1347             more hosted zones, make another call to C<ListHostedZonesByName>, and
1348             specify the value of C<NextDNSName> and C<NextHostedZoneId> in the
1349             C<dnsname> and C<hostedzoneid> parameters, respectively.
1350              
1351             =back
1352              
1353              
1354              
1355             =head2 ListQueryLoggingConfigs([HostedZoneId => Str, MaxResults => Str, NextToken => Str])
1356              
1357             Each argument is described in detail in: L<Paws::Route53::ListQueryLoggingConfigs>
1358              
1359             Returns: a L<Paws::Route53::ListQueryLoggingConfigsResponse> instance
1360              
1361             Lists the configurations for DNS query logging that are associated with
1362             the current AWS account or the configuration that is associated with a
1363             specified hosted zone.
1364              
1365             For more information about DNS query logs, see
1366             CreateQueryLoggingConfig. Additional information, including the format
1367             of DNS query logs, appears in Logging DNS Queries in the I<Amazon Route
1368             53 Developer Guide>.
1369              
1370              
1371             =head2 ListResourceRecordSets(HostedZoneId => Str, [MaxItems => Str, StartRecordIdentifier => Str, StartRecordName => Str, StartRecordType => Str])
1372              
1373             Each argument is described in detail in: L<Paws::Route53::ListResourceRecordSets>
1374              
1375             Returns: a L<Paws::Route53::ListResourceRecordSetsResponse> instance
1376              
1377             Lists the resource record sets in a specified hosted zone.
1378              
1379             C<ListResourceRecordSets> returns up to 100 resource record sets at a
1380             time in ASCII order, beginning at a position specified by the C<name>
1381             and C<type> elements. The action sorts results first by DNS name with
1382             the labels reversed, for example:
1383              
1384             C<com.example.www.>
1385              
1386             Note the trailing dot, which can change the sort order in some
1387             circumstances.
1388              
1389             When multiple records have the same DNS name, the action sorts results
1390             by the record type.
1391              
1392             You can use the name and type elements to adjust the beginning position
1393             of the list of resource record sets returned:
1394              
1395             =over
1396              
1397             =item If you do not specify Name or Type
1398              
1399             The results begin with the first resource record set that the hosted
1400             zone contains.
1401              
1402             =item If you specify Name but not Type
1403              
1404             The results begin with the first resource record set in the list whose
1405             name is greater than or equal to C<Name>.
1406              
1407             =item If you specify Type but not Name
1408              
1409             Amazon Route 53 returns the C<InvalidInput> error.
1410              
1411             =item If you specify both Name and Type
1412              
1413             The results begin with the first resource record set in the list whose
1414             name is greater than or equal to C<Name>, and whose type is greater
1415             than or equal to C<Type>.
1416              
1417             =back
1418              
1419             This action returns the most current version of the records. This
1420             includes records that are C<PENDING>, and that are not yet available on
1421             all Amazon Route 53 DNS servers.
1422              
1423             To ensure that you get an accurate listing of the resource record sets
1424             for a hosted zone at a point in time, do not submit a
1425             C<ChangeResourceRecordSets> request while you're paging through the
1426             results of a C<ListResourceRecordSets> request. If you do, some pages
1427             may display results without the latest changes while other pages
1428             display results with the latest changes.
1429              
1430              
1431             =head2 ListReusableDelegationSets([Marker => Str, MaxItems => Str])
1432              
1433             Each argument is described in detail in: L<Paws::Route53::ListReusableDelegationSets>
1434              
1435             Returns: a L<Paws::Route53::ListReusableDelegationSetsResponse> instance
1436              
1437             Retrieves a list of the reusable delegation sets that are associated
1438             with the current AWS account.
1439              
1440              
1441             =head2 ListTagsForResource(ResourceId => Str, ResourceType => Str)
1442              
1443             Each argument is described in detail in: L<Paws::Route53::ListTagsForResource>
1444              
1445             Returns: a L<Paws::Route53::ListTagsForResourceResponse> instance
1446              
1447             Lists tags for one health check or hosted zone.
1448              
1449             For information about using tags for cost allocation, see Using Cost
1450             Allocation Tags in the I<AWS Billing and Cost Management User Guide>.
1451              
1452              
1453             =head2 ListTagsForResources(ResourceIds => ArrayRef[Str|Undef], ResourceType => Str)
1454              
1455             Each argument is described in detail in: L<Paws::Route53::ListTagsForResources>
1456              
1457             Returns: a L<Paws::Route53::ListTagsForResourcesResponse> instance
1458              
1459             Lists tags for up to 10 health checks or hosted zones.
1460              
1461             For information about using tags for cost allocation, see Using Cost
1462             Allocation Tags in the I<AWS Billing and Cost Management User Guide>.
1463              
1464              
1465             =head2 ListTrafficPolicies([MaxItems => Str, TrafficPolicyIdMarker => Str])
1466              
1467             Each argument is described in detail in: L<Paws::Route53::ListTrafficPolicies>
1468              
1469             Returns: a L<Paws::Route53::ListTrafficPoliciesResponse> instance
1470              
1471             Gets information about the latest version for every traffic policy that
1472             is associated with the current AWS account. Policies are listed in the
1473             order in which they were created.
1474              
1475              
1476             =head2 ListTrafficPolicyInstances([HostedZoneIdMarker => Str, MaxItems => Str, TrafficPolicyInstanceNameMarker => Str, TrafficPolicyInstanceTypeMarker => Str])
1477              
1478             Each argument is described in detail in: L<Paws::Route53::ListTrafficPolicyInstances>
1479              
1480             Returns: a L<Paws::Route53::ListTrafficPolicyInstancesResponse> instance
1481              
1482             Gets information about the traffic policy instances that you created by
1483             using the current AWS account.
1484              
1485             After you submit an C<UpdateTrafficPolicyInstance> request, there's a
1486             brief delay while Amazon Route 53 creates the resource record sets that
1487             are specified in the traffic policy definition. For more information,
1488             see the C<State> response element.
1489              
1490             Amazon Route 53 returns a maximum of 100 items in each response. If you
1491             have a lot of traffic policy instances, you can use the C<MaxItems>
1492             parameter to list them in groups of up to 100.
1493              
1494              
1495             =head2 ListTrafficPolicyInstancesByHostedZone(HostedZoneId => Str, [MaxItems => Str, TrafficPolicyInstanceNameMarker => Str, TrafficPolicyInstanceTypeMarker => Str])
1496              
1497             Each argument is described in detail in: L<Paws::Route53::ListTrafficPolicyInstancesByHostedZone>
1498              
1499             Returns: a L<Paws::Route53::ListTrafficPolicyInstancesByHostedZoneResponse> instance
1500              
1501             Gets information about the traffic policy instances that you created in
1502             a specified hosted zone.
1503              
1504             After you submit a C<CreateTrafficPolicyInstance> or an
1505             C<UpdateTrafficPolicyInstance> request, there's a brief delay while
1506             Amazon Route 53 creates the resource record sets that are specified in
1507             the traffic policy definition. For more information, see the C<State>
1508             response element.
1509              
1510             Amazon Route 53 returns a maximum of 100 items in each response. If you
1511             have a lot of traffic policy instances, you can use the C<MaxItems>
1512             parameter to list them in groups of up to 100.
1513              
1514              
1515             =head2 ListTrafficPolicyInstancesByPolicy(TrafficPolicyId => Str, TrafficPolicyVersion => Int, [HostedZoneIdMarker => Str, MaxItems => Str, TrafficPolicyInstanceNameMarker => Str, TrafficPolicyInstanceTypeMarker => Str])
1516              
1517             Each argument is described in detail in: L<Paws::Route53::ListTrafficPolicyInstancesByPolicy>
1518              
1519             Returns: a L<Paws::Route53::ListTrafficPolicyInstancesByPolicyResponse> instance
1520              
1521             Gets information about the traffic policy instances that you created by
1522             using a specify traffic policy version.
1523              
1524             After you submit a C<CreateTrafficPolicyInstance> or an
1525             C<UpdateTrafficPolicyInstance> request, there's a brief delay while
1526             Amazon Route 53 creates the resource record sets that are specified in
1527             the traffic policy definition. For more information, see the C<State>
1528             response element.
1529              
1530             Amazon Route 53 returns a maximum of 100 items in each response. If you
1531             have a lot of traffic policy instances, you can use the C<MaxItems>
1532             parameter to list them in groups of up to 100.
1533              
1534              
1535             =head2 ListTrafficPolicyVersions(Id => Str, [MaxItems => Str, TrafficPolicyVersionMarker => Str])
1536              
1537             Each argument is described in detail in: L<Paws::Route53::ListTrafficPolicyVersions>
1538              
1539             Returns: a L<Paws::Route53::ListTrafficPolicyVersionsResponse> instance
1540              
1541             Gets information about all of the versions for a specified traffic
1542             policy.
1543              
1544             Traffic policy versions are listed in numerical order by
1545             C<VersionNumber>.
1546              
1547              
1548             =head2 ListVPCAssociationAuthorizations(HostedZoneId => Str, [MaxResults => Str, NextToken => Str])
1549              
1550             Each argument is described in detail in: L<Paws::Route53::ListVPCAssociationAuthorizations>
1551              
1552             Returns: a L<Paws::Route53::ListVPCAssociationAuthorizationsResponse> instance
1553              
1554             Gets a list of the VPCs that were created by other accounts and that
1555             can be associated with a specified hosted zone because you've submitted
1556             one or more C<CreateVPCAssociationAuthorization> requests.
1557              
1558             The response includes a C<VPCs> element with a C<VPC> child element for
1559             each VPC that can be associated with the hosted zone.
1560              
1561              
1562             =head2 TestDNSAnswer(HostedZoneId => Str, RecordName => Str, RecordType => Str, [EDNS0ClientSubnetIP => Str, EDNS0ClientSubnetMask => Str, ResolverIP => Str])
1563              
1564             Each argument is described in detail in: L<Paws::Route53::TestDNSAnswer>
1565              
1566             Returns: a L<Paws::Route53::TestDNSAnswerResponse> instance
1567              
1568             Gets the value that Amazon Route 53 returns in response to a DNS
1569             request for a specified record name and type. You can optionally
1570             specify the IP address of a DNS resolver, an EDNS0 client subnet IP
1571             address, and a subnet mask.
1572              
1573              
1574             =head2 UpdateHealthCheck(HealthCheckId => Str, [AlarmIdentifier => L<Paws::Route53::AlarmIdentifier>, ChildHealthChecks => ArrayRef[Str|Undef], EnableSNI => Bool, FailureThreshold => Int, FullyQualifiedDomainName => Str, HealthCheckVersion => Int, HealthThreshold => Int, InsufficientDataHealthStatus => Str, Inverted => Bool, IPAddress => Str, Port => Int, Regions => ArrayRef[Str|Undef], ResetElements => ArrayRef[Str|Undef], ResourcePath => Str, SearchString => Str])
1575              
1576             Each argument is described in detail in: L<Paws::Route53::UpdateHealthCheck>
1577              
1578             Returns: a L<Paws::Route53::UpdateHealthCheckResponse> instance
1579              
1580             Updates an existing health check. Note that some values can't be
1581             updated.
1582              
1583             For more information about updating health checks, see Creating,
1584             Updating, and Deleting Health Checks in the I<Amazon Route 53 Developer
1585             Guide>.
1586              
1587              
1588             =head2 UpdateHostedZoneComment(Id => Str, [Comment => Str])
1589              
1590             Each argument is described in detail in: L<Paws::Route53::UpdateHostedZoneComment>
1591              
1592             Returns: a L<Paws::Route53::UpdateHostedZoneCommentResponse> instance
1593              
1594             Updates the comment for a specified hosted zone.
1595              
1596              
1597             =head2 UpdateTrafficPolicyComment(Comment => Str, Id => Str, Version => Int)
1598              
1599             Each argument is described in detail in: L<Paws::Route53::UpdateTrafficPolicyComment>
1600              
1601             Returns: a L<Paws::Route53::UpdateTrafficPolicyCommentResponse> instance
1602              
1603             Updates the comment for a specified traffic policy version.
1604              
1605              
1606             =head2 UpdateTrafficPolicyInstance(Id => Str, TrafficPolicyId => Str, TrafficPolicyVersion => Int, TTL => Int)
1607              
1608             Each argument is described in detail in: L<Paws::Route53::UpdateTrafficPolicyInstance>
1609              
1610             Returns: a L<Paws::Route53::UpdateTrafficPolicyInstanceResponse> instance
1611              
1612             Updates the resource record sets in a specified hosted zone that were
1613             created based on the settings in a specified traffic policy version.
1614              
1615             When you update a traffic policy instance, Amazon Route 53 continues to
1616             respond to DNS queries for the root resource record set name (such as
1617             example.com) while it replaces one group of resource record sets with
1618             another. Amazon Route 53 performs the following operations:
1619              
1620             =over
1621              
1622             =item 1.
1623              
1624             Amazon Route 53 creates a new group of resource record sets based on
1625             the specified traffic policy. This is true regardless of how
1626             significant the differences are between the existing resource record
1627             sets and the new resource record sets.
1628              
1629             =item 2.
1630              
1631             When all of the new resource record sets have been created, Amazon
1632             Route 53 starts to respond to DNS queries for the root resource record
1633             set name (such as example.com) by using the new resource record sets.
1634              
1635             =item 3.
1636              
1637             Amazon Route 53 deletes the old group of resource record sets that are
1638             associated with the root resource record set name.
1639              
1640             =back
1641              
1642              
1643              
1644              
1645              
1646             =head1 PAGINATORS
1647              
1648             Paginator methods are helpers that repetively call methods that return partial results
1649              
1650             =head2 ListAllHealthChecks(sub { },[Marker => Str, MaxItems => Str])
1651              
1652             =head2 ListAllHealthChecks([Marker => Str, MaxItems => Str])
1653              
1654              
1655             If passed a sub as first parameter, it will call the sub for each element found in :
1656              
1657             - HealthChecks, passing the object as the first parameter, and the string 'HealthChecks' as the second parameter
1658              
1659             If not, it will return a a L<Paws::Route53::ListHealthChecksResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
1660              
1661              
1662             =head2 ListAllHostedZones(sub { },[DelegationSetId => Str, Marker => Str, MaxItems => Str])
1663              
1664             =head2 ListAllHostedZones([DelegationSetId => Str, Marker => Str, MaxItems => Str])
1665              
1666              
1667             If passed a sub as first parameter, it will call the sub for each element found in :
1668              
1669             - HostedZones, passing the object as the first parameter, and the string 'HostedZones' as the second parameter
1670              
1671             If not, it will return a a L<Paws::Route53::ListHostedZonesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
1672              
1673              
1674             =head2 ListAllResourceRecordSets(sub { },HostedZoneId => Str, [MaxItems => Str, StartRecordIdentifier => Str, StartRecordName => Str, StartRecordType => Str])
1675              
1676             =head2 ListAllResourceRecordSets(HostedZoneId => Str, [MaxItems => Str, StartRecordIdentifier => Str, StartRecordName => Str, StartRecordType => Str])
1677              
1678              
1679             If passed a sub as first parameter, it will call the sub for each element found in :
1680              
1681             - ResourceRecordSets, passing the object as the first parameter, and the string 'ResourceRecordSets' as the second parameter
1682              
1683             If not, it will return a a L<Paws::Route53::ListResourceRecordSetsResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
1684              
1685              
1686              
1687              
1688              
1689             =head1 SEE ALSO
1690              
1691             This service class forms part of L<Paws>
1692              
1693             =head1 BUGS and CONTRIBUTIONS
1694              
1695             The source code is located here: https://github.com/pplu/aws-sdk-perl
1696              
1697             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
1698              
1699             =cut
1700