lib/vra/client.rb in vmware-vra-3.1.3 vs lib/vra/client.rb in vmware-vra-3.2.0
- old
+ new
@@ -31,11 +31,12 @@
def initialize(opts)
@base_url = opts[:base_url]
@username = opts[:username]
@password = PasswordMasker.new(opts[:password])
- @tenant = opts[:tenant]
+ @domain = fetch_domain(opts)
+
@verify_ssl = opts.fetch(:verify_ssl, true)
@refresh_token = PasswordMasker.new(nil)
@access_token = PasswordMasker.new(nil)
@page_size = opts.fetch(:page_size, 20)
@@ -78,11 +79,11 @@
def token_params
{
'username': @username,
'password': @password.value,
- 'domain': @tenant,
+ 'domain': @domain,
}
end
def request_headers
headers = {}
@@ -229,18 +230,28 @@
raise exception, message
end
def validate_client_options!
raise ArgumentError, "Username and password are required" if @username.nil? || @password.value.nil?
- raise ArgumentError, "A tenant is required" if @tenant.nil?
+ raise ArgumentError, "A domain is required" if @domain.nil?
raise ArgumentError, "A base URL is required" if @base_url.nil?
raise ArgumentError, "Base URL #{@base_url} is not a valid URI." unless valid_uri?(@base_url)
end
def valid_uri?(uri)
uri = URI.parse(uri)
uri.is_a?(URI::HTTP)
rescue URI::InvalidURIError
false
+ end
+
+ private
+
+ # This is for backward compatibility, if someone still uses tenant key to pass the domain,
+ # it should also work.
+ def fetch_domain(opts)
+ return opts[:tenant] if opts.key?(:tenant) && !opts.key?(:domain)
+
+ opts[:domain]
end
end
end