Sha256: 7534436609b95db5e6a616dcbd1f48d5996e03c7986f89a10b32f25d7ab733cb

Contents?: true

Size: 1.06 KB

Versions: 12

Compression:

Stored size: 1.06 KB

Contents

module Fog
  module Compute
    class Vsphere
      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\/?/, '')
          rescue => e
            raise e, "failed to create folder: #{e}"
          end
        end
      end
      class Mock
        def create_folder(datacenter, path, name)
          self.data[:folders][name] = {
            'name'       => name,
            'datacenter' => datacenter,
            'path'       => "#{path}/#{name}",
            'type'       => 'vm'
          }
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
fog-vsphere-1.0.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.8.1 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.8.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.7.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.6.4 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.6.3 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.6.2 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.6.1 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.6.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.5.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.4.0 lib/fog/vsphere/requests/compute/create_folder.rb
fog-vsphere-0.3.0 lib/fog/vsphere/requests/compute/create_folder.rb