# Source code for azure.graphrbac.models.key_credential_py3

    # coding=utf-8
    # --------------------------------------------------------------------------
    # Copyright (c) Microsoft Corporation. All rights reserved.
    # Licensed under the MIT License. See License.txt in the project root for
    # license information.
    #
    # Code generated by Microsoft (R) AutoRest Code Generator.
    # Changes may cause incorrect behavior and will be lost if the code is
    # regenerated.
    # --------------------------------------------------------------------------

    from msrest.serialization import Model

    class KeyCredential(Model):
        """Active Directory Key Credential information.

        :param additional_properties: Unmatched properties from the message are
         deserialized this collection
        :type additional_properties: dict[str, object]
        :param start_date: Start date.
        :type start_date: datetime
        :param end_date: End date.
        :type end_date: datetime
        :param value: Key value.
        :type value: str
        :param key_id: Key ID.
        :type key_id: str
        :param usage: Usage. Acceptable values are 'Verify' and 'Sign'.
        :type usage: str
        :param type: Type. Acceptable values are 'AsymmetricX509Cert' and
         'Symmetric'.
        :type type: str
        :param custom_key_identifier: Custom Key Identifier
        :type custom_key_identifier: str
        """

        _attribute_map = {
            'additional_properties': {'key': '', 'type': '{object}'},
            'start_date': {'key': 'startDate', 'type': 'iso-8601'},
            'end_date': {'key': 'endDate', 'type': 'iso-8601'},
            'value': {'key': 'value', 'type': 'str'},
            'key_id': {'key': 'keyId', 'type': 'str'},
            'usage': {'key': 'usage', 'type': 'str'},
            'type': {'key': 'type', 'type': 'str'},
            'custom_key_identifier': {'key': 'customKeyIdentifier', 'type': 'str'},
        }

        def __init__(self, *, additional_properties=None, start_date=None, end_date=None, value: str=None, key_id: str=None, usage: str=None, type: str=None, custom_key_identifier: str=None, **kwargs) -> None:
            super(KeyCredential, self).__init__(**kwargs)
            self.additional_properties = additional_properties
            self.start_date = start_date
            self.end_date = end_date
            self.value = value
            self.key_id = key_id
            self.usage = usage
            self.type = type
            self.custom_key_identifier = custom_key_identifier