示例#1
0
 def Run(self, args):
     if args.name is None:
         raise ArgumentError('--name must be specified.')
     project_ref = command_lib_util.ParseProject(args.id)
     result = projects_api.Update(project_ref, name=args.name)
     log.UpdatedResource(project_ref)
     return result
示例#2
0
 def Run(self, args):
   labels_diff = labels_util.Diff.FromUpdateArgs(args)
   project_ref = command_lib_util.ParseProject(args.id)
   result = projects_api.Update(project_ref, name=args.name,
                                labels_diff=labels_diff)
   log.UpdatedResource(project_ref)
   return result
示例#3
0
 def Run(self, args):
     folder_flags.CheckParentFlags(args)
     project_ref = command_lib_util.ParseProject(args.id)
     result = projects_api.Update(
         project_ref,
         parent=projects_api.ParentNameToResourceId(
             folder_flags.GetParentFromFlags(args)))
     log.UpdatedResource(project_ref)
     return result
 def testUpdateHttpError(self):
   test_project = util.GetTestActiveProject()
   test_project_ref = command_lib_util.ParseProject(test_project.projectId)
   self.mock_client.projects.Get.Expect(
       self.messages.CloudresourcemanagerProjectsGetRequest(
           projectId=test_project.projectId),
       exception=self.HttpError())
   with self.assertRaises(exceptions.HttpError):
     projects_api.Update(test_project_ref, name='new name')
示例#5
0
 def Run(self, args):
   labels_diff = labels_util.Diff.FromUpdateArgs(args)
   if args.name is None and not labels_diff.MayHaveUpdates():
     raise ArgumentError('At least one of --name, --update-labels or '
                         '--remove-labels must be specified.')
   project_ref = command_lib_util.ParseProject(args.id)
   result = projects_api.Update(project_ref, name=args.name,
                                labels_diff=labels_diff)
   log.UpdatedResource(project_ref)
   return result
示例#6
0
 def Run(self, args):
     update_labels = labels_util.GetUpdateLabelsDictFromArgs(args)
     remove_labels = labels_util.GetRemoveLabelsListFromArgs(args)
     if args.name is None and update_labels is None and remove_labels is None:
         raise ArgumentError('At least one of --name, --update-labels or '
                             '--remove-labels must be specified.')
     project_ref = command_lib_util.ParseProject(args.id)
     result = projects_api.Update(project_ref,
                                  name=args.name,
                                  update_labels=update_labels,
                                  remove_labels=remove_labels)
     log.UpdatedResource(project_ref)
     return result
 def testUpdate(self):
   test_project = util.GetTestActiveProject()
   test_project_ref = command_lib_util.ParseProject(test_project.projectId)
   updated_test_project = util.GetTestActiveProject()
   updated_test_project.name = 'Test Project, New and Improved'
   self.mock_client.projects.Get.Expect(
       self.messages.CloudresourcemanagerProjectsGetRequest(
           projectId=test_project.projectId),
       test_project)
   self.mock_client.projects.Update.Expect(updated_test_project,
                                           updated_test_project)
   response = projects_api.Update(
       test_project_ref, name=updated_test_project.name)
   self.assertEqual(response, updated_test_project)
示例#8
0
 def Run(self, args):
     folder_flags.CheckParentFlags(args)
     project_ref = command_lib_util.ParseProject(args.id)
     if not console_io.PromptContinue(
             'Your project will be moved. This may alter the policies enforced on '
             'your Project, either exposing your Project to more security risk '
             'through looser polices or cause an outage through stricter polices. '
             'See these public notes on policy implications for more information: '
             'https://cloud.google.com/resource-manager/docs/'
             'creating-managing-folders#moving-folders-policy-considerations and '
             'https://cloud.google.com/resource-manager/docs/'
             'migrating-projects-billing#note_on_policy_implications. '
             'Once moved, you can move the Project again so long as you have the '
             'appropriate permissions. See our public documentation for more '
             'information: https://cloud.google.com/resource-manager/docs/'
             'creating-managing-folders#moving_a_project_into_a_folder'):
         return None
     result = projects_api.Update(
         project_ref,
         parent=projects_api.ParentNameToResourceId(
             folder_flags.GetParentFromFlags(args)))
     log.UpdatedResource(project_ref)
     return result
示例#9
0
文件: move.py 项目: TobiahRex/Wingman
 def Run(self, args):
     project_ref = command_lib_util.ParseProject(args.id)
     result = projects_api.Update(project_ref,
                                  organization=args.organization)
     log.UpdatedResource(project_ref)
     return result