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 .secret_bundle import SecretBundle
13
14
15class DeletedSecretBundle(SecretBundle):
16    """A Deleted Secret consisting of its previous id, attributes and its tags, as
17    well as information on when it will be purged.
18
19    Variables are only populated by the server, and will be ignored when
20    sending a request.
21
22    :param value: The secret value.
23    :type value: str
24    :param id: The secret id.
25    :type id: str
26    :param content_type: The content type of the secret.
27    :type content_type: str
28    :param attributes: The secret management attributes.
29    :type attributes: ~azure.keyvault.v2016_10_01.models.SecretAttributes
30    :param tags: Application specific metadata in the form of key-value pairs.
31    :type tags: dict[str, str]
32    :ivar kid: If this is a secret backing a KV certificate, then this field
33     specifies the corresponding key backing the KV certificate.
34    :vartype kid: str
35    :ivar managed: True if the secret's lifetime is managed by key vault. If
36     this is a secret backing a certificate, then managed will be true.
37    :vartype managed: bool
38    :param recovery_id: The url of the recovery object, used to identify and
39     recover the deleted secret.
40    :type recovery_id: str
41    :ivar scheduled_purge_date: The time when the secret is scheduled to be
42     purged, in UTC
43    :vartype scheduled_purge_date: datetime
44    :ivar deleted_date: The time when the secret was deleted, in UTC
45    :vartype deleted_date: datetime
46    """
47
48    _validation = {
49        'kid': {'readonly': True},
50        'managed': {'readonly': True},
51        'scheduled_purge_date': {'readonly': True},
52        'deleted_date': {'readonly': True},
53    }
54
55    _attribute_map = {
56        'value': {'key': 'value', 'type': 'str'},
57        'id': {'key': 'id', 'type': 'str'},
58        'content_type': {'key': 'contentType', 'type': 'str'},
59        'attributes': {'key': 'attributes', 'type': 'SecretAttributes'},
60        'tags': {'key': 'tags', 'type': '{str}'},
61        'kid': {'key': 'kid', 'type': 'str'},
62        'managed': {'key': 'managed', 'type': 'bool'},
63        'recovery_id': {'key': 'recoveryId', 'type': 'str'},
64        'scheduled_purge_date': {'key': 'scheduledPurgeDate', 'type': 'unix-time'},
65        'deleted_date': {'key': 'deletedDate', 'type': 'unix-time'},
66    }
67
68    def __init__(self, **kwargs):
69        super(DeletedSecretBundle, self).__init__(**kwargs)
70        self.recovery_id = kwargs.get('recovery_id', None)
71        self.scheduled_purge_date = None
72        self.deleted_date = None
73