blob: 730414639af0b9cccca670315f8300f749982fda [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
module Deltacloud
module Client
require 'require_relative' if RUBY_VERSION < '1.9'
require 'ostruct'
require 'nokogiri'
require 'faraday'
require 'base64'
# Core extensions
require_relative './core_ext'
# Errors && Helpers
require_relative './client/helpers/model_helper'
require_relative './client/helpers/xml_helper'
require_relative './client/helpers/property_helper'
# Exceptions goes here
require_relative './client/base_error'
# Faraday Middleware for Deltacloud errors
require_relative './error_response'
# Deltacloud API methods
require_relative './client/methods/api'
require_relative './client/methods/backward_compatiblity'
# Extend Client module with methods that existed in old client
# that need to be kept.
# Deprecation warnings should be provided to users if they use something
# from these modules.
#
extend Deltacloud::Client::Methods::BackwardCompatibility::ClassMethods
# Deltacloud methods
require_relative './client/methods'
# Deltacloud models
require_relative './client/models'
require_relative './client/connection'
VERSION = '1.1.2'
# Check if the connection to Deltacloud API is valid
def self.valid_connection?(api_url)
begin
Deltacloud::Client(api_url, '', '') && true
rescue Faraday::Error::ConnectionFailed
false
rescue Deltacloud::Client::AuthenticationError
false
end
end
end
def self.Client(url, api_user, api_password, opts={})
Client::Connection.new({
:url => url,
:api_user => api_user,
:api_password => api_password
}.merge(opts))
end
end