| 44 | |
| 45 | |
| 46 | class CertificateSpec: |
| 47 | |
| 48 | def __init__(self, name: str = None, domains: List[str] = None, |
| 49 | email: str = None, |
| 50 | key_type: str = None, single_file: bool = False, |
| 51 | valid_from: timedelta = timedelta(days=-1), |
| 52 | valid_to: timedelta = timedelta(days=89), |
| 53 | client: bool = False, |
| 54 | sub_specs: List['CertificateSpec'] = None): |
| 55 | self._name = name |
| 56 | self.domains = domains |
| 57 | self.client = client |
| 58 | self.email = email |
| 59 | self.key_type = key_type |
| 60 | self.single_file = single_file |
| 61 | self.valid_from = valid_from |
| 62 | self.valid_to = valid_to |
| 63 | self.sub_specs = sub_specs |
| 64 | |
| 65 | @property |
| 66 | def name(self) -> Optional[str]: |
| 67 | if self._name: |
| 68 | return self._name |
| 69 | elif self.domains: |
| 70 | return self.domains[0] |
| 71 | return None |
| 72 | |
| 73 | |
| 74 | class Credentials: |
no outgoing calls