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
5
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 CreateDbManagementPrivateEndpointDetails(object):
12    """
13    The details used to create a new Database Management private endpoint.
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new CreateDbManagementPrivateEndpointDetails object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param name:
22            The value to assign to the name property of this CreateDbManagementPrivateEndpointDetails.
23        :type name: str
24
25        :param compartment_id:
26            The value to assign to the compartment_id property of this CreateDbManagementPrivateEndpointDetails.
27        :type compartment_id: str
28
29        :param is_cluster:
30            The value to assign to the is_cluster property of this CreateDbManagementPrivateEndpointDetails.
31        :type is_cluster: bool
32
33        :param subnet_id:
34            The value to assign to the subnet_id property of this CreateDbManagementPrivateEndpointDetails.
35        :type subnet_id: str
36
37        :param description:
38            The value to assign to the description property of this CreateDbManagementPrivateEndpointDetails.
39        :type description: str
40
41        :param nsg_ids:
42            The value to assign to the nsg_ids property of this CreateDbManagementPrivateEndpointDetails.
43        :type nsg_ids: list[str]
44
45        """
46        self.swagger_types = {
47            'name': 'str',
48            'compartment_id': 'str',
49            'is_cluster': 'bool',
50            'subnet_id': 'str',
51            'description': 'str',
52            'nsg_ids': 'list[str]'
53        }
54
55        self.attribute_map = {
56            'name': 'name',
57            'compartment_id': 'compartmentId',
58            'is_cluster': 'isCluster',
59            'subnet_id': 'subnetId',
60            'description': 'description',
61            'nsg_ids': 'nsgIds'
62        }
63
64        self._name = None
65        self._compartment_id = None
66        self._is_cluster = None
67        self._subnet_id = None
68        self._description = None
69        self._nsg_ids = None
70
71    @property
72    def name(self):
73        """
74        **[Required]** Gets the name of this CreateDbManagementPrivateEndpointDetails.
75        The display name of the Database Management private endpoint.
76
77
78        :return: The name of this CreateDbManagementPrivateEndpointDetails.
79        :rtype: str
80        """
81        return self._name
82
83    @name.setter
84    def name(self, name):
85        """
86        Sets the name of this CreateDbManagementPrivateEndpointDetails.
87        The display name of the Database Management private endpoint.
88
89
90        :param name: The name of this CreateDbManagementPrivateEndpointDetails.
91        :type: str
92        """
93        self._name = name
94
95    @property
96    def compartment_id(self):
97        """
98        **[Required]** Gets the compartment_id of this CreateDbManagementPrivateEndpointDetails.
99        The `OCID`__ of the compartment.
100
101        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
102
103
104        :return: The compartment_id of this CreateDbManagementPrivateEndpointDetails.
105        :rtype: str
106        """
107        return self._compartment_id
108
109    @compartment_id.setter
110    def compartment_id(self, compartment_id):
111        """
112        Sets the compartment_id of this CreateDbManagementPrivateEndpointDetails.
113        The `OCID`__ of the compartment.
114
115        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
116
117
118        :param compartment_id: The compartment_id of this CreateDbManagementPrivateEndpointDetails.
119        :type: str
120        """
121        self._compartment_id = compartment_id
122
123    @property
124    def is_cluster(self):
125        """
126        Gets the is_cluster of this CreateDbManagementPrivateEndpointDetails.
127        Specifies whether the Database Management private endpoint will be used for Oracle Databases in a cluster.
128
129
130        :return: The is_cluster of this CreateDbManagementPrivateEndpointDetails.
131        :rtype: bool
132        """
133        return self._is_cluster
134
135    @is_cluster.setter
136    def is_cluster(self, is_cluster):
137        """
138        Sets the is_cluster of this CreateDbManagementPrivateEndpointDetails.
139        Specifies whether the Database Management private endpoint will be used for Oracle Databases in a cluster.
140
141
142        :param is_cluster: The is_cluster of this CreateDbManagementPrivateEndpointDetails.
143        :type: bool
144        """
145        self._is_cluster = is_cluster
146
147    @property
148    def subnet_id(self):
149        """
150        **[Required]** Gets the subnet_id of this CreateDbManagementPrivateEndpointDetails.
151        The `OCID`__ of the subnet.
152
153        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
154
155
156        :return: The subnet_id of this CreateDbManagementPrivateEndpointDetails.
157        :rtype: str
158        """
159        return self._subnet_id
160
161    @subnet_id.setter
162    def subnet_id(self, subnet_id):
163        """
164        Sets the subnet_id of this CreateDbManagementPrivateEndpointDetails.
165        The `OCID`__ of the subnet.
166
167        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
168
169
170        :param subnet_id: The subnet_id of this CreateDbManagementPrivateEndpointDetails.
171        :type: str
172        """
173        self._subnet_id = subnet_id
174
175    @property
176    def description(self):
177        """
178        Gets the description of this CreateDbManagementPrivateEndpointDetails.
179        The description of the private endpoint.
180
181
182        :return: The description of this CreateDbManagementPrivateEndpointDetails.
183        :rtype: str
184        """
185        return self._description
186
187    @description.setter
188    def description(self, description):
189        """
190        Sets the description of this CreateDbManagementPrivateEndpointDetails.
191        The description of the private endpoint.
192
193
194        :param description: The description of this CreateDbManagementPrivateEndpointDetails.
195        :type: str
196        """
197        self._description = description
198
199    @property
200    def nsg_ids(self):
201        """
202        Gets the nsg_ids of this CreateDbManagementPrivateEndpointDetails.
203        The OCIDs of the Network Security Groups to which the Database Management private endpoint belongs.
204
205
206        :return: The nsg_ids of this CreateDbManagementPrivateEndpointDetails.
207        :rtype: list[str]
208        """
209        return self._nsg_ids
210
211    @nsg_ids.setter
212    def nsg_ids(self, nsg_ids):
213        """
214        Sets the nsg_ids of this CreateDbManagementPrivateEndpointDetails.
215        The OCIDs of the Network Security Groups to which the Database Management private endpoint belongs.
216
217
218        :param nsg_ids: The nsg_ids of this CreateDbManagementPrivateEndpointDetails.
219        :type: list[str]
220        """
221        self._nsg_ids = nsg_ids
222
223    def __repr__(self):
224        return formatted_flat_dict(self)
225
226    def __eq__(self, other):
227        if other is None:
228            return False
229
230        return self.__dict__ == other.__dict__
231
232    def __ne__(self, other):
233        return not self == other
234