1# coding=utf-8
2# --------------------------------------------------------------------------
3# Copyright (c) Microsoft Corporation. All rights reserved.
4# Licensed under the MIT License. See License.txt in the project root for
5# license information.
6#
7# Code generated by Microsoft (R) AutoRest Code Generator.
8# Changes may cause incorrect behavior and will be lost if the code is
9# regenerated.
10# --------------------------------------------------------------------------
11
12from msrest.serialization import Model
13
14
15class X509CertificateProperties(Model):
16    """Properties of the X509 component of a certificate.
17
18    :param subject: The subject name. Should be a valid X509 distinguished
19     Name.
20    :type subject: str
21    :param ekus: The enhanced key usage.
22    :type ekus: list[str]
23    :param subject_alternative_names: The subject alternative names.
24    :type subject_alternative_names:
25     ~azure.keyvault.v2016_10_01.models.SubjectAlternativeNames
26    :param key_usage: List of key usages.
27    :type key_usage: list[str or
28     ~azure.keyvault.v2016_10_01.models.KeyUsageType]
29    :param validity_in_months: The duration that the ceritifcate is valid in
30     months.
31    :type validity_in_months: int
32    """
33
34    _validation = {
35        'validity_in_months': {'minimum': 0},
36    }
37
38    _attribute_map = {
39        'subject': {'key': 'subject', 'type': 'str'},
40        'ekus': {'key': 'ekus', 'type': '[str]'},
41        'subject_alternative_names': {'key': 'sans', 'type': 'SubjectAlternativeNames'},
42        'key_usage': {'key': 'key_usage', 'type': '[str]'},
43        'validity_in_months': {'key': 'validity_months', 'type': 'int'},
44    }
45
46    def __init__(self, *, subject: str=None, ekus=None, subject_alternative_names=None, key_usage=None, validity_in_months: int=None, **kwargs) -> None:
47        super(X509CertificateProperties, self).__init__(**kwargs)
48        self.subject = subject
49        self.ekus = ekus
50        self.subject_alternative_names = subject_alternative_names
51        self.key_usage = key_usage
52        self.validity_in_months = validity_in_months
53