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 CreateStreamPoolDetails(object): 12 """ 13 Object used to create a stream pool. 14 """ 15 16 def __init__(self, **kwargs): 17 """ 18 Initializes a new CreateStreamPoolDetails object with values from keyword arguments. 19 The following keyword arguments are supported (corresponding to the getters/setters of this class): 20 21 :param compartment_id: 22 The value to assign to the compartment_id property of this CreateStreamPoolDetails. 23 :type compartment_id: str 24 25 :param name: 26 The value to assign to the name property of this CreateStreamPoolDetails. 27 :type name: str 28 29 :param kafka_settings: 30 The value to assign to the kafka_settings property of this CreateStreamPoolDetails. 31 :type kafka_settings: oci.streaming.models.KafkaSettings 32 33 :param custom_encryption_key_details: 34 The value to assign to the custom_encryption_key_details property of this CreateStreamPoolDetails. 35 :type custom_encryption_key_details: oci.streaming.models.CustomEncryptionKeyDetails 36 37 :param private_endpoint_details: 38 The value to assign to the private_endpoint_details property of this CreateStreamPoolDetails. 39 :type private_endpoint_details: oci.streaming.models.PrivateEndpointDetails 40 41 :param freeform_tags: 42 The value to assign to the freeform_tags property of this CreateStreamPoolDetails. 43 :type freeform_tags: dict(str, str) 44 45 :param defined_tags: 46 The value to assign to the defined_tags property of this CreateStreamPoolDetails. 47 :type defined_tags: dict(str, dict(str, object)) 48 49 """ 50 self.swagger_types = { 51 'compartment_id': 'str', 52 'name': 'str', 53 'kafka_settings': 'KafkaSettings', 54 'custom_encryption_key_details': 'CustomEncryptionKeyDetails', 55 'private_endpoint_details': 'PrivateEndpointDetails', 56 'freeform_tags': 'dict(str, str)', 57 'defined_tags': 'dict(str, dict(str, object))' 58 } 59 60 self.attribute_map = { 61 'compartment_id': 'compartmentId', 62 'name': 'name', 63 'kafka_settings': 'kafkaSettings', 64 'custom_encryption_key_details': 'customEncryptionKeyDetails', 65 'private_endpoint_details': 'privateEndpointDetails', 66 'freeform_tags': 'freeformTags', 67 'defined_tags': 'definedTags' 68 } 69 70 self._compartment_id = None 71 self._name = None 72 self._kafka_settings = None 73 self._custom_encryption_key_details = None 74 self._private_endpoint_details = None 75 self._freeform_tags = None 76 self._defined_tags = None 77 78 @property 79 def compartment_id(self): 80 """ 81 **[Required]** Gets the compartment_id of this CreateStreamPoolDetails. 82 The OCID of the compartment that contains the stream. 83 84 85 :return: The compartment_id of this CreateStreamPoolDetails. 86 :rtype: str 87 """ 88 return self._compartment_id 89 90 @compartment_id.setter 91 def compartment_id(self, compartment_id): 92 """ 93 Sets the compartment_id of this CreateStreamPoolDetails. 94 The OCID of the compartment that contains the stream. 95 96 97 :param compartment_id: The compartment_id of this CreateStreamPoolDetails. 98 :type: str 99 """ 100 self._compartment_id = compartment_id 101 102 @property 103 def name(self): 104 """ 105 **[Required]** Gets the name of this CreateStreamPoolDetails. 106 The name of the stream pool. Avoid entering confidential information. 107 108 Example: `MyStreamPool` 109 110 111 :return: The name of this CreateStreamPoolDetails. 112 :rtype: str 113 """ 114 return self._name 115 116 @name.setter 117 def name(self, name): 118 """ 119 Sets the name of this CreateStreamPoolDetails. 120 The name of the stream pool. Avoid entering confidential information. 121 122 Example: `MyStreamPool` 123 124 125 :param name: The name of this CreateStreamPoolDetails. 126 :type: str 127 """ 128 self._name = name 129 130 @property 131 def kafka_settings(self): 132 """ 133 Gets the kafka_settings of this CreateStreamPoolDetails. 134 135 :return: The kafka_settings of this CreateStreamPoolDetails. 136 :rtype: oci.streaming.models.KafkaSettings 137 """ 138 return self._kafka_settings 139 140 @kafka_settings.setter 141 def kafka_settings(self, kafka_settings): 142 """ 143 Sets the kafka_settings of this CreateStreamPoolDetails. 144 145 :param kafka_settings: The kafka_settings of this CreateStreamPoolDetails. 146 :type: oci.streaming.models.KafkaSettings 147 """ 148 self._kafka_settings = kafka_settings 149 150 @property 151 def custom_encryption_key_details(self): 152 """ 153 Gets the custom_encryption_key_details of this CreateStreamPoolDetails. 154 155 :return: The custom_encryption_key_details of this CreateStreamPoolDetails. 156 :rtype: oci.streaming.models.CustomEncryptionKeyDetails 157 """ 158 return self._custom_encryption_key_details 159 160 @custom_encryption_key_details.setter 161 def custom_encryption_key_details(self, custom_encryption_key_details): 162 """ 163 Sets the custom_encryption_key_details of this CreateStreamPoolDetails. 164 165 :param custom_encryption_key_details: The custom_encryption_key_details of this CreateStreamPoolDetails. 166 :type: oci.streaming.models.CustomEncryptionKeyDetails 167 """ 168 self._custom_encryption_key_details = custom_encryption_key_details 169 170 @property 171 def private_endpoint_details(self): 172 """ 173 Gets the private_endpoint_details of this CreateStreamPoolDetails. 174 175 :return: The private_endpoint_details of this CreateStreamPoolDetails. 176 :rtype: oci.streaming.models.PrivateEndpointDetails 177 """ 178 return self._private_endpoint_details 179 180 @private_endpoint_details.setter 181 def private_endpoint_details(self, private_endpoint_details): 182 """ 183 Sets the private_endpoint_details of this CreateStreamPoolDetails. 184 185 :param private_endpoint_details: The private_endpoint_details of this CreateStreamPoolDetails. 186 :type: oci.streaming.models.PrivateEndpointDetails 187 """ 188 self._private_endpoint_details = private_endpoint_details 189 190 @property 191 def freeform_tags(self): 192 """ 193 Gets the freeform_tags of this CreateStreamPoolDetails. 194 Free-form tags for this resource. Each tag is a simple key-value pair that is applied with no predefined name, type, or namespace. Exists for cross-compatibility only. 195 For more information, see `Resource Tags`__. 196 197 Example: `{\"Department\": \"Finance\"}` 198 199 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 200 201 202 :return: The freeform_tags of this CreateStreamPoolDetails. 203 :rtype: dict(str, str) 204 """ 205 return self._freeform_tags 206 207 @freeform_tags.setter 208 def freeform_tags(self, freeform_tags): 209 """ 210 Sets the freeform_tags of this CreateStreamPoolDetails. 211 Free-form tags for this resource. Each tag is a simple key-value pair that is applied with no predefined name, type, or namespace. Exists for cross-compatibility only. 212 For more information, see `Resource Tags`__. 213 214 Example: `{\"Department\": \"Finance\"}` 215 216 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 217 218 219 :param freeform_tags: The freeform_tags of this CreateStreamPoolDetails. 220 :type: dict(str, str) 221 """ 222 self._freeform_tags = freeform_tags 223 224 @property 225 def defined_tags(self): 226 """ 227 Gets the defined_tags of this CreateStreamPoolDetails. 228 Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see `Resource Tags`__. 229 230 Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` 231 232 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 233 234 235 :return: The defined_tags of this CreateStreamPoolDetails. 236 :rtype: dict(str, dict(str, object)) 237 """ 238 return self._defined_tags 239 240 @defined_tags.setter 241 def defined_tags(self, defined_tags): 242 """ 243 Sets the defined_tags of this CreateStreamPoolDetails. 244 Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see `Resource Tags`__. 245 246 Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` 247 248 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 249 250 251 :param defined_tags: The defined_tags of this CreateStreamPoolDetails. 252 :type: dict(str, dict(str, object)) 253 """ 254 self._defined_tags = defined_tags 255 256 def __repr__(self): 257 return formatted_flat_dict(self) 258 259 def __eq__(self, other): 260 if other is None: 261 return False 262 263 return self.__dict__ == other.__dict__ 264 265 def __ne__(self, other): 266 return not self == other 267