- Notifications
You must be signed in to change notification settings - Fork62
fog/fog-vsphere
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
VMware vSphere® provider for the Fog cloud services library
The VMware vSphere® provider allows you to use the abstractions of the Fog cloud services library to communicate with vSphere.
To use this gem in your application, add this line to your Gemfile:
gem'fog-vsphere'
And then execute:
bundle
Or install it yourself as:
gem install fog-vsphere
In version 3.0.0 we have changed the namespacing ofCompute
service.Fog::Compute::Vsphere
becameFog::Vsphere::Compute
as recommended by fog-core.We hope we are not causing any issues asFog::Compute[:vsphere]
is only public API.
To connect to your vSphere instance with Fog vSphere:
require'fog/vsphere'compute=Fog::Compute.new(provider::vsphere,vsphere_username:'username',vsphere_password:'password',vsphere_server:'server.example.com',vsphere_expected_pubkey_hash:'0123456789abcdef0123456789abcdef',vsphere_ssl:true,vsphere_rev:'6.0')
From there you can create, destroy, list, and modify most things related to vSphere. Some examples include:
# continued from previous example# List datacenterscompute.list_datacenters#=> [{id: 'datacenter-1', name: 'DC1', path: ['DC1'], status: 'gray'},#=> {id: 'datacenter-2', name: 'DC2', path: ['DC2'], status: 'gray'}]# Get datacenter by namecompute.get_datacenter('DC1')#=> {name: 'DC1', status: 'gray', path: ['DC1']}# List virtual machinescompute.list_virtual_machines#=> [{'id' => 'ab589f9a-af35-428e-9690-9b96587d86f3',#=> 'name' => 'TestVM',#=> 'uuid' => 'fc51eb7a-fa50-4d96-bd16-63972b49f52f',#=> ...# List a VM's SCSI controllerscompute.list_vm_scsi_controllers('ab589f9a-af35-428e-9690-9b96587d86f3')#=> [<Fog::Vsphere::Compute::SCSIController#=> shared_bus='noSharing',#=> type='VirtualLsiLogicController',#=> unit_number=7,#=> key=1000,#=> server_id=nil#=> >]
There is a lot more you can do as well! We are working on providing better documentation right now. For now, you can look at theRubyDocs, browse what's available withPry, and view the documentation forFog. We hope to have much more documentation and plenty of examples soon.
To contribute to this project, add an issue or pull request. For more info on what that means or how to do it, seethis guide from GitHub.For more details seeCONTRIBUTING.md file