8.2.34 | Linux | www-data (uid:33)
👁 View: describe.py
📁 /snap/google-cloud-cli/503/lib/surface/apigee/apis/describe.py
# -*- coding: utf-8 -*- # Lint as: python3 # Copyright 2020 Google Inc. 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 describe an Apigee API proxy.""" from googlecloudsdk.api_lib import apigee from googlecloudsdk.calliope import base from googlecloudsdk.calliope import exceptions from googlecloudsdk.command_lib.apigee import defaults from googlecloudsdk.command_lib.apigee import resource_args class Describe(base.DescribeCommand): """Describe an Apigee API proxy.""" detailed_help = { "DESCRIPTION": """\ {description} `{command}` shows metadata about an API proxy and its revisions.""", "EXAMPLES": """\ To describe an API proxy called ``proxy-name'' given that its matching Cloud Platform project has been set in gcloud settings, run: $ {command} proxy-name To describe an API proxy called ``other-proxy-name'' in another project whose Apigee organization is named ``org-name'', run: $ {command} other-proxy-name --organization=org-name To describe an API proxy called ``proxy-name'' and include details on its revisions, run: $ {command} proxy-name --verbose To describe an API proxy called ``proxy-name'' as a JSON object, run: $ {command} proxy-name --format=json """ } @classmethod def Args(cls, parser): parser.add_argument("--verbose", action="store_true", help="Include proxy revision info in the description.") if cls.ReleaseTrack() == base.ReleaseTrack.ALPHA: parser.add_argument("--revision", help="Include proxy revision info for a specific " "revision ID in the description.") resource_args.AddSingleResourceArgument( parser, "organization.api", "API proxy to be described. To get a list of available API proxies, " "run `{parent_command} list`.", fallthroughs=[defaults.GCPProductOrganizationFallthrough()]) def Run(self, args): """Run the describe command.""" identifiers = args.CONCEPTS.api.Parse().AsDict() result = apigee.APIsClient.Describe(identifiers) # Must use vars(args) to check whether there's even a revision field in the # parsed args namespace. It's only present for ALPHA track. requested_revision = None if "revision" in vars(args): requested_revision = args.revision # If the user didn't ask for revision data, the response from # APIsClient.Describe() is good enough. if requested_revision is None and not args.verbose: return result rev_nums = result["revision"] if requested_revision is not None: if requested_revision not in rev_nums: message = "No revision %r among API %s's revisions: %s"%( requested_revision, identifiers["apisId"], rev_nums) raise exceptions.InvalidArgumentException("--revision", message) # No need to check whether this revision exists within the original list; # if there's no such revision, RevisionsClient will raise an appropriate # error. rev_nums = [requested_revision] revisions = [] for revision in rev_nums: identifiers["revisionsId"] = revision revision_result = apigee.RevisionsClient.Describe(identifiers) del revision_result["name"] revisions.append(revision_result) del result["revision"] result["revisions"] = revisions return result
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 /snap/google-cloud-cli/503/lib/surface/apigee/apis
NameSizePermModifiedActions
📁 __pycache__/-07752026-09-29 12:17🗑 Delete
__init__.py1.8K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
delete.py3K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
deploy.py4.7K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
deploy.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
describe.py3.9K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
describe.yaml91B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
import.py6.9K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
import.yaml2.2K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
list.py2.1K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
undeploy.py2.9K06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
undeploy.yaml92B06441980-01-01 08:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del