Sha256: 6f01f73fe16a5fac786cb83e8d481ab95e1513ef424f114d44f784e2fce3d5c2

Contents?: true

Size: 1017 Bytes

Versions: 24

Compression:

Stored size: 1017 Bytes

Contents

require 'uri'

module URI
  class VsphereUrl < Generic
    DEFAULT_PORT = 443
    DEFAULT_PATH = '/sdk'

    def self.from_config(options)
      parts = []
      parts << 'vsphere://'
      parts << options[:host]
      parts << ':'
      parts << (options[:port] || DEFAULT_PORT)
      parts << (options[:path] || DEFAULT_PATH)
      parts << '?use_ssl='
      parts << (options[:use_ssl] == false ? false : true)
      parts << '&insecure='
      parts << (options[:insecure] || false)
      URI parts.join
    end

    def use_ssl
      if query
        ssl_query = query.split('&').each.select do |q|
          q.start_with?('use_ssl=')
        end.first
        ssl_query == 'use_ssl=true'
      else
        true
      end
    end

    def insecure
      if query
        insecure_query = query.split('&').each.select do |q|
          q.start_with?('insecure=')
        end.first
        insecure_query == 'insecure=true'
      else
        false
      end
    end
  end
  @@schemes['VSPHERE'] = VsphereUrl
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
chef-provisioning-vsphere-0.8.3.dev.2 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.8.3.dev lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.8.1 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.8.0 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.7.2 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.7.1 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.7.0 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.6.0 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.6.0.dev.1 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.8 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7.dev6 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7.dev5 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7.dev4 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7.dev3 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7.dev2 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7.dev1 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7.dev lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.7 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.6 lib/chef/provisioning/vsphere_driver/vsphere_url.rb
chef-provisioning-vsphere-0.5.5 lib/chef/provisioning/vsphere_driver/vsphere_url.rb