text: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  
  #
  # This file is subject to the terms and conditions defined in
  # file 'LICENSE.md', which is part of this source code package.
  #
  
  from kubernetes_py.K8sObject import K8sObject
  from kubernetes_py.models.v1.ComponentStatus import ComponentStatus
  
  
  class K8sComponentStatus(K8sObject):
      def __init__(self, config=None, name=None):
          super(K8sComponentStatus, self).__init__(config=config, name=name, obj_type="ComponentStatus")
  
      # -------------------------------------------------------------------------------------  override
  
      def create(self):
          return self
  
      def update(self):
          return self
  
      def delete(self, cascade=False):
          super(K8sComponentStatus, self).delete(cascade)
          return self
  
      def list(self, pattern=None):
          ls = super(K8sComponentStatus, self).list()
          comps = list(map(lambda x: ComponentStatus(x), ls))
          if pattern is not None:
              comps = list(filter(lambda x: pattern in x.name, comps))
          k8s = []
          for x in comps:
              j = K8sComponentStatus(config=self.config, name=x.name)
              j.model = x
              k8s.append(j)
          return k8s
  
      # ------------------------------------------------------------------------------------- get
  
      def get(self):
          self.model = ComponentStatus(self.get_model())
          return self
  
      # ------------------------------------------------------------------------------------- conditions
  
      @property
      def conditions(self):
          return self.model.conditions
  
      # ------------------------------------------------------------------------------------- name
  
      @property
      def name(self):
          return self.model.metadata.name
  
      @name.setter
      def name(self, name=None):
          self.model.metadata.name = name
  
      # ------------------------------------------------------------------------------------- filter
  
      @staticmethod
      def get_by_name(config=None, name=None):
          component_list = []
          components = K8sComponentStatus(config=config, name=name).list()
          for c in components:
              component_name = ComponentStatus(c).metadata.name
              if component_name == name:
                  component_list.append(K8sComponentStatus(config=config, name=component_name).get())
          return component_list
  