8.2.34 | Linux | www-data (uid:33)
👁 View: delete.py
📁 /snap/google-cloud-cli/503/lib/surface/projects/delete.py
# -*- coding: utf-8 -*- # # Copyright 2015 Google LLC. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """Command to delete a project.""" from googlecloudsdk.api_lib.cloudresourcemanager import projects_api from googlecloudsdk.api_lib.smart_guardrails import smart_guardrails from googlecloudsdk.calliope import base from googlecloudsdk.command_lib.projects import flags from googlecloudsdk.command_lib.projects import util as command_lib_util from googlecloudsdk.command_lib.resource_manager import completers from googlecloudsdk.core import log from googlecloudsdk.core.console import console_io @base.UniverseCompatible class Delete(base.DeleteCommand): """Delete a project. Deletes the project with the given project ID. This command can fail for the following reasons: * The project specified does not exist. * The active account does not have IAM role `role/owner` or another IAM role with the `resourcemanager.projects.delete` permission for the given project. See [Access control for projects using IAM](https://cloud.google.com/resource-manager/docs/access-control-proj) for more information. ## EXAMPLES The following command deletes the project with the ID `example-foo-bar-1`: $ {command} example-foo-bar-1 ## SEE ALSO {see_also} """ detailed_help = {'see_also': flags.CREATE_DELETE_IN_CONSOLE_SEE_ALSO} @classmethod def Args(cls, parser): flags.GetProjectIDNumberFlag('delete').AddToParser(parser) if cls.ReleaseTrack() != base.ReleaseTrack.GA: flags.GetRecommendFlag('project deletion').AddToParser(parser) parser.display_info.AddCacheUpdater(completers.ProjectCompleter) def Run(self, args): project_ref = command_lib_util.ParseProject(args.id) if self.ReleaseTrack() != base.ReleaseTrack.GA and args.recommend: # Projects command group explicitly disables user project quota. # Call with user project quota enabled, so that # default project can be used as quota project. base.EnableUserProjectQuota() prompt_message = smart_guardrails.GetProjectDeletionRisk( base.ReleaseTrack.GA, project_ref.Name(), ) base.DisableUserProjectQuota() else: prompt_message = 'Your project will be deleted: [{0}]'.format(args.id) if not console_io.PromptContinue(prompt_message): return None result = projects_api.Delete(project_ref) log.DeletedResource(project_ref) # Print this here rather than in Epilog because Epilog doesn't have access # to the deleted resource. # We can't be more specific than "limited period" because the API says # "at an unspecified time". log.status.Print( '\nYou can undo this operation for a limited period by running' ' the command below.\n $ gcloud projects undelete {1}\n\n{0}'.format( flags.SHUT_DOWN_PROJECTS, args.id)) return result
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 /snap/google-cloud-cli/503/lib/surface/projects
NameSizePermModifiedActions
📁 __pycache__/-07752026-09-29 12:17🗑 Delete
__init__.py2.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
add_iam_policy_binding.yaml1.7K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
create.py6.6K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
delete.py3.3K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
describe.py1.6K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
get_ancestors.yaml778B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
get_ancestors_iam_policy.py1.6K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
get_iam_policy.py1.5K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
get_iam_policy.yaml943B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
list.py5.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
move.py3.6K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
remove_iam_policy_binding.py3.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
remove_iam_policy_binding.yaml2.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
search.py2.7K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
set_iam_policy.py1.8K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
set_iam_policy.yaml1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
undelete.py1.7K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
update.py3.6K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del