return super(DescribeBeta, self).CreateReference(args, default=default_scope) @property def global_service(self): return self.compute.backendServices @property def regional_service(self): return self.compute.regionBackendServices @property def zonal_service(self): return None @property def global_resource_type(self): return 'backendServices' @property def regional_resource_type(self): return 'regionBackendServices' @property def zonal_resource_type(self): return None DescribeBeta.detailed_help = base_classes.GetMultiScopeDescriberHelp( 'backend service', DescribeBeta.SCOPES)
holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) client = holder.client apitools_client = client.apitools_client messages = client.messages resources = holder.resources ref = flags.MULTISCOPE_INSTANCE_GROUP_MANAGER_ARG.ResolveAsResource( args, resources, scope_lister=compute_flags.GetDefaultScopeLister(client)) if ref.Collection() == 'compute.instanceGroupManagers': service = apitools_client.instanceGroupManagers request_type = messages.ComputeInstanceGroupManagersGetRequest elif ref.Collection() == 'compute.regionInstanceGroupManagers': service = apitools_client.regionInstanceGroupManagers request_type = messages.ComputeRegionInstanceGroupManagersGetRequest igm = encoding.MessageToDict(service.Get(request_type(**ref.AsDict()))) annoted_igm = managed_instance_groups_utils.AddAutoscalersToMigs( migs_iterator=[igm], client=client, resources=resources, fail_when_api_not_supported=False) return list(annoted_igm)[0] Describe.detailed_help = base_classes.GetMultiScopeDescriberHelp( 'instance group', (base_classes.ScopeType.regional_scope, base_classes.ScopeType.zonal_scope))
@staticmethod def Args(parser): base_classes.MultiScopeDescriber.AddScopeArgs(parser, 'instanceGroupManagers', DescribeAlpha.SCOPES) def ComputeDynamicProperties(self, args, items): """Add Autoscaler information if Autoscaler is defined for the item.""" # Items are expected to be IGMs. return managed_instance_groups_utils.AddAutoscalersToMigs( migs_iterator=items, project=self.project, compute=self.compute, http=self.http, batch_url=self.batch_url, fail_when_api_not_supported=False) Describe.detailed_help = { 'brief': 'Describe a managed instance group', 'DESCRIPTION': """\ *{command}* displays all data associated with a Google Compute Engine managed instance group. """, } DescribeAlpha.detailed_help = base_classes.GetMultiScopeDescriberHelp( 'managed instance group', DescribeAlpha.SCOPES)
@property def global_resource_type(self): return None @property def regional_resource_type(self): return 'regionInstanceGroups' @property def zonal_resource_type(self): return 'instanceGroups' @staticmethod def Args(parser): base_classes.MultiScopeDescriber.AddScopeArgs( parser, 'instanceGroups', Describe.SCOPES) def ComputeDynamicProperties(self, args, items): return instance_groups_utils.ComputeInstanceGroupManagerMembership( compute=self.compute, project=self.project, http=self.http, batch_url=self.batch_url, items=items, filter_mode=instance_groups_utils.InstanceGroupFilteringMode.ALL_GROUPS) Describe.detailed_help = base_classes.GetMultiScopeDescriberHelp( 'instance group', Describe.SCOPES)
"""Issues request necessary to describe the backend service.""" holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) client = holder.client (backend_services_utils. IsDefaultRegionalBackendServicePropertyNoneWarnOtherwise()) backend_service_ref = ( flags.GLOBAL_REGIONAL_BACKEND_SERVICE_ARG.ResolveAsResource( args, holder.resources, scope_lister=compute_flags.GetDefaultScopeLister(client))) if backend_service_ref.Collection() == 'compute.backendServices': service = client.apitools_client.backendServices request = client.messages.ComputeBackendServicesGetRequest( **backend_service_ref.AsDict()) elif backend_service_ref.Collection( ) == 'compute.regionBackendServices': service = client.apitools_client.regionBackendServices request = client.messages.ComputeRegionBackendServicesGetRequest( **backend_service_ref.AsDict()) return client.MakeRequests([(service, 'Get', request)])[0] Describe.detailed_help = base_classes.GetMultiScopeDescriberHelp( 'backend service', [ base_classes.ScopeType.regional_scope, base_classes.ScopeType.global_scope ])