commit d35c7f1f46d53ff75a471a0a5e41e59bf6e147ad
Author: Captain_Trojan <sejakm@students.zcu.cz>
Date:   Tue Apr 6 16:38:01 2021 +0200

    Re #8476 - Added swagger-generated server stub.

diff --git a/swagger_server/__init__.py b/swagger_server/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/swagger_server/controllers/__init__.py b/swagger_server/controllers/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/swagger_server/controllers/authorization_controller.py b/swagger_server/controllers/authorization_controller.py
new file mode 100644
index 0000000..2f7b0bb
--- /dev/null
+++ b/swagger_server/controllers/authorization_controller.py
@@ -0,0 +1,6 @@
+from typing import List
+"""
+controller generated to handled auth operation described at:
+https://connexion.readthedocs.io/en/latest/security.html
+"""
+
diff --git a/swagger_server/encoder.py b/swagger_server/encoder.py
new file mode 100644
index 0000000..61ba472
--- /dev/null
+++ b/swagger_server/encoder.py
@@ -0,0 +1,20 @@
+from connexion.apps.flask_app import FlaskJSONEncoder
+import six
+
+from swagger_server.models.base_model_ import Model
+
+
+class JSONEncoder(FlaskJSONEncoder):
+    include_nulls = False
+
+    def default(self, o):
+        if isinstance(o, Model):
+            dikt = {}
+            for attr, _ in six.iteritems(o.swagger_types):
+                value = getattr(o, attr)
+                if value is None and not self.include_nulls:
+                    continue
+                attr = o.attribute_map[attr]
+                dikt[attr] = value
+            return dikt
+        return FlaskJSONEncoder.default(self, o)
diff --git a/swagger_server/models/__init__.py b/swagger_server/models/__init__.py
new file mode 100644
index 0000000..d087416
--- /dev/null
+++ b/swagger_server/models/__init__.py
@@ -0,0 +1,18 @@
+# coding: utf-8
+
+# flake8: noqa
+from __future__ import absolute_import
+# import models into model package
+from swagger_server.models.ca_usage import CAUsage
+from swagger_server.models.certificate import Certificate
+from swagger_server.models.certificate_list_item import CertificateListItem
+from swagger_server.models.certificate_list_response import CertificateListResponse
+from swagger_server.models.certificate_request import CertificateRequest
+from swagger_server.models.certificate_response import CertificateResponse
+from swagger_server.models.created_response import CreatedResponse
+from swagger_server.models.error_response import ErrorResponse
+from swagger_server.models.filtering import Filtering
+from swagger_server.models.id_parameter import IdParameter
+from swagger_server.models.issuer_list_item import IssuerListItem
+from swagger_server.models.pem_response import PemResponse
+from swagger_server.models.subject import Subject
diff --git a/swagger_server/models/base_model_.py b/swagger_server/models/base_model_.py
new file mode 100644
index 0000000..97999c3
--- /dev/null
+++ b/swagger_server/models/base_model_.py
@@ -0,0 +1,69 @@
+import pprint
+
+import six
+import typing
+
+from swagger_server import util
+
+T = typing.TypeVar('T')
+
+
+class Model(object):
+    # swaggerTypes: The key is attribute name and the
+    # value is attribute type.
+    swagger_types = {}
+
+    # attributeMap: The key is attribute name and the
+    # value is json key in definition.
+    attribute_map = {}
+
+    @classmethod
+    def from_dict(cls: typing.Type[T], dikt) -> T:
+        """Returns the dict as a model"""
+        return util.deserialize_model(dikt, cls)
+
+    def to_dict(self):
+        """Returns the model properties as a dict
+
+        :rtype: dict
+        """
+        result = {}
+
+        for attr, _ in six.iteritems(self.swagger_types):
+            value = getattr(self, attr)
+            if isinstance(value, list):
+                result[attr] = list(map(
+                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+                    value
+                ))
+            elif hasattr(value, "to_dict"):
+                result[attr] = value.to_dict()
+            elif isinstance(value, dict):
+                result[attr] = dict(map(
+                    lambda item: (item[0], item[1].to_dict())
+                    if hasattr(item[1], "to_dict") else item,
+                    value.items()
+                ))
+            else:
+                result[attr] = value
+
+        return result
+
+    def to_str(self):
+        """Returns the string representation of the model
+
+        :rtype: str
+        """
+        return pprint.pformat(self.to_dict())
+
+    def __repr__(self):
+        """For `print` and `pprint`"""
+        return self.to_str()
+
+    def __eq__(self, other):
+        """Returns true if both objects are equal"""
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        """Returns true if both objects are not equal"""
+        return not self == other
diff --git a/swagger_server/models/ca_usage.py b/swagger_server/models/ca_usage.py
new file mode 100644
index 0000000..33acd33
--- /dev/null
+++ b/swagger_server/models/ca_usage.py
@@ -0,0 +1,148 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class CAUsage(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, ca: bool=None, authentication: bool=None, digital_signature: bool=None, ssl: bool=None):  # noqa: E501
+        """CAUsage - a model defined in Swagger
+
+        :param ca: The ca of this CAUsage.  # noqa: E501
+        :type ca: bool
+        :param authentication: The authentication of this CAUsage.  # noqa: E501
+        :type authentication: bool
+        :param digital_signature: The digital_signature of this CAUsage.  # noqa: E501
+        :type digital_signature: bool
+        :param ssl: The ssl of this CAUsage.  # noqa: E501
+        :type ssl: bool
+        """
+        self.swagger_types = {
+            'ca': bool,
+            'authentication': bool,
+            'digital_signature': bool,
+            'ssl': bool
+        }
+
+        self.attribute_map = {
+            'ca': 'CA',
+            'authentication': 'authentication',
+            'digital_signature': 'digitalSignature',
+            'ssl': 'SSL'
+        }
+        self._ca = ca
+        self._authentication = authentication
+        self._digital_signature = digital_signature
+        self._ssl = ssl
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'CAUsage':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The CAUsage of this CAUsage.  # noqa: E501
+        :rtype: CAUsage
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def ca(self) -> bool:
+        """Gets the ca of this CAUsage.
+
+
+        :return: The ca of this CAUsage.
+        :rtype: bool
+        """
+        return self._ca
+
+    @ca.setter
+    def ca(self, ca: bool):
+        """Sets the ca of this CAUsage.
+
+
+        :param ca: The ca of this CAUsage.
+        :type ca: bool
+        """
+        if ca is None:
+            raise ValueError("Invalid value for `ca`, must not be `None`")  # noqa: E501
+
+        self._ca = ca
+
+    @property
+    def authentication(self) -> bool:
+        """Gets the authentication of this CAUsage.
+
+
+        :return: The authentication of this CAUsage.
+        :rtype: bool
+        """
+        return self._authentication
+
+    @authentication.setter
+    def authentication(self, authentication: bool):
+        """Sets the authentication of this CAUsage.
+
+
+        :param authentication: The authentication of this CAUsage.
+        :type authentication: bool
+        """
+        if authentication is None:
+            raise ValueError("Invalid value for `authentication`, must not be `None`")  # noqa: E501
+
+        self._authentication = authentication
+
+    @property
+    def digital_signature(self) -> bool:
+        """Gets the digital_signature of this CAUsage.
+
+
+        :return: The digital_signature of this CAUsage.
+        :rtype: bool
+        """
+        return self._digital_signature
+
+    @digital_signature.setter
+    def digital_signature(self, digital_signature: bool):
+        """Sets the digital_signature of this CAUsage.
+
+
+        :param digital_signature: The digital_signature of this CAUsage.
+        :type digital_signature: bool
+        """
+        if digital_signature is None:
+            raise ValueError("Invalid value for `digital_signature`, must not be `None`")  # noqa: E501
+
+        self._digital_signature = digital_signature
+
+    @property
+    def ssl(self) -> bool:
+        """Gets the ssl of this CAUsage.
+
+
+        :return: The ssl of this CAUsage.
+        :rtype: bool
+        """
+        return self._ssl
+
+    @ssl.setter
+    def ssl(self, ssl: bool):
+        """Sets the ssl of this CAUsage.
+
+
+        :param ssl: The ssl of this CAUsage.
+        :type ssl: bool
+        """
+        if ssl is None:
+            raise ValueError("Invalid value for `ssl`, must not be `None`")  # noqa: E501
+
+        self._ssl = ssl
diff --git a/swagger_server/models/certificate.py b/swagger_server/models/certificate.py
new file mode 100644
index 0000000..4202d46
--- /dev/null
+++ b/swagger_server/models/certificate.py
@@ -0,0 +1,178 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server.models.ca_usage import CAUsage  # noqa: F401,E501
+from swagger_server.models.subject import Subject  # noqa: F401,E501
+from swagger_server import util
+
+
+class Certificate(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, subject: Subject=None, not_before: date=None, not_after: date=None, usage: CAUsage=None, ca: int=None):  # noqa: E501
+        """Certificate - a model defined in Swagger
+
+        :param subject: The subject of this Certificate.  # noqa: E501
+        :type subject: Subject
+        :param not_before: The not_before of this Certificate.  # noqa: E501
+        :type not_before: date
+        :param not_after: The not_after of this Certificate.  # noqa: E501
+        :type not_after: date
+        :param usage: The usage of this Certificate.  # noqa: E501
+        :type usage: CAUsage
+        :param ca: The ca of this Certificate.  # noqa: E501
+        :type ca: int
+        """
+        self.swagger_types = {
+            'subject': Subject,
+            'not_before': date,
+            'not_after': date,
+            'usage': CAUsage,
+            'ca': int
+        }
+
+        self.attribute_map = {
+            'subject': 'subject',
+            'not_before': 'notBefore',
+            'not_after': 'notAfter',
+            'usage': 'usage',
+            'ca': 'CA'
+        }
+        self._subject = subject
+        self._not_before = not_before
+        self._not_after = not_after
+        self._usage = usage
+        self._ca = ca
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'Certificate':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The Certificate of this Certificate.  # noqa: E501
+        :rtype: Certificate
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def subject(self) -> Subject:
+        """Gets the subject of this Certificate.
+
+
+        :return: The subject of this Certificate.
+        :rtype: Subject
+        """
+        return self._subject
+
+    @subject.setter
+    def subject(self, subject: Subject):
+        """Sets the subject of this Certificate.
+
+
+        :param subject: The subject of this Certificate.
+        :type subject: Subject
+        """
+        if subject is None:
+            raise ValueError("Invalid value for `subject`, must not be `None`")  # noqa: E501
+
+        self._subject = subject
+
+    @property
+    def not_before(self) -> date:
+        """Gets the not_before of this Certificate.
+
+
+        :return: The not_before of this Certificate.
+        :rtype: date
+        """
+        return self._not_before
+
+    @not_before.setter
+    def not_before(self, not_before: date):
+        """Sets the not_before of this Certificate.
+
+
+        :param not_before: The not_before of this Certificate.
+        :type not_before: date
+        """
+        if not_before is None:
+            raise ValueError("Invalid value for `not_before`, must not be `None`")  # noqa: E501
+
+        self._not_before = not_before
+
+    @property
+    def not_after(self) -> date:
+        """Gets the not_after of this Certificate.
+
+
+        :return: The not_after of this Certificate.
+        :rtype: date
+        """
+        return self._not_after
+
+    @not_after.setter
+    def not_after(self, not_after: date):
+        """Sets the not_after of this Certificate.
+
+
+        :param not_after: The not_after of this Certificate.
+        :type not_after: date
+        """
+        if not_after is None:
+            raise ValueError("Invalid value for `not_after`, must not be `None`")  # noqa: E501
+
+        self._not_after = not_after
+
+    @property
+    def usage(self) -> CAUsage:
+        """Gets the usage of this Certificate.
+
+
+        :return: The usage of this Certificate.
+        :rtype: CAUsage
+        """
+        return self._usage
+
+    @usage.setter
+    def usage(self, usage: CAUsage):
+        """Sets the usage of this Certificate.
+
+
+        :param usage: The usage of this Certificate.
+        :type usage: CAUsage
+        """
+        if usage is None:
+            raise ValueError("Invalid value for `usage`, must not be `None`")  # noqa: E501
+
+        self._usage = usage
+
+    @property
+    def ca(self) -> int:
+        """Gets the ca of this Certificate.
+
+        ID of the new item  # noqa: E501
+
+        :return: The ca of this Certificate.
+        :rtype: int
+        """
+        return self._ca
+
+    @ca.setter
+    def ca(self, ca: int):
+        """Sets the ca of this Certificate.
+
+        ID of the new item  # noqa: E501
+
+        :param ca: The ca of this Certificate.
+        :type ca: int
+        """
+
+        self._ca = ca
diff --git a/swagger_server/models/certificate_list_item.py b/swagger_server/models/certificate_list_item.py
new file mode 100644
index 0000000..6809f33
--- /dev/null
+++ b/swagger_server/models/certificate_list_item.py
@@ -0,0 +1,194 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server.models.ca_usage import CAUsage  # noqa: F401,E501
+from swagger_server.models.issuer_list_item import IssuerListItem  # noqa: F401,E501
+from swagger_server import util
+
+
+class CertificateListItem(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, id: int=None, cn: str=None, not_before: date=None, not_after: date=None, usage: CAUsage=None, issuer: IssuerListItem=None):  # noqa: E501
+        """CertificateListItem - a model defined in Swagger
+
+        :param id: The id of this CertificateListItem.  # noqa: E501
+        :type id: int
+        :param cn: The cn of this CertificateListItem.  # noqa: E501
+        :type cn: str
+        :param not_before: The not_before of this CertificateListItem.  # noqa: E501
+        :type not_before: date
+        :param not_after: The not_after of this CertificateListItem.  # noqa: E501
+        :type not_after: date
+        :param usage: The usage of this CertificateListItem.  # noqa: E501
+        :type usage: CAUsage
+        :param issuer: The issuer of this CertificateListItem.  # noqa: E501
+        :type issuer: IssuerListItem
+        """
+        self.swagger_types = {
+            'id': int,
+            'cn': str,
+            'not_before': date,
+            'not_after': date,
+            'usage': CAUsage,
+            'issuer': IssuerListItem
+        }
+
+        self.attribute_map = {
+            'id': 'id',
+            'cn': 'CN',
+            'not_before': 'notBefore',
+            'not_after': 'notAfter',
+            'usage': 'usage',
+            'issuer': 'issuer'
+        }
+        self._id = id
+        self._cn = cn
+        self._not_before = not_before
+        self._not_after = not_after
+        self._usage = usage
+        self._issuer = issuer
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'CertificateListItem':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The CertificateListItem of this CertificateListItem.  # noqa: E501
+        :rtype: CertificateListItem
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def id(self) -> int:
+        """Gets the id of this CertificateListItem.
+
+
+        :return: The id of this CertificateListItem.
+        :rtype: int
+        """
+        return self._id
+
+    @id.setter
+    def id(self, id: int):
+        """Sets the id of this CertificateListItem.
+
+
+        :param id: The id of this CertificateListItem.
+        :type id: int
+        """
+
+        self._id = id
+
+    @property
+    def cn(self) -> str:
+        """Gets the cn of this CertificateListItem.
+
+
+        :return: The cn of this CertificateListItem.
+        :rtype: str
+        """
+        return self._cn
+
+    @cn.setter
+    def cn(self, cn: str):
+        """Sets the cn of this CertificateListItem.
+
+
+        :param cn: The cn of this CertificateListItem.
+        :type cn: str
+        """
+
+        self._cn = cn
+
+    @property
+    def not_before(self) -> date:
+        """Gets the not_before of this CertificateListItem.
+
+
+        :return: The not_before of this CertificateListItem.
+        :rtype: date
+        """
+        return self._not_before
+
+    @not_before.setter
+    def not_before(self, not_before: date):
+        """Sets the not_before of this CertificateListItem.
+
+
+        :param not_before: The not_before of this CertificateListItem.
+        :type not_before: date
+        """
+
+        self._not_before = not_before
+
+    @property
+    def not_after(self) -> date:
+        """Gets the not_after of this CertificateListItem.
+
+
+        :return: The not_after of this CertificateListItem.
+        :rtype: date
+        """
+        return self._not_after
+
+    @not_after.setter
+    def not_after(self, not_after: date):
+        """Sets the not_after of this CertificateListItem.
+
+
+        :param not_after: The not_after of this CertificateListItem.
+        :type not_after: date
+        """
+
+        self._not_after = not_after
+
+    @property
+    def usage(self) -> CAUsage:
+        """Gets the usage of this CertificateListItem.
+
+
+        :return: The usage of this CertificateListItem.
+        :rtype: CAUsage
+        """
+        return self._usage
+
+    @usage.setter
+    def usage(self, usage: CAUsage):
+        """Sets the usage of this CertificateListItem.
+
+
+        :param usage: The usage of this CertificateListItem.
+        :type usage: CAUsage
+        """
+
+        self._usage = usage
+
+    @property
+    def issuer(self) -> IssuerListItem:
+        """Gets the issuer of this CertificateListItem.
+
+
+        :return: The issuer of this CertificateListItem.
+        :rtype: IssuerListItem
+        """
+        return self._issuer
+
+    @issuer.setter
+    def issuer(self, issuer: IssuerListItem):
+        """Sets the issuer of this CertificateListItem.
+
+
+        :param issuer: The issuer of this CertificateListItem.
+        :type issuer: IssuerListItem
+        """
+
+        self._issuer = issuer
diff --git a/swagger_server/models/certificate_list_response.py b/swagger_server/models/certificate_list_response.py
new file mode 100644
index 0000000..cc0ac63
--- /dev/null
+++ b/swagger_server/models/certificate_list_response.py
@@ -0,0 +1,89 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server.models.certificate_list_item import CertificateListItem  # noqa: F401,E501
+from swagger_server import util
+
+
+class CertificateListResponse(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, success: bool=None, data: List[CertificateListItem]=None):  # noqa: E501
+        """CertificateListResponse - a model defined in Swagger
+
+        :param success: The success of this CertificateListResponse.  # noqa: E501
+        :type success: bool
+        :param data: The data of this CertificateListResponse.  # noqa: E501
+        :type data: List[CertificateListItem]
+        """
+        self.swagger_types = {
+            'success': bool,
+            'data': List[CertificateListItem]
+        }
+
+        self.attribute_map = {
+            'success': 'success',
+            'data': 'data'
+        }
+        self._success = success
+        self._data = data
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'CertificateListResponse':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The CertificateListResponse of this CertificateListResponse.  # noqa: E501
+        :rtype: CertificateListResponse
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def success(self) -> bool:
+        """Gets the success of this CertificateListResponse.
+
+
+        :return: The success of this CertificateListResponse.
+        :rtype: bool
+        """
+        return self._success
+
+    @success.setter
+    def success(self, success: bool):
+        """Sets the success of this CertificateListResponse.
+
+
+        :param success: The success of this CertificateListResponse.
+        :type success: bool
+        """
+
+        self._success = success
+
+    @property
+    def data(self) -> List[CertificateListItem]:
+        """Gets the data of this CertificateListResponse.
+
+
+        :return: The data of this CertificateListResponse.
+        :rtype: List[CertificateListItem]
+        """
+        return self._data
+
+    @data.setter
+    def data(self, data: List[CertificateListItem]):
+        """Sets the data of this CertificateListResponse.
+
+
+        :param data: The data of this CertificateListResponse.
+        :type data: List[CertificateListItem]
+        """
+
+        self._data = data
diff --git a/swagger_server/models/certificate_request.py b/swagger_server/models/certificate_request.py
new file mode 100644
index 0000000..698826e
--- /dev/null
+++ b/swagger_server/models/certificate_request.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server.models.ca_usage import CAUsage  # noqa: F401,E501
+from swagger_server.models.subject import Subject  # noqa: F401,E501
+from swagger_server import util
+
+
+class CertificateRequest(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, subject: Subject=None, validity_days: int=None, usage: CAUsage=None, ca: int=None):  # noqa: E501
+        """CertificateRequest - a model defined in Swagger
+
+        :param subject: The subject of this CertificateRequest.  # noqa: E501
+        :type subject: Subject
+        :param validity_days: The validity_days of this CertificateRequest.  # noqa: E501
+        :type validity_days: int
+        :param usage: The usage of this CertificateRequest.  # noqa: E501
+        :type usage: CAUsage
+        :param ca: The ca of this CertificateRequest.  # noqa: E501
+        :type ca: int
+        """
+        self.swagger_types = {
+            'subject': Subject,
+            'validity_days': int,
+            'usage': CAUsage,
+            'ca': int
+        }
+
+        self.attribute_map = {
+            'subject': 'subject',
+            'validity_days': 'validityDays',
+            'usage': 'usage',
+            'ca': 'CA'
+        }
+        self._subject = subject
+        self._validity_days = validity_days
+        self._usage = usage
+        self._ca = ca
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'CertificateRequest':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The CertificateRequest of this CertificateRequest.  # noqa: E501
+        :rtype: CertificateRequest
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def subject(self) -> Subject:
+        """Gets the subject of this CertificateRequest.
+
+
+        :return: The subject of this CertificateRequest.
+        :rtype: Subject
+        """
+        return self._subject
+
+    @subject.setter
+    def subject(self, subject: Subject):
+        """Sets the subject of this CertificateRequest.
+
+
+        :param subject: The subject of this CertificateRequest.
+        :type subject: Subject
+        """
+        if subject is None:
+            raise ValueError("Invalid value for `subject`, must not be `None`")  # noqa: E501
+
+        self._subject = subject
+
+    @property
+    def validity_days(self) -> int:
+        """Gets the validity_days of this CertificateRequest.
+
+
+        :return: The validity_days of this CertificateRequest.
+        :rtype: int
+        """
+        return self._validity_days
+
+    @validity_days.setter
+    def validity_days(self, validity_days: int):
+        """Sets the validity_days of this CertificateRequest.
+
+
+        :param validity_days: The validity_days of this CertificateRequest.
+        :type validity_days: int
+        """
+        if validity_days is None:
+            raise ValueError("Invalid value for `validity_days`, must not be `None`")  # noqa: E501
+
+        self._validity_days = validity_days
+
+    @property
+    def usage(self) -> CAUsage:
+        """Gets the usage of this CertificateRequest.
+
+
+        :return: The usage of this CertificateRequest.
+        :rtype: CAUsage
+        """
+        return self._usage
+
+    @usage.setter
+    def usage(self, usage: CAUsage):
+        """Sets the usage of this CertificateRequest.
+
+
+        :param usage: The usage of this CertificateRequest.
+        :type usage: CAUsage
+        """
+        if usage is None:
+            raise ValueError("Invalid value for `usage`, must not be `None`")  # noqa: E501
+
+        self._usage = usage
+
+    @property
+    def ca(self) -> int:
+        """Gets the ca of this CertificateRequest.
+
+        ID of the new item  # noqa: E501
+
+        :return: The ca of this CertificateRequest.
+        :rtype: int
+        """
+        return self._ca
+
+    @ca.setter
+    def ca(self, ca: int):
+        """Sets the ca of this CertificateRequest.
+
+        ID of the new item  # noqa: E501
+
+        :param ca: The ca of this CertificateRequest.
+        :type ca: int
+        """
+
+        self._ca = ca
diff --git a/swagger_server/models/certificate_response.py b/swagger_server/models/certificate_response.py
new file mode 100644
index 0000000..f3bd63f
--- /dev/null
+++ b/swagger_server/models/certificate_response.py
@@ -0,0 +1,93 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server.models.certificate import Certificate  # noqa: F401,E501
+from swagger_server import util
+
+
+class CertificateResponse(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, success: bool=None, data: Certificate=None):  # noqa: E501
+        """CertificateResponse - a model defined in Swagger
+
+        :param success: The success of this CertificateResponse.  # noqa: E501
+        :type success: bool
+        :param data: The data of this CertificateResponse.  # noqa: E501
+        :type data: Certificate
+        """
+        self.swagger_types = {
+            'success': bool,
+            'data': Certificate
+        }
+
+        self.attribute_map = {
+            'success': 'success',
+            'data': 'data'
+        }
+        self._success = success
+        self._data = data
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'CertificateResponse':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The CertificateResponse of this CertificateResponse.  # noqa: E501
+        :rtype: CertificateResponse
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def success(self) -> bool:
+        """Gets the success of this CertificateResponse.
+
+
+        :return: The success of this CertificateResponse.
+        :rtype: bool
+        """
+        return self._success
+
+    @success.setter
+    def success(self, success: bool):
+        """Sets the success of this CertificateResponse.
+
+
+        :param success: The success of this CertificateResponse.
+        :type success: bool
+        """
+        if success is None:
+            raise ValueError("Invalid value for `success`, must not be `None`")  # noqa: E501
+
+        self._success = success
+
+    @property
+    def data(self) -> Certificate:
+        """Gets the data of this CertificateResponse.
+
+
+        :return: The data of this CertificateResponse.
+        :rtype: Certificate
+        """
+        return self._data
+
+    @data.setter
+    def data(self, data: Certificate):
+        """Sets the data of this CertificateResponse.
+
+
+        :param data: The data of this CertificateResponse.
+        :type data: Certificate
+        """
+        if data is None:
+            raise ValueError("Invalid value for `data`, must not be `None`")  # noqa: E501
+
+        self._data = data
diff --git a/swagger_server/models/created_response.py b/swagger_server/models/created_response.py
new file mode 100644
index 0000000..9f079a7
--- /dev/null
+++ b/swagger_server/models/created_response.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class CreatedResponse(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, success: bool=None, data: int=None):  # noqa: E501
+        """CreatedResponse - a model defined in Swagger
+
+        :param success: The success of this CreatedResponse.  # noqa: E501
+        :type success: bool
+        :param data: The data of this CreatedResponse.  # noqa: E501
+        :type data: int
+        """
+        self.swagger_types = {
+            'success': bool,
+            'data': int
+        }
+
+        self.attribute_map = {
+            'success': 'success',
+            'data': 'data'
+        }
+        self._success = success
+        self._data = data
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'CreatedResponse':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The CreatedResponse of this CreatedResponse.  # noqa: E501
+        :rtype: CreatedResponse
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def success(self) -> bool:
+        """Gets the success of this CreatedResponse.
+
+
+        :return: The success of this CreatedResponse.
+        :rtype: bool
+        """
+        return self._success
+
+    @success.setter
+    def success(self, success: bool):
+        """Sets the success of this CreatedResponse.
+
+
+        :param success: The success of this CreatedResponse.
+        :type success: bool
+        """
+        if success is None:
+            raise ValueError("Invalid value for `success`, must not be `None`")  # noqa: E501
+
+        self._success = success
+
+    @property
+    def data(self) -> int:
+        """Gets the data of this CreatedResponse.
+
+
+        :return: The data of this CreatedResponse.
+        :rtype: int
+        """
+        return self._data
+
+    @data.setter
+    def data(self, data: int):
+        """Sets the data of this CreatedResponse.
+
+
+        :param data: The data of this CreatedResponse.
+        :type data: int
+        """
+        if data is None:
+            raise ValueError("Invalid value for `data`, must not be `None`")  # noqa: E501
+
+        self._data = data
diff --git a/swagger_server/models/error_response.py b/swagger_server/models/error_response.py
new file mode 100644
index 0000000..6d6bb9b
--- /dev/null
+++ b/swagger_server/models/error_response.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class ErrorResponse(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, success: bool=None, data: str=None):  # noqa: E501
+        """ErrorResponse - a model defined in Swagger
+
+        :param success: The success of this ErrorResponse.  # noqa: E501
+        :type success: bool
+        :param data: The data of this ErrorResponse.  # noqa: E501
+        :type data: str
+        """
+        self.swagger_types = {
+            'success': bool,
+            'data': str
+        }
+
+        self.attribute_map = {
+            'success': 'success',
+            'data': 'data'
+        }
+        self._success = success
+        self._data = data
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'ErrorResponse':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The ErrorResponse of this ErrorResponse.  # noqa: E501
+        :rtype: ErrorResponse
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def success(self) -> bool:
+        """Gets the success of this ErrorResponse.
+
+
+        :return: The success of this ErrorResponse.
+        :rtype: bool
+        """
+        return self._success
+
+    @success.setter
+    def success(self, success: bool):
+        """Sets the success of this ErrorResponse.
+
+
+        :param success: The success of this ErrorResponse.
+        :type success: bool
+        """
+        if success is None:
+            raise ValueError("Invalid value for `success`, must not be `None`")  # noqa: E501
+
+        self._success = success
+
+    @property
+    def data(self) -> str:
+        """Gets the data of this ErrorResponse.
+
+
+        :return: The data of this ErrorResponse.
+        :rtype: str
+        """
+        return self._data
+
+    @data.setter
+    def data(self, data: str):
+        """Sets the data of this ErrorResponse.
+
+
+        :param data: The data of this ErrorResponse.
+        :type data: str
+        """
+        if data is None:
+            raise ValueError("Invalid value for `data`, must not be `None`")  # noqa: E501
+
+        self._data = data
diff --git a/swagger_server/models/filtering.py b/swagger_server/models/filtering.py
new file mode 100644
index 0000000..6e718a0
--- /dev/null
+++ b/swagger_server/models/filtering.py
@@ -0,0 +1,62 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class Filtering(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, ca: bool=None):  # noqa: E501
+        """Filtering - a model defined in Swagger
+
+        :param ca: The ca of this Filtering.  # noqa: E501
+        :type ca: bool
+        """
+        self.swagger_types = {
+            'ca': bool
+        }
+
+        self.attribute_map = {
+            'ca': 'CA'
+        }
+        self._ca = ca
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'Filtering':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The Filtering of this Filtering.  # noqa: E501
+        :rtype: Filtering
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def ca(self) -> bool:
+        """Gets the ca of this Filtering.
+
+
+        :return: The ca of this Filtering.
+        :rtype: bool
+        """
+        return self._ca
+
+    @ca.setter
+    def ca(self, ca: bool):
+        """Sets the ca of this Filtering.
+
+
+        :param ca: The ca of this Filtering.
+        :type ca: bool
+        """
+
+        self._ca = ca
diff --git a/swagger_server/models/id_parameter.py b/swagger_server/models/id_parameter.py
new file mode 100644
index 0000000..8f94801
--- /dev/null
+++ b/swagger_server/models/id_parameter.py
@@ -0,0 +1,64 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class IdParameter(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, id: int=None):  # noqa: E501
+        """IdParameter - a model defined in Swagger
+
+        :param id: The id of this IdParameter.  # noqa: E501
+        :type id: int
+        """
+        self.swagger_types = {
+            'id': int
+        }
+
+        self.attribute_map = {
+            'id': 'id'
+        }
+        self._id = id
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'IdParameter':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The IdParameter of this IdParameter.  # noqa: E501
+        :rtype: IdParameter
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def id(self) -> int:
+        """Gets the id of this IdParameter.
+
+
+        :return: The id of this IdParameter.
+        :rtype: int
+        """
+        return self._id
+
+    @id.setter
+    def id(self, id: int):
+        """Sets the id of this IdParameter.
+
+
+        :param id: The id of this IdParameter.
+        :type id: int
+        """
+        if id is None:
+            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
+
+        self._id = id
diff --git a/swagger_server/models/issuer_list_item.py b/swagger_server/models/issuer_list_item.py
new file mode 100644
index 0000000..8eed087
--- /dev/null
+++ b/swagger_server/models/issuer_list_item.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class IssuerListItem(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, id: int=None, cn: str=None):  # noqa: E501
+        """IssuerListItem - a model defined in Swagger
+
+        :param id: The id of this IssuerListItem.  # noqa: E501
+        :type id: int
+        :param cn: The cn of this IssuerListItem.  # noqa: E501
+        :type cn: str
+        """
+        self.swagger_types = {
+            'id': int,
+            'cn': str
+        }
+
+        self.attribute_map = {
+            'id': 'id',
+            'cn': 'CN'
+        }
+        self._id = id
+        self._cn = cn
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'IssuerListItem':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The IssuerListItem of this IssuerListItem.  # noqa: E501
+        :rtype: IssuerListItem
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def id(self) -> int:
+        """Gets the id of this IssuerListItem.
+
+
+        :return: The id of this IssuerListItem.
+        :rtype: int
+        """
+        return self._id
+
+    @id.setter
+    def id(self, id: int):
+        """Sets the id of this IssuerListItem.
+
+
+        :param id: The id of this IssuerListItem.
+        :type id: int
+        """
+        if id is None:
+            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501
+
+        self._id = id
+
+    @property
+    def cn(self) -> str:
+        """Gets the cn of this IssuerListItem.
+
+
+        :return: The cn of this IssuerListItem.
+        :rtype: str
+        """
+        return self._cn
+
+    @cn.setter
+    def cn(self, cn: str):
+        """Sets the cn of this IssuerListItem.
+
+
+        :param cn: The cn of this IssuerListItem.
+        :type cn: str
+        """
+        if cn is None:
+            raise ValueError("Invalid value for `cn`, must not be `None`")  # noqa: E501
+
+        self._cn = cn
diff --git a/swagger_server/models/pem_response.py b/swagger_server/models/pem_response.py
new file mode 100644
index 0000000..f9ed80b
--- /dev/null
+++ b/swagger_server/models/pem_response.py
@@ -0,0 +1,94 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class PemResponse(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, success: bool=None, data: str=None):  # noqa: E501
+        """PemResponse - a model defined in Swagger
+
+        :param success: The success of this PemResponse.  # noqa: E501
+        :type success: bool
+        :param data: The data of this PemResponse.  # noqa: E501
+        :type data: str
+        """
+        self.swagger_types = {
+            'success': bool,
+            'data': str
+        }
+
+        self.attribute_map = {
+            'success': 'success',
+            'data': 'data'
+        }
+        self._success = success
+        self._data = data
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'PemResponse':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The PemResponse of this PemResponse.  # noqa: E501
+        :rtype: PemResponse
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def success(self) -> bool:
+        """Gets the success of this PemResponse.
+
+
+        :return: The success of this PemResponse.
+        :rtype: bool
+        """
+        return self._success
+
+    @success.setter
+    def success(self, success: bool):
+        """Sets the success of this PemResponse.
+
+
+        :param success: The success of this PemResponse.
+        :type success: bool
+        """
+        if success is None:
+            raise ValueError("Invalid value for `success`, must not be `None`")  # noqa: E501
+
+        self._success = success
+
+    @property
+    def data(self) -> str:
+        """Gets the data of this PemResponse.
+
+        Single PEM file or concatenation of multiple PEM formatted certificates  # noqa: E501
+
+        :return: The data of this PemResponse.
+        :rtype: str
+        """
+        return self._data
+
+    @data.setter
+    def data(self, data: str):
+        """Sets the data of this PemResponse.
+
+        Single PEM file or concatenation of multiple PEM formatted certificates  # noqa: E501
+
+        :param data: The data of this PemResponse.
+        :type data: str
+        """
+        if data is None:
+            raise ValueError("Invalid value for `data`, must not be `None`")  # noqa: E501
+
+        self._data = data
diff --git a/swagger_server/models/subject.py b/swagger_server/models/subject.py
new file mode 100644
index 0000000..2866baa
--- /dev/null
+++ b/swagger_server/models/subject.py
@@ -0,0 +1,234 @@
+# coding: utf-8
+
+from __future__ import absolute_import
+from datetime import date, datetime  # noqa: F401
+
+from typing import List, Dict  # noqa: F401
+
+from swagger_server.models.base_model_ import Model
+from swagger_server import util
+
+
+class Subject(Model):
+    """NOTE: This class is auto generated by the swagger code generator program.
+
+    Do not edit the class manually.
+    """
+    def __init__(self, c: str=None, st: str=None, l: str=None, cn: str=None, o: str=None, ou: str=None, email_address: str=None):  # noqa: E501
+        """Subject - a model defined in Swagger
+
+        :param c: The c of this Subject.  # noqa: E501
+        :type c: str
+        :param st: The st of this Subject.  # noqa: E501
+        :type st: str
+        :param l: The l of this Subject.  # noqa: E501
+        :type l: str
+        :param cn: The cn of this Subject.  # noqa: E501
+        :type cn: str
+        :param o: The o of this Subject.  # noqa: E501
+        :type o: str
+        :param ou: The ou of this Subject.  # noqa: E501
+        :type ou: str
+        :param email_address: The email_address of this Subject.  # noqa: E501
+        :type email_address: str
+        """
+        self.swagger_types = {
+            'c': str,
+            'st': str,
+            'l': str,
+            'cn': str,
+            'o': str,
+            'ou': str,
+            'email_address': str
+        }
+
+        self.attribute_map = {
+            'c': 'C',
+            'st': 'ST',
+            'l': 'L',
+            'cn': 'CN',
+            'o': 'O',
+            'ou': 'OU',
+            'email_address': 'emailAddress'
+        }
+        self._c = c
+        self._st = st
+        self._l = l
+        self._cn = cn
+        self._o = o
+        self._ou = ou
+        self._email_address = email_address
+
+    @classmethod
+    def from_dict(cls, dikt) -> 'Subject':
+        """Returns the dict as a model
+
+        :param dikt: A dict.
+        :type: dict
+        :return: The Subject of this Subject.  # noqa: E501
+        :rtype: Subject
+        """
+        return util.deserialize_model(dikt, cls)
+
+    @property
+    def c(self) -> str:
+        """Gets the c of this Subject.
+
+        Country code  # noqa: E501
+
+        :return: The c of this Subject.
+        :rtype: str
+        """
+        return self._c
+
+    @c.setter
+    def c(self, c: str):
+        """Sets the c of this Subject.
+
+        Country code  # noqa: E501
+
+        :param c: The c of this Subject.
+        :type c: str
+        """
+
+        self._c = c
+
+    @property
+    def st(self) -> str:
+        """Gets the st of this Subject.
+
+        State/Province  # noqa: E501
+
+        :return: The st of this Subject.
+        :rtype: str
+        """
+        return self._st
+
+    @st.setter
+    def st(self, st: str):
+        """Sets the st of this Subject.
+
+        State/Province  # noqa: E501
+
+        :param st: The st of this Subject.
+        :type st: str
+        """
+
+        self._st = st
+
+    @property
+    def l(self) -> str:
+        """Gets the l of this Subject.
+
+        Locality  # noqa: E501
+
+        :return: The l of this Subject.
+        :rtype: str
+        """
+        return self._l
+
+    @l.setter
+    def l(self, l: str):
+        """Sets the l of this Subject.
+
+        Locality  # noqa: E501
+
+        :param l: The l of this Subject.
+        :type l: str
+        """
+
+        self._l = l
+
+    @property
+    def cn(self) -> str:
+        """Gets the cn of this Subject.
+
+        Common name  # noqa: E501
+
+        :return: The cn of this Subject.
+        :rtype: str
+        """
+        return self._cn
+
+    @cn.setter
+    def cn(self, cn: str):
+        """Sets the cn of this Subject.
+
+        Common name  # noqa: E501
+
+        :param cn: The cn of this Subject.
+        :type cn: str
+        """
+        if cn is None:
+            raise ValueError("Invalid value for `cn`, must not be `None`")  # noqa: E501
+
+        self._cn = cn
+
+    @property
+    def o(self) -> str:
+        """Gets the o of this Subject.
+
+        Organization  # noqa: E501
+
+        :return: The o of this Subject.
+        :rtype: str
+        """
+        return self._o
+
+    @o.setter
+    def o(self, o: str):
+        """Sets the o of this Subject.
+
+        Organization  # noqa: E501
+
+        :param o: The o of this Subject.
+        :type o: str
+        """
+
+        self._o = o
+
+    @property
+    def ou(self) -> str:
+        """Gets the ou of this Subject.
+
+        Organization Unit  # noqa: E501
+
+        :return: The ou of this Subject.
+        :rtype: str
+        """
+        return self._ou
+
+    @ou.setter
+    def ou(self, ou: str):
+        """Sets the ou of this Subject.
+
+        Organization Unit  # noqa: E501
+
+        :param ou: The ou of this Subject.
+        :type ou: str
+        """
+
+        self._ou = ou
+
+    @property
+    def email_address(self) -> str:
+        """Gets the email_address of this Subject.
+
+        Email Address  # noqa: E501
+
+        :return: The email_address of this Subject.
+        :rtype: str
+        """
+        return self._email_address
+
+    @email_address.setter
+    def email_address(self, email_address: str):
+        """Sets the email_address of this Subject.
+
+        Email Address  # noqa: E501
+
+        :param email_address: The email_address of this Subject.
+        :type email_address: str
+        """
+
+        self._email_address = email_address
