Exemple #1
0
 def Run(self, args):
     query = args.filter
     args.filter = None
     return resource_search.List(limit=args.limit,
                                 page_size=args.page_size,
                                 query=query,
                                 sort_by=args.sort_by,
                                 uri=args.uri)
Exemple #2
0
 def testResourcesTypeGlobalRestriction(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy=None,
             pageSize=500,
             pageToken=None,
             query='@type:Instances AND foobar',
         ),
         response=self.messages.SearchResponse(results=[]),
     )
     list(resource_search.List(query='@type:resources.Instances foobar'))
Exemple #3
0
 def testResourcesType(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy=None,
             pageSize=500,
             pageToken=None,
             query='@type:FooBar',
         ),
         response=self.messages.SearchResponse(results=[]),
     )
     list(resource_search.List(query='@type:resources.FooBar'))
Exemple #4
0
 def testComputeHttpsHealthChecks(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy=None,
             pageSize=500,
             pageToken=None,
             query='@type:HttpsHealthCheck',
         ),
         response=self.messages.SearchResponse(results=[]),
     )
     list(resource_search.List(query='@type:compute.httpsHealthChecks'))
Exemple #5
0
 def testComputeInstancesCollectionQuery(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy=None,
             pageSize=500,
             pageToken=None,
             query='@type:Instance AND name:test',
         ),
         response=self.messages.SearchResponse(results=[]),
     )
     list(resource_search.List(query='@type:compute.instances name:test'))
Exemple #6
0
 def testComputeInstancesSortByReverse(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy='name desc,zone',
             pageSize=500,
             pageToken=None,
             query=None,
         ),
         response=self.messages.SearchResponse(results=[]),
     )
     list(resource_search.List(sort_by=['~name', 'zone']))
 def Update(self, parameter_info, aggregations):
     """Returns the current list of parsed resources."""
     query = '@type:{}'.format(self.collection)
     log.info('cloud resource search query: %s' % query)
     try:
         items = resource_search.List(query=query, uri=True)
     except Exception as e:  # pylint: disable=broad-except
         log.info(unicode(e).rstrip())
         raise (type(e))(u'Update resource query [{}]: {}'.format(
             query,
             unicode(e).rstrip()))
     return [self.StringToRow(item) for item in items]
 def Update(self, parameter_info, aggregations):
   """Returns the current list of parsed resources."""
   query = '@type:{}'.format(self.collection)
   log.info('cloud resource search query: %s' % query)
   try:
     items = resource_search.List(query=query, uri=True)
   except Exception as e:  # pylint: disable=broad-except
     if properties.VALUES.core.print_completion_tracebacks.GetBool():
       raise
     log.info(six.text_type(e).rstrip())
     raise (type(e))('Update resource query [{}]: {}'.format(
         query, six.text_type(e).rstrip()))
   return [self.StringToRow(item) for item in items]
Exemple #9
0
 def testComputeInstances(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy=None,
             pageSize=500,
             pageToken=None,
             query=None,
         ),
         response=self.messages.SearchResponse(
             results=self.ResourceSearchResults(count=3), ),
     )
     results = list(resource_search.List())
     self.assertEqual(3, len(results))
Exemple #10
0
 def testComputeInstancesUriLimit(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy=None,
             pageSize=1,
             pageToken=None,
             query=None,
         ),
         response=self.messages.SearchResponse(
             results=self.ResourceSearchResults(count=3), ),
     )
     results = list(resource_search.List(uri=True, limit=1))
     self.assertEqual([
         'https://www.googleapis.com/compute/beta/projects/'
         'test-project-0/zones/test-zone-0/instances/test-name-0',
     ], results)
Exemple #11
0
 def testComputeInstancesProjectListOperandQuery(self):
     self.client.ResourcesService.Search.Expect(
         self.messages.CloudresourcesearchResourcesSearchRequest(
             orderBy=None,
             pageSize=500,
             pageToken=None,
             query=(
                 '@type:Instance AND '
                 '( selfLink:/projects/test/ OR selfLink:/projects/prod/ )'
             ),
         ),
         response=self.messages.SearchResponse(results=[]),
     )
     list(
         resource_search.List(
             query='@type:compute.instances project:(test prod)'))
Exemple #12
0
 def testComputeInstancesCollectionNotSupported(self):
     with self.AssertRaisesExceptionMatches(
             resource_search.CollectionNotIndexed,
             'Collection [no.such.collection] not indexed for search.'):
         list(resource_search.List(query='@type:no.such.collection'))
Exemple #13
0
 def testComputeInstancesQueryNotSupported(self):
     with self.AssertRaisesExceptionMatches(
             resource_search.QueryOperatorNotSupported,
             'The [~] operator is not supported in cloud resource search queries.'
     ):
         list(resource_search.List(query='name~test'))