1# coding: utf-8
2# Copyright (c) 2016, 2021, Oracle and/or its affiliates.  All rights reserved.
3# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
5from .key_store_type_details import KeyStoreTypeDetails
6from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel  # noqa: F401
7from oci.decorators import init_model_state_from_kwargs
8
9
10@init_model_state_from_kwargs
11class KeyStoreTypeFromOracleKeyVaultDetails(KeyStoreTypeDetails):
12    """
13    Details for Oracle Key Vault
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new KeyStoreTypeFromOracleKeyVaultDetails object with values from keyword arguments. The default value of the :py:attr:`~oci.database.models.KeyStoreTypeFromOracleKeyVaultDetails.type` attribute
19        of this class is ``ORACLE_KEY_VAULT`` and it should not be changed.
20        The following keyword arguments are supported (corresponding to the getters/setters of this class):
21
22        :param type:
23            The value to assign to the type property of this KeyStoreTypeFromOracleKeyVaultDetails.
24            Allowed values for this property are: "ORACLE_KEY_VAULT"
25        :type type: str
26
27        :param connection_ips:
28            The value to assign to the connection_ips property of this KeyStoreTypeFromOracleKeyVaultDetails.
29        :type connection_ips: list[str]
30
31        :param admin_username:
32            The value to assign to the admin_username property of this KeyStoreTypeFromOracleKeyVaultDetails.
33        :type admin_username: str
34
35        :param vault_id:
36            The value to assign to the vault_id property of this KeyStoreTypeFromOracleKeyVaultDetails.
37        :type vault_id: str
38
39        :param secret_id:
40            The value to assign to the secret_id property of this KeyStoreTypeFromOracleKeyVaultDetails.
41        :type secret_id: str
42
43        """
44        self.swagger_types = {
45            'type': 'str',
46            'connection_ips': 'list[str]',
47            'admin_username': 'str',
48            'vault_id': 'str',
49            'secret_id': 'str'
50        }
51
52        self.attribute_map = {
53            'type': 'type',
54            'connection_ips': 'connectionIps',
55            'admin_username': 'adminUsername',
56            'vault_id': 'vaultId',
57            'secret_id': 'secretId'
58        }
59
60        self._type = None
61        self._connection_ips = None
62        self._admin_username = None
63        self._vault_id = None
64        self._secret_id = None
65        self._type = 'ORACLE_KEY_VAULT'
66
67    @property
68    def connection_ips(self):
69        """
70        **[Required]** Gets the connection_ips of this KeyStoreTypeFromOracleKeyVaultDetails.
71        The list of Oracle Key Vault connection IP addresses.
72
73
74        :return: The connection_ips of this KeyStoreTypeFromOracleKeyVaultDetails.
75        :rtype: list[str]
76        """
77        return self._connection_ips
78
79    @connection_ips.setter
80    def connection_ips(self, connection_ips):
81        """
82        Sets the connection_ips of this KeyStoreTypeFromOracleKeyVaultDetails.
83        The list of Oracle Key Vault connection IP addresses.
84
85
86        :param connection_ips: The connection_ips of this KeyStoreTypeFromOracleKeyVaultDetails.
87        :type: list[str]
88        """
89        self._connection_ips = connection_ips
90
91    @property
92    def admin_username(self):
93        """
94        **[Required]** Gets the admin_username of this KeyStoreTypeFromOracleKeyVaultDetails.
95        The administrator username to connect to Oracle Key Vault
96
97
98        :return: The admin_username of this KeyStoreTypeFromOracleKeyVaultDetails.
99        :rtype: str
100        """
101        return self._admin_username
102
103    @admin_username.setter
104    def admin_username(self, admin_username):
105        """
106        Sets the admin_username of this KeyStoreTypeFromOracleKeyVaultDetails.
107        The administrator username to connect to Oracle Key Vault
108
109
110        :param admin_username: The admin_username of this KeyStoreTypeFromOracleKeyVaultDetails.
111        :type: str
112        """
113        self._admin_username = admin_username
114
115    @property
116    def vault_id(self):
117        """
118        **[Required]** Gets the vault_id of this KeyStoreTypeFromOracleKeyVaultDetails.
119        The `OCID`__ of the Oracle Cloud Infrastructure `vault`__.
120
121        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
122        __ https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts
123
124
125        :return: The vault_id of this KeyStoreTypeFromOracleKeyVaultDetails.
126        :rtype: str
127        """
128        return self._vault_id
129
130    @vault_id.setter
131    def vault_id(self, vault_id):
132        """
133        Sets the vault_id of this KeyStoreTypeFromOracleKeyVaultDetails.
134        The `OCID`__ of the Oracle Cloud Infrastructure `vault`__.
135
136        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
137        __ https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts
138
139
140        :param vault_id: The vault_id of this KeyStoreTypeFromOracleKeyVaultDetails.
141        :type: str
142        """
143        self._vault_id = vault_id
144
145    @property
146    def secret_id(self):
147        """
148        **[Required]** Gets the secret_id of this KeyStoreTypeFromOracleKeyVaultDetails.
149        The `OCID`__ of the Oracle Cloud Infrastructure `secret`__.
150
151        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
152        __ https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts
153
154
155        :return: The secret_id of this KeyStoreTypeFromOracleKeyVaultDetails.
156        :rtype: str
157        """
158        return self._secret_id
159
160    @secret_id.setter
161    def secret_id(self, secret_id):
162        """
163        Sets the secret_id of this KeyStoreTypeFromOracleKeyVaultDetails.
164        The `OCID`__ of the Oracle Cloud Infrastructure `secret`__.
165
166        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
167        __ https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts
168
169
170        :param secret_id: The secret_id of this KeyStoreTypeFromOracleKeyVaultDetails.
171        :type: str
172        """
173        self._secret_id = secret_id
174
175    def __repr__(self):
176        return formatted_flat_dict(self)
177
178    def __eq__(self, other):
179        if other is None:
180            return False
181
182        return self.__dict__ == other.__dict__
183
184    def __ne__(self, other):
185        return not self == other
186