Sha256: e302e68e2f913acda3f558e1c9549c0b09462678ebeb89a804230978f7058dba

Contents?: true

Size: 1006 Bytes

Versions: 23

Compression:

Stored size: 1006 Bytes

Contents

module Fog
  module Vsphere
    class Compute
      class Real
        def create_folder(datacenter, path, name)
          # Path cannot be nil but it can be an empty string
          raise ArgumentError, 'Path cannot be nil' if path.nil?

          parent_folder = get_raw_vmfolder(path, datacenter)
          begin
            new_folder = parent_folder.CreateFolder(name: name)
            # output is cleaned up to return the new path
            # new path will be path/name, example: "Production/Pool1"
            new_folder.path.reject { |a| a.first.class == 'Folder' }.map { |a| a.first.name }.join('/').sub(/^\/?Datacenters\/#{datacenter}\/vm\/?/, '')
          end
        end
      end
      class Mock
        def create_folder(datacenter, path, name)
          data[:folders][name] = {
            'name'       => name,
            'datacenter' => datacenter,
            'path'       => "#{path}/#{name}",
            'type'       => 'vm'
          }
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
fog-vsphere-3.7.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.8 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.7 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.6 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.5 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.4 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.3 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.2 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.5.3 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.6.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.5.2 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.5.1 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.5.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.4.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.3.1 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.3.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.2.5 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.2.2 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.2.1 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-3.2.0 lib/fog/vsphere/requests/compute/create_folder.rb