File Coverage

blib/lib/Paws/Route53/UpdateHealthCheck.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1              
2             package Paws::Route53::UpdateHealthCheck;
3 1     1   385 use Moose;
  1         3  
  1         7  
4             has AlarmIdentifier => (is => 'ro', isa => 'Paws::Route53::AlarmIdentifier');
5             has ChildHealthChecks => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
6             has EnableSNI => (is => 'ro', isa => 'Bool');
7             has FailureThreshold => (is => 'ro', isa => 'Int');
8             has FullyQualifiedDomainName => (is => 'ro', isa => 'Str');
9             has HealthCheckId => (is => 'ro', isa => 'Str', uri_name => 'HealthCheckId', traits => ['ParamInURI'], required => 1);
10             has HealthCheckVersion => (is => 'ro', isa => 'Int');
11             has HealthThreshold => (is => 'ro', isa => 'Int');
12             has InsufficientDataHealthStatus => (is => 'ro', isa => 'Str');
13             has Inverted => (is => 'ro', isa => 'Bool');
14             has IPAddress => (is => 'ro', isa => 'Str');
15             has Port => (is => 'ro', isa => 'Int');
16             has Regions => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
17             has ResetElements => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
18             has ResourcePath => (is => 'ro', isa => 'Str');
19             has SearchString => (is => 'ro', isa => 'Str');
20              
21 1     1   5624 use MooseX::ClassAttribute;
  1         3  
  1         8  
