Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
 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')
Exemplo n.º 4
0
 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('')
Exemplo n.º 6
0
 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)