Class | Fog::DNS::AWS::Real
In: | lib/fog/aws/dns.rb lib/fog/aws/requests/dns/change_resource_record_sets.rb lib/fog/aws/requests/dns/create_hosted_zone.rb lib/fog/aws/requests/dns/delete_hosted_zone.rb lib/fog/aws/requests/dns/get_change.rb lib/fog/aws/requests/dns/get_hosted_zone.rb lib/fog/aws/requests/dns/list_hosted_zones.rb lib/fog/aws/requests/dns/list_resource_record_sets.rb
Parent: | Object

### Methods

change_resource_record_sets create_hosted_zone delete_hosted_zone get_change get_hosted_zone list_hosted_zones list_resource_record_sets new reload

### Included Modules

Fog::AWS::CredentialFetcher::ConnectionMethods

### Public Class methods

new(options={})

Initialize connection to Route 53 DNS service

#### Notes

options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection

#### Examples

      dns = Fog::AWS::DNS.new(
        :aws_access_key_id => your_aws_access_key_id,
        :aws_secret_access_key => your_aws_secret_access_key
      )

#### Parameters

- options<~Hash> - config arguments for connection. Defaults to {}.

#### Returns

- dns object with connection to aws.

### Public Instance methods

change_resource_record_sets(zone_id, change_batch, options = {})

Use this action to create or change your authoritative DNS information for a zone docs.amazonwebservices.com/Route53/latest/DeveloperGuide/RRSchanges.html#RRSchanges_API

#### Parameters

- zone_id<~String> - ID of the zone these changes apply to
- options<~Hash>
  - comment<~String> - Any comments you want to include about the change.
- change_batch<~Array> - The information for a change request
  - changes<~Hash> -
    - action<~String> - ‘CREATE’ or ‘DELETE‘
    - name<~String> - This must be a fully-specified name, ending with a final period
    - type<~String> - A | AAAA | CNAME | MX | NS | PTR | SOA | SPF | SRV | TXT
    - ttl<~Integer> - Time-to-live value - omit if using an alias record
    - resource_records<~Array> - Omit if using an alias record
    - alias_target<~Hash> - Information about the domain to which you are redirecting traffic (Alias record sets only)
      - dns_name<~String> - The Elastic Load Balancing domain to which you want to reroute traffic
      - hosted_zone_id<~String> - The ID of the hosted zone that contains the Elastic Load Balancing domain to which you want to reroute traffic

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘ChangeInfo’<~Hash>
      - ‘Id’<~String> - The ID of the request
      - ‘Status’<~String> - status of the request - PENDING | INSYNC
      - ‘SubmittedAt’<~String> - The date and time the change was made
  - status<~Integer> - 200 when successful

#### Examples

Example changing a CNAME record:

        change_batch_options = [
          {
            :action => "DELETE",
            :name => "foo.example.com.",
            :type => "CNAME",
            :ttl => 3600,
            :resource_records => [ "baz.example.com." ]
          },
          {
            :action => "CREATE",
            :name => "foo.example.com.",
            :type => "CNAME",
            :ttl => 3600,
            :resource_records => [ "bar.example.com." ]
          }
        ]

        change_resource_record_sets("ABCDEFGHIJKLMN", change_batch_options)

create_hosted_zone(name, options = {})

Creates a new hosted zone

#### Parameters

- name<~String> - The name of the domain. Must be a fully-specified domain that ends with a period
- options<~Hash>
  - caller_ref<~String> - unique string that identifies the request & allows failed

                              calls to be retried without the risk of executing the operation twice

  - comment<~String> -

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘HostedZone’<~Hash>:
      - ‘Id’<~String> -
      - ‘Name’<~String> -
      - ‘CallerReference’<~String>
      - ‘Comment’<~String> -
    - ‘ChangeInfo’<~Hash> -
      - ‘Id’<~String>
      - ‘Status’<~String>
      - ‘SubmittedAt’<~String>
    - ‘NameServers’<~Array>
      - ‘NameServer’<~String>
  - status<~Integer> - 201 when successful

delete_hosted_zone(zone_id)

Delete a hosted zone

#### Parameters

- zone_id<~String> -

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘ChangeInfo’<~Hash> -
      - ‘Id’<~String> The ID of the request
      - ‘Status’<~String> The current state of the hosted zone
      - ‘SubmittedAt’<~String> The date and time the change was made
  - status<~Integer> - 200 when successful

get_change(change_id)

returns the current state of a change request

#### Parameters

- change_id<~String>

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Id’<~String>
    - ‘Status’<~String>
    - ‘SubmittedAt’<~String>
  - status<~Integer> - 200 when successful

get_hosted_zone(zone_id)

retrieve information about a hosted zone

#### Parameters

- zone_id<~String> - The ID of the hosted zone

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘HostedZone’<~Hash>:
      - ‘Id’<~String> -
      - ‘Name’<~String> -
      - ‘CallerReference’<~String>
      - ‘Comment’<~String> -
    - ‘NameServers’<~Array>
      - ‘NameServer’<~String>
  - status<~Integer> - 200 when successful

list_hosted_zones(options = {})

Describe all or specified instances

#### Parameters

- options<~Hash>
  - marker<~String> - Indicates where to begin in your list of hosted zones.
  - max_items<~Integer> - The maximum number of hosted zones to be included in the response body

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘HostedZones’<~Array>:
      - ‘HostedZone’<~Hash>:
        - ‘Id’<~String> -
        - ‘Name’<~String> -
        - ‘CallerReference’<~String>
        - ‘Comment’<~String> -
    - ‘Marker’<~String> -
    - ‘MaxItems’<~Integer> -
    - ‘IsTruncated’<~String> -
    - ‘NextMarket’<~String>
  - status<~Integer> - 200 when successful

list_resource_record_sets(zone_id, options = {})

list your resource record sets

#### Parameters

- zone_id<~String> -
- options<~Hash>
  - type<~String> -
  - name<~String> -
  - identifier<~String> -
  - max_items<~Integer> -

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘ResourceRecordSet’<~Array>:
      - ‘Name’<~String> -
      - ‘Type’<~String> -
      - ‘TTL’<~Integer> -
      - ‘AliasTarget’<~Hash> -
        - ‘HostedZoneId’<~String> -
        - ‘DNSName’<~String> -
      - ‘ResourceRecords’<~Array>
        - ‘Value’<~String> -
    - ‘IsTruncated’<~String> -
    - ‘MaxItems’<~String> -
    - ‘NextRecordName’<~String>
    - ‘NextRecordType’<~String>
    - ‘NextRecordIdentifier’<~String>
  - status<~Integer> - 201 when successful

reload()

[Validate]