22              
23             class_has _api_call => (isa => 'Str', is => 'ro', default => 'UpdateHealthCheck');
24             class_has _api_uri => (isa => 'Str', is => 'ro', default => '/2013-04-01/healthcheck/{HealthCheckId}');
25             class_has _api_method => (isa => 'Str', is => 'ro', default => 'POST');
26             class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::Route53::UpdateHealthCheckResponse');
27             class_has _result_key => (isa => 'Str', is => 'ro');
28            
29             1;
30              
31             ### main pod documentation begin ###
32              
33             =head1 NAME
34              
35             Paws::Route53::UpdateHealthCheck - Arguments for method UpdateHealthCheck on Paws::Route53
36              
37             =head1 DESCRIPTION
38              
39             This class represents the parameters used for calling the method UpdateHealthCheck on the
40             Amazon Route 53 service. Use the attributes of this class
41             as arguments to method UpdateHealthCheck.
42              
43             You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to UpdateHealthCheck.
44              
45             As an example:
46              
47             $service_obj->UpdateHealthCheck(Att1 => $value1, Att2 => $value2, ...);
48              
49             Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object.
50              
51             =head1 ATTRIBUTES
52              
53              
54             =head2 AlarmIdentifier => L<Paws::Route53::AlarmIdentifier>
55              
56              
57              
58              
59              
60             =head2 ChildHealthChecks => ArrayRef[Str|Undef]
61              
62             A complex type that contains one C<ChildHealthCheck> element for each
63             health check that you want to associate with a C<CALCULATED> health
64             check.
65              
66              
67              
68             =head2 EnableSNI => Bool
69              
70             Specify whether you want Amazon Route 53 to send the value of
71             C<FullyQualifiedDomainName> to the endpoint in the C<client_hello>
72             message during C<TLS> negotiation. This allows the endpoint to respond
73             to C<HTTPS> health check requests with the applicable SSL/TLS
74             certificate.
75              
76             Some endpoints require that HTTPS requests include the host name in the
77             C<client_hello> message. If you don't enable SNI, the status of the
78             health check will be SSL alert C<handshake_failure>. A health check can
79             also have that status for other reasons. If SNI is enabled and you're
80             still getting the error, check the SSL/TLS configuration on your
81             endpoint and confirm that your certificate is valid.
82              
83             The SSL/TLS certificate on your endpoint includes a domain name in the
84             C<Common Name> field and possibly several more in the C<Subject
85             Alternative Names> field. One of the domain names in the certificate
86             should match the value that you specify for
87             C<FullyQualifiedDomainName>. If the endpoint responds to the
88             C<client_hello> message with a certificate that does not include the
89             domain name that you specified in C<FullyQualifiedDomainName>, a health
90             checker will retry the handshake. In the second attempt, the health
91             checker will omit C<FullyQualifiedDomainName> from the C<client_hello>
92             message.
93              
94              
95              
96             =head2 FailureThreshold => Int
97              
98             The number of consecutive health checks that an endpoint must pass or
99             fail for Amazon Route 53 to change the current status of the endpoint
100             from unhealthy to healthy or vice versa. For more information, see How
101             Amazon Route 53 Determines Whether an Endpoint Is Healthy in the
102             I<Amazon Route 53 Developer Guide>.
103              
104             If you don't specify a value for C<FailureThreshold>, the default value
105             is three health checks.
106              
107              
108              
109             =head2 FullyQualifiedDomainName => Str
110              
111             Amazon Route 53 behavior depends on whether you specify a value for
112             C<IPAddress>.
113              
114             If a health check already has a value for C<IPAddress>, you can change
115             the value. However, you can't update an existing health check to add or
116             remove the value of C<IPAddress>.
117              
118             B<If you specify a value for> C<IPAddress>:
119              
120             Amazon Route 53 sends health check requests to the specified IPv4 or
121             IPv6 address and passes the value of C<FullyQualifiedDomainName> in the
122             C<Host> header for all health checks except TCP health checks. This is
123             typically the fully qualified DNS name of the endpoint on which you
124             want Amazon Route 53 to perform health checks.
125              
126             When Amazon Route 53 checks the health of an endpoint, here is how it
127             constructs the C<Host> header:
128              
129             =over
130              
131             =item *
132              
133             If you specify a value of C<80> for C<Port> and C<HTTP> or
134             C<HTTP_STR_MATCH> for C<Type>, Amazon Route 53 passes the value of
135             C<FullyQualifiedDomainName> to the endpoint in the C<Host> header.
136              
137             =item *
138              
139             If you specify a value of C<443> for C<Port> and C<HTTPS> or
140             C<HTTPS_STR_MATCH> for C<Type>, Amazon Route 53 passes the value of
141             C<FullyQualifiedDomainName> to the endpoint in the C<Host> header.
142              
143             =item *
144              
145             If you specify another value for C<Port> and any value except C<TCP>
146             for C<Type>, Amazon Route 53 passes I<
147             C<FullyQualifiedDomainName>:C<Port> > to the endpoint in the C<Host>
148             header.
149              
150             =back
151              
152             If you don't specify a value for C<FullyQualifiedDomainName>, Amazon
153             Route 53 substitutes the value of C<IPAddress> in the C<Host> header in
154             each of the above cases.
155              
156             B<If you don't specify a value for> C<IPAddress>:
157              
158             If you don't specify a value for C<IPAddress>, Amazon Route 53 sends a
159             DNS request to the domain that you specify in
160             C<FullyQualifiedDomainName> at the interval you specify in
161             C<RequestInterval>. Using an IPv4 address that is returned by DNS,
162             Amazon Route 53 then checks the health of the endpoint.
163              
164             If you don't specify a value for C<IPAddress>, Amazon Route 53 uses
165             only IPv4 to send health checks to the endpoint. If there's no resource
166             record set with a type of A for the name that you specify for
167             C<FullyQualifiedDomainName>, the health check fails with a "DNS
168             resolution failed" error.
169              
170             If you want to check the health of weighted, latency, or failover
171             resource record sets and you choose to specify the endpoint only by
172             C<FullyQualifiedDomainName>, we recommend that you create a separate
173             health check for each endpoint. For example, create a health check for
174             each HTTP server that is serving content for www.example.com. For the
175             value of C<FullyQualifiedDomainName>, specify the domain name of the
176             server (such as C<us-east-2-www.example.com>), not the name of the
177             resource record sets (www.example.com).
178              
179             In this configuration, if the value of C<FullyQualifiedDomainName>
180             matches the name of the resource record sets and you then associate the
181             health check with those resource record sets, health check results will
182             be unpredictable.
183              
184             In addition, if the value of C<Type> is C<HTTP>, C<HTTPS>,
185             C<HTTP_STR_MATCH>, or C<HTTPS_STR_MATCH>, Amazon Route 53 passes the
186             value of C<FullyQualifiedDomainName> in the C<Host> header, as it does
187             when you specify a value for C<IPAddress>. If the value of C<Type> is
188             C<TCP>, Amazon Route 53 doesn't pass a C<Host> header.
189              
190              
191              
192             =head2 B<REQUIRED> HealthCheckId => Str
193              
194             The ID for the health check for which you want detailed information.
195             When you created the health check, C<CreateHealthCheck> returned the ID
196             in the response, in the C<HealthCheckId> element.
197              
198              
199              
200             =head2 HealthCheckVersion => Int
201              
202             A sequential counter that Amazon Route 53 sets to C<1> when you create
203             a health check and increments by 1 each time you update settings for
204             the health check.
205              
206             We recommend that you use C<GetHealthCheck> or C<ListHealthChecks> to
207             get the current value of C<HealthCheckVersion> for the health check
208             that you want to update, and that you include that value in your
209             C<UpdateHealthCheck> request. This prevents Amazon Route 53 from
210             overwriting an intervening update:
211              
212             =over
213              
214             =item *
215              
216             If the value in the C<UpdateHealthCheck> request matches the value of
217             C<HealthCheckVersion> in the health check, Amazon Route 53 updates the
218             health check with the new settings.
219              
220             =item *
221              
222             If the value of C<HealthCheckVersion> in the health check is greater,
223             the health check was changed after you got the version number. Amazon
224             Route 53 does not update the health check, and it returns a
225             C<HealthCheckVersionMismatch> error.
226              
227             =back
228              
229              
230              
231              
232             =head2 HealthThreshold => Int
233              
234             The number of child health checks that are associated with a
235             C<CALCULATED> health that Amazon Route 53 must consider healthy for the
236             C<CALCULATED> health check to be considered healthy. To specify the
237             child health checks that you want to associate with a C<CALCULATED>
238             health check, use the C<ChildHealthChecks> and C<ChildHealthCheck>
239             elements.
240              
241             Note the following:
242              
243             =over
244              
245             =item *
246              
247             If you specify a number greater than the number of child health checks,
248             Amazon Route 53 always considers this health check to be unhealthy.
249              
250             =item *
251              
252             If you specify C<0>, Amazon Route 53 always considers this health check
253             to be healthy.
254              
255             =back
256              
257              
258              
259              
260             =head2 InsufficientDataHealthStatus => Str
261              
262             When CloudWatch has insufficient data about the metric to determine the
263             alarm state, the status that you want Amazon Route 53 to assign to the
264             health check:
265              
266             =over
267              
268             =item *
269              
270             C<Healthy>: Amazon Route 53 considers the health check to be healthy.
271              
272             =item *
273              
274             C<Unhealthy>: Amazon Route 53 considers the health check to be
275             unhealthy.
276              
277             =item *
278              
279             C<LastKnownStatus>: Amazon Route 53 uses the status of the health check
280             from the last time CloudWatch had sufficient data to determine the
281             alarm state. For new health checks that have no last known status, the
282             default status for the health check is healthy.
283              
284             =back
285              
286              
287             Valid values are: C<"Healthy">, C<"Unhealthy">, C<"LastKnownStatus">
288              
289             =head2 Inverted => Bool
290              
291             Specify whether you want Amazon Route 53 to invert the status of a
292             health check, for example, to consider a health check unhealthy when it
293             otherwise would be considered healthy.
294              
295              
296              
297             =head2 IPAddress => Str
298              
299             The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route
300             53 to perform health checks on. If you don't specify a value for
301             C<IPAddress>, Amazon Route 53 sends a DNS request to resolve the domain
302             name that you specify in C<FullyQualifiedDomainName> at the interval
303             that you specify in C<RequestInterval>. Using an IP address that is
304             returned by DNS, Amazon Route 53 then checks the health of the
305             endpoint.
306              
307             Use one of the following formats for the value of C<IPAddress>:
308              
309             =over
310              
311             =item *
312              
313             B<IPv4 address>: four values between 0 and 255, separated by periods
314             (.), for example, C<192.0.2.44>.
315              
316             =item *
317              
318             B<IPv6 address>: eight groups of four hexadecimal values, separated by
319             colons (:), for example, C<2001:0db8:85a3:0000:0000:abcd:0001:2345>.
320             You can also shorten IPv6 addresses as described in RFC 5952, for
321             example, C<2001:db8:85a3::abcd:1:2345>.
322              
323             =back
324              
325             If the endpoint is an EC2 instance, we recommend that you create an
326             Elastic IP address, associate it with your EC2 instance, and specify
327             the Elastic IP address for C<IPAddress>. This ensures that the IP
328             address of your instance never changes. For more information, see the
329             applicable documentation:
330              
331             =over
332              
333             =item *
334              
335             Linux: Elastic IP Addresses (EIP) in the I<Amazon EC2 User Guide for
336             Linux Instances>
337              
338             =item *
339              
340             Windows: Elastic IP Addresses (EIP) in the I<Amazon EC2 User Guide for
341             Windows Instances>
342              
343             =back
344              
345             If a health check already has a value for C<IPAddress>, you can change
346             the value. However, you can't update an existing health check to add or
347             remove the value of C<IPAddress>.
348              
349             For more information, see
350             UpdateHealthCheckRequest$FullyQualifiedDomainName.
351              
352             Constraints: Amazon Route 53 can't check the health of endpoints for
353             which the IP address is in local, private, non-routable, or multicast
354             ranges. For more information about IP addresses for which you can't
355             create health checks, see the following documents:
356              
357             =over
358              
359             =item *
360              
361             RFC 5735, Special Use IPv4 Addresses
362              
363             =item *
364              
365             RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space
366              
367             =item *
368              
369             RFC 5156, Special-Use IPv6 Addresses
370              
371             =back
372              
373              
374              
375              
376             =head2 Port => Int
377              
378             The port on the endpoint on which you want Amazon Route 53 to perform
379             health checks.
380              
381              
382              
383             =head2 Regions => ArrayRef[Str|Undef]
384              
385             A complex type that contains one C<Region> element for each region that
386             you want Amazon Route 53 health checkers to check the specified
387             endpoint from.
388              
389              
390              
391             =head2 ResetElements => ArrayRef[Str|Undef]
392              
393             A complex type that contains one C<ResetElement> element for each
394             element that you want to reset to the default value. Valid values for
395             C<ResetElement> include the following:
396              
397             =over
398              
399             =item *
400              
401             C<ChildHealthChecks>: Amazon Route 53 resets
402             HealthCheckConfig$ChildHealthChecks to null.
403              
404             =item *
405              
406             C<FullyQualifiedDomainName>: Amazon Route 53 resets
407             HealthCheckConfig$FullyQualifiedDomainName to null.
408              
409             =item *
410              
411             C<Regions>: Amazon Route 53 resets the HealthCheckConfig$Regions list
412             to the default set of regions.
413              
414             =item *
415              
416             C<ResourcePath>: Amazon Route 53 resets HealthCheckConfig$ResourcePath
417             to null.
418              
419             =back
420              
421              
422              
423              
424             =head2 ResourcePath => Str
425              
426             The path that you want Amazon Route 53 to request when performing
427             health checks. The path can be any value for which your endpoint will
428             return an HTTP status code of 2xx or 3xx when the endpoint is healthy,
429             for example the file /docs/route53-health-check.html.
430              
431             Specify this value only if you want to change it.
432              
433              
434              
435             =head2 SearchString => Str
436              
437             If the value of C<Type> is C<HTTP_STR_MATCH> or C<HTTP_STR_MATCH>, the
438             string that you want Amazon Route 53 to search for in the response body
439             from the specified resource. If the string appears in the response
440             body, Amazon Route 53 considers the resource healthy. (You can't change
441             the value of C<Type> when you update a health check.)
442              
443              
444              
445              
446             =head1 SEE ALSO
447              
448             This class forms part of L<Paws>, documenting arguments for method UpdateHealthCheck in L<Paws::Route53>
449              
450             =head1 BUGS and CONTRIBUTIONS
451              
452             The source code is located here: https://github.com/pplu/aws-sdk-perl
453              
454             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
455              
456             =cut
457