1# -*- coding: utf-8 -*- # 2# Copyright 2019 Google LLC. All Rights Reserved. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15"""Utilities for the Tag Manager server.""" 16 17from __future__ import absolute_import 18from __future__ import division 19from __future__ import unicode_literals 20 21from googlecloudsdk.api_lib.util import apis 22 23TAGS_API_VERSION = 'v3' 24 25 26def TagClient(): 27 """Returns a client instance of the CRM Tags service.""" 28 return apis.GetClientInstance('cloudresourcemanager', TAGS_API_VERSION) 29 30 31def TagMessages(): 32 """Returns the messages module for the Tags service.""" 33 return apis.GetMessagesModule('cloudresourcemanager', TAGS_API_VERSION) 34 35 36def TagKeysService(): 37 """Returns the tag keys service class.""" 38 client = TagClient() 39 return client.tagKeys 40 41 42def TagValuesService(): 43 """Returns the tag values service class.""" 44 client = TagClient() 45 return client.tagValues 46 47 48def TagBindingsService(): 49 """Returns the tag bindings service class.""" 50 client = TagClient() 51 return client.tagBindings 52 53 54def OperationsService(): 55 """Returns the operations service class.""" 56 client = TagClient() 57 return client.operations 58