# coding: utf-8

"""
    Voyager

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)

    OpenAPI spec version: v7.1.1
    Contact: <EMAIL>
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


from pprint import pformat
from six import iteritems
import re


class V1beta1CertificateSpec(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """


    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'acme_staging_url': 'str',
        'acme_user_secret_name': 'str',
        'challenge_provider': 'V1beta1ChallengeProvider',
        'domains': 'list[str]',
        'email': 'str',
        'http_provider_ingress_reference': 'V1beta1LocalTypedReference',
        'paused': 'bool',
        'provider': 'str',
        'provider_credential_secret_name': 'str',
        'storage': 'V1beta1CertificateStorage'
    }

    attribute_map = {
        'acme_staging_url': 'acmeStagingURL',
        'acme_user_secret_name': 'acmeUserSecretName',
        'challenge_provider': 'challengeProvider',
        'domains': 'domains',
        'email': 'email',
        'http_provider_ingress_reference': 'httpProviderIngressReference',
        'paused': 'paused',
        'provider': 'provider',
        'provider_credential_secret_name': 'providerCredentialSecretName',
        'storage': 'storage'
    }

    def __init__(self, acme_staging_url=None, acme_user_secret_name=None, challenge_provider=None, domains=None, email=None, http_provider_ingress_reference=None, paused=None, provider=None, provider_credential_secret_name=None, storage=None):
        """
        V1beta1CertificateSpec - a model defined in Swagger
        """

        self._acme_staging_url = None
        self._acme_user_secret_name = None
        self._challenge_provider = None
        self._domains = None
        self._email = None
        self._http_provider_ingress_reference = None
        self._paused = None
        self._provider = None
        self._provider_credential_secret_name = None
        self._storage = None
        self.discriminator = None

        if acme_staging_url is not None:
          self.acme_staging_url = acme_staging_url
        self.acme_user_secret_name = acme_user_secret_name
        self.challenge_provider = challenge_provider
        if domains is not None:
          self.domains = domains
        if email is not None:
          self.email = email
        if http_provider_ingress_reference is not None:
          self.http_provider_ingress_reference = http_provider_ingress_reference
        if paused is not None:
          self.paused = paused
        if provider is not None:
          self.provider = provider
        if provider_credential_secret_name is not None:
          self.provider_credential_secret_name = provider_credential_secret_name
        if storage is not None:
          self.storage = storage

    @property
    def acme_staging_url(self):
        """
        Gets the acme_staging_url of this V1beta1CertificateSpec.
        ACME server that will be used to obtain this certificate. Deprecated

        :return: The acme_staging_url of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._acme_staging_url

    @acme_staging_url.setter
    def acme_staging_url(self, acme_staging_url):
        """
        Sets the acme_staging_url of this V1beta1CertificateSpec.
        ACME server that will be used to obtain this certificate. Deprecated

        :param acme_staging_url: The acme_staging_url of this V1beta1CertificateSpec.
        :type: str
        """

        self._acme_staging_url = acme_staging_url

    @property
    def acme_user_secret_name(self):
        """
        Gets the acme_user_secret_name of this V1beta1CertificateSpec.
        Secret contains ACMEUser information. Secret must contain a key `email` If empty tries to find an Secret via domains if not found create an ACMEUser and stores as a secret. Secrets key to be expected:  ACME_EMAIL -> required, if not provided it will through error.  ACME_SERVER_URL -> custom server url to generate certificates, default is lets encrypt.  ACME_USER_DATA -> user data, if not found one will be created for the provided email,    and stored in the key.

        :return: The acme_user_secret_name of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._acme_user_secret_name

    @acme_user_secret_name.setter
    def acme_user_secret_name(self, acme_user_secret_name):
        """
        Sets the acme_user_secret_name of this V1beta1CertificateSpec.
        Secret contains ACMEUser information. Secret must contain a key `email` If empty tries to find an Secret via domains if not found create an ACMEUser and stores as a secret. Secrets key to be expected:  ACME_EMAIL -> required, if not provided it will through error.  ACME_SERVER_URL -> custom server url to generate certificates, default is lets encrypt.  ACME_USER_DATA -> user data, if not found one will be created for the provided email,    and stored in the key.

        :param acme_user_secret_name: The acme_user_secret_name of this V1beta1CertificateSpec.
        :type: str
        """
        if acme_user_secret_name is None:
            raise ValueError("Invalid value for `acme_user_secret_name`, must not be `None`")

        self._acme_user_secret_name = acme_user_secret_name

    @property
    def challenge_provider(self):
        """
        Gets the challenge_provider of this V1beta1CertificateSpec.
        ChallengeProvider details to verify domains

        :return: The challenge_provider of this V1beta1CertificateSpec.
        :rtype: V1beta1ChallengeProvider
        """
        return self._challenge_provider

    @challenge_provider.setter
    def challenge_provider(self, challenge_provider):
        """
        Sets the challenge_provider of this V1beta1CertificateSpec.
        ChallengeProvider details to verify domains

        :param challenge_provider: The challenge_provider of this V1beta1CertificateSpec.
        :type: V1beta1ChallengeProvider
        """
        if challenge_provider is None:
            raise ValueError("Invalid value for `challenge_provider`, must not be `None`")

        self._challenge_provider = challenge_provider

    @property
    def domains(self):
        """
        Gets the domains of this V1beta1CertificateSpec.
        Tries to obtain a single certificate using all domains passed into Domains. The first domain in domains is used for the CommonName field of the certificate, all other domains are added using the Subject Alternate Names extension.

        :return: The domains of this V1beta1CertificateSpec.
        :rtype: list[str]
        """
        return self._domains

    @domains.setter
    def domains(self, domains):
        """
        Sets the domains of this V1beta1CertificateSpec.
        Tries to obtain a single certificate using all domains passed into Domains. The first domain in domains is used for the CommonName field of the certificate, all other domains are added using the Subject Alternate Names extension.

        :param domains: The domains of this V1beta1CertificateSpec.
        :type: list[str]
        """

        self._domains = domains

    @property
    def email(self):
        """
        Gets the email of this V1beta1CertificateSpec.
        Deprecated

        :return: The email of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._email

    @email.setter
    def email(self, email):
        """
        Sets the email of this V1beta1CertificateSpec.
        Deprecated

        :param email: The email of this V1beta1CertificateSpec.
        :type: str
        """

        self._email = email

    @property
    def http_provider_ingress_reference(self):
        """
        Gets the http_provider_ingress_reference of this V1beta1CertificateSpec.
        This is the ingress Reference that will be used if provider is http Deprecated

        :return: The http_provider_ingress_reference of this V1beta1CertificateSpec.
        :rtype: V1beta1LocalTypedReference
        """
        return self._http_provider_ingress_reference

    @http_provider_ingress_reference.setter
    def http_provider_ingress_reference(self, http_provider_ingress_reference):
        """
        Sets the http_provider_ingress_reference of this V1beta1CertificateSpec.
        This is the ingress Reference that will be used if provider is http Deprecated

        :param http_provider_ingress_reference: The http_provider_ingress_reference of this V1beta1CertificateSpec.
        :type: V1beta1LocalTypedReference
        """

        self._http_provider_ingress_reference = http_provider_ingress_reference

    @property
    def paused(self):
        """
        Gets the paused of this V1beta1CertificateSpec.
        Indicates that the certificate is paused.

        :return: The paused of this V1beta1CertificateSpec.
        :rtype: bool
        """
        return self._paused

    @paused.setter
    def paused(self, paused):
        """
        Sets the paused of this V1beta1CertificateSpec.
        Indicates that the certificate is paused.

        :param paused: The paused of this V1beta1CertificateSpec.
        :type: bool
        """

        self._paused = paused

    @property
    def provider(self):
        """
        Gets the provider of this V1beta1CertificateSpec.
        Following fields are deprecated and will removed in future version. https://github.com/appscode/voyager/pull/506 Deprecated. DNS Provider.

        :return: The provider of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._provider

    @provider.setter
    def provider(self, provider):
        """
        Sets the provider of this V1beta1CertificateSpec.
        Following fields are deprecated and will removed in future version. https://github.com/appscode/voyager/pull/506 Deprecated. DNS Provider.

        :param provider: The provider of this V1beta1CertificateSpec.
        :type: str
        """

        self._provider = provider

    @property
    def provider_credential_secret_name(self):
        """
        Gets the provider_credential_secret_name of this V1beta1CertificateSpec.
        ProviderCredentialSecretName is used to create the acme client, that will do needed processing in DNS. Deprecated

        :return: The provider_credential_secret_name of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._provider_credential_secret_name

    @provider_credential_secret_name.setter
    def provider_credential_secret_name(self, provider_credential_secret_name):
        """
        Sets the provider_credential_secret_name of this V1beta1CertificateSpec.
        ProviderCredentialSecretName is used to create the acme client, that will do needed processing in DNS. Deprecated

        :param provider_credential_secret_name: The provider_credential_secret_name of this V1beta1CertificateSpec.
        :type: str
        """

        self._provider_credential_secret_name = provider_credential_secret_name

    @property
    def storage(self):
        """
        Gets the storage of this V1beta1CertificateSpec.
        Storage backend to store the certificates currently, kubernetes secret and vault.

        :return: The storage of this V1beta1CertificateSpec.
        :rtype: V1beta1CertificateStorage
        """
        return self._storage

    @storage.setter
    def storage(self, storage):
        """
        Sets the storage of this V1beta1CertificateSpec.
        Storage backend to store the certificates currently, kubernetes secret and vault.

        :param storage: The storage of this V1beta1CertificateSpec.
        :type: V1beta1CertificateStorage
        """

        self._storage = storage

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}

        for attr, _ in 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
        """
        return 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
        """
        if not isinstance(other, V1beta1CertificateSpec):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """
        Returns true if both objects are not equal
        """
        return not self == other

# coding: utf-8

"""
    Voyager

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)

    OpenAPI spec version: v7.1.1
    Contact: <EMAIL>
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


