def Run(self, args): """List available services.""" is_managed = flags.GetPlatform() == flags.PLATFORM_MANAGED if is_managed and not args.IsSpecified('region'): self._SetFormat(args, show_region=True) client = global_methods.GetServerlessClientInstance() self.SetPartialApiEndpoint(client.url) args.CONCEPTS.namespace.Parse() # Error if no proj. # Don't consider region property here, we'll default to all regions return commands.SortByName(global_methods.ListServices(client)) else: conn_context = connection_context.GetConnectionContext( args, product=flags.Product.RUN) self._SetFormat(args, show_region=is_managed, show_namespace=(not is_managed)) namespace_ref = args.CONCEPTS.namespace.Parse() with serverless_operations.Connect(conn_context) as client: self.SetCompleteApiEndpoint(conn_context.endpoint) if not is_managed: location_msg = ' in [{}]'.format( conn_context.cluster_location) log.status.Print('For cluster [{cluster}]{zone}:'.format( cluster=conn_context.cluster_name, zone=location_msg if conn_context.cluster_location else '')) return commands.SortByName(client.ListServices(namespace_ref))
def Run(self, args): """List available services.""" is_managed = flags.IsManaged(args) if is_managed and not getattr(args, 'region', None): self._SetFormat(args, show_region=True) client = global_methods.GetServerlessClientInstance() self.SetPartialApiEndpoint(client.url) args.CONCEPTS.namespace.Parse() # Error if no proj. locations_ref = args.CONCEPTS.region.Parse() return commands.SortByName( global_methods.ListServices(client, locations_ref.RelativeName())) else: conn_context = connection_context.GetConnectionContext(args) self._SetFormat(args, show_region=is_managed, show_namespace=(not is_managed)) namespace_ref = args.CONCEPTS.namespace.Parse() with serverless_operations.Connect(conn_context) as client: self.SetCompleteApiEndpoint(conn_context.endpoint) if not is_managed: location_msg = ' in [{}]'.format( conn_context.cluster_location) log.status.Print('For cluster [{cluster}]{zone}:'.format( cluster=conn_context.cluster_name, zone=location_msg if conn_context.cluster_location else '')) return commands.SortByName(client.ListServices(namespace_ref))
def testMissingRegions(self): request = MESSAGES.RunProjectsLocationsServicesListRequest( parent='projects/my-project/locations/-') response = MESSAGES.ListServicesResponse( unreachable=['us-central1', 'asia-northeast1']) self.client.projects_locations_services.List.Expect(request=request, response=response) global_methods.ListServices(self.client) self.AssertErrEquals( 'WARNING: The following Cloud Run regions did not respond: ' 'asia-northeast1, us-central1. List results may be incomplete.\n')
def Run(self, args): """List available services.""" if args.uri: raise flags.ArgumentError( '--uri flag is not supported for this resource') if not flags.IsGKE(args) and not getattr(args, 'region', None): locations_ref = args.CONCEPTS.region.Parse() return global_methods.ListServices(locations_ref.RelativeName()) else: conn_context = connection_context.GetConnectionContext(args) namespace_ref = args.CONCEPTS.namespace.Parse() with serverless_operations.Connect(conn_context) as client: return client.ListServices(namespace_ref)
def testReturnsServices(self): request = MESSAGES.RunProjectsLocationsServicesListRequest( parent='projects/my-project/locations/-') response = MESSAGES.ListServicesResponse(items=[ MESSAGES.Service(metadata=MESSAGES.ObjectMeta(name='Service1')), MESSAGES.Service(metadata=MESSAGES.ObjectMeta(name='Service2')) ]) self.client.projects_locations_services.List.Expect(request=request, response=response) services = global_methods.ListServices(self.client) six.assertCountEqual(self, [service.name for service in services], ('Service1', 'Service2')) self.AssertErrEquals('')
def Run(self, args): """List available services.""" if not flags.ValidateIsGKE(args) and not getattr(args, 'region', None): client = global_methods.GetServerlessClientInstance() self.SetPartialApiEndpoint(client.url) locations_ref = args.CONCEPTS.region.Parse() return global_methods.ListServices(client, locations_ref.RelativeName()) else: conn_context = connection_context.GetConnectionContext(args) namespace_ref = args.CONCEPTS.namespace.Parse() with serverless_operations.Connect(conn_context) as client: self.SetCompleteApiEndpoint(conn_context.endpoint) return client.ListServices(namespace_ref)