8.2.34 | Linux | www-data (uid:33)
👁 View: describe.py
📁 /snap/google-cloud-cli/current/lib/surface/functions/describe.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. """Displays details of a Google Cloud Function.""" from apitools.base.py import encoding from googlecloudsdk.api_lib.functions.v1 import util as api_util_v1 from googlecloudsdk.api_lib.functions.v2 import client as client_v2 from googlecloudsdk.api_lib.functions.v2 import util as api_util_v2 from googlecloudsdk.calliope import base from googlecloudsdk.command_lib.functions import flags from googlecloudsdk.command_lib.functions import util from googlecloudsdk.command_lib.functions.v1 import decorator from googlecloudsdk.core import log from googlecloudsdk.core import properties def _PrintV2StateMessages(state_messages): log.critical('Function has the following conditions:') for state_message_string in api_util_v2.GetStateMessagesStrings( state_messages ): log.status.Print(' ' + state_message_string) log.status.Print('') # newline def _ValidateArgs(args): """Validate arguments.""" if ( args.IsSpecified('v2') and properties.VALUES.functions.gen2.IsExplicitlySet() ): if args.v2 and not flags.ShouldUseGen2(): log.warning( 'Conflicting flags "--v2" and "--no-gen2" specified, Cloud Functions' ' v2 APIs will be used.' ) if not args.v2 and flags.ShouldUseGen2(): log.warning( 'Conflicting flags "--no-v2" and "--gen2" specified, Cloud Functions' ' v2 APIs will be used.' ) @base.ReleaseTracks(base.ReleaseTrack.GA) class Describe(util.FunctionResourceCommand, base.DescribeCommand): """Display details of a Google Cloud Function.""" @staticmethod def Args(parser): """Register flags for this command.""" flags.AddFunctionResourceArg(parser, 'to describe') flags.AddGen2Flag(parser, hidden=True, allow_v2=True) flags.AddV2Flag(parser) def _RunV1(self, args): client = api_util_v1.GetApiClientInstance() function = client.projects_locations_functions.Get( client.MESSAGES_MODULE.CloudfunctionsProjectsLocationsFunctionsGetRequest( name=args.CONCEPTS.name.Parse().RelativeName() ) ) if self.ReleaseTrack() == base.ReleaseTrack.ALPHA: v2_function = self._v2_function or self._RunV2(args) return decorator.decorate_v1_function_with_v2_api_info( function, v2_function ) # To facilitate testing, convert to dict for consistency with alpha track. return encoding.MessageToDict(function) def _RunV2(self, args): client = client_v2.FunctionsClient(self.ReleaseTrack()) function = self._v2_function or client.GetFunction( args.CONCEPTS.name.Parse().RelativeName(), raise_if_not_found=True ) if function.stateMessages: _PrintV2StateMessages(function.stateMessages) return function def Run(self, args): _ValidateArgs(args) if args.v2: return self._RunV2(args) return util.FunctionResourceCommand.Run(self, args) @base.ReleaseTracks(base.ReleaseTrack.BETA) class DescribeBeta(Describe): """Display details of a Google Cloud Function.""" @base.ReleaseTracks(base.ReleaseTrack.ALPHA) class DescribeAlpha(DescribeBeta): """Display details of a Google Cloud Function."""
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 /snap/google-cloud-cli/current/lib/surface/functions
NameSizePermModifiedActions
📁 __pycache__/-07752026-09-29 12:17🗑 Delete
📁 event_types/-07752026-09-29 12:17🗑 Delete
📁 local/-07752026-09-29 12:17🗑 Delete
📁 logs/-07752026-09-29 12:17🗑 Delete
📁 regions/-07752026-09-29 12:17🗑 Delete
📁 runtimes/-07752026-09-29 12:17🗑 Delete
__init__.py1.4K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
add_iam_policy_binding.py2.2K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
add_iam_policy_binding.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
add_invoker_policy_binding.py3.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
add_invoker_policy_binding.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
call.py2.8K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
delete.py1.7K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
delete.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
deploy.py6.3K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
deploy.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
describe.py3.7K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
describe.yaml91B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
detach.py4.3K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
detach.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
get_iam_policy.py1.9K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
get_iam_policy.yaml91B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
list.py4.8K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
list.yaml91B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
remove_iam_policy_binding.py2.3K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
remove_iam_policy_binding.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
remove_invoker_policy_binding.py3.2K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
remove_invoker_policy_binding.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
set_iam_policy.py2K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
set_iam_policy.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
upgrade.py15.2K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
upgrade.yaml88B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del