class CertificateAttributes:
    country = 'C'
    certificate_type = 'CertificateType'
    common_name = 'CN'
    issuer = 'Issuer'
    is_self_signed = 'IsSelfSigned'
    is_wild_card = 'IsWildCard'
    key_algorithm = 'KeyAlgorithm'
    key_size = 'KeySize'
    key_size_generator = 'KeySizeGenerator'
    key_size_less = 'KeySizeLess'
    locality = 'L'
    organization = 'O'
    organization_unit = 'OU'
    state = 'S'
    san_dns = 'SAN-DNS'
    san_email = 'SAN-Email'
    san_ip = 'SAN-IP'
    san_upn = 'SAN-UPN'
    san_uri = 'SAN-URI'
    serial = 'Serial'
    signature_algorithm = 'SignatureAlgorithm'
    thumbprint = 'Thumbprint'
    valid_from = 'ValidFrom'
    valid_to = 'ValidTo'
    valid_to_greater = 'ValidToGreater'
    valid_to_less = 'ValidToLess'


class CertificateStatus:
    chain_validation_failure = 'ChainValidationFailure'
    created_on = 'CreatedOn'
    created_on_greater = 'CreatedOnGreater'
    created_on_less = 'CreatedOnLess'
    disabled = 'Disabled'
    in_error = 'InError'
    management_type = 'ManagementType'
    name = 'Name'
    network_validation_disabled = 'NetworkValidationDisabled'
    parent_dn = 'ParentDn'
    parent_dn_recursive = 'ParentDnRecursive'
    pending_workflow = 'PendingWorkflow'
    ssl_tls_protocol = 'SslTlsProtocol'
    stage = 'Stage'
    stage_greater = 'StageGreater'
    stage_less = 'StageLess'
    tls_validation_failure = 'TlsValidationFailure'
    validation_disabled = 'ValidationDisabled'
    validation_state = 'ValidationState'


class OptionalFields:
    issuer = 'Issuer'
    key_algorithm = 'KeyAlgorithm'
    key_size = 'KeySize'
    subject = 'Subject'
