def Run(self, args): volume = args.CONCEPTS.volume.Parse() client = BmsClient() op_ref = client.RestoreVolumeSnapshot(volume, args.snapshot) if op_ref.done: log.RestoredResource(volume.Name(), kind='volume') return op_ref if args.async_: log.status.Print( 'Restore request issued for [{}]\nCheck operation ' '[{}] for status.'.format(volume.Name(), op_ref.name)) return op_ref op_resource = resources.REGISTRY.ParseRelativeName( op_ref.name, collection='baremetalsolution.operations', api_version='v1') poller = waiter.CloudOperationPollerNoResources( client.operation_service) res = waiter.WaitFor( poller, op_resource, 'Waiting for operation [{}] to complete'.format(op_ref.name)) log.RestoredResource(volume.Name(), kind='volume') return res
def Run(self, args): service = folders.FoldersService() messages = folders.FoldersMessages() restored = service.Undelete( messages.CloudresourcemanagerFoldersUndeleteRequest( foldersId=args.id)) log.RestoredResource(restored)
def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace, All the arguments that were provided to this command invocation. Raises: HttpException: An http error response was received while executing api request. Returns: None """ prompt_message = ('Restoring dataset {0} will restore all objects in ' 'the dataset.').format(args.id) if not console_io.PromptContinue(message=prompt_message): raise GenomicsError('Restore aborted by user.') apitools_client = genomics_util.GetGenomicsClient() genomics_messages = genomics_util.GetGenomicsMessages() dataset = genomics_messages.GenomicsDatasetsUndeleteRequest( datasetId=args.id) result = apitools_client.datasets.Undelete(dataset) log.RestoredResource('{0}, id: {1}'.format(result.name, result.id), kind='dataset') return result
def Run(self, args): privatecloud = args.CONCEPTS.private_cloud.Parse() client = PrivateCloudsClient() is_async = args.async_ operation = client.UnDelete(privatecloud) if is_async: log.RestoredResource(operation.name, kind='private cloud', is_async=True) return operation resource = client.WaitForOperation( operation_ref=client.GetOperationRef(operation), message='waiting for private cloud deletion [{}] to be canceled'. format(privatecloud.RelativeName())) log.RestoredResource(resource, kind='private cloud') return resource
def Run(self, args): project_ref = command_lib_util.ParseProject(args.id) result = projects_api.Undelete(project_ref) log.RestoredResource(project_ref, kind='project') return result
def testRestoredAsync(self): log.RestoredResource('my-cluster', is_async=True) self.AssertErrEquals( 'Restore in progress for [my-cluster](RESOURCE_NAME).\n')
def testRestored(self): log.RestoredResource('my-cluster') self.AssertErrEquals('Restored [my-cluster](RESOURCE_NAME).\n')