8.2.34 | Linux | www-data (uid:33)
👁 View: enable.py
📁 //snap/google-cloud-cli/current/lib/surface/services/enable.py
# -*- coding: utf-8 -*- # # Copyright 2017 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. """services enable command.""" from googlecloudsdk.api_lib.services import services_util from googlecloudsdk.api_lib.services import serviceusage from googlecloudsdk.calliope import base from googlecloudsdk.command_lib.services import common_flags from googlecloudsdk.core import log from googlecloudsdk.core import properties _OP_BASE_CMD = 'gcloud beta services operations ' _OP_WAIT_CMD = _OP_BASE_CMD + 'wait {0}' _DETAILED_HELP_ALPHA = { 'DESCRIPTION': ( """\ This command enables a service for consumption for a project, folder or organization. To see a list of available services for a project, run: $ {parent_command} list --available More information on listing services can be found at: https://cloud.google.com/service-usage/docs/list-services and on disabling a service at: https://cloud.google.com/service-usage/docs/enable-disable """ ), 'EXAMPLES': ( """\ To enable a service called `my-consumed-service` on the current project, run: $ {command} my-consumed-service To enable a service called `my-consumed-service` on the project `my-project`, run: $ {command} my-consumed-service --project=my-project To enable a service called `my-consumed-service` on the project `my-project` in group `groups`, run: $ {command} my-consumed-service --project=my-project --group=groups To enable a service called `my-consumed-service` on the folder `my-folder, run: $ {command} my-consumed-service --folder=my-folder To enable a service called `my-consumed-service` on the organization `my-organization`, run: $ {command} my-consumed-service --organization=my-organization To run the same command asynchronously (non-blocking), run: $ {command} my-consumed-service --async To enable services called `service1`, `service2`, and `service3` on the current project, run: $ {command} service1 service2 service3 """ ), } _DETAILED_HELP = { 'DESCRIPTION': """\ This command enables a service for consumption for a project. To see a list of available services for a project, run: $ {parent_command} list --available More information on listing services can be found at: https://cloud.google.com/service-usage/docs/list-services and on disabling a service at: https://cloud.google.com/service-usage/docs/enable-disable """, 'EXAMPLES': """\ To enable a service called `my-consumed-service` on the current project, run: $ {command} my-consumed-service To run the same command asynchronously (non-blocking), run: $ {command} my-consumed-service --async To enable services called `service1`, `service2`, and `service3` on the current project, run: $ {command} service1 service2 service3 """, } @base.UniverseCompatible @base.ReleaseTracks(base.ReleaseTrack.ALPHA, base.ReleaseTrack.BETA) class EnableAlpha(base.SilentCommand): """Enables a service for consumption for a project, folder or organization.""" @staticmethod def Args(parser): """Args is called by calliope to gather arguments for this command. Args: parser: An argparse parser that you can use to add arguments that go on the command line after this command. Positional arguments are allowed. """ common_flags.available_service_flag(suffix='to enable').AddToParser(parser) common_flags.add_resource_args(parser) base.ASYNC_FLAG.AddToParser(parser) common_flags.validate_only_args(parser, suffix='enable') common_flags.skip_dependency_flag(parser) parser.add_argument( '--group', default='dependencies', help='The service group name.', ) def Run(self, args): """Run 'services enable'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: Nothing. """ if not (args.IsSpecified('folder') or args.IsSpecified('organization')): project = ( args.project if args.IsSpecified('project') else properties.VALUES.core.project.Get(required=True) ) else: project = args.project folder = args.folder if args.IsSpecified('folder') else None organization = ( args.organization if args.IsSpecified('organization') else None ) inputted_group = True if args.IsSpecified('group') else False update_consumer_policy_op = serviceusage.AddEnableRule( args.service, project, folder=folder, organization=organization, validate_only=args.validate_only, skip_dependency=args.skip_dependency, group=args.group, inputted_group=inputted_group, ) if update_consumer_policy_op is None: return None if args.async_: cmd = _OP_WAIT_CMD.format(update_consumer_policy_op.name) log.status.Print( 'Asynchronous operation is in progress... ' 'Use the following command to wait for its ' f'completion:\n {cmd}' ) return update_consumer_policy_op = services_util.WaitOperation( update_consumer_policy_op.name, serviceusage.GetOperationV2Beta ) if args.validate_only: services_util.PrintOperation(update_consumer_policy_op) else: services_util.PrintOperationWithResponse(update_consumer_policy_op) EnableAlpha.detailed_help = _DETAILED_HELP_ALPHA @base.ReleaseTracks(base.ReleaseTrack.GA) class Enable(base.SilentCommand): """Enables a service for consumption for a project.""" @staticmethod def Args(parser): common_flags.available_service_flag(suffix='to enable').AddToParser(parser) base.ASYNC_FLAG.AddToParser(parser) def Run(self, args): project = properties.VALUES.core.project.Get(required=True) if len(args.service) == 1: op = serviceusage.EnableApiCall(project, args.service[0]) else: op = serviceusage.BatchEnableApiCall(project, args.service) if op.done: return if args.async_: cmd = _OP_WAIT_CMD.format(op.name) log.status.Print( 'Asynchronous operation is in progress... ' 'Use the following command to wait for its ' f'completion:\n {cmd}' ) return op = services_util.WaitOperation(op.name, serviceusage.GetOperation) services_util.PrintOperation(op) Enable.detailed_help = _DETAILED_HELP
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 //snap/google-cloud-cli/current/lib/surface/services
NameSizePermModifiedActions
📁 __pycache__/-07752026-09-29 12:17🗑 Delete
📁 api_keys/-07752026-09-29 12:17🗑 Delete
📁 catalogs/-07752026-09-29 12:17🗑 Delete
📁 groups/-07752026-09-29 12:17🗑 Delete
📁 identity/-07752026-09-29 12:17🗑 Delete
📁 mcp/-07752026-09-29 12:17🗑 Delete
📁 operations/-07752026-09-29 12:17🗑 Delete
📁 peered_dns_domains/-07752026-09-29 12:17🗑 Delete
📁 policies/-07752026-09-29 12:17🗑 Delete
📁 quota/-07752026-09-29 12:17🗑 Delete
📁 vpc_peerings/-07752026-09-29 12:17🗑 Delete
__init__.py2K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
disable.py9K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
disable.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
enable.py7K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
enable.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
list.py7.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
list.yaml91B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
list_dependents.py3.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del