class MetricDimension(str, StructuredEnum): """ 指标维度 """ CpuUsage = EnumField('cpu_usage', label=_('CPU 使用率')) MemoryUsage = EnumField('memory_usage', label=_('内存使用率')) DiskUsage = EnumField('disk_usage', label=_('磁盘使用率')) DiskIOUsage = EnumField('diskio_usage', label=_('磁盘 IO 使用率'))
class DashboardAction(str, StructuredEnum): """资源视图方法对应权限类型""" View = EnumField('view', label='查看类') Create = EnumField('create', label='创建类') Update = EnumField('update', label='更新类') Delete = EnumField('delete', label='删除类')
class ClusterType(str, StructuredEnum): """集群类型""" SINGLE = EnumField('SINGLE', label="独立集群") SHARED = EnumField('SHARED', label="共享集群") FEDERATION = EnumField('FEDERATION', label="联邦集群") FEDERATION_SHARED = EnumField('FEDERATION_SHARED', label="共享联邦集群")
class BaseActivityStatus(str, StructuredEnum): """ 操作状态 """ Add = EnumField('completed', _('完成')) Error = EnumField('error', _('错误')) Succeed = EnumField('succeed', _('成功')) Failed = EnumField('failed', _('失败'))
class MetricSourceType(str, StructuredEnum): """k8s MetricSourceType""" Object = EnumField('Object') Pods = EnumField('Pods') Resource = EnumField('Resource') External = EnumField('External') ContainerResource = EnumField('ContainerResource')
class NamespaceScopedAction(str, StructuredEnum): """ note: USE 是复合 action, 权限中心未直接注册 """ CREATE = EnumField('namespace_scoped_create', label='namespace_scoped_create') VIEW = EnumField('namespace_scoped_view', label='namespace_scoped_view') UPDATE = EnumField('namespace_scoped_update', label='namespace_scoped_update') DELETE = EnumField('namespace_scoped_delete', label='namespace_scoped_delete') USE = EnumField('namespace_scoped_use', label='namespace_scoped_use')
class PersistentVolumeAccessMode(str, StructuredEnum): """k8s PersistentVolumeAccessMode""" ReadWriteOnce = EnumField('ReadWriteOnce', label='RWO') ReadOnlyMany = EnumField('ReadOnlyMany', label='ROX') ReadWriteMany = EnumField('ReadWriteMany', label='RWX') @property def shortname(self): """k8s 官方缩写""" return self.get_choice_label(self.value)
class BcsCCNodeStatus(str, StructuredEnum): """BCS CC中节点的状态""" Initializing = EnumField("initializing", label="初始化中") InitialFailed = EnumField("initial_failed", label="初始化失败") Normal = EnumField("normal", label="正常状态") # NOTE: 调整状态名 ToRemoved = EnumField("to_removed", label="可移除状态,节点上有业务POD,仅允许强制删除") Removable = EnumField("removable", label="可移除状态,节点上没有业务POD,可以正常删除") Removing = EnumField("removing", label="移除中") RemoveFailed = EnumField("remove_failed", label="移除失败") Removed = EnumField("removed", label="已移除") NotReady = EnumField("not_ready", label="非正常状态") Unknown = EnumField("unknown", label="未知状态")
class ClusterManagerNodeStatus(str, StructuredEnum): """cluster manager 中节点的状态""" RUNNING = EnumField("RUNNING", label="正常状态") INITIALIZATION = EnumField("INITIALIZATION", label="初始化中") DELETING = EnumField("DELETING", label="删除中") ADDFAILURE = EnumField("ADD-FAILURE", label="添加节点失败") REMOVEFAILURE = EnumField("REMOVE-FAILURE", label="下架节点失败") REMOVABLE = EnumField("REMOVABLE", label="可移除状态") NOTREADY = EnumField("NOTREADY", label="非正常状态") UNKNOWN = EnumField("UNKNOWN", label="未知状态")
class NodeConditionType(str, StructuredEnum): """节点状态类型 ref: node condition types """ Ready = EnumField("Ready", label="kubelet is healthy and ready to accept pods") MemoryPressure = EnumField( "MemoryPressure", label="kubelet is under pressure due to insufficient available memory") DiskPressure = EnumField( "DiskPressure", label="kubelet is under pressure due to insufficient available disk") PIDPressure = EnumField( "PIDPressure", label="kubelet is under pressure due to insufficient available PID") NetworkUnavailable = EnumField( "NetworkUnavailable", label="network for the node is not correctly configured")
class TemplatesetAction(str, StructuredEnum): CREATE = EnumField("templateset_create", label="templateset_create") VIEW = EnumField("templateset_view", label="templateset_view") UPDATE = EnumField("templateset_update", label="templateset_update") DELETE = EnumField("templateset_delete", label="templateset_delete") INSTANTIATE = EnumField("templateset_instantiate", label="templateset_instantiate") COPY = EnumField("templateset_copy", label="templateset_copy")
class ReleaseStatus(str, StructuredEnum): # pending用于异步方案下的中间态 PENDING = EnumField('pending', label='pending') DEPLOYED = EnumField('deployed', label='deployed') FAILED = EnumField('failed', label='failed') UNKNOWN = EnumField('unknown', label='unknown')
class ClusterScopedAction(str, StructuredEnum): CREATE = EnumField('cluster_scoped_create', label='cluster_scoped_create') VIEW = EnumField('cluster_scoped_view', label='cluster_scoped_view') UPDATE = EnumField('cluster_scoped_update', label='cluster_scoped_update') DELETE = EnumField('cluster_scoped_delete', label='cluster_scoped_delete')
class NodeConditionStatus(str, StructuredEnum): """节点状态""" Ready = EnumField("Ready", label="正常状态") NotReady = EnumField("NotReady", label="非正常状态") Unknown = EnumField("Unknown", label="未知状态")
class NamespaceAction(str, StructuredEnum): CREATE = EnumField('namespace_create', label='namespace_create') VIEW = EnumField('namespace_view', label='namespace_view') UPDATE = EnumField('namespace_update', label='namespace_update') DELETE = EnumField('namespace_delete', label='namespace_delete')
class ClusterAction(str, StructuredEnum): CREATE = EnumField('cluster_create', label='cluster_create') VIEW = EnumField('cluster_view', label='cluster_view') MANAGE = EnumField('cluster_manage', label='cluster_manage') DELETE = EnumField('cluster_delete', label='cluster_delete') USE = EnumField('cluster_use', label='cluster_use')
class ProjectAction(str, StructuredEnum): CREATE = EnumField('project_create', label='project_create') VIEW = EnumField('project_view', label='project_view') EDIT = EnumField('project_edit', label='project_edit')
class ResourceType(str, StructuredEnum): """ 资源类型 """ Project = EnumField('project', _('项目')) Cluster = EnumField('cluster', _('集群')) Node = EnumField('node', _('节点')) Namespace = EnumField('namespace', _('命名空间')) Template = EnumField('template', _('模板集')) Variable = EnumField('variable', _('变量')) Instance = EnumField('instance', _('应用')) LB = EnumField('lb', 'LoadBalancer') Metric = EnumField('metric', 'Metric') WebConsole = EnumField('web_console', 'WebConsole') HelmApp = EnumField('helm_app', 'Helm') HPA = EnumField('hpa', 'HPA') # workloads Deployment = EnumField('deployment', 'Deployment') DaemonSet = EnumField('daemonset', 'DaemonSet') StatefulSet = EnumField('statefulset', 'StatefulSet') CronJob = EnumField('cronjob', 'CronJob') Job = EnumField('job', 'Job') Pod = EnumField('pod', 'Pod') # networks Ingress = EnumField('ingress', 'Ingress') Service = EnumField('service', 'Service') Endpoints = EnumField('endpoints', 'Endpoints') # configurations ConfigMap = EnumField('configmap', 'Configmap') Secret = EnumField('secret', 'Secret') # storages PersistentVolume = EnumField('persistentvolume', 'PersistentVolume') PersistentVolumeClaim = EnumField('persistentvolumeclaim', 'PersistentVolumeClaim') StorageClass = EnumField('storageclass', 'StorageClass') # rbac ServiceAccount = EnumField('serviceaccount', 'ServiceAccount')
class BaseResourceType(str, StructuredEnum): """ 资源类型 """ Project = EnumField('project', _('项目')) Cluster = EnumField('cluster', _('集群')) Node = EnumField('node', _('节点')) Namespace = EnumField('namespace', _('命名空间')) Template = EnumField('template', _('模板集')) Instance = EnumField('instance', _('应用')) Service = EnumField('service', _('Service')) Ingress = EnumField('ingress', _('Ingress')) LB = EnumField('lb', _('LoadBalancer')) ConfigMap = EnumField('configmap', _('Configmap')) Secret = EnumField('secret', _('Secret')) Metric = EnumField('metric', _('Metric')) WebConsole = EnumField('web_console', _('WebConsole')) HelmApp = EnumField('helm_app', _('Helm')) HPA = EnumField('hpa', _('HPA'))
class KubeProxy(str, StructuredEnum): IPTABLES = EnumField("iptables") IPVS = EnumField("ipvs")
class BaseActivityType(str, StructuredEnum): """ 操作类型 """ Add = EnumField('add', _('创建')) Modify = EnumField('modify', _('更新')) Rollback = EnumField('rollback', _('回滚')) Delete = EnumField('delete', _('删除')) Begin = EnumField('begin', _('开始')) End = EnumField('end', _('结束')) Start = EnumField('start', _('启动')) Pause = EnumField('pause', _('暂停')) CarryOn = EnumField('carryon', _('继续')) Stop = EnumField('stop', _('停止')) Restart = EnumField('restart', _('重启')) Retrieve = EnumField('retrieve', _('查询'))