Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
 def Run(self, args):
     service = folders.FoldersService()
     messages = folders.FoldersMessages()
     restored = service.Undelete(
         messages.CloudresourcemanagerFoldersUndeleteRequest(
             foldersId=args.id))
     log.RestoredResource(restored)
Ejemplo n.º 3
0
    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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 def testRestoredAsync(self):
     log.RestoredResource('my-cluster', is_async=True)
     self.AssertErrEquals(
         'Restore in progress for [my-cluster](RESOURCE_NAME).\n')
Ejemplo n.º 7
0
 def testRestored(self):
     log.RestoredResource('my-cluster')
     self.AssertErrEquals('Restored [my-cluster](RESOURCE_NAME).\n')