module Google::Cloud

Public Class Methods

dns(project_id = nil, credentials = nil, scope: nil, retries: nil, timeout: nil) click to toggle source

Creates a new `Project` instance connected to the DNS service. Each call creates a new connection.

For more information on connecting to Google Cloud see the {file:AUTHENTICATION.md Authentication Guide}.

@param [String] project_id Identifier for a DNS project. If not present,

the default project for the credentials is used.

@param [String, Hash, Google::Auth::Credentials] credentials The path to

the keyfile as a String, the contents of the keyfile as a Hash, or a
Google::Auth::Credentials object. (See {Dns::Credentials})

@param [String, Array<String>] scope The OAuth 2.0 scopes controlling the

set of resources and operations that the connection can access. See
[Using OAuth 2.0 to Access Google
APIs](https://developers.google.com/identity/protocols/OAuth2).

The default scope is:

* `https://www.googleapis.com/auth/ndev.clouddns.readwrite`

@param [Integer] retries Number of times to retry requests on server

error. The default value is `3`. Optional.

@param [Integer] timeout Default timeout to use in requests. Optional.

@return [Google::Cloud::Dns::Project]

@example

require "google/cloud"

dns = Google::Cloud.dns "my-project", "/path/to/keyfile.json"

zone = dns.zone "example-com"
# File lib/google-cloud-dns.rb, line 105
def self.dns project_id = nil, credentials = nil, scope: nil, retries: nil,
             timeout: nil
  require "google/cloud/dns"
  Google::Cloud::Dns.new project_id: project_id, credentials: credentials,
                         scope: scope, retries: retries, timeout: timeout
end

Public Instance Methods

dns(scope: nil, retries: nil, timeout: nil) click to toggle source

Creates a new object for connecting to the DNS service. Each call creates a new connection.

For more information on connecting to Google Cloud see the {file:AUTHENTICATION.md Authentication Guide}.

@param [String, Array<String>] scope The OAuth 2.0 scopes controlling the

set of resources and operations that the connection can access. See
[Using OAuth 2.0 to Access Google
APIs](https://developers.google.com/identity/protocols/OAuth2).

The default scope is:

* `https://www.googleapis.com/auth/ndev.clouddns.readwrite`

@param [Integer] retries Number of times to retry requests on server

error. The default value is `3`. Optional.

@param [Integer] timeout Default timeout to use in requests. Optional.

@return [Google::Cloud::Dns::Project]

@example

require "google/cloud"

gcloud = Google::Cloud.new
dns = gcloud.dns
zone = dns.zone "example-com"
zone.records.each do |record|
  puts record.name
end

@example The default scope can be overridden with the `scope` option:

require "google/cloud"

gcloud  = Google::Cloud.new
dns_readonly = "https://www.googleapis.com/auth/ndev.clouddns.readonly"
dns = gcloud.dns scope: dns_readonly
# File lib/google-cloud-dns.rb, line 66
def dns scope: nil, retries: nil, timeout: nil
  Google::Cloud.dns @project, @keyfile, scope: scope,
                                        retries: (retries || @retries),
                                        timeout: (timeout || @timeout)
end