from pprint import pformat
from six import iteritems
import re


class V1beta1CertificateSpec(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """


    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'acme_staging_url': 'str',
        'acme_user_secret_name': 'str',
        'challenge_provider': 'V1beta1ChallengeProvider',
        'domains': 'list[str]',
        'email': 'str',
        'http_provider_ingress_reference': 'V1beta1LocalTypedReference',
        'paused': 'bool',
        'provider': 'str',
        'provider_credential_secret_name': 'str',
        'storage': 'V1beta1CertificateStorage'
    }

    attribute_map = {
        'acme_staging_url': 'acmeStagingURL',
        'acme_user_secret_name': 'acmeUserSecretName',
        'challenge_provider': 'challengeProvider',
        'domains': 'domains',
        'email': 'email',
        'http_provider_ingress_reference': 'httpProviderIngressReference',
        'paused': 'paused',
        'provider': 'provider',
        'provider_credential_secret_name': 'providerCredentialSecretName',
        'storage': 'storage'
    }

    def __init__(self, acme_staging_url=None, acme_user_secret_name=None, challenge_provider=None, domains=None, email=None, http_provider_ingress_reference=None, paused=None, provider=None, provider_credential_secret_name=None, storage=None):
        """
        V1beta1CertificateSpec - a model defined in Swagger
        """

        self._acme_staging_url = None
        self._acme_user_secret_name = None
        self._challenge_provider = None
        self._domains = None
        self._email = None
        self._http_provider_ingress_reference = None
        self._paused = None
        self._provider = None
        self._provider_credential_secret_name = None
        self._storage = None
        self.discriminator = None

        if acme_staging_url is not None:
          self.acme_staging_url = acme_staging_url
        self.acme_user_secret_name = acme_user_secret_name
        self.challenge_provider = challenge_provider
        if domains is not None:
          self.domains = domains
        if email is not None:
          self.email = email
        if http_provider_ingress_reference is not None:
          self.http_provider_ingress_reference = http_provider_ingress_reference
        if paused is not None:
          self.paused = paused
        if provider is not None:
          self.provider = provider
        if provider_credential_secret_name is not None:
          self.provider_credential_secret_name = provider_credential_secret_name
        if storage is not None:
          self.storage = storage

    @property
    def acme_staging_url(self):
        """
        Gets the acme_staging_url of this V1beta1CertificateSpec.
        ACME server that will be used to obtain this certificate. Deprecated

        :return: The acme_staging_url of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._acme_staging_url

    @acme_staging_url.setter
    def acme_staging_url(self, acme_staging_url):
        """
        Sets the acme_staging_url of this V1beta1CertificateSpec.
        ACME server that will be used to obtain this certificate. Deprecated

        :param acme_staging_url: The acme_staging_url of this V1beta1CertificateSpec.
        :type: str
        """

        self._acme_staging_url = acme_staging_url

    @property
    def acme_user_secret_name(self):
        """
        Gets the acme_user_secret_name of this V1beta1CertificateSpec.
        Secret contains ACMEUser information. Secret must contain a key `email` If empty tries to find an Secret via domains if not found create an ACMEUser and stores as a secret. Secrets key to be expected:  ACME_EMAIL -> required, if not provided it will through error.  ACME_SERVER_URL -> custom server url to generate certificates, default is lets encrypt.  ACME_USER_DATA -> user data, if not found one will be created for the provided email,    and stored in the key.

        :return: The acme_user_secret_name of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._acme_user_secret_name

    @acme_user_secret_name.setter
    def acme_user_secret_name(self, acme_user_secret_name):
        """
        Sets the acme_user_secret_name of this V1beta1CertificateSpec.
        Secret contains ACMEUser information. Secret must contain a key `email` If empty tries to find an Secret via domains if not found create an ACMEUser and stores as a secret. Secrets key to be expected:  ACME_EMAIL -> required, if not provided it will through error.  ACME_SERVER_URL -> custom server url to generate certificates, default is lets encrypt.  ACME_USER_DATA -> user data, if not found one will be created for the provided email,    and stored in the key.

        :param acme_user_secret_name: The acme_user_secret_name of this V1beta1CertificateSpec.
        :type: str
        """
        if acme_user_secret_name is None:
            raise ValueError("Invalid value for `acme_user_secret_name`, must not be `None`")

        self._acme_user_secret_name = acme_user_secret_name

    @property
    def challenge_provider(self):
        """
        Gets the challenge_provider of this V1beta1CertificateSpec.
        ChallengeProvider details to verify domains

        :return: The challenge_provider of this V1beta1CertificateSpec.
        :rtype: V1beta1ChallengeProvider
        """
        return self._challenge_provider

    @challenge_provider.setter
    def challenge_provider(self, challenge_provider):
        """
        Sets the challenge_provider of this V1beta1CertificateSpec.
        ChallengeProvider details to verify domains

        :param challenge_provider: The challenge_provider of this V1beta1CertificateSpec.
        :type: V1beta1ChallengeProvider
        """
        if challenge_provider is None:
            raise ValueError("Invalid value for `challenge_provider`, must not be `None`")

        self._challenge_provider = challenge_provider

    @property
    def domains(self):
        """
        Gets the domains of this V1beta1CertificateSpec.
        Tries to obtain a single certificate using all domains passed into Domains. The first domain in domains is used for the CommonName field of the certificate, all other domains are added using the Subject Alternate Names extension.

        :return: The domains of this V1beta1CertificateSpec.
        :rtype: list[str]
        """
        return self._domains

    @domains.setter
    def domains(self, domains):
        """
        Sets the domains of this V1beta1CertificateSpec.
        Tries to obtain a single certificate using all domains passed into Domains. The first domain in domains is used for the CommonName field of the certificate, all other domains are added using the Subject Alternate Names extension.

        :param domains: The domains of this V1beta1CertificateSpec.
        :type: list[str]
        """

        self._domains = domains

    @property
    def email(self):
        """
        Gets the email of this V1beta1CertificateSpec.
        Deprecated

        :return: The email of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._email

    @email.setter
    def email(self, email):
        """
        Sets the email of this V1beta1CertificateSpec.
        Deprecated

        :param email: The email of this V1beta1CertificateSpec.
        :type: str
        """

        self._email = email

    @property
    def http_provider_ingress_reference(self):
        """
        Gets the http_provider_ingress_reference of this V1beta1CertificateSpec.
        This is the ingress Reference that will be used if provider is http Deprecated

        :return: The http_provider_ingress_reference of this V1beta1CertificateSpec.
        :rtype: V1beta1LocalTypedReference
        """
        return self._http_provider_ingress_reference

    @http_provider_ingress_reference.setter
    def http_provider_ingress_reference(self, http_provider_ingress_reference):
        """
        Sets the http_provider_ingress_reference of this V1beta1CertificateSpec.
        This is the ingress Reference that will be used if provider is http Deprecated

        :param http_provider_ingress_reference: The http_provider_ingress_reference of this V1beta1CertificateSpec.
        :type: V1beta1LocalTypedReference
        """

        self._http_provider_ingress_reference = http_provider_ingress_reference

    @property
    def paused(self):
        """
        Gets the paused of this V1beta1CertificateSpec.
        Indicates that the certificate is paused.

        :return: The paused of this V1beta1CertificateSpec.
        :rtype: bool
        """
        return self._paused

    @paused.setter
    def paused(self, paused):
        """
        Sets the paused of this V1beta1CertificateSpec.
        Indicates that the certificate is paused.

        :param paused: The paused of this V1beta1CertificateSpec.
        :type: bool
        """

        self._paused = paused

    @property
    def provider(self):
        """
        Gets the provider of this V1beta1CertificateSpec.
        Following fields are deprecated and will removed in future version. https://github.com/appscode/voyager/pull/506 Deprecated. DNS Provider.

        :return: The provider of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._provider

    @provider.setter
    def provider(self, provider):
        """
        Sets the provider of this V1beta1CertificateSpec.
        Following fields are deprecated and will removed in future version. https://github.com/appscode/voyager/pull/506 Deprecated. DNS Provider.

        :param provider: The provider of this V1beta1CertificateSpec.
        :type: str
        """

        self._provider = provider

    @property
    def provider_credential_secret_name(self):
        """
        Gets the provider_credential_secret_name of this V1beta1CertificateSpec.
        ProviderCredentialSecretName is used to create the acme client, that will do needed processing in DNS. Deprecated

        :return: The provider_credential_secret_name of this V1beta1CertificateSpec.
        :rtype: str
        """
        return self._provider_credential_secret_name

    @provider_credential_secret_name.setter
    def provider_credential_secret_name(self, provider_credential_secret_name):
        """
        Sets the provider_credential_secret_name of this V1beta1CertificateSpec.
        ProviderCredentialSecretName is used to create the acme client, that will do needed processing in DNS. Deprecated

        :param provider_credential_secret_name: The provider_credential_secret_name of this V1beta1CertificateSpec.
        :type: str
        """

        self._provider_credential_secret_name = provider_credential_secret_name

    @property
    def storage(self):
        """
        Gets the storage of this V1beta1CertificateSpec.
        Storage backend to store the certificates currently, kubernetes secret and vault.

        :return: The storage of this V1beta1CertificateSpec.
        :rtype: V1beta1CertificateStorage
        """
        return self._storage

    @storage.setter
    def storage(self, storage):
        """
        Sets the storage of this V1beta1CertificateSpec.
        Storage backend to store the certificates currently, kubernetes secret and vault.

        :param storage: The storage of this V1beta1CertificateSpec.
        :type: V1beta1CertificateStorage
        """

        self._storage = storage

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}

        for attr, _ in 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
        """
        return 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
        """
        if not isinstance(other, V1beta1CertificateSpec):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """
        Returns true if both objects are not equal
        """
        return not self == other

# coding: utf-8 Voyager      No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)      OpenAPI spec version: v7.1.1     Contact: <EMAIL>     Generated by: https://github.com/swagger-api/swagger-codegen.git NOTE: This class is auto generated by the swagger code generator program.     Do not edit the class manually. Attributes:       swagger_types (dict): The key is attribute name                             and the value is attribute type.       attribute_map (dict): The key is attribute name                             and the value is json key in definition. V1beta1CertificateSpec - a model defined in Swagger Gets the acme_staging_url of this V1beta1CertificateSpec.         ACME server that will be used to obtain this certificate. Deprecated          :return: The acme_staging_url of this V1beta1CertificateSpec.         :rtype: str Sets the acme_staging_url of this V1beta1CertificateSpec.         ACME server that will be used to obtain this certificate. Deprecated          :param acme_staging_url: The acme_staging_url of this V1beta1CertificateSpec.         :type: str Gets the acme_user_secret_name of this V1beta1CertificateSpec.         Secret contains ACMEUser information. Secret must contain a key `email` If empty tries to find an Secret via domains if not found create an ACMEUser and stores as a secret. Secrets key to be expected:  ACME_EMAIL -> required, if not provided it will through error.  ACME_SERVER_URL -> custom server url to generate certificates, default is lets encrypt.  ACME_USER_DATA -> user data, if not found one will be created for the provided email,    and stored in the key.          :return: The acme_user_secret_name of this V1beta1CertificateSpec.         :rtype: str Sets the acme_user_secret_name of this V1beta1CertificateSpec.         Secret contains ACMEUser information. Secret must contain a key `email` If empty tries to find an Secret via domains if not found create an ACMEUser and stores as a secret. Secrets key to be expected:  ACME_EMAIL -> required, if not provided it will through error.  ACME_SERVER_URL -> custom server url to generate certificates, default is lets encrypt.  ACME_USER_DATA -> user data, if not found one will be created for the provided email,    and stored in the key.          :param acme_user_secret_name: The acme_user_secret_name of this V1beta1CertificateSpec.         :type: str Gets the challenge_provider of this V1beta1CertificateSpec.         ChallengeProvider details to verify domains          :return: The challenge_provider of this V1beta1CertificateSpec.         :rtype: V1beta1ChallengeProvider Sets the challenge_provider of this V1beta1CertificateSpec.         ChallengeProvider details to verify domains          :param challenge_provider: The challenge_provider of this V1beta1CertificateSpec.         :type: V1beta1ChallengeProvider Gets the domains of this V1beta1CertificateSpec.         Tries to obtain a single certificate using all domains passed into Domains. The first domain in domains is used for the CommonName field of the certificate, all other domains are added using the Subject Alternate Names extension.          :return: The domains of this V1beta1CertificateSpec.         :rtype: list[str] Sets the domains of this V1beta1CertificateSpec.         Tries to obtain a single certificate using all domains passed into Domains. The first domain in domains is used for the CommonName field of the certificate, all other domains are added using the Subject Alternate Names extension.          :param domains: The domains of this V1beta1CertificateSpec.         :type: list[str] Gets the email of this V1beta1CertificateSpec.         Deprecated          :return: The email of this V1beta1CertificateSpec.         :rtype: str Sets the email of this V1beta1CertificateSpec.         Deprecated          :param email: The email of this V1beta1CertificateSpec.         :type: str Gets the http_provider_ingress_reference of this V1beta1CertificateSpec.         This is the ingress Reference that will be used if provider is http Deprecated          :return: The http_provider_ingress_reference of this V1beta1CertificateSpec.         :rtype: V1beta1LocalTypedReference Sets the http_provider_ingress_reference of this V1beta1CertificateSpec.         This is the ingress Reference that will be used if provider is http Deprecated          :param http_provider_ingress_reference: The http_provider_ingress_reference of this V1beta1CertificateSpec.         :type: V1beta1LocalTypedReference Gets the paused of this V1beta1CertificateSpec.         Indicates that the certificate is paused.          :return: The paused of this V1beta1CertificateSpec.         :rtype: bool Sets the paused of this V1beta1CertificateSpec.         Indicates that the certificate is paused.          :param paused: The paused of this V1beta1CertificateSpec.         :type: bool Gets the provider of this V1beta1CertificateSpec.         Following fields are deprecated and will removed in future version. https://github.com/appscode/voyager/pull/506 Deprecated. DNS Provider.          :return: The provider of this V1beta1CertificateSpec.         :rtype: str Sets the provider of this V1beta1CertificateSpec.         Following fields are deprecated and will removed in future version. https://github.com/appscode/voyager/pull/506 Deprecated. DNS Provider.          :param provider: The provider of this V1beta1CertificateSpec.         :type: str Gets the provider_credential_secret_name of this V1beta1CertificateSpec.         ProviderCredentialSecretName is used to create the acme client, that will do needed processing in DNS. Deprecated          :return: The provider_credential_secret_name of this V1beta1CertificateSpec.         :rtype: str Sets the provider_credential_secret_name of this V1beta1CertificateSpec.         ProviderCredentialSecretName is used to create the acme client, that will do needed processing in DNS. Deprecated          :param provider_credential_secret_name: The provider_credential_secret_name of this V1beta1CertificateSpec.         :type: str Gets the storage of this V1beta1CertificateSpec.         Storage backend to store the certificates currently, kubernetes secret and vault.          :return: The storage of this V1beta1CertificateSpec.         :rtype: V1beta1CertificateStorage Sets the storage of this V1beta1CertificateSpec.         Storage backend to store the certificates currently, kubernetes secret and vault.          :param storage: The storage of this V1beta1CertificateSpec.         :type: V1beta1CertificateStorage Returns the model properties as a dict Returns the string representation of the model For `print` and `pprint` Returns true if both objects are equal Returns true if both objects are not equal