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