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 CreateEntityDetails(object): 12 """ 13 Properties used in data entity create operations. 14 """ 15 16 #: A constant which can be used with the harvest_status property of a CreateEntityDetails. 17 #: This constant has a value of "COMPLETE" 18 HARVEST_STATUS_COMPLETE = "COMPLETE" 19 20 #: A constant which can be used with the harvest_status property of a CreateEntityDetails. 21 #: This constant has a value of "ERROR" 22 HARVEST_STATUS_ERROR = "ERROR" 23 24 #: A constant which can be used with the harvest_status property of a CreateEntityDetails. 25 #: This constant has a value of "IN_PROGRESS" 26 HARVEST_STATUS_IN_PROGRESS = "IN_PROGRESS" 27 28 #: A constant which can be used with the harvest_status property of a CreateEntityDetails. 29 #: This constant has a value of "DEFERRED" 30 HARVEST_STATUS_DEFERRED = "DEFERRED" 31 32 def __init__(self, **kwargs): 33 """ 34 Initializes a new CreateEntityDetails object with values from keyword arguments. 35 The following keyword arguments are supported (corresponding to the getters/setters of this class): 36 37 :param display_name: 38 The value to assign to the display_name property of this CreateEntityDetails. 39 :type display_name: str 40 41 :param business_name: 42 The value to assign to the business_name property of this CreateEntityDetails. 43 :type business_name: str 44 45 :param type_key: 46 The value to assign to the type_key property of this CreateEntityDetails. 47 :type type_key: str 48 49 :param description: 50 The value to assign to the description property of this CreateEntityDetails. 51 :type description: str 52 53 :param time_external: 54 The value to assign to the time_external property of this CreateEntityDetails. 55 :type time_external: datetime 56 57 :param is_logical: 58 The value to assign to the is_logical property of this CreateEntityDetails. 59 :type is_logical: bool 60 61 :param is_partition: 62 The value to assign to the is_partition property of this CreateEntityDetails. 63 :type is_partition: bool 64 65 :param folder_key: 66 The value to assign to the folder_key property of this CreateEntityDetails. 67 :type folder_key: str 68 69 :param pattern_key: 70 The value to assign to the pattern_key property of this CreateEntityDetails. 71 :type pattern_key: str 72 73 :param realized_expression: 74 The value to assign to the realized_expression property of this CreateEntityDetails. 75 :type realized_expression: str 76 77 :param harvest_status: 78 The value to assign to the harvest_status property of this CreateEntityDetails. 79 Allowed values for this property are: "COMPLETE", "ERROR", "IN_PROGRESS", "DEFERRED" 80 :type harvest_status: str 81 82 :param last_job_key: 83 The value to assign to the last_job_key property of this CreateEntityDetails. 84 :type last_job_key: str 85 86 :param custom_property_members: 87 The value to assign to the custom_property_members property of this CreateEntityDetails. 88 :type custom_property_members: list[oci.data_catalog.models.CustomPropertySetUsage] 89 90 :param properties: 91 The value to assign to the properties property of this CreateEntityDetails. 92 :type properties: dict(str, dict(str, str)) 93 94 """ 95 self.swagger_types = { 96 'display_name': 'str', 97 'business_name': 'str', 98 'type_key': 'str', 99 'description': 'str', 100 'time_external': 'datetime', 101 'is_logical': 'bool', 102 'is_partition': 'bool', 103 'folder_key': 'str', 104 'pattern_key': 'str', 105 'realized_expression': 'str', 106 'harvest_status': 'str', 107 'last_job_key': 'str', 108 'custom_property_members': 'list[CustomPropertySetUsage]', 109 'properties': 'dict(str, dict(str, str))' 110 } 111 112 self.attribute_map = { 113 'display_name': 'displayName', 114 'business_name': 'businessName', 115 'type_key': 'typeKey', 116 'description': 'description', 117 'time_external': 'timeExternal', 118 'is_logical': 'isLogical', 119 'is_partition': 'isPartition', 120 'folder_key': 'folderKey', 121 'pattern_key': 'patternKey', 122 'realized_expression': 'realizedExpression', 123 'harvest_status': 'harvestStatus', 124 'last_job_key': 'lastJobKey', 125 'custom_property_members': 'customPropertyMembers', 126 'properties': 'properties' 127 } 128 129 self._display_name = None 130 self._business_name = None 131 self._type_key = None 132 self._description = None 133 self._time_external = None 134 self._is_logical = None 135 self._is_partition = None 136 self._folder_key = None 137 self._pattern_key = None 138 self._realized_expression = None 139 self._harvest_status = None 140 self._last_job_key = None 141 self._custom_property_members = None 142 self._properties = None 143 144 @property 145 def display_name(self): 146 """ 147 **[Required]** Gets the display_name of this CreateEntityDetails. 148 A user-friendly display name. Does not have to be unique, and it's changeable. 149 Avoid entering confidential information. 150 151 152 :return: The display_name of this CreateEntityDetails. 153 :rtype: str 154 """ 155 return self._display_name 156 157 @display_name.setter 158 def display_name(self, display_name): 159 """ 160 Sets the display_name of this CreateEntityDetails. 161 A user-friendly display name. Does not have to be unique, and it's changeable. 162 Avoid entering confidential information. 163 164 165 :param display_name: The display_name of this CreateEntityDetails. 166 :type: str 167 """ 168 self._display_name = display_name 169 170 @property 171 def business_name(self): 172 """ 173 Gets the business_name of this CreateEntityDetails. 174 Optional user friendly business name of the data entity. If set, this supplements the harvested display name of the object. 175 176 177 :return: The business_name of this CreateEntityDetails. 178 :rtype: str 179 """ 180 return self._business_name 181 182 @business_name.setter 183 def business_name(self, business_name): 184 """ 185 Sets the business_name of this CreateEntityDetails. 186 Optional user friendly business name of the data entity. If set, this supplements the harvested display name of the object. 187 188 189 :param business_name: The business_name of this CreateEntityDetails. 190 :type: str 191 """ 192 self._business_name = business_name 193 194 @property 195 def type_key(self): 196 """ 197 Gets the type_key of this CreateEntityDetails. 198 The type of data entity object. Type key's can be found via the '/types' endpoint. 199 200 201 :return: The type_key of this CreateEntityDetails. 202 :rtype: str 203 """ 204 return self._type_key 205 206 @type_key.setter 207 def type_key(self, type_key): 208 """ 209 Sets the type_key of this CreateEntityDetails. 210 The type of data entity object. Type key's can be found via the '/types' endpoint. 211 212 213 :param type_key: The type_key of this CreateEntityDetails. 214 :type: str 215 """ 216 self._type_key = type_key 217 218 @property 219 def description(self): 220 """ 221 Gets the description of this CreateEntityDetails. 222 Detailed description of a data entity. 223 224 225 :return: The description of this CreateEntityDetails. 226 :rtype: str 227 """ 228 return self._description 229 230 @description.setter 231 def description(self, description): 232 """ 233 Sets the description of this CreateEntityDetails. 234 Detailed description of a data entity. 235 236 237 :param description: The description of this CreateEntityDetails. 238 :type: str 239 """ 240 self._description = description 241 242 @property 243 def time_external(self): 244 """ 245 **[Required]** Gets the time_external of this CreateEntityDetails. 246 Last modified timestamp of the object in the external system. 247 248 249 :return: The time_external of this CreateEntityDetails. 250 :rtype: datetime 251 """ 252 return self._time_external 253 254 @time_external.setter 255 def time_external(self, time_external): 256 """ 257 Sets the time_external of this CreateEntityDetails. 258 Last modified timestamp of the object in the external system. 259 260 261 :param time_external: The time_external of this CreateEntityDetails. 262 :type: datetime 263 """ 264 self._time_external = time_external 265 266 @property 267 def is_logical(self): 268 """ 269 Gets the is_logical of this CreateEntityDetails. 270 Property to indicate if the object is a physical materialized object or virtual. For example, View. 271 272 273 :return: The is_logical of this CreateEntityDetails. 274 :rtype: bool 275 """ 276 return self._is_logical 277 278 @is_logical.setter 279 def is_logical(self, is_logical): 280 """ 281 Sets the is_logical of this CreateEntityDetails. 282 Property to indicate if the object is a physical materialized object or virtual. For example, View. 283 284 285 :param is_logical: The is_logical of this CreateEntityDetails. 286 :type: bool 287 """ 288 self._is_logical = is_logical 289 290 @property 291 def is_partition(self): 292 """ 293 Gets the is_partition of this CreateEntityDetails. 294 Property to indicate if the object is a sub object of a parent physical object. 295 296 297 :return: The is_partition of this CreateEntityDetails. 298 :rtype: bool 299 """ 300 return self._is_partition 301 302 @is_partition.setter 303 def is_partition(self, is_partition): 304 """ 305 Sets the is_partition of this CreateEntityDetails. 306 Property to indicate if the object is a sub object of a parent physical object. 307 308 309 :param is_partition: The is_partition of this CreateEntityDetails. 310 :type: bool 311 """ 312 self._is_partition = is_partition 313 314 @property 315 def folder_key(self): 316 """ 317 Gets the folder_key of this CreateEntityDetails. 318 Key of the associated folder. 319 320 321 :return: The folder_key of this CreateEntityDetails. 322 :rtype: str 323 """ 324 return self._folder_key 325 326 @folder_key.setter 327 def folder_key(self, folder_key): 328 """ 329 Sets the folder_key of this CreateEntityDetails. 330 Key of the associated folder. 331 332 333 :param folder_key: The folder_key of this CreateEntityDetails. 334 :type: str 335 """ 336 self._folder_key = folder_key 337 338 @property 339 def pattern_key(self): 340 """ 341 Gets the pattern_key of this CreateEntityDetails. 342 Key of the associated pattern if this is a logical entity. 343 344 345 :return: The pattern_key of this CreateEntityDetails. 346 :rtype: str 347 """ 348 return self._pattern_key 349 350 @pattern_key.setter 351 def pattern_key(self, pattern_key): 352 """ 353 Sets the pattern_key of this CreateEntityDetails. 354 Key of the associated pattern if this is a logical entity. 355 356 357 :param pattern_key: The pattern_key of this CreateEntityDetails. 358 :type: str 359 """ 360 self._pattern_key = pattern_key 361 362 @property 363 def realized_expression(self): 364 """ 365 Gets the realized_expression of this CreateEntityDetails. 366 The expression realized after resolving qualifiers . Used in deriving this logical entity 367 368 369 :return: The realized_expression of this CreateEntityDetails. 370 :rtype: str 371 """ 372 return self._realized_expression 373 374 @realized_expression.setter 375 def realized_expression(self, realized_expression): 376 """ 377 Sets the realized_expression of this CreateEntityDetails. 378 The expression realized after resolving qualifiers . Used in deriving this logical entity 379 380 381 :param realized_expression: The realized_expression of this CreateEntityDetails. 382 :type: str 383 """ 384 self._realized_expression = realized_expression 385 386 @property 387 def harvest_status(self): 388 """ 389 Gets the harvest_status of this CreateEntityDetails. 390 Status of the object as updated by the harvest process. When an entity object is created , it's harvest status 391 will indicate if the entity's metadata has been fully harvested or not. The harvest process can perform 392 shallow harvesting to allow users to browse the metadata and can on-demand deep harvest on any object 393 This requires a harvest status indicator for catalog objects. 394 395 Allowed values for this property are: "COMPLETE", "ERROR", "IN_PROGRESS", "DEFERRED" 396 397 398 :return: The harvest_status of this CreateEntityDetails. 399 :rtype: str 400 """ 401 return self._harvest_status 402 403 @harvest_status.setter 404 def harvest_status(self, harvest_status): 405 """ 406 Sets the harvest_status of this CreateEntityDetails. 407 Status of the object as updated by the harvest process. When an entity object is created , it's harvest status 408 will indicate if the entity's metadata has been fully harvested or not. The harvest process can perform 409 shallow harvesting to allow users to browse the metadata and can on-demand deep harvest on any object 410 This requires a harvest status indicator for catalog objects. 411 412 413 :param harvest_status: The harvest_status of this CreateEntityDetails. 414 :type: str 415 """ 416 allowed_values = ["COMPLETE", "ERROR", "IN_PROGRESS", "DEFERRED"] 417 if not value_allowed_none_or_none_sentinel(harvest_status, allowed_values): 418 raise ValueError( 419 "Invalid value for `harvest_status`, must be None or one of {0}" 420 .format(allowed_values) 421 ) 422 self._harvest_status = harvest_status 423 424 @property 425 def last_job_key(self): 426 """ 427 Gets the last_job_key of this CreateEntityDetails. 428 Key of the last harvest process to update this object. 429 430 431 :return: The last_job_key of this CreateEntityDetails. 432 :rtype: str 433 """ 434 return self._last_job_key 435 436 @last_job_key.setter 437 def last_job_key(self, last_job_key): 438 """ 439 Sets the last_job_key of this CreateEntityDetails. 440 Key of the last harvest process to update this object. 441 442 443 :param last_job_key: The last_job_key of this CreateEntityDetails. 444 :type: str 445 """ 446 self._last_job_key = last_job_key 447 448 @property 449 def custom_property_members(self): 450 """ 451 Gets the custom_property_members of this CreateEntityDetails. 452 The list of customized properties along with the values for this object 453 454 455 :return: The custom_property_members of this CreateEntityDetails. 456 :rtype: list[oci.data_catalog.models.CustomPropertySetUsage] 457 """ 458 return self._custom_property_members 459 460 @custom_property_members.setter 461 def custom_property_members(self, custom_property_members): 462 """ 463 Sets the custom_property_members of this CreateEntityDetails. 464 The list of customized properties along with the values for this object 465 466 467 :param custom_property_members: The custom_property_members of this CreateEntityDetails. 468 :type: list[oci.data_catalog.models.CustomPropertySetUsage] 469 """ 470 self._custom_property_members = custom_property_members 471 472 @property 473 def properties(self): 474 """ 475 Gets the properties of this CreateEntityDetails. 476 A map of maps that contains the properties which are specific to the entity type. Each entity type 477 definition defines it's set of required and optional properties. The map keys are category names and the 478 values are maps of property name to property value. Every property is contained inside of a category. Most 479 entities have required properties within the \"default\" category. To determine the set of required and 480 optional properties for an entity type, a query can be done on '/types?type=dataEntity' that returns a 481 collection of all entity types. The appropriate entity type, which includes definitions of all of 482 it's properties, can be identified from this collection. 483 Example: `{\"properties\": { \"default\": { \"key1\": \"value1\"}}}` 484 485 486 :return: The properties of this CreateEntityDetails. 487 :rtype: dict(str, dict(str, str)) 488 """ 489 return self._properties 490 491 @properties.setter 492 def properties(self, properties): 493 """ 494 Sets the properties of this CreateEntityDetails. 495 A map of maps that contains the properties which are specific to the entity type. Each entity type 496 definition defines it's set of required and optional properties. The map keys are category names and the 497 values are maps of property name to property value. Every property is contained inside of a category. Most 498 entities have required properties within the \"default\" category. To determine the set of required and 499 optional properties for an entity type, a query can be done on '/types?type=dataEntity' that returns a 500 collection of all entity types. The appropriate entity type, which includes definitions of all of 501 it's properties, can be identified from this collection. 502 Example: `{\"properties\": { \"default\": { \"key1\": \"value1\"}}}` 503 504 505 :param properties: The properties of this CreateEntityDetails. 506 :type: dict(str, dict(str, str)) 507 """ 508 self._properties = properties 509 510 def __repr__(self): 511 return formatted_flat_dict(self) 512 513 def __eq__(self, other): 514 if other is None: 515 return False 516 517 return self.__dict__ == other.__dict__ 518 519 def __ne__(self, other): 520 return not self == other 521