# Copyright 2011-2013 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. module AWS class Route53 # Client class for Route53. class Client < Core::RESTXMLClient # @private CACHEABLE_REQUESTS = Set[] # client methods # # @!method change_resource_record_sets(options = {}) # Calls the POST ChangeResourceRecordSets API operation. # @param [Hash] options # * +:hosted_zone_id+ - *required* - (String) Alias resource record sets # only: The value of the hosted zone ID, CanonicalHostedZoneNameId, for # the LoadBalancer. Currently, Route 53 supports alias resource record # sets only for Elastic Load Balancing. For more information, an # example, and several ways to get the hosted zone ID for the # LoadBalancer, see Creating Alias Resource Record Sets for Elastic # Load Balancing in the Amazon Route 53 Developer Guide. # * +:change_batch+ - *required* - (Hash) A complex type that contains an # optional comment and the Changes element. # * +:comment+ - (String) Optional: Any comments you want to include # about a change batch request. # * +:changes+ - *required* - (Array) A complex type that # contains one Change element for each resource record set that you # want to create or delete. # * +:action+ - *required* - (String) The action to perform. Valid # values: CREATE | DELETE # * +:resource_record_set+ - *required* - (Hash) Information about # the resource record set to create or delete. # * +:name+ - *required* - (String) The domain name of the current # resource record set. # * +:type+ - *required* - (String) The type of the current # resource record set. # * +:set_identifier+ - (String) Weighted resource record sets # only: An identifier that differentiates among multiple resource # record sets that have the same combination of DNS name and # type. # * +:weight+ - (Integer) Weighted resource record sets only: Among # resource record sets that have the same combination of DNS name # and type, a value that determines what portion of traffic for # the current resource record set is routed to the associated # location. # * +:region+ - (String) Regional resource record sets only: Among # resource record sets that have the same combination of DNS name # and type, a value that specifies the AWS region for the current # resource record set. # * +:failover+ - (String) Failover resource record sets only: # Among resource record sets that have the same combination of # DNS name and type, a value that indicates whether the current # resource record set is a primary or secondary resource record # set. A failover set may contain at most one resource record set # marked as primary and one resource record set marked as # secondary. A resource record set marked as primary will be # returned if any of the following are +true+ : (1) an associated # health check is passing, (2) if the resource record set is an # alias with the evaluate target health and at least one target # resource record set is healthy, (3) both the primary and # secondary resource record set are failing health checks or (4) # there is no secondary resource record set. A secondary resource # record set will be returned if: (1) the primary is failing a # health check and either the secondary is passing a health check # or has no associated health check, or (2) there is no primary # resource record set. Valid values: PRIMARY | SECONDARY # * +:ttl+ - (Integer) The cache time to live for the current # resource record set. # * +:resource_records+ - (Array) A complex type that # contains the resource records for the current resource record # set. # * +:value+ - *required* - (String) The value of the Value # element for the current resource record set. # * +:alias_target+ - (Hash) Alias resource record sets only: # Information about the Elastic Load Balancing LoadBalancer to # which you are redirecting traffic. # * +:hosted_zone_id+ - *required* - (String) Alias resource # record sets only: The value of the hosted zone ID, # CanonicalHostedZoneNameId, for the LoadBalancer. Currently, # Route 53 supports alias resource record sets only for Elastic # Load Balancing. For more information, an example, and several # ways to get the hosted zone ID for the LoadBalancer, see # Creating Alias Resource Record Sets for Elastic Load # Balancing in the Amazon Route 53 Developer Guide. # * +:dns_name+ - *required* - (String) Alias resource record # sets only: The external DNS name associated with the # LoadBalancer. Currently, Route 53 supports alias resource # record sets only for Elastic Load Balancing. For more # information, an example, and several ways to get the hosted # zone ID for the LoadBalancer, see Creating Alias Resource # Record Sets for Elastic Load Balancing in the Amazon Route 53 # Developer Guide. # * +:evaluate_target_health+ - *required* - (Boolean) Alias # resource record sets only: A boolean value that indicates # whether this Resource Record Set should respect the health # status of any health checks associated with the ALIAS target # record which it is linked to. Currently, Route 53 supports # health checks only for Elastic Load Balancing. For more # information, an example, see Creating Alias Resource Record # Sets for Elastic Load Balancing in the Amazon Route 53 # Developer Guide. # * +:health_check_id+ - (String) Health Check resource record sets # only, not required for alias resource record sets: An # identifier that is used to identify health check associated # with the resource record set. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:change_info+ - (Hash) # * +:id+ - (String) # * +:status+ - (String) # * +:submitted_at+ - (Time) # * +:comment+ - (String) # @!method create_health_check(options = {}) # Calls the POST CreateHealthCheck API operation. # @param [Hash] options # * +:caller_reference+ - *required* - (String) A unique string that # identifies the request and that allows failed CreateHealthCheck # requests to be retried without the risk of executing the operation # twice. You must use a unique CallerReference string every time you # create a health check. CallerReference can be any unique string; you # might choose to use a string that identifies your project. Valid # characters are any Unicode code points that are legal in an XML 1.0 # document. The UTF-8 encoding of the value must be less than 128 # bytes. # * +:health_check_config+ - *required* - (Hash) A complex type that # contains health check configuration. # * +:ip_address+ - *required* - (String) IP Address of the instance # being checked. # * +:port+ - (Integer) Port on which connection will be opened to the # instance to health check. For HTTP this defaults to 80 if the port # is not specified. # * +:type+ - *required* - (String) The type of health check to be # performed. Currently supported protocols are TCP and HTTP. # * +:resource_path+ - (String) Path to ping on the instance to check # the health. Required only for HTTP health checks, HTTP request is # issued to the instance on the given port and path. # * +:fully_qualified_domain_name+ - (String) Fully qualified domain # name of the instance to be health checked. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:health_check+ - (Hash) # * +:id+ - (String) # * +:caller_reference+ - (String) # * +:health_check_config+ - (Hash) # * +:ip_address+ - (String) # * +:port+ - (Integer) # * +:type+ - (String) # * +:resource_path+ - (String) # * +:fully_qualified_domain_name+ - (String) # @!method create_hosted_zone(options = {}) # Calls the POST CreateHostedZone API operation. # @param [Hash] options # * +:name+ - *required* - (String) The name of the domain. This must be # a fully-specified domain, for example, www.example.com. The trailing # dot is optional; Route 53 assumes that the domain name is fully # qualified. This means that Route 53 treats www.example.com (without a # trailing dot) and www.example.com. (with a trailing dot) as # identical. This is the name you have registered with your DNS # registrar. You should ask your registrar to change the authoritative # name servers for your domain to the set of NameServers elements # returned in DelegationSet. # * +:caller_reference+ - *required* - (String) A unique string that # identifies the request and that allows failed CreateHostedZone # requests to be retried without the risk of executing the operation # twice. You must use a unique CallerReference string every time you # create a hosted zone. CallerReference can be any unique string; you # might choose to use a string that identifies your project, such as # DNSMigration_01. Valid characters are any Unicode code points that # are legal in an XML 1.0 document. The UTF-8 encoding of the value # must be less than 128 bytes. # * +:hosted_zone_config+ - (Hash) A complex type that contains an # optional comment about your hosted zone. # * +:comment+ - (String) An optional comment about your hosted zone. # If you don't want to specify a comment, you can omit the # HostedZoneConfig and Comment elements from the XML document. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:hosted_zone+ - (Hash) # * +:id+ - (String) # * +:name+ - (String) # * +:caller_reference+ - (String) # * +:config+ - (Hash) # * +:comment+ - (String) # * +:resource_record_set_count+ - (Integer) # * +:change_info+ - (Hash) # * +:id+ - (String) # * +:status+ - (String) # * +:submitted_at+ - (Time) # * +:comment+ - (String) # * +:delegation_set+ - (Hash) # * +:name_servers+ - (Array) # @!method delete_health_check(options = {}) # Calls the DELETE DeleteHealthCheck API operation. # @param [Hash] options # * +:health_check_id+ - *required* - (String) The ID of the health check # to delete. # @return [Core::Response] # @!method delete_hosted_zone(options = {}) # Calls the DELETE DeleteHostedZone API operation. # @param [Hash] options # * +:id+ - *required* - (String) The ID of the request. Include this ID # in a call to GetChange to track when the change has propagated to all # Route 53 DNS servers. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:change_info+ - (Hash) # * +:id+ - (String) # * +:status+ - (String) # * +:submitted_at+ - (Time) # * +:comment+ - (String) # @!method get_change(options = {}) # Calls the GET GetChange API operation. # @param [Hash] options # * +:id+ - *required* - (String) The ID of the change batch request. The # value that you specify here is the value that # ChangeResourceRecordSets returned in the Id element when you # submitted the request. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:change_info+ - (Hash) # * +:id+ - (String) # * +:status+ - (String) # * +:submitted_at+ - (Time) # * +:comment+ - (String) # @!method get_health_check(options = {}) # Calls the GET GetHealthCheck API operation. # @param [Hash] options # * +:health_check_id+ - *required* - (String) The ID of the health check # to retrieve. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:health_check+ - (Hash) # * +:id+ - (String) # * +:caller_reference+ - (String) # * +:health_check_config+ - (Hash) # * +:ip_address+ - (String) # * +:port+ - (Integer) # * +:type+ - (String) # * +:resource_path+ - (String) # * +:fully_qualified_domain_name+ - (String) # @!method get_hosted_zone(options = {}) # Calls the GET GetHostedZone API operation. # @param [Hash] options # * +:id+ - *required* - (String) The ID of the hosted zone for which you # want to get a list of the name servers in the delegation set. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:hosted_zone+ - (Hash) # * +:id+ - (String) # * +:name+ - (String) # * +:caller_reference+ - (String) # * +:config+ - (Hash) # * +:comment+ - (String) # * +:resource_record_set_count+ - (Integer) # * +:delegation_set+ - (Hash) # * +:name_servers+ - (Array) # @!method list_health_checks(options = {}) # Calls the GET ListHealthChecks API operation. # @param [Hash] options # * +:marker+ - (String) If the request returned more than one page of # results, submit another request and specify the value of NextMarker # from the last response in the marker parameter to get the next page # of results. # * +:max_items+ - (Integer) Specify the maximum number of health checks # to return per page of results. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:health_checks+ - (Array) # * +:id+ - (String) # * +:caller_reference+ - (String) # * +:health_check_config+ - (Hash) # * +:ip_address+ - (String) # * +:port+ - (Integer) # * +:type+ - (String) # * +:resource_path+ - (String) # * +:fully_qualified_domain_name+ - (String) # * +:marker+ - (String) # * +:is_truncated+ - (Boolean) # * +:next_marker+ - (String) # * +:max_items+ - (String) # @!method list_hosted_zones(options = {}) # Calls the GET ListHostedZones API operation. # @param [Hash] options # * +:marker+ - (String) If the request returned more than one page of # results, submit another request and specify the value of NextMarker # from the last response in the marker parameter to get the next page # of results. # * +:max_items+ - (Integer) Specify the maximum number of hosted zones # to return per page of results. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:hosted_zones+ - (Array) # * +:id+ - (String) # * +:name+ - (String) # * +:caller_reference+ - (String) # * +:config+ - (Hash) # * +:comment+ - (String) # * +:resource_record_set_count+ - (Integer) # * +:marker+ - (String) # * +:is_truncated+ - (Boolean) # * +:next_marker+ - (String) # * +:max_items+ - (Integer) # @!method list_resource_record_sets(options = {}) # Calls the GET ListResourceRecordSets API operation. # @param [Hash] options # * +:hosted_zone_id+ - *required* - (String) The ID of the hosted zone # that contains the resource record sets that you want to get. # * +:start_record_name+ - (String) The first name in the lexicographic # ordering of domain names that you want the ListResourceRecordSets # request to list. # * +:start_record_type+ - (String) The DNS type at which to begin the # listing of resource record sets. Valid values: A | AAAA | CNAME | MX # | NS | PTR | SOA | SPF | SRV | TXT Values for Weighted Resource # Record Sets: A | AAAA | CNAME | TXT Values for Alias Resource Record # Sets: A | AAAA Constraint: Specifying type without specifying name # returns an InvalidInput error. # * +:start_record_identifier+ - (String) Weighted resource record sets # only: If results were truncated for a given DNS name and type, # specify the value of # ListResourceRecordSetsResponse$NextRecordIdentifier from the previous # response to get the next resource record set that has the current DNS # name and type. # * +:max_items+ - (Integer) The maximum number of records you want in # the response body. # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:resource_record_sets+ - (Array) # * +:name+ - (String) # * +:type+ - (String) # * +:set_identifier+ - (String) # * +:weight+ - (Integer) # * +:region+ - (String) # * +:failover+ - (String) # * +:ttl+ - (Integer) # * +:resource_records+ - (Array) # * +:value+ - (String) # * +:alias_target+ - (Hash) # * +:hosted_zone_id+ - (String) # * +:dns_name+ - (String) # * +:evaluate_target_health+ - (Boolean) # * +:health_check_id+ - (String) # * +:is_truncated+ - (Boolean) # * +:next_record_name+ - (String) # * +:next_record_type+ - (String) # * +:next_record_identifier+ - (String) # * +:max_items+ - (Integer) # end client methods # define_client_methods('2012-12-12') end end end