def main(): """ Simple command-line program for creating a snapshot of a first class disk. """ parser = cli.Parser() parser.add_required_arguments(cli.Argument.DATASTORE_NAME, cli.Argument.FIRST_CLASS_DISK_NAME, cli.Argument.SNAPSHOT_NAME) args = parser.get_args() si = service_instance.connect(args) try: content = si.RetrieveContent() # Retrieve Datastore Object datastore = pchelper.get_obj(content, [vim.Datastore], args.datastore_name) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.fcd_name) # Create FCD Snapshot storage = content.vStorageObjectManager task = storage.VStorageObjectCreateSnapshot_Task( vdisk.config.id, datastore, args.snapshot_name) tasks.wait_for_tasks(si, [task]) print("FCD snapshot created!") except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for listing all snapshots of a fcd """ parser = cli.Parser() parser.add_required_arguments(cli.Argument.DATASTORE_NAME, cli.Argument.FIRST_CLASS_DISK_NAME) args = parser.get_args() si = service_instance.connect(args) try: content = si.RetrieveContent() # Retrieve Datastore Object datastore = pchelper.get_obj(content, [vim.Datastore], args.datastore_name) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.fcd_name) # Retrieve all Snapshots list_fcd_snapshots(content, vdisk) except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for deleting a snapshot of a first class disk. """ args = get_args() try: if args.disable_ssl_verification: service_instance = connect.SmartConnectNoSSL(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) else: service_instance = connect.SmartConnect(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) atexit.register(connect.Disconnect, service_instance) content = service_instance.RetrieveContent() # Retrieve Datastore Object datastore = disk.get_obj(content, [vim.Datastore], args.datastore) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.vdisk) # Retrieve Snapshot Object snapshot = disk.retrieve_fcd_snapshot(content, datastore, vdisk, args.snapshot) # Confirming Snapshot deletion if not args.yes: response = cli.prompt_y_n_question("Are you sure you want to " "delete snapshot '" + args.snapshot + "'?", default='no') if not response: print("Exiting script. User chose not to delete snapshot.") exit() # Delete FCD Snapshot storage = content.vStorageObjectManager task = storage.DeleteSnapshot_Task(vdisk.config.id, datastore, snapshot) tasks.wait_for_tasks(service_instance, [task]) except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for deleting a snapshot of a first class disk. """ args = get_args() try: if args.disable_ssl_verification: service_instance = connect.SmartConnectNoSSL(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) else: service_instance = connect.SmartConnect(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) atexit.register(connect.Disconnect, service_instance) content = service_instance.RetrieveContent() # Retrieve Datastore Object datastore = disk.get_obj(content, [vim.Datastore], args.datastore) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.vdisk) # Retrieve Snapshot Object snapshot = disk.retrieve_fcd_snapshot( content, datastore, vdisk, args.snapshot) # Confirming Snapshot deletion if not args.yes: response = cli.prompt_y_n_question("Are you sure you want to " "delete snapshot '" + args.snapshot + "'?", default='no') if not response: print("Exiting script. User chose not to delete snapshot.") exit() # Delete FCD Snapshot storage = content.vStorageObjectManager task = storage.DeleteSnapshot_Task( vdisk.config.id, datastore, snapshot) tasks.wait_for_tasks(service_instance, [task]) except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for attaching a first class disk to a vm. """ args = get_args() try: if args.disable_ssl_verification: service_instance = connect.SmartConnectNoSSL(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) else: service_instance = connect.SmartConnect(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) atexit.register(connect.Disconnect, service_instance) content = service_instance.RetrieveContent() # Retrieve Datastore Object datastore = disk.get_obj(content, [vim.Datastore], args.datastore) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.vdisk) # Retrieve VM vm = None if args.uuid: search_index = content.searchIndex vm = search_index.FindByUuid(None, args.uuid, True) elif args.vm_name: vm = disk.get_obj(content, [vim.VirtualMachine], args.vm_name) # Attaching FCD to VM if vm: task = attach_fcd_to_vm(vm, vdisk, datastore) tasks.wait_for_tasks(service_instance, [task]) else: raise RuntimeError("VM not found.") except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for deleting a snapshot of a first class disk. """ parser = cli.Parser() parser.add_required_arguments(cli.Argument.DATASTORE_NAME, cli.Argument.FIRST_CLASS_DISK_NAME, cli.Argument.SNAPSHOT_NAME) parser.add_custom_argument('--yes', action='store_true', help='Confirm disk deletion.') args = parser.get_args() si = service_instance.connect(args) try: content = si.RetrieveContent() # Retrieve Datastore Object datastore = pchelper.get_obj(content, [vim.Datastore], args.datastore_name) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.fcd_name) # Retrieve Snapshot Object snapshot = disk.retrieve_fcd_snapshot( content, datastore, vdisk, args.snapshot_name) # Confirming Snapshot deletion if not args.yes: response = cli.prompt_y_n_question("Are you sure you want to " "delete snapshot '" + args.snapshot_name + "'?", default='no') if not response: print("Exiting script. User chose not to delete snapshot.") sys.exit() # Delete FCD Snapshot storage = content.vStorageObjectManager task = storage.DeleteSnapshot_Task( vdisk.config.id, datastore, snapshot) tasks.wait_for_tasks(si, [task]) print("FCD snapshot deleted!") except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for attaching a first class disk to a vm. """ parser = cli.Parser() parser.add_required_arguments(cli.Argument.DATASTORE_NAME, cli.Argument.FIRST_CLASS_DISK_NAME) parser.add_optional_arguments(cli.Argument.VM_NAME, cli.Argument.UUID) args = parser.get_args() si = service_instance.connect(args) try: content = si.RetrieveContent() # Retrieve Datastore Object datastore = pchelper.get_obj(content, [vim.Datastore], args.datastore_name) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.fcd_name) # Retrieve VM vm = None if args.uuid: search_index = content.searchIndex vm = search_index.FindByUuid(None, args.uuid, True) elif args.vm_name: vm = pchelper.get_obj(content, [vim.VirtualMachine], args.vm_name) # Attaching FCD to VM if vm: task = attach_fcd_to_vm(vm, vdisk) tasks.wait_for_tasks(si, [task]) else: raise RuntimeError("VM not found.") except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for creating a snapshot of a first class disk. """ args = get_args() try: if args.disable_ssl_verification: service_instance = connect.SmartConnectNoSSL(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) else: service_instance = connect.SmartConnect(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) atexit.register(connect.Disconnect, service_instance) content = service_instance.RetrieveContent() # Retrieve Datastore Object datastore = disk.get_obj(content, [vim.Datastore], args.datastore) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.vdisk) # Create FCD Snapshot storage = content.vStorageObjectManager task = storage.VStorageObjectCreateSnapshot_Task( vdisk.config.id, datastore, args.snapshot) tasks.wait_for_tasks(service_instance, [task]) except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for listing all snapshots of a fcd """ args = get_args() try: if args.disable_ssl_verification: service_instance = connect.SmartConnectNoSSL(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) else: service_instance = connect.SmartConnect(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) atexit.register(connect.Disconnect, service_instance) content = service_instance.RetrieveContent() # Retrieve Datastore Object datastore = disk.get_obj(content, [vim.Datastore], args.datastore) # Retrieve FCD Object vdisk = disk.retrieve_fcd(content, datastore, args.vdisk) # Retrieve all Snapshots list_fcd_snapshots(content, vdisk) except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for creating a new vdisk from a snapshot """ args = get_args() try: if args.disable_ssl_verification: service_instance = connect.SmartConnectNoSSL(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) else: service_instance = connect.SmartConnect(host=args.host, user=args.user, pwd=args.password, port=int(args.port)) atexit.register(connect.Disconnect, service_instance) content = service_instance.RetrieveContent() # Connect to SPBM Endpoint pbmSi = pbmhelper.create_pbm_session(service_instance._stub) pbmContent = pbmSi.RetrieveContent() # Retrieving Storage Policy if args.policy: p = pbmhelper.retrieve_storage_policy(pbmContent, args.policy) policy = [ vim.vm.DefinedProfileSpec(profileId=p.profileId.uniqueId) ] else: policy = None # Retrieve Source Datastore Object source_datastore = disk.get_obj(content, [vim.Datastore], args.source_datastore) # Retrieve Source FCD Object source_vdisk = disk.retrieve_fcd(content, source_datastore, args.source_vdisk) # Retrieve Snapshot Object snapshot = disk.retrieve_fcd_snapshot(content, source_datastore, source_vdisk, args.snapshot) # Retrieve Destination Datastore Object dest_datastore = disk.get_obj(content, [vim.Datastore], args.dest_datastore) # Create FCD from Snapshot storage = content.vStorageObjectManager if policy: task = storage.CreateDiskFromSnapshot_Task(source_vdisk.config.id, dest_datastore, snapshot, args.dest_vdisk, policy) else: task = storage.CreateDiskFromSnapshot_Task(source_vdisk.config.id, dest_datastore, snapshot, args.dest_vdisk) tasks.wait_for_tasks(service_instance, [task]) except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0
def main(): """ Simple command-line program for creating a new vdisk from a snapshot """ parser = cli.Parser() parser.add_required_arguments(cli.Argument.SNAPSHOT_NAME) parser.add_optional_arguments(cli.Argument.STORAGE_POLICY_NAME) parser.add_custom_argument( '--source_datastore', required=True, action='store', help='Datastore name where source disk is located') parser.add_custom_argument( '--source_vdisk', required=True, action='store', help='First Class Disk name with specified snapshot') parser.add_custom_argument('--dest_datastore', required=True, action='store', help='Datastore name where new disk is located') parser.add_custom_argument('--dest_vdisk', required=True, action='store', help='First Class Disk name to be created') args = parser.get_args() si = service_instance.connect(args) try: content = si.RetrieveContent() # Connect to SPBM Endpoint pbm_si = pbmhelper.create_pbm_session(si._stub) pbm_content = pbm_si.RetrieveContent() # Retrieving Storage Policy if args.storage_policy_name: storage_policy = pbmhelper.retrieve_storage_policy( pbm_content, args.storage_policy_name) policy = [ vim.vm.DefinedProfileSpec( profileId=storage_policy.profileId.uniqueId) ] else: policy = None # Retrieve Source Datastore Object source_datastore = pchelper.get_obj(content, [vim.Datastore], args.source_datastore) # Retrieve Source FCD Object source_vdisk = disk.retrieve_fcd(content, source_datastore, args.source_vdisk) # Retrieve Snapshot Object snapshot = disk.retrieve_fcd_snapshot(content, source_datastore, source_vdisk, args.snapshot_name) # Retrieve Destination Datastore Object dest_datastore = pchelper.get_obj(content, [vim.Datastore], args.dest_datastore) # Create FCD from Snapshot storage = content.vStorageObjectManager if policy: task = storage.CreateDiskFromSnapshot_Task(source_vdisk.config.id, dest_datastore, snapshot, args.dest_vdisk, policy) else: task = storage.CreateDiskFromSnapshot_Task(source_vdisk.config.id, dest_datastore, snapshot, args.dest_vdisk) tasks.wait_for_tasks(si, [task]) print("FCD created from snapshot!") except vmodl.MethodFault as error: print("Caught vmodl fault : " + error.msg) return -1 return 0