class Google::Cloud::Dns::Service
@private Represents the service to DNS, exposing the API
calls.
Constants
Attributes
credentials[RW]
mocked_service[RW]
project[RW]
Public Class Methods
fqdn(name, origin_dns)
click to toggle source
Fully Qualified Domain Name
# File lib/google/cloud/dns/service.rb, line 141 def self.fqdn name, origin_dns name = name.to_s.strip return name if ip_addr? name name = origin_dns if name.empty? name = origin_dns if name == "@" name = "#{name}.#{origin_dns}" unless name.include? "." name = "#{name}." unless name.end_with? "." name end
ip_addr?(name)
click to toggle source
# File lib/google/cloud/dns/service.rb, line 153 def self.ip_addr? name IPAddr.new name true rescue IPAddr::Error false end
new(project, credentials, retries: nil, timeout: nil, host: nil, quota_project: nil)
click to toggle source
Creates a new Service
instance.
# File lib/google/cloud/dns/service.rb, line 36 def initialize project, credentials, retries: nil, timeout: nil, host: nil, quota_project: nil @project = project @credentials = credentials @service = API::DnsService.new @service.client_options.application_name = "gcloud-ruby" @service.client_options.application_version = \ Google::Cloud::Dns::VERSION @service.client_options.open_timeout_sec = timeout @service.client_options.read_timeout_sec = timeout @service.client_options.send_timeout_sec = timeout @service.request_options.retries = retries || 3 @service.request_options.header ||= {} @service.request_options.header["x-goog-api-client"] = \ "gl-ruby/#{RUBY_VERSION} gccl/#{Google::Cloud::Dns::VERSION}" @service.request_options.quota_project = quota_project if quota_project @service.authorization = @credentials.client @service.root_url = host if host end
Public Instance Methods
create_change(zone_id, additions, deletions)
click to toggle source
Returns Google::Apis::DnsV1::Change
# File lib/google/cloud/dns/service.rb, line 120 def create_change zone_id, additions, deletions change = Google::Apis::DnsV1::Change.new( kind: "dns#change", additions: Array(additions), deletions: Array(deletions) ) execute { service.create_change @project, zone_id, change } end
create_zone(zone_name, zone_dns, description: nil, name_server_set: nil)
click to toggle source
Returns Google::Apis::DnsV1::ManagedZone
# File lib/google/cloud/dns/service.rb, line 85 def create_zone zone_name, zone_dns, description: nil, name_server_set: nil managed_zone = Google::Apis::DnsV1::ManagedZone.new( kind: "dns#managedZone", name: zone_name, dns_name: zone_dns, description: (description || ""), name_server_set: name_server_set ) execute { service.create_managed_zone @project, managed_zone } end
delete_zone(zone_id)
click to toggle source
# File lib/google/cloud/dns/service.rb, line 97 def delete_zone zone_id execute { service.delete_managed_zone @project, zone_id } end
get_change(zone_id, change_id)
click to toggle source
Returns Google::Apis::DnsV1::Change
# File lib/google/cloud/dns/service.rb, line 103 def get_change zone_id, change_id execute { service.get_change @project, zone_id, change_id } end
get_project(project_id = @project)
click to toggle source
Returns Google::Apis::DnsV1::Project
# File lib/google/cloud/dns/service.rb, line 64 def get_project project_id = @project execute { service.get_project project_id } end
get_zone(zone_id)
click to toggle source
Returns Google::Apis::DnsV1::ManagedZone
# File lib/google/cloud/dns/service.rb, line 70 def get_zone zone_id execute { service.get_managed_zone @project, zone_id } end
inspect()
click to toggle source
# File lib/google/cloud/dns/service.rb, line 160 def inspect "#{self.class}(#{@project})" end
list_changes(zone_id, token: nil, max: nil, order: nil, sort: nil)
click to toggle source
Returns Google::Apis::DnsV1::ListChangesResponse
# File lib/google/cloud/dns/service.rb, line 109 def list_changes zone_id, token: nil, max: nil, order: nil, sort: nil execute do service.list_changes @project, zone_id, max_results: max, page_token: token, sort_by: sort, sort_order: order end end
list_records(zone_id, name = nil, type = nil, token: nil, max: nil)
click to toggle source
Returns Google::Apis::DnsV1::ListResourceRecordSetsResponse
# File lib/google/cloud/dns/service.rb, line 131 def list_records zone_id, name = nil, type = nil, token: nil, max: nil execute do service.list_resource_record_sets @project, zone_id, max_results: max, name: name, page_token: token, type: type end end
list_zones(token: nil, max: nil)
click to toggle source
Returns Google::Apis::DnsV1::ListManagedZonesResponse
# File lib/google/cloud/dns/service.rb, line 76 def list_zones token: nil, max: nil execute do service.list_managed_zones @project, max_results: max, page_token: token end end
service()
click to toggle source
# File lib/google/cloud/dns/service.rb, line 56 def service return mocked_service if mocked_service @service end
Protected Instance Methods
execute() { || ... }
click to toggle source
# File lib/google/cloud/dns/service.rb, line 166 def execute yield rescue Google::Apis::Error => e raise Google::Cloud::Error.from_error(e) end