mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
from django.utils.translation import gettext_lazy as _
|
|
|
|
from .base import BaseType
|
|
|
|
|
|
class CloudTypes(BaseType):
|
|
PUBLIC = 'public', _('Public cloud')
|
|
PRIVATE = 'private', _('Private cloud')
|
|
K8S = 'k8s', _('Kubernetes')
|
|
|
|
@classmethod
|
|
def _get_base_constrains(cls) -> dict:
|
|
return {
|
|
'*': {
|
|
'charset_enabled': False,
|
|
'domain_enabled': False,
|
|
'su_enabled': False,
|
|
},
|
|
cls.K8S: {
|
|
'domain_enabled': True,
|
|
}
|
|
}
|
|
|
|
@classmethod
|
|
def _get_automation_constrains(cls) -> dict:
|
|
constrains = {
|
|
'*': {
|
|
'ansible_enabled': False,
|
|
'ansible_config': {},
|
|
'gather_facts_enabled': False,
|
|
'verify_account_enabled': False,
|
|
'change_secret_enabled': False,
|
|
'push_account_enabled': False,
|
|
'gather_accounts_enabled': False,
|
|
}
|
|
}
|
|
return constrains
|
|
|
|
@classmethod
|
|
def _get_protocol_constrains(cls) -> dict:
|
|
return {
|
|
'*': {
|
|
'choices': ['http'],
|
|
},
|
|
cls.K8S: {
|
|
'choices': ['k8s']
|
|
}
|
|
}
|
|
|
|
@classmethod
|
|
def internal_platforms(cls):
|
|
return {
|
|
cls.PUBLIC: [],
|
|
cls.PRIVATE: [{'name': 'Vmware-vSphere'}],
|
|
cls.K8S: [{'name': 'Kubernetes'}],
|
|
}
|
|
|
|
@classmethod
|
|
def get_community_types(cls):
|
|
return [
|
|
cls.K8S, cls.PUBLIC, cls.PRIVATE
|
|
]
|