/* * Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.route53.model; import java.io.Serializable; import javax.annotation.Generated; /** * <p> * Information about the resource record set to create or delete. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ResourceRecordSet" target="_top">AWS API * Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ResourceRecordSet implements Serializable, Cloneable { /** * <p> * The name of the domain you want to perform the action on. * </p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include a * trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you specify * is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a trailing dot) * and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and <code>-</code> * (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name Format</a> * in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character * (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code>. You * can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In addition, the * * must replace the entire label; for example, you can't specify <code>prod*.example.com</code>. * </p> */ private String name; /** * <p> * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> * | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, geolocation, or failover * resource record sets, specify the same value for all of the resource record sets in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer * recommend that you create resource record sets for which the value of <code>Type</code> is <code>SPF</code>. RFC * 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, has been updated * to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS Record * Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, * one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for which * you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * </ul> */ private String type; /** * <p> * <i>Weighted, Latency, Geo, and Failover resource record sets only:</i> An identifier that differentiates among * multiple resource record sets that have the same combination of DNS name and type. The value of * <code>SetIdentifier</code> must be unique for each resource record set that has the same combination of DNS name * and type. Omit <code>SetIdentifier</code> for any other types of record sets. * </p> */ private String setIdentifier; /** * <p> * <i>Weighted resource record sets only:</i> Among resource record sets that have the same combination of DNS name * and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the * current resource record set. Amazon Route 53 calculates the sum of the weights for the resource record sets that * have the same combination of DNS name and type. Amazon Route 53 then responds to queries based on the ratio of a * resource's weight to the total. Note the following: * </p> * <ul> * <li> * <p> * You must specify a value for the <code>Weight</code> element for every weighted resource record set. * </p> * </li> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per weighted resource record set. * </p> * </li> * <li> * <p> * You can't create latency, failover, or geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements as weighted resource record sets. * </p> * </li> * <li> * <p> * You can create a maximum of 100 weighted resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements. * </p> * </li> * <li> * <p> * For weighted (but not weighted alias) resource record sets, if you set <code>Weight</code> to <code>0</code> for * a resource record set, Amazon Route 53 never responds to queries with the applicable value for that resource * record set. However, if you set <code>Weight</code> to <code>0</code> for all resource record sets that have the * same combination of DNS name and type, traffic is routed to all resources with equal probability. * </p> * <p> * The effect of setting <code>Weight</code> to <code>0</code> is different when you associate health checks with * weighted resource record sets. For more information, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html">Options for * Configuring Amazon Route 53 Active-Active and Active-Passive Failover</a> in the <i>Amazon Route 53 Developer * Guide</i>. * </p> * </li> * </ul> */ private Long weight; /** * <p> * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that this * resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load * balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. * </p> * <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource * record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end * user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the * selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will * choose the region with the best latency from among the regions that you create latency resource record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * </ul> */ private String region; /** * <p> * <i>Geo location resource record sets only:</i> A complex type that lets you control how Amazon Route 53 responds * to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to * be routed to a web server with an IP address of <code>192.0.2.111</code>, create a resource record set with a * <code>Type</code> of <code>A</code> and a <code>ContinentCode</code> of <code>AF</code>. * </p> * <note> * <p> * Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * If you create separate resource record sets for overlapping geographic regions (for example, one resource record * set for a continent and one for a country on the same continent), priority goes to the smallest geographic * region. This allows you to route most queries for a continent to one resource and to route queries for a country * on that continent to a different resource. * </p> * <p> * You can't create two geolocation resource record sets that specify the same geographic location. * </p> * <p> * The value <code>*</code> in the <code>CountryCode</code> element matches all geographic locations that aren't * specified in other geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements. * </p> * <important> * <p> * Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic * locations, so even if you create geolocation resource record sets that cover all seven continents, Amazon Route * 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource * record set for which the value of <code>CountryCode</code> is <code>*</code>, which handles both queries that * come from locations for which you haven't created geolocation resource record sets and queries from IP addresses * that aren't mapped to a location. If you don't create a <code>*</code> resource record set, Amazon Route 53 * returns a "no answer" response for queries from those locations. * </p> * </important> * <p> * You can't create non-geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as geolocation resource record sets. * </p> */ private GeoLocation geoLocation; /** * <p> * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> element to * two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the value for * <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In addition, you * include the <code>HealthCheckId</code> element and specify the health check that you want Amazon Route 53 to * perform for each resource record set. * </p> * <p> * Except where noted, the following failover behaviors assume that you have included the <code>HealthCheckId</code> * element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the secondary resource record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route * 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the primary resource record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the primary * resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from * the secondary resource record set. This is true regardless of the health of the associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> element and * set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the <i>Amazon * Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> */ private String failover; /** * <p> * The resource record cache time to live (TTL), in seconds. Note the following: * </p> * <ul> * <li> * <p> * If you're creating an alias resource record set, omit <code>TTL</code>. Amazon Route 53 uses the value of * <code>TTL</code> for the alias target. * </p> * </li> * <li> * <p> * If you're associating this resource record set with a health check (if you're adding a <code>HealthCheckId</code> * element), we recommend that you specify a <code>TTL</code> of 60 seconds or less so clients respond quickly to * changes in health status. * </p> * </li> * <li> * <p> * All of the resource record sets in a group of weighted resource record sets must have the same value for * <code>TTL</code>. * </p> * </li> * <li> * <p> * If a group of weighted resource record sets includes one or more weighted alias resource record sets for which * the alias target is an ELB load balancer, we recommend that you specify a <code>TTL</code> of 60 seconds for all * of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds * (the TTL for load balancers) will change the effect of the values that you specify for <code>Weight</code>. * </p> * </li> * </ul> */ private Long tTL; /** * <p> * Information about the resource records to act upon. * </p> * <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> * </note> */ private com.amazonaws.internal.SdkInternalList<ResourceRecord> resourceRecords; /** * <p> * <i>Alias resource record sets only:</i> Information about the CloudFront distribution, AWS Elastic Beanstalk * environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you're * redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized subdomain. * </p> * <p> * If you're creating resource records sets for a private hosted zone, note the following: * </p> * <ul> * <li> * <p> * You can't create alias resource record sets for CloudFront distributions in a private hosted zone. * </p> * </li> * <li> * <p> * Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is * unsupported. * </p> * </li> * <li> * <p> * For information about creating failover resource record sets in a private hosted zone, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html" * >Configuring Failover in a Private Hosted Zone</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * </li> * </ul> */ private AliasTarget aliasTarget; /** * <p> * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health * check is passing, include the <code>HealthCheckId</code> element and specify the ID of the applicable health * check. * </p> * <p> * Amazon Route 53 determines whether a resource record set is healthy based on one of the following: * </p> * <ul> * <li> * <p> * By periodically sending a request to the endpoint that is specified in the health check * </p> * </li> * <li> * <p> * By aggregating the status of a specified group of health checks (calculated health checks) * </p> * </li> * <li> * <p> * By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) * </p> * </li> * </ul> * <p> * For more information, see <a href= * "http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html">How * Amazon Route 53 Determines Whether an Endpoint Is Healthy</a>. * </p> * <p> * The <code>HealthCheckId</code> element is only useful when Amazon Route 53 is choosing between two or more * resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the * status of a health check. Configuring health checks only makes sense in the following configurations: * </p> * <ul> * <li> * <p> * You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or failover * resource record sets, and you specify health check IDs for all of the resource record sets. If the health check * for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to * queries using the value for that resource record set. * </p> * </li> * <li> * <p> * You set <code>EvaluateTargetHealth</code> to true for the resource record sets in a group of alias, weighted * alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify health check IDs * for all of the resource record sets that are referenced by the alias resource record sets. * </p> * </li> * </ul> * <important> * <p> * Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the * endpoint specified by the IP address in the <code>Value</code> element. When you add a <code>HealthCheckId</code> * element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the * health check. * </p> * </important> * <p> * For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record * set for the larger, associated geographic region. For example, suppose you have resource record sets for a state * in the United States, for the United States, for North America, and for all locations. If the endpoint for the * state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, * for North America, and for all locations (a resource record set for which the value of <code>CountryCode</code> * is <code>*</code>), in that order, until it finds a resource record set for which the endpoint is healthy. * </p> * <p> * If your health checks specify the endpoint only by domain name, we recommend that you create a separate health * check for each endpoint. For example, create a health check for each <code>HTTP</code> server that is serving * content for <code>www.example.com</code>. For the value of <code>FullyQualifiedDomainName</code>, specify the * domain name of the server (such as <code>us-east-2-www.example.com</code>), not the name of the resource record * sets (example.com). * </p> * <important> * <p> * n this configuration, if you create a health check for which the value of <code>FullyQualifiedDomainName</code> * matches the name of the resource record sets and then associate the health check with those resource record sets, * health check results will be unpredictable. * </p> * </important> * <p> * For more information, see the following topics in the <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> */ private String healthCheckId; /** * <p> * When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. * <code>TrafficPolicyInstanceId</code> is the ID of the traffic policy instance that Amazon Route 53 created this * resource record set for. * </p> * <important> * <p> * To delete the resource record set that is associated with a traffic policy instance, use * <code>DeleteTrafficPolicyInstance</code>. Amazon Route 53 will delete the resource record set automatically. If * you delete the resource record set by using <code>ChangeResourceRecordSets</code>, Amazon Route 53 doesn't * automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no * longer in use. * </p> * </important> */ private String trafficPolicyInstanceId; /** * Default constructor for ResourceRecordSet object. Callers should use the setter or fluent setter (with...) * methods to initialize the object after creating it. */ public ResourceRecordSet() { } /** * Constructs a new ResourceRecordSet object. Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param name * The name of the domain you want to perform the action on.</p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include * a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you * specify is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a * trailing dot) and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and * <code>-</code> (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name * Format</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * * character (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code> * . You can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In * addition, the * must replace the entire label; for example, you can't specify * <code>prod*.example.com</code>. * @param type * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS * Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | * <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, * geolocation, or failover resource record sets, specify the same value for all of the resource record sets * in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no * longer recommend that you create resource record sets for which the value of <code>Type</code> is * <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, * Version 1</i>, has been updated to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS * Record Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your * distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for * which you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> */ public ResourceRecordSet(String name, String type) { setName(name); setType(type); } /** * Constructs a new ResourceRecordSet object. Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param name * The name of the domain you want to perform the action on.</p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include * a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you * specify is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a * trailing dot) and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and * <code>-</code> (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name * Format</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * * character (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code> * . You can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In * addition, the * must replace the entire label; for example, you can't specify * <code>prod*.example.com</code>. * @param type * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS * Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | * <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, * geolocation, or failover resource record sets, specify the same value for all of the resource record sets * in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no * longer recommend that you create resource record sets for which the value of <code>Type</code> is * <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, * Version 1</i>, has been updated to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS * Record Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your * distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for * which you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> */ public ResourceRecordSet(String name, RRType type) { setName(name); setType(type.toString()); } /** * <p> * The name of the domain you want to perform the action on. * </p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include a * trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you specify * is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a trailing dot) * and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and <code>-</code> * (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name Format</a> * in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character * (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code>. You * can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In addition, the * * must replace the entire label; for example, you can't specify <code>prod*.example.com</code>. * </p> * * @param name * The name of the domain you want to perform the action on.</p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include * a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you * specify is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a * trailing dot) and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and * <code>-</code> (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name * Format</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * * character (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code> * . You can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In * addition, the * must replace the entire label; for example, you can't specify * <code>prod*.example.com</code>. */ public void setName(String name) { this.name = name; } /** * <p> * The name of the domain you want to perform the action on. * </p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include a * trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you specify * is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a trailing dot) * and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and <code>-</code> * (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name Format</a> * in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character * (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code>. You * can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In addition, the * * must replace the entire label; for example, you can't specify <code>prod*.example.com</code>. * </p> * * @return The name of the domain you want to perform the action on.</p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally * include a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name * that you specify is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> * (without a trailing dot) and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and * <code>-</code> (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name * Format</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * * character (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, * <code>*.example.com</code>. You can't use an * for one of the middle labels, for example, * <code>marketing.*.example.com</code>. In addition, the * must replace the entire label; for example, you * can't specify <code>prod*.example.com</code>. */ public String getName() { return this.name; } /** * <p> * The name of the domain you want to perform the action on. * </p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include a * trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you specify * is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a trailing dot) * and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and <code>-</code> * (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name Format</a> * in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character * (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code>. You * can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In addition, the * * must replace the entire label; for example, you can't specify <code>prod*.example.com</code>. * </p> * * @param name * The name of the domain you want to perform the action on.</p> * <p> * Enter a fully qualified domain name, for example, <code>www.example.com</code>. You can optionally include * a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you * specify is fully qualified. This means that Amazon Route 53 treats <code>www.example.com</code> (without a * trailing dot) and <code>www.example.com.</code> (with a trailing dot) as identical. * </p> * <p> * For information about how to specify characters other than <code>a-z</code>, <code>0-9</code>, and * <code>-</code> (hyphen) and how to specify internationalized domain names, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name * Format</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, * <code>*.example.com</code>. Note the following: * </p> * <ul> * <li> * <p> * The * must replace the entire label. For example, you can't specify <code>*prod.example.com</code> or * <code>prod*.example.com</code>. * </p> * </li> * <li> * <p> * The * can't replace any of the middle labels, for example, marketing.*.example.com. * </p> * </li> * <li> * <p> * If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * * character (ASCII 42), not as a wildcard. * </p> * <important> * <p> * You can't use the * wildcard for resource records sets that have a type of NS. * </p> * </important></li> * </ul> * <p> * You can use the * wildcard as the leftmost label in a domain name, for example, <code>*.example.com</code> * . You can't use an * for one of the middle labels, for example, <code>marketing.*.example.com</code>. In * addition, the * must replace the entire label; for example, you can't specify * <code>prod*.example.com</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withName(String name) { setName(name); return this; } /** * <p> * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> * | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, geolocation, or failover * resource record sets, specify the same value for all of the resource record sets in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer * recommend that you create resource record sets for which the value of <code>Type</code> is <code>SPF</code>. RFC * 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, has been updated * to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS Record * Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, * one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for which * you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * </ul> * * @param type * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS * Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | * <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, * geolocation, or failover resource record sets, specify the same value for all of the resource record sets * in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no * longer recommend that you create resource record sets for which the value of <code>Type</code> is * <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, * Version 1</i>, has been updated to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS * Record Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your * distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for * which you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * @see RRType */ public void setType(String type) { this.type = type; } /** * <p> * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> * | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, geolocation, or failover * resource record sets, specify the same value for all of the resource record sets in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer * recommend that you create resource record sets for which the value of <code>Type</code> is <code>SPF</code>. RFC * 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, has been updated * to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS Record * Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, * one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for which * you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * </ul> * * @return The DNS record type. For information about different record types and how data is encoded for them, see * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS * Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | * <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, * geolocation, or failover resource record sets, specify the same value for all of the resource record sets * in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no * longer recommend that you create resource record sets for which the value of <code>Type</code> is * <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, * Version 1</i>, has been updated to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS * Record Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your * distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for * which you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * @see RRType */ public String getType() { return this.type; } /** * <p> * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> * | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, geolocation, or failover * resource record sets, specify the same value for all of the resource record sets in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer * recommend that you create resource record sets for which the value of <code>Type</code> is <code>SPF</code>. RFC * 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, has been updated * to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS Record * Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, * one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for which * you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * </ul> * * @param type * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS * Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | * <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, * geolocation, or failover resource record sets, specify the same value for all of the resource record sets * in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no * longer recommend that you create resource record sets for which the value of <code>Type</code> is * <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, * Version 1</i>, has been updated to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS * Record Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your * distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for * which you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. * @see RRType */ public ResourceRecordSet withType(String type) { setType(type); return this; } /** * <p> * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> * | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, geolocation, or failover * resource record sets, specify the same value for all of the resource record sets in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer * recommend that you create resource record sets for which the value of <code>Type</code> is <code>SPF</code>. RFC * 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, has been updated * to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS Record * Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, * one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for which * you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * </ul> * * @param type * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS * Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | * <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, * geolocation, or failover resource record sets, specify the same value for all of the resource record sets * in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no * longer recommend that you create resource record sets for which the value of <code>Type</code> is * <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, * Version 1</i>, has been updated to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS * Record Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your * distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for * which you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * @see RRType */ public void setType(RRType type) { this.type = type.toString(); } /** * <p> * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> * | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | * <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, geolocation, or failover * resource record sets, specify the same value for all of the resource record sets in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer * recommend that you create resource record sets for which the value of <code>Type</code> is <code>SPF</code>. RFC * 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, has been updated * to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS Record * Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, * one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for which * you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * </ul> * * @param type * The DNS record type. For information about different record types and how data is encoded for them, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS * Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> * <p> * Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | * <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code> * </p> * <p> * Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | * <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. When creating a group of weighted, latency, * geolocation, or failover resource record sets, specify the same value for all of the resource record sets * in the group. * </p> * <note> * <p> * SPF records were formerly used to verify the identity of the sender of email messages. However, we no * longer recommend that you create resource record sets for which the value of <code>Type</code> is * <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, * Version 1</i>, has been updated to say, * "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." * In RFC 7208, see section 14.1, <a href="http://tools.ietf.org/html/rfc7208#section-14.1">The SPF DNS * Record Type</a>. * </p> * </note> * <p> * Values for alias resource record sets: * </p> * <ul> * <li> * <p> * <b>CloudFront distributions:</b> <code>A</code> * </p> * <p> * If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your * distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. * </p> * </li> * <li> * <p> * <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> * </p> * </li> * <li> * <p> * <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> * </p> * </li> * <li> * <p> * <b>Amazon S3 buckets:</b> <code>A</code> * </p> * </li> * <li> * <p> * <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set for * which you're creating the alias. Specify any value except <code>NS</code> or <code>SOA</code>. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. * @see RRType */ public ResourceRecordSet withType(RRType type) { setType(type); return this; } /** * <p> * <i>Weighted, Latency, Geo, and Failover resource record sets only:</i> An identifier that differentiates among * multiple resource record sets that have the same combination of DNS name and type. The value of * <code>SetIdentifier</code> must be unique for each resource record set that has the same combination of DNS name * and type. Omit <code>SetIdentifier</code> for any other types of record sets. * </p> * * @param setIdentifier * <i>Weighted, Latency, Geo, and Failover resource record sets only:</i> An identifier that differentiates * among multiple resource record sets that have the same combination of DNS name and type. The value of * <code>SetIdentifier</code> must be unique for each resource record set that has the same combination of * DNS name and type. Omit <code>SetIdentifier</code> for any other types of record sets. */ public void setSetIdentifier(String setIdentifier) { this.setIdentifier = setIdentifier; } /** * <p> * <i>Weighted, Latency, Geo, and Failover resource record sets only:</i> An identifier that differentiates among * multiple resource record sets that have the same combination of DNS name and type. The value of * <code>SetIdentifier</code> must be unique for each resource record set that has the same combination of DNS name * and type. Omit <code>SetIdentifier</code> for any other types of record sets. * </p> * * @return <i>Weighted, Latency, Geo, and Failover resource record sets only:</i> An identifier that differentiates * among multiple resource record sets that have the same combination of DNS name and type. The value of * <code>SetIdentifier</code> must be unique for each resource record set that has the same combination of * DNS name and type. Omit <code>SetIdentifier</code> for any other types of record sets. */ public String getSetIdentifier() { return this.setIdentifier; } /** * <p> * <i>Weighted, Latency, Geo, and Failover resource record sets only:</i> An identifier that differentiates among * multiple resource record sets that have the same combination of DNS name and type. The value of * <code>SetIdentifier</code> must be unique for each resource record set that has the same combination of DNS name * and type. Omit <code>SetIdentifier</code> for any other types of record sets. * </p> * * @param setIdentifier * <i>Weighted, Latency, Geo, and Failover resource record sets only:</i> An identifier that differentiates * among multiple resource record sets that have the same combination of DNS name and type. The value of * <code>SetIdentifier</code> must be unique for each resource record set that has the same combination of * DNS name and type. Omit <code>SetIdentifier</code> for any other types of record sets. * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withSetIdentifier(String setIdentifier) { setSetIdentifier(setIdentifier); return this; } /** * <p> * <i>Weighted resource record sets only:</i> Among resource record sets that have the same combination of DNS name * and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the * current resource record set. Amazon Route 53 calculates the sum of the weights for the resource record sets that * have the same combination of DNS name and type. Amazon Route 53 then responds to queries based on the ratio of a * resource's weight to the total. Note the following: * </p> * <ul> * <li> * <p> * You must specify a value for the <code>Weight</code> element for every weighted resource record set. * </p> * </li> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per weighted resource record set. * </p> * </li> * <li> * <p> * You can't create latency, failover, or geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements as weighted resource record sets. * </p> * </li> * <li> * <p> * You can create a maximum of 100 weighted resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements. * </p> * </li> * <li> * <p> * For weighted (but not weighted alias) resource record sets, if you set <code>Weight</code> to <code>0</code> for * a resource record set, Amazon Route 53 never responds to queries with the applicable value for that resource * record set. However, if you set <code>Weight</code> to <code>0</code> for all resource record sets that have the * same combination of DNS name and type, traffic is routed to all resources with equal probability. * </p> * <p> * The effect of setting <code>Weight</code> to <code>0</code> is different when you associate health checks with * weighted resource record sets. For more information, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html">Options for * Configuring Amazon Route 53 Active-Active and Active-Passive Failover</a> in the <i>Amazon Route 53 Developer * Guide</i>. * </p> * </li> * </ul> * * @param weight * <i>Weighted resource record sets only:</i> Among resource record sets that have the same combination of * DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to * using the current resource record set. Amazon Route 53 calculates the sum of the weights for the resource * record sets that have the same combination of DNS name and type. Amazon Route 53 then responds to queries * based on the ratio of a resource's weight to the total. Note the following:</p> * <ul> * <li> * <p> * You must specify a value for the <code>Weight</code> element for every weighted resource record set. * </p> * </li> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per weighted resource record set. * </p> * </li> * <li> * <p> * You can't create latency, failover, or geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements as weighted resource record sets. * </p> * </li> * <li> * <p> * You can create a maximum of 100 weighted resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements. * </p> * </li> * <li> * <p> * For weighted (but not weighted alias) resource record sets, if you set <code>Weight</code> to * <code>0</code> for a resource record set, Amazon Route 53 never responds to queries with the applicable * value for that resource record set. However, if you set <code>Weight</code> to <code>0</code> for all * resource record sets that have the same combination of DNS name and type, traffic is routed to all * resources with equal probability. * </p> * <p> * The effect of setting <code>Weight</code> to <code>0</code> is different when you associate health checks * with weighted resource record sets. For more information, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html" * >Options for Configuring Amazon Route 53 Active-Active and Active-Passive Failover</a> in the <i>Amazon * Route 53 Developer Guide</i>. * </p> * </li> */ public void setWeight(Long weight) { this.weight = weight; } /** * <p> * <i>Weighted resource record sets only:</i> Among resource record sets that have the same combination of DNS name * and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the * current resource record set. Amazon Route 53 calculates the sum of the weights for the resource record sets that * have the same combination of DNS name and type. Amazon Route 53 then responds to queries based on the ratio of a * resource's weight to the total. Note the following: * </p> * <ul> * <li> * <p> * You must specify a value for the <code>Weight</code> element for every weighted resource record set. * </p> * </li> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per weighted resource record set. * </p> * </li> * <li> * <p> * You can't create latency, failover, or geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements as weighted resource record sets. * </p> * </li> * <li> * <p> * You can create a maximum of 100 weighted resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements. * </p> * </li> * <li> * <p> * For weighted (but not weighted alias) resource record sets, if you set <code>Weight</code> to <code>0</code> for * a resource record set, Amazon Route 53 never responds to queries with the applicable value for that resource * record set. However, if you set <code>Weight</code> to <code>0</code> for all resource record sets that have the * same combination of DNS name and type, traffic is routed to all resources with equal probability. * </p> * <p> * The effect of setting <code>Weight</code> to <code>0</code> is different when you associate health checks with * weighted resource record sets. For more information, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html">Options for * Configuring Amazon Route 53 Active-Active and Active-Passive Failover</a> in the <i>Amazon Route 53 Developer * Guide</i>. * </p> * </li> * </ul> * * @return <i>Weighted resource record sets only:</i> Among resource record sets that have the same combination of * DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to * using the current resource record set. Amazon Route 53 calculates the sum of the weights for the resource * record sets that have the same combination of DNS name and type. Amazon Route 53 then responds to queries * based on the ratio of a resource's weight to the total. Note the following:</p> * <ul> * <li> * <p> * You must specify a value for the <code>Weight</code> element for every weighted resource record set. * </p> * </li> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per weighted resource record set. * </p> * </li> * <li> * <p> * You can't create latency, failover, or geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements as weighted resource record sets. * </p> * </li> * <li> * <p> * You can create a maximum of 100 weighted resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements. * </p> * </li> * <li> * <p> * For weighted (but not weighted alias) resource record sets, if you set <code>Weight</code> to * <code>0</code> for a resource record set, Amazon Route 53 never responds to queries with the applicable * value for that resource record set. However, if you set <code>Weight</code> to <code>0</code> for all * resource record sets that have the same combination of DNS name and type, traffic is routed to all * resources with equal probability. * </p> * <p> * The effect of setting <code>Weight</code> to <code>0</code> is different when you associate health checks * with weighted resource record sets. For more information, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html" * >Options for Configuring Amazon Route 53 Active-Active and Active-Passive Failover</a> in the <i>Amazon * Route 53 Developer Guide</i>. * </p> * </li> */ public Long getWeight() { return this.weight; } /** * <p> * <i>Weighted resource record sets only:</i> Among resource record sets that have the same combination of DNS name * and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the * current resource record set. Amazon Route 53 calculates the sum of the weights for the resource record sets that * have the same combination of DNS name and type. Amazon Route 53 then responds to queries based on the ratio of a * resource's weight to the total. Note the following: * </p> * <ul> * <li> * <p> * You must specify a value for the <code>Weight</code> element for every weighted resource record set. * </p> * </li> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per weighted resource record set. * </p> * </li> * <li> * <p> * You can't create latency, failover, or geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements as weighted resource record sets. * </p> * </li> * <li> * <p> * You can create a maximum of 100 weighted resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements. * </p> * </li> * <li> * <p> * For weighted (but not weighted alias) resource record sets, if you set <code>Weight</code> to <code>0</code> for * a resource record set, Amazon Route 53 never responds to queries with the applicable value for that resource * record set. However, if you set <code>Weight</code> to <code>0</code> for all resource record sets that have the * same combination of DNS name and type, traffic is routed to all resources with equal probability. * </p> * <p> * The effect of setting <code>Weight</code> to <code>0</code> is different when you associate health checks with * weighted resource record sets. For more information, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html">Options for * Configuring Amazon Route 53 Active-Active and Active-Passive Failover</a> in the <i>Amazon Route 53 Developer * Guide</i>. * </p> * </li> * </ul> * * @param weight * <i>Weighted resource record sets only:</i> Among resource record sets that have the same combination of * DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to * using the current resource record set. Amazon Route 53 calculates the sum of the weights for the resource * record sets that have the same combination of DNS name and type. Amazon Route 53 then responds to queries * based on the ratio of a resource's weight to the total. Note the following:</p> * <ul> * <li> * <p> * You must specify a value for the <code>Weight</code> element for every weighted resource record set. * </p> * </li> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per weighted resource record set. * </p> * </li> * <li> * <p> * You can't create latency, failover, or geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements as weighted resource record sets. * </p> * </li> * <li> * <p> * You can create a maximum of 100 weighted resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements. * </p> * </li> * <li> * <p> * For weighted (but not weighted alias) resource record sets, if you set <code>Weight</code> to * <code>0</code> for a resource record set, Amazon Route 53 never responds to queries with the applicable * value for that resource record set. However, if you set <code>Weight</code> to <code>0</code> for all * resource record sets that have the same combination of DNS name and type, traffic is routed to all * resources with equal probability. * </p> * <p> * The effect of setting <code>Weight</code> to <code>0</code> is different when you associate health checks * with weighted resource record sets. For more information, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html" * >Options for Configuring Amazon Route 53 Active-Active and Active-Passive Failover</a> in the <i>Amazon * Route 53 Developer Guide</i>. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withWeight(Long weight) { setWeight(weight); return this; } /** * <p> * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that this * resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load * balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. * </p> * <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource * record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end * user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the * selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will * choose the region with the best latency from among the regions that you create latency resource record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * </ul> * * @param region * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that * this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or * an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record * type.</p> <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency * resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency * between the end user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is * associated with the selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 * will choose the region with the best latency from among the regions that you create latency resource * record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * @see ResourceRecordSetRegion */ public void setRegion(String region) { this.region = region; } /** * <p> * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that this * resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load * balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. * </p> * <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource * record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end * user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the * selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will * choose the region with the best latency from among the regions that you create latency resource record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * </ul> * * @return <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that * this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or * an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record * type.</p> <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency * resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency * between the end user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is * associated with the selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 * will choose the region with the best latency from among the regions that you create latency resource * record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * @see ResourceRecordSetRegion */ public String getRegion() { return this.region; } /** * <p> * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that this * resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load * balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. * </p> * <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource * record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end * user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the * selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will * choose the region with the best latency from among the regions that you create latency resource record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * </ul> * * @param region * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that * this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or * an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record * type.</p> <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency * resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency * between the end user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is * associated with the selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 * will choose the region with the best latency from among the regions that you create latency resource * record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceRecordSetRegion */ public ResourceRecordSet withRegion(String region) { setRegion(region); return this; } /** * <p> * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that this * resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load * balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. * </p> * <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource * record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end * user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the * selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will * choose the region with the best latency from among the regions that you create latency resource record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * </ul> * * @param region * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that * this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or * an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record * type.</p> <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency * resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency * between the end user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is * associated with the selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 * will choose the region with the best latency from among the regions that you create latency resource * record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * @see ResourceRecordSetRegion */ public void setRegion(ResourceRecordSetRegion region) { this.region = region.toString(); } /** * <p> * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that this * resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load * balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. * </p> * <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource * record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end * user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the * selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will * choose the region with the best latency from among the regions that you create latency resource record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * </ul> * * @param region * <i>Latency-based resource record sets only:</i> The Amazon EC2 Region where you created the resource that * this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or * an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record * type.</p> <note> * <p> * Creating latency and latency alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency * resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency * between the end user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is * associated with the selected resource record set. * </p> * <p> * Note the following: * </p> * <ul> * <li> * <p> * You can only specify one <code>ResourceRecord</code> per latency resource record set. * </p> * </li> * <li> * <p> * You can only create one latency resource record set for each Amazon EC2 Region. * </p> * </li> * <li> * <p> * You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 * will choose the region with the best latency from among the regions that you create latency resource * record sets for. * </p> * </li> * <li> * <p> * You can't create non-latency resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as latency resource record sets. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceRecordSetRegion */ public ResourceRecordSet withRegion(ResourceRecordSetRegion region) { setRegion(region); return this; } /** * <p> * <i>Geo location resource record sets only:</i> A complex type that lets you control how Amazon Route 53 responds * to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to * be routed to a web server with an IP address of <code>192.0.2.111</code>, create a resource record set with a * <code>Type</code> of <code>A</code> and a <code>ContinentCode</code> of <code>AF</code>. * </p> * <note> * <p> * Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * If you create separate resource record sets for overlapping geographic regions (for example, one resource record * set for a continent and one for a country on the same continent), priority goes to the smallest geographic * region. This allows you to route most queries for a continent to one resource and to route queries for a country * on that continent to a different resource. * </p> * <p> * You can't create two geolocation resource record sets that specify the same geographic location. * </p> * <p> * The value <code>*</code> in the <code>CountryCode</code> element matches all geographic locations that aren't * specified in other geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements. * </p> * <important> * <p> * Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic * locations, so even if you create geolocation resource record sets that cover all seven continents, Amazon Route * 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource * record set for which the value of <code>CountryCode</code> is <code>*</code>, which handles both queries that * come from locations for which you haven't created geolocation resource record sets and queries from IP addresses * that aren't mapped to a location. If you don't create a <code>*</code> resource record set, Amazon Route 53 * returns a "no answer" response for queries from those locations. * </p> * </important> * <p> * You can't create non-geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as geolocation resource record sets. * </p> * * @param geoLocation * <i>Geo location resource record sets only:</i> A complex type that lets you control how Amazon Route 53 * responds to DNS queries based on the geographic origin of the query. For example, if you want all queries * from Africa to be routed to a web server with an IP address of <code>192.0.2.111</code>, create a resource * record set with a <code>Type</code> of <code>A</code> and a <code>ContinentCode</code> of <code>AF</code> * .</p> <note> * <p> * Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * If you create separate resource record sets for overlapping geographic regions (for example, one resource * record set for a continent and one for a country on the same continent), priority goes to the smallest * geographic region. This allows you to route most queries for a continent to one resource and to route * queries for a country on that continent to a different resource. * </p> * <p> * You can't create two geolocation resource record sets that specify the same geographic location. * </p> * <p> * The value <code>*</code> in the <code>CountryCode</code> element matches all geographic locations that * aren't specified in other geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements. * </p> * <important> * <p> * Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to * geographic locations, so even if you create geolocation resource record sets that cover all seven * continents, Amazon Route 53 will receive some DNS queries from locations that it can't identify. We * recommend that you create a resource record set for which the value of <code>CountryCode</code> is * <code>*</code>, which handles both queries that come from locations for which you haven't created * geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you * don't create a <code>*</code> resource record set, Amazon Route 53 returns a "no answer" response for * queries from those locations. * </p> * </important> * <p> * You can't create non-geolocation resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements as geolocation resource record sets. */ public void setGeoLocation(GeoLocation geoLocation) { this.geoLocation = geoLocation; } /** * <p> * <i>Geo location resource record sets only:</i> A complex type that lets you control how Amazon Route 53 responds * to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to * be routed to a web server with an IP address of <code>192.0.2.111</code>, create a resource record set with a * <code>Type</code> of <code>A</code> and a <code>ContinentCode</code> of <code>AF</code>. * </p> * <note> * <p> * Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * If you create separate resource record sets for overlapping geographic regions (for example, one resource record * set for a continent and one for a country on the same continent), priority goes to the smallest geographic * region. This allows you to route most queries for a continent to one resource and to route queries for a country * on that continent to a different resource. * </p> * <p> * You can't create two geolocation resource record sets that specify the same geographic location. * </p> * <p> * The value <code>*</code> in the <code>CountryCode</code> element matches all geographic locations that aren't * specified in other geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements. * </p> * <important> * <p> * Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic * locations, so even if you create geolocation resource record sets that cover all seven continents, Amazon Route * 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource * record set for which the value of <code>CountryCode</code> is <code>*</code>, which handles both queries that * come from locations for which you haven't created geolocation resource record sets and queries from IP addresses * that aren't mapped to a location. If you don't create a <code>*</code> resource record set, Amazon Route 53 * returns a "no answer" response for queries from those locations. * </p> * </important> * <p> * You can't create non-geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as geolocation resource record sets. * </p> * * @return <i>Geo location resource record sets only:</i> A complex type that lets you control how Amazon Route 53 * responds to DNS queries based on the geographic origin of the query. For example, if you want all queries * from Africa to be routed to a web server with an IP address of <code>192.0.2.111</code>, create a * resource record set with a <code>Type</code> of <code>A</code> and a <code>ContinentCode</code> of * <code>AF</code>.</p> <note> * <p> * Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * If you create separate resource record sets for overlapping geographic regions (for example, one resource * record set for a continent and one for a country on the same continent), priority goes to the smallest * geographic region. This allows you to route most queries for a continent to one resource and to route * queries for a country on that continent to a different resource. * </p> * <p> * You can't create two geolocation resource record sets that specify the same geographic location. * </p> * <p> * The value <code>*</code> in the <code>CountryCode</code> element matches all geographic locations that * aren't specified in other geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements. * </p> * <important> * <p> * Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to * geographic locations, so even if you create geolocation resource record sets that cover all seven * continents, Amazon Route 53 will receive some DNS queries from locations that it can't identify. We * recommend that you create a resource record set for which the value of <code>CountryCode</code> is * <code>*</code>, which handles both queries that come from locations for which you haven't created * geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you * don't create a <code>*</code> resource record set, Amazon Route 53 returns a "no answer" response for * queries from those locations. * </p> * </important> * <p> * You can't create non-geolocation resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements as geolocation resource record sets. */ public GeoLocation getGeoLocation() { return this.geoLocation; } /** * <p> * <i>Geo location resource record sets only:</i> A complex type that lets you control how Amazon Route 53 responds * to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to * be routed to a web server with an IP address of <code>192.0.2.111</code>, create a resource record set with a * <code>Type</code> of <code>A</code> and a <code>ContinentCode</code> of <code>AF</code>. * </p> * <note> * <p> * Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * If you create separate resource record sets for overlapping geographic regions (for example, one resource record * set for a continent and one for a country on the same continent), priority goes to the smallest geographic * region. This allows you to route most queries for a continent to one resource and to route queries for a country * on that continent to a different resource. * </p> * <p> * You can't create two geolocation resource record sets that specify the same geographic location. * </p> * <p> * The value <code>*</code> in the <code>CountryCode</code> element matches all geographic locations that aren't * specified in other geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements. * </p> * <important> * <p> * Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic * locations, so even if you create geolocation resource record sets that cover all seven continents, Amazon Route * 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource * record set for which the value of <code>CountryCode</code> is <code>*</code>, which handles both queries that * come from locations for which you haven't created geolocation resource record sets and queries from IP addresses * that aren't mapped to a location. If you don't create a <code>*</code> resource record set, Amazon Route 53 * returns a "no answer" response for queries from those locations. * </p> * </important> * <p> * You can't create non-geolocation resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as geolocation resource record sets. * </p> * * @param geoLocation * <i>Geo location resource record sets only:</i> A complex type that lets you control how Amazon Route 53 * responds to DNS queries based on the geographic origin of the query. For example, if you want all queries * from Africa to be routed to a web server with an IP address of <code>192.0.2.111</code>, create a resource * record set with a <code>Type</code> of <code>A</code> and a <code>ContinentCode</code> of <code>AF</code> * .</p> <note> * <p> * Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported. * </p> * </note> * <p> * If you create separate resource record sets for overlapping geographic regions (for example, one resource * record set for a continent and one for a country on the same continent), priority goes to the smallest * geographic region. This allows you to route most queries for a continent to one resource and to route * queries for a country on that continent to a different resource. * </p> * <p> * You can't create two geolocation resource record sets that specify the same geographic location. * </p> * <p> * The value <code>*</code> in the <code>CountryCode</code> element matches all geographic locations that * aren't specified in other geolocation resource record sets that have the same values for the * <code>Name</code> and <code>Type</code> elements. * </p> * <important> * <p> * Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to * geographic locations, so even if you create geolocation resource record sets that cover all seven * continents, Amazon Route 53 will receive some DNS queries from locations that it can't identify. We * recommend that you create a resource record set for which the value of <code>CountryCode</code> is * <code>*</code>, which handles both queries that come from locations for which you haven't created * geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you * don't create a <code>*</code> resource record set, Amazon Route 53 returns a "no answer" response for * queries from those locations. * </p> * </important> * <p> * You can't create non-geolocation resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements as geolocation resource record sets. * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withGeoLocation(GeoLocation geoLocation) { setGeoLocation(geoLocation); return this; } /** * <p> * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> element to * two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the value for * <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In addition, you * include the <code>HealthCheckId</code> element and specify the health check that you want Amazon Route 53 to * perform for each resource record set. * </p> * <p> * Except where noted, the following failover behaviors assume that you have included the <code>HealthCheckId</code> * element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the secondary resource record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route * 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the primary resource record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the primary * resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from * the secondary resource record set. This is true regardless of the health of the associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> element and * set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the <i>Amazon * Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @param failover * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> * element to two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the * value for <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In * addition, you include the <code>HealthCheckId</code> element and specify the health check that you want * Amazon Route 53 to perform for each resource record set.</p> * <p> * Except where noted, the following failover behaviors assume that you have included the * <code>HealthCheckId</code> element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the secondary resource * record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon * Route 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the primary resource * record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the * primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the * applicable value from the secondary resource record set. This is true regardless of the health of the * associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> * element and set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the * <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * @see ResourceRecordSetFailover */ public void setFailover(String failover) { this.failover = failover; } /** * <p> * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> element to * two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the value for * <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In addition, you * include the <code>HealthCheckId</code> element and specify the health check that you want Amazon Route 53 to * perform for each resource record set. * </p> * <p> * Except where noted, the following failover behaviors assume that you have included the <code>HealthCheckId</code> * element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the secondary resource record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route * 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the primary resource record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the primary * resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from * the secondary resource record set. This is true regardless of the health of the associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> element and * set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the <i>Amazon * Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @return <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> * element to two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the * value for <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. * In addition, you include the <code>HealthCheckId</code> element and specify the health check that you * want Amazon Route 53 to perform for each resource record set.</p> * <p> * Except where noted, the following failover behaviors assume that you have included the * <code>HealthCheckId</code> element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the secondary resource * record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, * Amazon Route 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the primary resource * record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the * primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the * applicable value from the secondary resource record set. This is true regardless of the health of the * associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> * and <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> * element and set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the * <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * @see ResourceRecordSetFailover */ public String getFailover() { return this.failover; } /** * <p> * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> element to * two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the value for * <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In addition, you * include the <code>HealthCheckId</code> element and specify the health check that you want Amazon Route 53 to * perform for each resource record set. * </p> * <p> * Except where noted, the following failover behaviors assume that you have included the <code>HealthCheckId</code> * element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the secondary resource record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route * 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the primary resource record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the primary * resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from * the secondary resource record set. This is true regardless of the health of the associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> element and * set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the <i>Amazon * Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @param failover * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> * element to two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the * value for <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In * addition, you include the <code>HealthCheckId</code> element and specify the health check that you want * Amazon Route 53 to perform for each resource record set.</p> * <p> * Except where noted, the following failover behaviors assume that you have included the * <code>HealthCheckId</code> element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the secondary resource * record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon * Route 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the primary resource * record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the * primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the * applicable value from the secondary resource record set. This is true regardless of the health of the * associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> * element and set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the * <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceRecordSetFailover */ public ResourceRecordSet withFailover(String failover) { setFailover(failover); return this; } /** * <p> * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> element to * two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the value for * <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In addition, you * include the <code>HealthCheckId</code> element and specify the health check that you want Amazon Route 53 to * perform for each resource record set. * </p> * <p> * Except where noted, the following failover behaviors assume that you have included the <code>HealthCheckId</code> * element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the secondary resource record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route * 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the primary resource record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the primary * resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from * the secondary resource record set. This is true regardless of the health of the associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> element and * set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the <i>Amazon * Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @param failover * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> * element to two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the * value for <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In * addition, you include the <code>HealthCheckId</code> element and specify the health check that you want * Amazon Route 53 to perform for each resource record set.</p> * <p> * Except where noted, the following failover behaviors assume that you have included the * <code>HealthCheckId</code> element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the secondary resource * record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon * Route 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the primary resource * record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the * primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the * applicable value from the secondary resource record set. This is true regardless of the health of the * associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> * element and set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the * <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * @see ResourceRecordSetFailover */ public void setFailover(ResourceRecordSetFailover failover) { this.failover = failover.toString(); } /** * <p> * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> element to * two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the value for * <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In addition, you * include the <code>HealthCheckId</code> element and specify the health check that you want Amazon Route 53 to * perform for each resource record set. * </p> * <p> * Except where noted, the following failover behaviors assume that you have included the <code>HealthCheckId</code> * element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the secondary resource record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route * 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable * value from the primary resource record set regardless of the health of the primary resource record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the primary * resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from * the secondary resource record set. This is true regardless of the health of the associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> element and * set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the <i>Amazon * Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @param failover * <i>Failover resource record sets only:</i> To configure failover, you add the <code>Failover</code> * element to two resource record sets. For one resource record set, you specify <code>PRIMARY</code> as the * value for <code>Failover</code>; for the other resource record set, you specify <code>SECONDARY</code>. In * addition, you include the <code>HealthCheckId</code> element and specify the health check that you want * Amazon Route 53 to perform for each resource record set.</p> * <p> * Except where noted, the following failover behaviors assume that you have included the * <code>HealthCheckId</code> element in both resource record sets: * </p> * <ul> * <li> * <p> * When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the secondary resource * record set. * </p> * </li> * <li> * <p> * When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon * Route 53 responds to DNS queries with the applicable value from the secondary resource record set. * </p> * </li> * <li> * <p> * When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the * applicable value from the primary resource record set regardless of the health of the primary resource * record set. * </p> * </li> * <li> * <p> * If you omit the <code>HealthCheckId</code> element for the secondary resource record set, and if the * primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the * applicable value from the secondary resource record set. This is true regardless of the health of the * associated endpoint. * </p> * </li> * </ul> * <p> * You can't create non-failover resource record sets that have the same values for the <code>Name</code> and * <code>Type</code> elements as failover resource record sets. * </p> * <p> * For failover alias resource record sets, you must also include the <code>EvaluateTargetHealth</code> * element and set the value to true. * </p> * <p> * For more information about configuring failover for Amazon Route 53, see the following topics in the * <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceRecordSetFailover */ public ResourceRecordSet withFailover(ResourceRecordSetFailover failover) { setFailover(failover); return this; } /** * <p> * The resource record cache time to live (TTL), in seconds. Note the following: * </p> * <ul> * <li> * <p> * If you're creating an alias resource record set, omit <code>TTL</code>. Amazon Route 53 uses the value of * <code>TTL</code> for the alias target. * </p> * </li> * <li> * <p> * If you're associating this resource record set with a health check (if you're adding a <code>HealthCheckId</code> * element), we recommend that you specify a <code>TTL</code> of 60 seconds or less so clients respond quickly to * changes in health status. * </p> * </li> * <li> * <p> * All of the resource record sets in a group of weighted resource record sets must have the same value for * <code>TTL</code>. * </p> * </li> * <li> * <p> * If a group of weighted resource record sets includes one or more weighted alias resource record sets for which * the alias target is an ELB load balancer, we recommend that you specify a <code>TTL</code> of 60 seconds for all * of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds * (the TTL for load balancers) will change the effect of the values that you specify for <code>Weight</code>. * </p> * </li> * </ul> * * @param tTL * The resource record cache time to live (TTL), in seconds. Note the following:</p> * <ul> * <li> * <p> * If you're creating an alias resource record set, omit <code>TTL</code>. Amazon Route 53 uses the value of * <code>TTL</code> for the alias target. * </p> * </li> * <li> * <p> * If you're associating this resource record set with a health check (if you're adding a * <code>HealthCheckId</code> element), we recommend that you specify a <code>TTL</code> of 60 seconds or * less so clients respond quickly to changes in health status. * </p> * </li> * <li> * <p> * All of the resource record sets in a group of weighted resource record sets must have the same value for * <code>TTL</code>. * </p> * </li> * <li> * <p> * If a group of weighted resource record sets includes one or more weighted alias resource record sets for * which the alias target is an ELB load balancer, we recommend that you specify a <code>TTL</code> of 60 * seconds for all of the non-alias weighted resource record sets that have the same name and type. Values * other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify * for <code>Weight</code>. * </p> * </li> */ public void setTTL(Long tTL) { this.tTL = tTL; } /** * <p> * The resource record cache time to live (TTL), in seconds. Note the following: * </p> * <ul> * <li> * <p> * If you're creating an alias resource record set, omit <code>TTL</code>. Amazon Route 53 uses the value of * <code>TTL</code> for the alias target. * </p> * </li> * <li> * <p> * If you're associating this resource record set with a health check (if you're adding a <code>HealthCheckId</code> * element), we recommend that you specify a <code>TTL</code> of 60 seconds or less so clients respond quickly to * changes in health status. * </p> * </li> * <li> * <p> * All of the resource record sets in a group of weighted resource record sets must have the same value for * <code>TTL</code>. * </p> * </li> * <li> * <p> * If a group of weighted resource record sets includes one or more weighted alias resource record sets for which * the alias target is an ELB load balancer, we recommend that you specify a <code>TTL</code> of 60 seconds for all * of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds * (the TTL for load balancers) will change the effect of the values that you specify for <code>Weight</code>. * </p> * </li> * </ul> * * @return The resource record cache time to live (TTL), in seconds. Note the following:</p> * <ul> * <li> * <p> * If you're creating an alias resource record set, omit <code>TTL</code>. Amazon Route 53 uses the value of * <code>TTL</code> for the alias target. * </p> * </li> * <li> * <p> * If you're associating this resource record set with a health check (if you're adding a * <code>HealthCheckId</code> element), we recommend that you specify a <code>TTL</code> of 60 seconds or * less so clients respond quickly to changes in health status. * </p> * </li> * <li> * <p> * All of the resource record sets in a group of weighted resource record sets must have the same value for * <code>TTL</code>. * </p> * </li> * <li> * <p> * If a group of weighted resource record sets includes one or more weighted alias resource record sets for * which the alias target is an ELB load balancer, we recommend that you specify a <code>TTL</code> of 60 * seconds for all of the non-alias weighted resource record sets that have the same name and type. Values * other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify * for <code>Weight</code>. * </p> * </li> */ public Long getTTL() { return this.tTL; } /** * <p> * The resource record cache time to live (TTL), in seconds. Note the following: * </p> * <ul> * <li> * <p> * If you're creating an alias resource record set, omit <code>TTL</code>. Amazon Route 53 uses the value of * <code>TTL</code> for the alias target. * </p> * </li> * <li> * <p> * If you're associating this resource record set with a health check (if you're adding a <code>HealthCheckId</code> * element), we recommend that you specify a <code>TTL</code> of 60 seconds or less so clients respond quickly to * changes in health status. * </p> * </li> * <li> * <p> * All of the resource record sets in a group of weighted resource record sets must have the same value for * <code>TTL</code>. * </p> * </li> * <li> * <p> * If a group of weighted resource record sets includes one or more weighted alias resource record sets for which * the alias target is an ELB load balancer, we recommend that you specify a <code>TTL</code> of 60 seconds for all * of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds * (the TTL for load balancers) will change the effect of the values that you specify for <code>Weight</code>. * </p> * </li> * </ul> * * @param tTL * The resource record cache time to live (TTL), in seconds. Note the following:</p> * <ul> * <li> * <p> * If you're creating an alias resource record set, omit <code>TTL</code>. Amazon Route 53 uses the value of * <code>TTL</code> for the alias target. * </p> * </li> * <li> * <p> * If you're associating this resource record set with a health check (if you're adding a * <code>HealthCheckId</code> element), we recommend that you specify a <code>TTL</code> of 60 seconds or * less so clients respond quickly to changes in health status. * </p> * </li> * <li> * <p> * All of the resource record sets in a group of weighted resource record sets must have the same value for * <code>TTL</code>. * </p> * </li> * <li> * <p> * If a group of weighted resource record sets includes one or more weighted alias resource record sets for * which the alias target is an ELB load balancer, we recommend that you specify a <code>TTL</code> of 60 * seconds for all of the non-alias weighted resource record sets that have the same name and type. Values * other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify * for <code>Weight</code>. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withTTL(Long tTL) { setTTL(tTL); return this; } /** * <p> * Information about the resource records to act upon. * </p> * <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> * </note> * * @return Information about the resource records to act upon.</p> <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> */ public java.util.List<ResourceRecord> getResourceRecords() { if (resourceRecords == null) { resourceRecords = new com.amazonaws.internal.SdkInternalList<ResourceRecord>(); } return resourceRecords; } /** * <p> * Information about the resource records to act upon. * </p> * <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> * </note> * * @param resourceRecords * Information about the resource records to act upon.</p> <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> */ public void setResourceRecords(java.util.Collection<ResourceRecord> resourceRecords) { if (resourceRecords == null) { this.resourceRecords = null; return; } this.resourceRecords = new com.amazonaws.internal.SdkInternalList<ResourceRecord>(resourceRecords); } /** * <p> * Information about the resource records to act upon. * </p> * <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> * </note> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setResourceRecords(java.util.Collection)} or {@link #withResourceRecords(java.util.Collection)} if you * want to override the existing values. * </p> * * @param resourceRecords * Information about the resource records to act upon.</p> <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withResourceRecords(ResourceRecord... resourceRecords) { if (this.resourceRecords == null) { setResourceRecords(new com.amazonaws.internal.SdkInternalList<ResourceRecord>(resourceRecords.length)); } for (ResourceRecord ele : resourceRecords) { this.resourceRecords.add(ele); } return this; } /** * <p> * Information about the resource records to act upon. * </p> * <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> * </note> * * @param resourceRecords * Information about the resource records to act upon.</p> <note> * <p> * If you're creating an alias resource record set, omit <code>ResourceRecords</code>. * </p> * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withResourceRecords(java.util.Collection<ResourceRecord> resourceRecords) { setResourceRecords(resourceRecords); return this; } /** * <p> * <i>Alias resource record sets only:</i> Information about the CloudFront distribution, AWS Elastic Beanstalk * environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you're * redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized subdomain. * </p> * <p> * If you're creating resource records sets for a private hosted zone, note the following: * </p> * <ul> * <li> * <p> * You can't create alias resource record sets for CloudFront distributions in a private hosted zone. * </p> * </li> * <li> * <p> * Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is * unsupported. * </p> * </li> * <li> * <p> * For information about creating failover resource record sets in a private hosted zone, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html" * >Configuring Failover in a Private Hosted Zone</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * </li> * </ul> * * @param aliasTarget * <i>Alias resource record sets only:</i> Information about the CloudFront distribution, AWS Elastic * Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to * which you're redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized * subdomain.</p> * <p> * If you're creating resource records sets for a private hosted zone, note the following: * </p> * <ul> * <li> * <p> * You can't create alias resource record sets for CloudFront distributions in a private hosted zone. * </p> * </li> * <li> * <p> * Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted * zone is unsupported. * </p> * </li> * <li> * <p> * For information about creating failover resource record sets in a private hosted zone, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html" * >Configuring Failover in a Private Hosted Zone</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * </li> */ public void setAliasTarget(AliasTarget aliasTarget) { this.aliasTarget = aliasTarget; } /** * <p> * <i>Alias resource record sets only:</i> Information about the CloudFront distribution, AWS Elastic Beanstalk * environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you're * redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized subdomain. * </p> * <p> * If you're creating resource records sets for a private hosted zone, note the following: * </p> * <ul> * <li> * <p> * You can't create alias resource record sets for CloudFront distributions in a private hosted zone. * </p> * </li> * <li> * <p> * Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is * unsupported. * </p> * </li> * <li> * <p> * For information about creating failover resource record sets in a private hosted zone, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html" * >Configuring Failover in a Private Hosted Zone</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * </li> * </ul> * * @return <i>Alias resource record sets only:</i> Information about the CloudFront distribution, AWS Elastic * Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to * which you're redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized * subdomain.</p> * <p> * If you're creating resource records sets for a private hosted zone, note the following: * </p> * <ul> * <li> * <p> * You can't create alias resource record sets for CloudFront distributions in a private hosted zone. * </p> * </li> * <li> * <p> * Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted * zone is unsupported. * </p> * </li> * <li> * <p> * For information about creating failover resource record sets in a private hosted zone, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html" * >Configuring Failover in a Private Hosted Zone</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * </li> */ public AliasTarget getAliasTarget() { return this.aliasTarget; } /** * <p> * <i>Alias resource record sets only:</i> Information about the CloudFront distribution, AWS Elastic Beanstalk * environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you're * redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized subdomain. * </p> * <p> * If you're creating resource records sets for a private hosted zone, note the following: * </p> * <ul> * <li> * <p> * You can't create alias resource record sets for CloudFront distributions in a private hosted zone. * </p> * </li> * <li> * <p> * Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is * unsupported. * </p> * </li> * <li> * <p> * For information about creating failover resource record sets in a private hosted zone, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html" * >Configuring Failover in a Private Hosted Zone</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * </li> * </ul> * * @param aliasTarget * <i>Alias resource record sets only:</i> Information about the CloudFront distribution, AWS Elastic * Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to * which you're redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized * subdomain.</p> * <p> * If you're creating resource records sets for a private hosted zone, note the following: * </p> * <ul> * <li> * <p> * You can't create alias resource record sets for CloudFront distributions in a private hosted zone. * </p> * </li> * <li> * <p> * Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted * zone is unsupported. * </p> * </li> * <li> * <p> * For information about creating failover resource record sets in a private hosted zone, see <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html" * >Configuring Failover in a Private Hosted Zone</a> in the <i>Amazon Route 53 Developer Guide</i>. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withAliasTarget(AliasTarget aliasTarget) { setAliasTarget(aliasTarget); return this; } /** * <p> * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health * check is passing, include the <code>HealthCheckId</code> element and specify the ID of the applicable health * check. * </p> * <p> * Amazon Route 53 determines whether a resource record set is healthy based on one of the following: * </p> * <ul> * <li> * <p> * By periodically sending a request to the endpoint that is specified in the health check * </p> * </li> * <li> * <p> * By aggregating the status of a specified group of health checks (calculated health checks) * </p> * </li> * <li> * <p> * By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) * </p> * </li> * </ul> * <p> * For more information, see <a href= * "http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html">How * Amazon Route 53 Determines Whether an Endpoint Is Healthy</a>. * </p> * <p> * The <code>HealthCheckId</code> element is only useful when Amazon Route 53 is choosing between two or more * resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the * status of a health check. Configuring health checks only makes sense in the following configurations: * </p> * <ul> * <li> * <p> * You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or failover * resource record sets, and you specify health check IDs for all of the resource record sets. If the health check * for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to * queries using the value for that resource record set. * </p> * </li> * <li> * <p> * You set <code>EvaluateTargetHealth</code> to true for the resource record sets in a group of alias, weighted * alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify health check IDs * for all of the resource record sets that are referenced by the alias resource record sets. * </p> * </li> * </ul> * <important> * <p> * Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the * endpoint specified by the IP address in the <code>Value</code> element. When you add a <code>HealthCheckId</code> * element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the * health check. * </p> * </important> * <p> * For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record * set for the larger, associated geographic region. For example, suppose you have resource record sets for a state * in the United States, for the United States, for North America, and for all locations. If the endpoint for the * state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, * for North America, and for all locations (a resource record set for which the value of <code>CountryCode</code> * is <code>*</code>), in that order, until it finds a resource record set for which the endpoint is healthy. * </p> * <p> * If your health checks specify the endpoint only by domain name, we recommend that you create a separate health * check for each endpoint. For example, create a health check for each <code>HTTP</code> server that is serving * content for <code>www.example.com</code>. For the value of <code>FullyQualifiedDomainName</code>, specify the * domain name of the server (such as <code>us-east-2-www.example.com</code>), not the name of the resource record * sets (example.com). * </p> * <important> * <p> * n this configuration, if you create a health check for which the value of <code>FullyQualifiedDomainName</code> * matches the name of the resource record sets and then associate the health check with those resource record sets, * health check results will be unpredictable. * </p> * </important> * <p> * For more information, see the following topics in the <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @param healthCheckId * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a * health check is passing, include the <code>HealthCheckId</code> element and specify the ID of the * applicable health check.</p> * <p> * Amazon Route 53 determines whether a resource record set is healthy based on one of the following: * </p> * <ul> * <li> * <p> * By periodically sending a request to the endpoint that is specified in the health check * </p> * </li> * <li> * <p> * By aggregating the status of a specified group of health checks (calculated health checks) * </p> * </li> * <li> * <p> * By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) * </p> * </li> * </ul> * <p> * For more information, see <a href= * "http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html" * >How Amazon Route 53 Determines Whether an Endpoint Is Healthy</a>. * </p> * <p> * The <code>HealthCheckId</code> element is only useful when Amazon Route 53 is choosing between two or more * resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on * the status of a health check. Configuring health checks only makes sense in the following configurations: * </p> * <ul> * <li> * <p> * You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or * failover resource record sets, and you specify health check IDs for all of the resource record sets. If * the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 * stops responding to queries using the value for that resource record set. * </p> * </li> * <li> * <p> * You set <code>EvaluateTargetHealth</code> to true for the resource record sets in a group of alias, * weighted alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify * health check IDs for all of the resource record sets that are referenced by the alias resource record * sets. * </p> * </li> * </ul> * <important> * <p> * Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for * example, the endpoint specified by the IP address in the <code>Value</code> element. When you add a * <code>HealthCheckId</code> element to a resource record set, Amazon Route 53 checks the health of the * endpoint that you specified in the health check. * </p> * </important> * <p> * For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource * record set for the larger, associated geographic region. For example, suppose you have resource record * sets for a state in the United States, for the United States, for North America, and for all locations. If * the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource record * sets for the United States, for North America, and for all locations (a resource record set for which the * value of <code>CountryCode</code> is <code>*</code>), in that order, until it finds a resource record set * for which the endpoint is healthy. * </p> * <p> * If your health checks specify the endpoint only by domain name, we recommend that you create a separate * health check for each endpoint. For example, create a health check for each <code>HTTP</code> server that * is serving content for <code>www.example.com</code>. For the value of * <code>FullyQualifiedDomainName</code>, specify the domain name of the server (such as * <code>us-east-2-www.example.com</code>), not the name of the resource record sets (example.com). * </p> * <important> * <p> * n this configuration, if you create a health check for which the value of * <code>FullyQualifiedDomainName</code> matches the name of the resource record sets and then associate the * health check with those resource record sets, health check results will be unpredictable. * </p> * </important> * <p> * For more information, see the following topics in the <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> */ public void setHealthCheckId(String healthCheckId) { this.healthCheckId = healthCheckId; } /** * <p> * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health * check is passing, include the <code>HealthCheckId</code> element and specify the ID of the applicable health * check. * </p> * <p> * Amazon Route 53 determines whether a resource record set is healthy based on one of the following: * </p> * <ul> * <li> * <p> * By periodically sending a request to the endpoint that is specified in the health check * </p> * </li> * <li> * <p> * By aggregating the status of a specified group of health checks (calculated health checks) * </p> * </li> * <li> * <p> * By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) * </p> * </li> * </ul> * <p> * For more information, see <a href= * "http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html">How * Amazon Route 53 Determines Whether an Endpoint Is Healthy</a>. * </p> * <p> * The <code>HealthCheckId</code> element is only useful when Amazon Route 53 is choosing between two or more * resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the * status of a health check. Configuring health checks only makes sense in the following configurations: * </p> * <ul> * <li> * <p> * You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or failover * resource record sets, and you specify health check IDs for all of the resource record sets. If the health check * for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to * queries using the value for that resource record set. * </p> * </li> * <li> * <p> * You set <code>EvaluateTargetHealth</code> to true for the resource record sets in a group of alias, weighted * alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify health check IDs * for all of the resource record sets that are referenced by the alias resource record sets. * </p> * </li> * </ul> * <important> * <p> * Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the * endpoint specified by the IP address in the <code>Value</code> element. When you add a <code>HealthCheckId</code> * element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the * health check. * </p> * </important> * <p> * For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record * set for the larger, associated geographic region. For example, suppose you have resource record sets for a state * in the United States, for the United States, for North America, and for all locations. If the endpoint for the * state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, * for North America, and for all locations (a resource record set for which the value of <code>CountryCode</code> * is <code>*</code>), in that order, until it finds a resource record set for which the endpoint is healthy. * </p> * <p> * If your health checks specify the endpoint only by domain name, we recommend that you create a separate health * check for each endpoint. For example, create a health check for each <code>HTTP</code> server that is serving * content for <code>www.example.com</code>. For the value of <code>FullyQualifiedDomainName</code>, specify the * domain name of the server (such as <code>us-east-2-www.example.com</code>), not the name of the resource record * sets (example.com). * </p> * <important> * <p> * n this configuration, if you create a health check for which the value of <code>FullyQualifiedDomainName</code> * matches the name of the resource record sets and then associate the health check with those resource record sets, * health check results will be unpredictable. * </p> * </important> * <p> * For more information, see the following topics in the <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @return If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a * health check is passing, include the <code>HealthCheckId</code> element and specify the ID of the * applicable health check.</p> * <p> * Amazon Route 53 determines whether a resource record set is healthy based on one of the following: * </p> * <ul> * <li> * <p> * By periodically sending a request to the endpoint that is specified in the health check * </p> * </li> * <li> * <p> * By aggregating the status of a specified group of health checks (calculated health checks) * </p> * </li> * <li> * <p> * By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) * </p> * </li> * </ul> * <p> * For more information, see <a href= * "http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html" * >How Amazon Route 53 Determines Whether an Endpoint Is Healthy</a>. * </p> * <p> * The <code>HealthCheckId</code> element is only useful when Amazon Route 53 is choosing between two or * more resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in * part on the status of a health check. Configuring health checks only makes sense in the following * configurations: * </p> * <ul> * <li> * <p> * You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or * failover resource record sets, and you specify health check IDs for all of the resource record sets. If * the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 * stops responding to queries using the value for that resource record set. * </p> * </li> * <li> * <p> * You set <code>EvaluateTargetHealth</code> to true for the resource record sets in a group of alias, * weighted alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify * health check IDs for all of the resource record sets that are referenced by the alias resource record * sets. * </p> * </li> * </ul> * <important> * <p> * Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for * example, the endpoint specified by the IP address in the <code>Value</code> element. When you add a * <code>HealthCheckId</code> element to a resource record set, Amazon Route 53 checks the health of the * endpoint that you specified in the health check. * </p> * </important> * <p> * For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource * record set for the larger, associated geographic region. For example, suppose you have resource record * sets for a state in the United States, for the United States, for North America, and for all locations. * If the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource * record sets for the United States, for North America, and for all locations (a resource record set for * which the value of <code>CountryCode</code> is <code>*</code>), in that order, until it finds a resource * record set for which the endpoint is healthy. * </p> * <p> * If your health checks specify the endpoint only by domain name, we recommend that you create a separate * health check for each endpoint. For example, create a health check for each <code>HTTP</code> server that * is serving content for <code>www.example.com</code>. For the value of * <code>FullyQualifiedDomainName</code>, specify the domain name of the server (such as * <code>us-east-2-www.example.com</code>), not the name of the resource record sets (example.com). * </p> * <important> * <p> * n this configuration, if you create a health check for which the value of * <code>FullyQualifiedDomainName</code> matches the name of the resource record sets and then associate the * health check with those resource record sets, health check results will be unpredictable. * </p> * </important> * <p> * For more information, see the following topics in the <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a * href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> */ public String getHealthCheckId() { return this.healthCheckId; } /** * <p> * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health * check is passing, include the <code>HealthCheckId</code> element and specify the ID of the applicable health * check. * </p> * <p> * Amazon Route 53 determines whether a resource record set is healthy based on one of the following: * </p> * <ul> * <li> * <p> * By periodically sending a request to the endpoint that is specified in the health check * </p> * </li> * <li> * <p> * By aggregating the status of a specified group of health checks (calculated health checks) * </p> * </li> * <li> * <p> * By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) * </p> * </li> * </ul> * <p> * For more information, see <a href= * "http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html">How * Amazon Route 53 Determines Whether an Endpoint Is Healthy</a>. * </p> * <p> * The <code>HealthCheckId</code> element is only useful when Amazon Route 53 is choosing between two or more * resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the * status of a health check. Configuring health checks only makes sense in the following configurations: * </p> * <ul> * <li> * <p> * You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or failover * resource record sets, and you specify health check IDs for all of the resource record sets. If the health check * for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to * queries using the value for that resource record set. * </p> * </li> * <li> * <p> * You set <code>EvaluateTargetHealth</code> to true for the resource record sets in a group of alias, weighted * alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify health check IDs * for all of the resource record sets that are referenced by the alias resource record sets. * </p> * </li> * </ul> * <important> * <p> * Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the * endpoint specified by the IP address in the <code>Value</code> element. When you add a <code>HealthCheckId</code> * element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the * health check. * </p> * </important> * <p> * For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record * set for the larger, associated geographic region. For example, suppose you have resource record sets for a state * in the United States, for the United States, for North America, and for all locations. If the endpoint for the * state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, * for North America, and for all locations (a resource record set for which the value of <code>CountryCode</code> * is <code>*</code>), in that order, until it finds a resource record set for which the endpoint is healthy. * </p> * <p> * If your health checks specify the endpoint only by domain name, we recommend that you create a separate health * check for each endpoint. For example, create a health check for each <code>HTTP</code> server that is serving * content for <code>www.example.com</code>. For the value of <code>FullyQualifiedDomainName</code>, specify the * domain name of the server (such as <code>us-east-2-www.example.com</code>), not the name of the resource record * sets (example.com). * </p> * <important> * <p> * n this configuration, if you create a health check for which the value of <code>FullyQualifiedDomainName</code> * matches the name of the resource record sets and then associate the health check with those resource record sets, * health check results will be unpredictable. * </p> * </important> * <p> * For more information, see the following topics in the <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 Health * Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * </ul> * * @param healthCheckId * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a * health check is passing, include the <code>HealthCheckId</code> element and specify the ID of the * applicable health check.</p> * <p> * Amazon Route 53 determines whether a resource record set is healthy based on one of the following: * </p> * <ul> * <li> * <p> * By periodically sending a request to the endpoint that is specified in the health check * </p> * </li> * <li> * <p> * By aggregating the status of a specified group of health checks (calculated health checks) * </p> * </li> * <li> * <p> * By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) * </p> * </li> * </ul> * <p> * For more information, see <a href= * "http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html" * >How Amazon Route 53 Determines Whether an Endpoint Is Healthy</a>. * </p> * <p> * The <code>HealthCheckId</code> element is only useful when Amazon Route 53 is choosing between two or more * resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on * the status of a health check. Configuring health checks only makes sense in the following configurations: * </p> * <ul> * <li> * <p> * You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or * failover resource record sets, and you specify health check IDs for all of the resource record sets. If * the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 * stops responding to queries using the value for that resource record set. * </p> * </li> * <li> * <p> * You set <code>EvaluateTargetHealth</code> to true for the resource record sets in a group of alias, * weighted alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify * health check IDs for all of the resource record sets that are referenced by the alias resource record * sets. * </p> * </li> * </ul> * <important> * <p> * Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for * example, the endpoint specified by the IP address in the <code>Value</code> element. When you add a * <code>HealthCheckId</code> element to a resource record set, Amazon Route 53 checks the health of the * endpoint that you specified in the health check. * </p> * </important> * <p> * For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource * record set for the larger, associated geographic region. For example, suppose you have resource record * sets for a state in the United States, for the United States, for North America, and for all locations. If * the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource record * sets for the United States, for North America, and for all locations (a resource record set for which the * value of <code>CountryCode</code> is <code>*</code>), in that order, until it finds a resource record set * for which the endpoint is healthy. * </p> * <p> * If your health checks specify the endpoint only by domain name, we recommend that you create a separate * health check for each endpoint. For example, create a health check for each <code>HTTP</code> server that * is serving content for <code>www.example.com</code>. For the value of * <code>FullyQualifiedDomainName</code>, specify the domain name of the server (such as * <code>us-east-2-www.example.com</code>), not the name of the resource record sets (example.com). * </p> * <important> * <p> * n this configuration, if you create a health check for which the value of * <code>FullyQualifiedDomainName</code> matches the name of the resource record sets and then associate the * health check with those resource record sets, health check results will be unpredictable. * </p> * </important> * <p> * For more information, see the following topics in the <i>Amazon Route 53 Developer Guide</i>: * </p> * <ul> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon Route 53 * Health Checks and DNS Failover</a> * </p> * </li> * <li> * <p> * <a href="http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html"> * Configuring Failover in a Private Hosted Zone</a> * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withHealthCheckId(String healthCheckId) { setHealthCheckId(healthCheckId); return this; } /** * <p> * When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. * <code>TrafficPolicyInstanceId</code> is the ID of the traffic policy instance that Amazon Route 53 created this * resource record set for. * </p> * <important> * <p> * To delete the resource record set that is associated with a traffic policy instance, use * <code>DeleteTrafficPolicyInstance</code>. Amazon Route 53 will delete the resource record set automatically. If * you delete the resource record set by using <code>ChangeResourceRecordSets</code>, Amazon Route 53 doesn't * automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no * longer in use. * </p> * </important> * * @param trafficPolicyInstanceId * When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. * <code>TrafficPolicyInstanceId</code> is the ID of the traffic policy instance that Amazon Route 53 created * this resource record set for.</p> <important> * <p> * To delete the resource record set that is associated with a traffic policy instance, use * <code>DeleteTrafficPolicyInstance</code>. Amazon Route 53 will delete the resource record set * automatically. If you delete the resource record set by using <code>ChangeResourceRecordSets</code>, * Amazon Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be * charged for it even though it's no longer in use. * </p> */ public void setTrafficPolicyInstanceId(String trafficPolicyInstanceId) { this.trafficPolicyInstanceId = trafficPolicyInstanceId; } /** * <p> * When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. * <code>TrafficPolicyInstanceId</code> is the ID of the traffic policy instance that Amazon Route 53 created this * resource record set for. * </p> * <important> * <p> * To delete the resource record set that is associated with a traffic policy instance, use * <code>DeleteTrafficPolicyInstance</code>. Amazon Route 53 will delete the resource record set automatically. If * you delete the resource record set by using <code>ChangeResourceRecordSets</code>, Amazon Route 53 doesn't * automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no * longer in use. * </p> * </important> * * @return When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. * <code>TrafficPolicyInstanceId</code> is the ID of the traffic policy instance that Amazon Route 53 * created this resource record set for.</p> <important> * <p> * To delete the resource record set that is associated with a traffic policy instance, use * <code>DeleteTrafficPolicyInstance</code>. Amazon Route 53 will delete the resource record set * automatically. If you delete the resource record set by using <code>ChangeResourceRecordSets</code>, * Amazon Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be * charged for it even though it's no longer in use. * </p> */ public String getTrafficPolicyInstanceId() { return this.trafficPolicyInstanceId; } /** * <p> * When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. * <code>TrafficPolicyInstanceId</code> is the ID of the traffic policy instance that Amazon Route 53 created this * resource record set for. * </p> * <important> * <p> * To delete the resource record set that is associated with a traffic policy instance, use * <code>DeleteTrafficPolicyInstance</code>. Amazon Route 53 will delete the resource record set automatically. If * you delete the resource record set by using <code>ChangeResourceRecordSets</code>, Amazon Route 53 doesn't * automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no * longer in use. * </p> * </important> * * @param trafficPolicyInstanceId * When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. * <code>TrafficPolicyInstanceId</code> is the ID of the traffic policy instance that Amazon Route 53 created * this resource record set for.</p> <important> * <p> * To delete the resource record set that is associated with a traffic policy instance, use * <code>DeleteTrafficPolicyInstance</code>. Amazon Route 53 will delete the resource record set * automatically. If you delete the resource record set by using <code>ChangeResourceRecordSets</code>, * Amazon Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be * charged for it even though it's no longer in use. * </p> * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceRecordSet withTrafficPolicyInstanceId(String trafficPolicyInstanceId) { setTrafficPolicyInstanceId(trafficPolicyInstanceId); return this; } /** * Returns a string representation of this object; useful for testing and debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getType() != null) sb.append("Type: ").append(getType()).append(","); if (getSetIdentifier() != null) sb.append("SetIdentifier: ").append(getSetIdentifier()).append(","); if (getWeight() != null) sb.append("Weight: ").append(getWeight()).append(","); if (getRegion() != null) sb.append("Region: ").append(getRegion()).append(","); if (getGeoLocation() != null) sb.append("GeoLocation: ").append(getGeoLocation()).append(","); if (getFailover() != null) sb.append("Failover: ").append(getFailover()).append(","); if (getTTL() != null) sb.append("TTL: ").append(getTTL()).append(","); if (getResourceRecords() != null) sb.append("ResourceRecords: ").append(getResourceRecords()).append(","); if (getAliasTarget() != null) sb.append("AliasTarget: ").append(getAliasTarget()).append(","); if (getHealthCheckId() != null) sb.append("HealthCheckId: ").append(getHealthCheckId()).append(","); if (getTrafficPolicyInstanceId() != null) sb.append("TrafficPolicyInstanceId: ").append(getTrafficPolicyInstanceId()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ResourceRecordSet == false) return false; ResourceRecordSet other = (ResourceRecordSet) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getType() == null ^ this.getType() == null) return false; if (other.getType() != null && other.getType().equals(this.getType()) == false) return false; if (other.getSetIdentifier() == null ^ this.getSetIdentifier() == null) return false; if (other.getSetIdentifier() != null && other.getSetIdentifier().equals(this.getSetIdentifier()) == false) return false; if (other.getWeight() == null ^ this.getWeight() == null) return false; if (other.getWeight() != null && other.getWeight().equals(this.getWeight()) == false) return false; if (other.getRegion() == null ^ this.getRegion() == null) return false; if (other.getRegion() != null && other.getRegion().equals(this.getRegion()) == false) return false; if (other.getGeoLocation() == null ^ this.getGeoLocation() == null) return false; if (other.getGeoLocation() != null && other.getGeoLocation().equals(this.getGeoLocation()) == false) return false; if (other.getFailover() == null ^ this.getFailover() == null) return false; if (other.getFailover() != null && other.getFailover().equals(this.getFailover()) == false) return false; if (other.getTTL() == null ^ this.getTTL() == null) return false; if (other.getTTL() != null && other.getTTL().equals(this.getTTL()) == false) return false; if (other.getResourceRecords() == null ^ this.getResourceRecords() == null) return false; if (other.getResourceRecords() != null && other.getResourceRecords().equals(this.getResourceRecords()) == false) return false; if (other.getAliasTarget() == null ^ this.getAliasTarget() == null) return false; if (other.getAliasTarget() != null && other.getAliasTarget().equals(this.getAliasTarget()) == false) return false; if (other.getHealthCheckId() == null ^ this.getHealthCheckId() == null) return false; if (other.getHealthCheckId() != null && other.getHealthCheckId().equals(this.getHealthCheckId()) == false) return false; if (other.getTrafficPolicyInstanceId() == null ^ this.getTrafficPolicyInstanceId() == null) return false; if (other.getTrafficPolicyInstanceId() != null && other.getTrafficPolicyInstanceId().equals(this.getTrafficPolicyInstanceId()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode()); hashCode = prime * hashCode + ((getSetIdentifier() == null) ? 0 : getSetIdentifier().hashCode()); hashCode = prime * hashCode + ((getWeight() == null) ? 0 : getWeight().hashCode()); hashCode = prime * hashCode + ((getRegion() == null) ? 0 : getRegion().hashCode()); hashCode = prime * hashCode + ((getGeoLocation() == null) ? 0 : getGeoLocation().hashCode()); hashCode = prime * hashCode + ((getFailover() == null) ? 0 : getFailover().hashCode()); hashCode = prime * hashCode + ((getTTL() == null) ? 0 : getTTL().hashCode()); hashCode = prime * hashCode + ((getResourceRecords() == null) ? 0 : getResourceRecords().hashCode()); hashCode = prime * hashCode + ((getAliasTarget() == null) ? 0 : getAliasTarget().hashCode()); hashCode = prime * hashCode + ((getHealthCheckId() == null) ? 0 : getHealthCheckId().hashCode()); hashCode = prime * hashCode + ((getTrafficPolicyInstanceId() == null) ? 0 : getTrafficPolicyInstanceId().hashCode()); return hashCode; } @Override public ResourceRecordSet clone() { try { return (ResourceRecordSet) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }