예제 #1
0
 def __init__(self, cache):
     super(ColumnOneCumulativeUpdater,
           self).__init__(cache,
                          collection='test.project.zone',
                          columns=2,
                          timeout=1,
                          column=1,
                          parameters=[
                              resource_cache.Parameter(column=0,
                                                       name='zero'),
                              resource_cache.Parameter(column=1, name='one')
                          ])
예제 #2
0
 def __init__(self, cache):
     super(TwoRequiredCollectionUpdater,
           self).__init__(cache,
                          collection='test.api',
                          columns=3,
                          timeout=1,
                          parameters=[
                              resource_cache.Parameter(column=1,
                                                       name='one'),
                              resource_cache.Parameter(column=2,
                                                       name='two'),
                          ])
예제 #3
0
 def __init__(self, cache):
     super(TwoRequiredCollectionCumulativeUpdater,
           self).__init__(cache,
                          collection='test.project.zone.instance',
                          columns=3,
                          timeout=1,
                          column=2,
                          parameters=[
                              resource_cache.Parameter(column=0,
                                                       name='zero'),
                              resource_cache.Parameter(column=1,
                                                       name='one'),
                              resource_cache.Parameter(column=2,
                                                       name='two'),
                          ])
예제 #4
0
 def __init__(self, cache):
     super(ColumnZeroUpdater, self).__init__(
         cache,
         collection='test.project',
         columns=1,
         timeout=1,
         parameters=[resource_cache.Parameter(column=0, name='zero')])
예제 #5
0
  def __init__(self, collection=None, api_version=None, param=None, **kwargs):
    """Constructor.

    Args:
      collection: The resource collection name.
      api_version: The API version for collection, None for the default version.
      param: The updated parameter column name.
      **kwargs: Base class kwargs.
    """
    self.api_version = api_version
    if collection:
      self.collection_info = resources.REGISTRY.GetCollectionInfo(
          collection, api_version=api_version)
      params = self.collection_info.GetParams('')
      log.info('cache collection=%s api_version=%s params=%s' % (
          collection, self.collection_info.api_version, params))
      parameters = [resource_cache.Parameter(name=name, column=column)
                    for column, name in enumerate(params)]
      parse = resources.REGISTRY.Parse

      def _Parse(string):
        return parse(string, collection=collection, enforce_collection=False,
                     validate=False).AsList()

      self.parse = _Parse
    else:
      params = []
      parameters = []

    super(ResourceCompleter, self).__init__(
        collection=collection,
        columns=len(params),
        column=params.index(param) if param else 0,
        parameters=parameters,
        **kwargs)
예제 #6
0
 def _FLAGS_RowToString(self, row, parameter_info=None):
     parts = [row[self.columns - 1]]
     parameters = self.parameters
     name = 'collection'
     if name in self.qualified_parameter_names:
         # Treat 'collection' like a parameter.
         collection_parameter = resource_cache.Parameter(name=name)
         parameters = list(parameters) + [collection_parameter]
     for parameter in parameters:
         if parameter.column == self.columns - 1:
             continue
         check_properties = parameter.name not in self.qualified_parameter_names
         flag = parameter_info.GetFlag(parameter.name,
                                       row[parameter.column],
                                       check_properties=check_properties)
         if flag:
             parts.append(flag)
     for flag_name in set(self._additional_params
                          or [] + parameter_info.GetAdditionalParams()
                          or []):
         flag = parameter_info.GetFlag(flag_name, True)
         if flag:
             parts.append(flag)
     return ' '.join(parts)