class Fog::DNS::Google::Real

Atomically updates a ResourceRecordSet collection.

@see cloud.google.com/dns/api/v1beta1/changes/create

Creates a new Managed Zone.

@see developers.google.com/cloud-dns/api/v1beta1/managedZones/create

Deletes a previously created Managed Zone.

@see developers.google.com/cloud-dns/api/v1beta1/managedZones/delete

Fetches the representation of an existing Change.

@see developers.google.com/cloud-dns/api/v1beta1/changes/get

Fetches the representation of an existing Managed Zone.

@see developers.google.com/cloud-dns/api/v1beta1/managedZones/get

Fetches the representation of an existing Project. Use this method to look up the limits on the number of resources that are associated with your project.

@see developers.google.com/cloud-dns/api/v1beta1/projects/get

Enumerates the list of Changes.

@see developers.google.com/cloud-dns/api/v1beta1/changes/list

Enumerates Managed Zones that have been created but not yet deleted.

@see hdevelopers.google.com/cloud-dns/api/v1beta1/managedZones/list

Enumerates Resource Record Sets that have been created but not yet deleted.

@see developers.google.com/cloud-dns/api/v1beta1/resourceRecordSets/list

Attributes

client[RW]
dns[R]

Public Class Methods

new(options) click to toggle source
# File lib/fog/google/dns.rb, line 89
def initialize(options)
  shared_initialize(options[:google_project], GOOGLE_DNS_API_VERSION, GOOGLE_DNS_BASE_URL)
  options.merge!(:google_api_scope_url => GOOGLE_DNS_API_SCOPE_URLS.join(' '))
  @client = initialize_google_client(options)
  @dns = @client.discovered_api('dns', api_version)
end

Public Instance Methods

create_change(zone_name_or_id, additions = [], deletions = []) click to toggle source
# File lib/fog/google/requests/dns/create_change.rb, line 9
def create_change(zone_name_or_id, additions = [], deletions = [])
  api_method = @dns.changes.create
  parameters = {
    'project' => @project,
    'managedZone' => zone_name_or_id,
  }

  body = {
    'additions' => additions,
    'deletions' => deletions,
  }

  request(api_method, parameters, body)
end
create_managed_zone(name, dns_name, description) click to toggle source
# File lib/fog/google/requests/dns/create_managed_zone.rb, line 10
def create_managed_zone(name, dns_name, description)
  api_method = @dns.managed_zones.create
  parameters = {
    'project' => @project,
  }

  body_object = {
    'name' => name,
    'dnsName' => dns_name,
    'description' => description,
  }

  request(api_method, parameters, body_object)
end
delete_managed_zone(name_or_id) click to toggle source
# File lib/fog/google/requests/dns/delete_managed_zone.rb, line 9
def delete_managed_zone(name_or_id)
  api_method = @dns.managed_zones.delete
  parameters = {
    'project' => @project,
    'managedZone' => name_or_id,
  }

  request(api_method, parameters)
end
get_change(zone_name_or_id, identity) click to toggle source
# File lib/fog/google/requests/dns/get_change.rb, line 9
def get_change(zone_name_or_id, identity)
  api_method = @dns.changes.get
  parameters = {
    'project' => @project,
    'managedZone' => zone_name_or_id,
    'changeId' => identity,
  }

  request(api_method, parameters)
end
get_managed_zone(name_or_id) click to toggle source
# File lib/fog/google/requests/dns/get_managed_zone.rb, line 9
def get_managed_zone(name_or_id)
  api_method = @dns.managed_zones.get
  parameters = {
    'project' => @project,
    'managedZone' => name_or_id,
  }

  request(api_method, parameters)
end
get_project(identity) click to toggle source
# File lib/fog/google/requests/dns/get_project.rb, line 10
def get_project(identity)
  api_method = @dns.projects.get
  parameters = {
    :project => identity,
  }

  request(api_method, parameters)
end
list_changes(zone_name_or_id) click to toggle source
# File lib/fog/google/requests/dns/list_changes.rb, line 9
def list_changes(zone_name_or_id)
  api_method = @dns.changes.list
  parameters = {
    'project' => @project,
    'managedZone' => zone_name_or_id,
  }

  request(api_method, parameters)
end
list_managed_zones() click to toggle source
# File lib/fog/google/requests/dns/list_managed_zones.rb, line 9
def list_managed_zones()
  api_method = @dns.managed_zones.list
  parameters = {
    'project' => @project,
  }

  request(api_method, parameters)
end
list_resource_record_sets(zone_name_or_id, options = {}) click to toggle source
# File lib/fog/google/requests/dns/list_resource_record_sets.rb, line 9
def list_resource_record_sets(zone_name_or_id, options = {})
  api_method = @dns.resource_record_sets.list
  parameters = {
    'project' => @project,
    'managedZone' => zone_name_or_id,
  }

  [:name, :type].reject{ |o| options[o].nil? }.each do |key|
    parameters[key] = options[key]
  end

  request(api_method, parameters)
end