def main(): module = AnsibleModule( argument_spec=dict(host=dict(requred=True), login=dict(required=True), password=dict(required=True), folder_name=dict(required=True), parent_folder_name=dict(required=True), datacenter_name=dict(required=True))) host = module.params.get('host') login = module.params.get('login') password = module.params.get('password') folder_name = module.params.get('folder_name') parent_folder_name = module.params.get('parent_folder_name') datacenter_name = module.params.get('datacenter_name') default_context = ssl._create_default_https_context ssl._create_default_https_context = ssl._create_unverified_context server = pysphere.VIServer() try: server.connect(host, login, password) except Exception, e: module.fail_json(msg='Failed to connect to %s: %s' % (host, e))
def vcenter_connect(server_fqdn, server_username, server_password): vserver = pysphere.VIServer() try: vserver.connect(server_fqdn, server_username, server_password) except Exception as error: print(('Could not connect to vCenter: %s') % (error)) return vserver
def __init__(self, Host, User, Password, **Options): super(VmWareDriver, self).__init__(Host, User, Password, **Options) self.ServerLog = Options['TmpLog'] if 'TmpLog' in Options else None import pysphere as VmWare self.Server = VmWare.VIServer() self.VmRec = {} #print "Debug - Finish to Init VmWareDriver ..." #print VmWare.MORTypes self.Enum1 = VmWare.MORTypes self.FDict = {} self.Folder = Options['Folder'] if 'Folder' in Options else 'vm'
def vsphere(): if not hasattr(vsphere, 'vmwserver'): vsphere.vmwserver = pysphere.VIServer() try: vsphere.vmwserver.connect("vcenter.core.wotifgroup.com", get_passwords()['vmwusername'], get_passwords()['vmwpassword']) except pysphere.VIApiException: print( 'An error has occurred while connecting to vSphere! Aborting.') exit(1) return vsphere.vmwserver
def datastores(vm_hosts): '''Create a dict referencing datastore ids with their name''' datastores = {} for host in vm_hosts: server = pysphere.VIServer() server.connect(host, host_user, host_pass) all_datastores = server.get_datastores() for mor, name in all_datastores.iteritems(): datastores[mor] = name server.disconnect() return datastores
def change_system_state(power_address, power_user, power_pass, vm_name, power_change): try: server = pysphere.VIServer() server.connect(power_address, power_user, power_pass) vm = server.get_vm_by_name(vm_name) if power_change == 'on': vm.power_on() else: vm.power_off() except Exception as e: raise e finally: if server: server.disconnect()
def clusters_hosts(vm_hosts): '''Create a dict referencing esx hosts with their cluster.''' cluster_host = {} for host in vm_hosts: server = pysphere.VIServer() server.connect(host, host_user, host_pass) clusters = server.get_clusters() for c_mor, cluster in clusters.iteritems(): hosts = server.get_hosts(from_mor=c_mor) for h_mor, host in hosts.iteritems(): cluster_host[host] = cluster server.disconnect() return cluster_host #{host:cluster}
f = open('/opt/ops-scripts/etc/vmware-netapp-backup-config.yaml') config = yaml.load(f.read()) f.close() # Connect to NetApp filers: filers = {} for filer in auth['filers']: v_print("Connecting to filer %s" % filer['hostname'], 3) filers[filer['hostname']] = Ontap.Filer(filer['hostname'], filer['user'], filer['passwd']) # Connect to all vSphere instances: servers = {} for vcenter in auth['vcenter']: vc = pysphere.VIServer() v_print("Connecting to vCenter host %s" % vcenter['hostname'], 3) try: vc.connect(vcenter['hostname'], vcenter['user'], vcenter['passwd']) except socket.error: v_print("Could not connect to vCenter host %s" % vcenter['hostname'], 1) continue servers[vcenter['hostname']] = vc # Generate dict of VMs by datastore: vms_by_ds = {} for vchost in servers.keys(): v_print("Cataloging vCenter host %s" % vchost, 3) server = servers[vchost]
return else: return vm.clone(name, sync_run=False, resourcepool=rp_mor, datastore=ds_mor, host=host_mor, power_on=False) # returns a VITask object def main(): """ Simple command-line program for listing the virtual machines on a system. """ args = get_args() print vmClone(args.name, args.source, args.resourcePool, "elkvmw03.thoughtworks.com", args.datastore, 1) return 0 # Start program vCenterServer = pysphere.VIServer() # Place in connection strings directly vCenterServer.connect('', '', '') if __name__ == "__main__": main()
##stmt:Get hostname sThisHost = str(args.host).upper() sThisUser = str(args.user) sThisPasswd = str(args.passwd) sThisEsxiHost = str(args.esxihost) ##if:User and passwd passed? if sThisUser == "" or sThisPasswd == "": print "Invalid username or password" sys.exit(1) ##if:Do we have a host? if sThisHost != "": ##stmt:Yes, connect to vCenter server = pysphere.VIServer() server.connect(sThisEsxiHost, sThisUser, sThisPasswd) ##stmt:Get server object vm = server.get_vm_by_name(sThisHost) ##if:Found VM? if vm is None: ##stmt:No, tell user and exit script print "Cannot find " + sThisHost sys.exit(1) ##if:Is the server already powered on? if vm.get_status() != "POWERED ON": ##stmt:No, power on server and exit script vm.power_on()
try: _create_unverified_https_context = ssl._create_unverified_context except AttributeError: # Legacy Python that doesn't verify HTTPS certificates by default pass else: # Handle target environment that doesn't support HTTPS verification ssl._create_default_https_context = _create_unverified_https_context # End SSL hack test_esxi = False test_vcenter = True test_setup = False if test_esxi: esxi = pysphere.VIServer() esxi.connect(esxi_config['host'], esxi_config['username'], esxi_config['password']) # Just test that this works generate_vcenter_install_config(esxi, vcenter_config['host'], 923, '1.2.3.4', '27', '1.2.3.1', 'testar', 'datastore1', 'event.dreamhack.se') if test_vcenter: vcenter = pysphere.VIServer() vcenter.connect(vcenter_config['host'], vcenter_config['username'], vcenter_config['password']) datacenter = get_or_create_datacenter(vcenter, 'event') cluster = get_or_create_cluster(vcenter, datacenter, 'POP') if test_setup:
def connect(vm_host): '''Connect to the esx server and return the session.''' server = pysphere.VIServer() server.connect(vm_host, host_user, host_pass) return server