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 EntitySummary(object): 12 """ 13 Summary of an data entity. A representation of data with a set of attributes, normally representing a single 14 business entity. Synonymous with 'table' or 'view' in a database, or a single logical file structure 15 that one or many files may match. 16 """ 17 18 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 19 #: This constant has a value of "CREATING" 20 LIFECYCLE_STATE_CREATING = "CREATING" 21 22 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 23 #: This constant has a value of "ACTIVE" 24 LIFECYCLE_STATE_ACTIVE = "ACTIVE" 25 26 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 27 #: This constant has a value of "INACTIVE" 28 LIFECYCLE_STATE_INACTIVE = "INACTIVE" 29 30 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 31 #: This constant has a value of "UPDATING" 32 LIFECYCLE_STATE_UPDATING = "UPDATING" 33 34 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 35 #: This constant has a value of "DELETING" 36 LIFECYCLE_STATE_DELETING = "DELETING" 37 38 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 39 #: This constant has a value of "DELETED" 40 LIFECYCLE_STATE_DELETED = "DELETED" 41 42 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 43 #: This constant has a value of "FAILED" 44 LIFECYCLE_STATE_FAILED = "FAILED" 45 46 #: A constant which can be used with the lifecycle_state property of a EntitySummary. 47 #: This constant has a value of "MOVING" 48 LIFECYCLE_STATE_MOVING = "MOVING" 49 50 def __init__(self, **kwargs): 51 """ 52 Initializes a new EntitySummary object with values from keyword arguments. 53 The following keyword arguments are supported (corresponding to the getters/setters of this class): 54 55 :param key: 56 The value to assign to the key property of this EntitySummary. 57 :type key: str 58 59 :param display_name: 60 The value to assign to the display_name property of this EntitySummary. 61 :type display_name: str 62 63 :param business_name: 64 The value to assign to the business_name property of this EntitySummary. 65 :type business_name: str 66 67 :param description: 68 The value to assign to the description property of this EntitySummary. 69 :type description: str 70 71 :param is_logical: 72 The value to assign to the is_logical property of this EntitySummary. 73 :type is_logical: bool 74 75 :param is_partition: 76 The value to assign to the is_partition property of this EntitySummary. 77 :type is_partition: bool 78 79 :param data_asset_key: 80 The value to assign to the data_asset_key property of this EntitySummary. 81 :type data_asset_key: str 82 83 :param folder_key: 84 The value to assign to the folder_key property of this EntitySummary. 85 :type folder_key: str 86 87 :param folder_name: 88 The value to assign to the folder_name property of this EntitySummary. 89 :type folder_name: str 90 91 :param external_key: 92 The value to assign to the external_key property of this EntitySummary. 93 :type external_key: str 94 95 :param pattern_key: 96 The value to assign to the pattern_key property of this EntitySummary. 97 :type pattern_key: str 98 99 :param type_key: 100 The value to assign to the type_key property of this EntitySummary. 101 :type type_key: str 102 103 :param realized_expression: 104 The value to assign to the realized_expression property of this EntitySummary. 105 :type realized_expression: str 106 107 :param path: 108 The value to assign to the path property of this EntitySummary. 109 :type path: str 110 111 :param time_created: 112 The value to assign to the time_created property of this EntitySummary. 113 :type time_created: datetime 114 115 :param time_updated: 116 The value to assign to the time_updated property of this EntitySummary. 117 :type time_updated: datetime 118 119 :param updated_by_id: 120 The value to assign to the updated_by_id property of this EntitySummary. 121 :type updated_by_id: str 122 123 :param uri: 124 The value to assign to the uri property of this EntitySummary. 125 :type uri: str 126 127 :param lifecycle_state: 128 The value to assign to the lifecycle_state property of this EntitySummary. 129 Allowed values for this property are: "CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "MOVING", 'UNKNOWN_ENUM_VALUE'. 130 Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. 131 :type lifecycle_state: str 132 133 :param properties: 134 The value to assign to the properties property of this EntitySummary. 135 :type properties: dict(str, dict(str, str)) 136 137 """ 138 self.swagger_types = { 139 'key': 'str', 140 'display_name': 'str', 141 'business_name': 'str', 142 'description': 'str', 143 'is_logical': 'bool', 144 'is_partition': 'bool', 145 'data_asset_key': 'str', 146 'folder_key': 'str', 147 'folder_name': 'str', 148 'external_key': 'str', 149 'pattern_key': 'str', 150 'type_key': 'str', 151 'realized_expression': 'str', 152 'path': 'str', 153 'time_created': 'datetime', 154 'time_updated': 'datetime', 155 'updated_by_id': 'str', 156 'uri': 'str', 157 'lifecycle_state': 'str', 158 'properties': 'dict(str, dict(str, str))' 159 } 160 161 self.attribute_map = { 162 'key': 'key', 163 'display_name': 'displayName', 164 'business_name': 'businessName', 165 'description': 'description', 166 'is_logical': 'isLogical', 167 'is_partition': 'isPartition', 168 'data_asset_key': 'dataAssetKey', 169 'folder_key': 'folderKey', 170 'folder_name': 'folderName', 171 'external_key': 'externalKey', 172 'pattern_key': 'patternKey', 173 'type_key': 'typeKey', 174 'realized_expression': 'realizedExpression', 175 'path': 'path', 176 'time_created': 'timeCreated', 177 'time_updated': 'timeUpdated', 178 'updated_by_id': 'updatedById', 179 'uri': 'uri', 180 'lifecycle_state': 'lifecycleState', 181 'properties': 'properties' 182 } 183 184 self._key = None 185 self._display_name = None 186 self._business_name = None 187 self._description = None 188 self._is_logical = None 189 self._is_partition = None 190 self._data_asset_key = None 191 self._folder_key = None 192 self._folder_name = None 193 self._external_key = None 194 self._pattern_key = None 195 self._type_key = None 196 self._realized_expression = None 197 self._path = None 198 self._time_created = None 199 self._time_updated = None 200 self._updated_by_id = None 201 self._uri = None 202 self._lifecycle_state = None 203 self._properties = None 204 205 @property 206 def key(self): 207 """ 208 **[Required]** Gets the key of this EntitySummary. 209 Unique data entity key that is immutable. 210 211 212 :return: The key of this EntitySummary. 213 :rtype: str 214 """ 215 return self._key 216 217 @key.setter 218 def key(self, key): 219 """ 220 Sets the key of this EntitySummary. 221 Unique data entity key that is immutable. 222 223 224 :param key: The key of this EntitySummary. 225 :type: str 226 """ 227 self._key = key 228 229 @property 230 def display_name(self): 231 """ 232 Gets the display_name of this EntitySummary. 233 A user-friendly display name. Does not have to be unique, and it's changeable. 234 Avoid entering confidential information. 235 236 237 :return: The display_name of this EntitySummary. 238 :rtype: str 239 """ 240 return self._display_name 241 242 @display_name.setter 243 def display_name(self, display_name): 244 """ 245 Sets the display_name of this EntitySummary. 246 A user-friendly display name. Does not have to be unique, and it's changeable. 247 Avoid entering confidential information. 248 249 250 :param display_name: The display_name of this EntitySummary. 251 :type: str 252 """ 253 self._display_name = display_name 254 255 @property 256 def business_name(self): 257 """ 258 Gets the business_name of this EntitySummary. 259 Optional user friendly business name of the data entity. If set, this supplements the harvested display name of the object. 260 261 262 :return: The business_name of this EntitySummary. 263 :rtype: str 264 """ 265 return self._business_name 266 267 @business_name.setter 268 def business_name(self, business_name): 269 """ 270 Sets the business_name of this EntitySummary. 271 Optional user friendly business name of the data entity. If set, this supplements the harvested display name of the object. 272 273 274 :param business_name: The business_name of this EntitySummary. 275 :type: str 276 """ 277 self._business_name = business_name 278 279 @property 280 def description(self): 281 """ 282 Gets the description of this EntitySummary. 283 Detailed description of a data entity. 284 285 286 :return: The description of this EntitySummary. 287 :rtype: str 288 """ 289 return self._description 290 291 @description.setter 292 def description(self, description): 293 """ 294 Sets the description of this EntitySummary. 295 Detailed description of a data entity. 296 297 298 :param description: The description of this EntitySummary. 299 :type: str 300 """ 301 self._description = description 302 303 @property 304 def is_logical(self): 305 """ 306 Gets the is_logical of this EntitySummary. 307 Property that identifies if the object is a physical object (materialized) or virtual/logical object 308 defined on other objects. 309 310 311 :return: The is_logical of this EntitySummary. 312 :rtype: bool 313 """ 314 return self._is_logical 315 316 @is_logical.setter 317 def is_logical(self, is_logical): 318 """ 319 Sets the is_logical of this EntitySummary. 320 Property that identifies if the object is a physical object (materialized) or virtual/logical object 321 defined on other objects. 322 323 324 :param is_logical: The is_logical of this EntitySummary. 325 :type: bool 326 """ 327 self._is_logical = is_logical 328 329 @property 330 def is_partition(self): 331 """ 332 Gets the is_partition of this EntitySummary. 333 Property that identifies if an object is a sub object of a physical or materialized parent object. 334 335 336 :return: The is_partition of this EntitySummary. 337 :rtype: bool 338 """ 339 return self._is_partition 340 341 @is_partition.setter 342 def is_partition(self, is_partition): 343 """ 344 Sets the is_partition of this EntitySummary. 345 Property that identifies if an object is a sub object of a physical or materialized parent object. 346 347 348 :param is_partition: The is_partition of this EntitySummary. 349 :type: bool 350 """ 351 self._is_partition = is_partition 352 353 @property 354 def data_asset_key(self): 355 """ 356 Gets the data_asset_key of this EntitySummary. 357 Unique key of the parent data asset. 358 359 360 :return: The data_asset_key of this EntitySummary. 361 :rtype: str 362 """ 363 return self._data_asset_key 364 365 @data_asset_key.setter 366 def data_asset_key(self, data_asset_key): 367 """ 368 Sets the data_asset_key of this EntitySummary. 369 Unique key of the parent data asset. 370 371 372 :param data_asset_key: The data_asset_key of this EntitySummary. 373 :type: str 374 """ 375 self._data_asset_key = data_asset_key 376 377 @property 378 def folder_key(self): 379 """ 380 Gets the folder_key of this EntitySummary. 381 Key of the associated folder. 382 383 384 :return: The folder_key of this EntitySummary. 385 :rtype: str 386 """ 387 return self._folder_key 388 389 @folder_key.setter 390 def folder_key(self, folder_key): 391 """ 392 Sets the folder_key of this EntitySummary. 393 Key of the associated folder. 394 395 396 :param folder_key: The folder_key of this EntitySummary. 397 :type: str 398 """ 399 self._folder_key = folder_key 400 401 @property 402 def folder_name(self): 403 """ 404 Gets the folder_name of this EntitySummary. 405 Name of the associated folder. This name is harvested from the source data asset when the parent folder for the entiy is harvested. 406 407 408 :return: The folder_name of this EntitySummary. 409 :rtype: str 410 """ 411 return self._folder_name 412 413 @folder_name.setter 414 def folder_name(self, folder_name): 415 """ 416 Sets the folder_name of this EntitySummary. 417 Name of the associated folder. This name is harvested from the source data asset when the parent folder for the entiy is harvested. 418 419 420 :param folder_name: The folder_name of this EntitySummary. 421 :type: str 422 """ 423 self._folder_name = folder_name 424 425 @property 426 def external_key(self): 427 """ 428 Gets the external_key of this EntitySummary. 429 Unique external key of this object in the source system. 430 431 432 :return: The external_key of this EntitySummary. 433 :rtype: str 434 """ 435 return self._external_key 436 437 @external_key.setter 438 def external_key(self, external_key): 439 """ 440 Sets the external_key of this EntitySummary. 441 Unique external key of this object in the source system. 442 443 444 :param external_key: The external_key of this EntitySummary. 445 :type: str 446 """ 447 self._external_key = external_key 448 449 @property 450 def pattern_key(self): 451 """ 452 Gets the pattern_key of this EntitySummary. 453 Key of the associated pattern if this is a logical entity. 454 455 456 :return: The pattern_key of this EntitySummary. 457 :rtype: str 458 """ 459 return self._pattern_key 460 461 @pattern_key.setter 462 def pattern_key(self, pattern_key): 463 """ 464 Sets the pattern_key of this EntitySummary. 465 Key of the associated pattern if this is a logical entity. 466 467 468 :param pattern_key: The pattern_key of this EntitySummary. 469 :type: str 470 """ 471 self._pattern_key = pattern_key 472 473 @property 474 def type_key(self): 475 """ 476 Gets the type_key of this EntitySummary. 477 The type of data entity object. Type keys can be found via the '/types' endpoint. 478 479 480 :return: The type_key of this EntitySummary. 481 :rtype: str 482 """ 483 return self._type_key 484 485 @type_key.setter 486 def type_key(self, type_key): 487 """ 488 Sets the type_key of this EntitySummary. 489 The type of data entity object. Type keys can be found via the '/types' endpoint. 490 491 492 :param type_key: The type_key of this EntitySummary. 493 :type: str 494 """ 495 self._type_key = type_key 496 497 @property 498 def realized_expression(self): 499 """ 500 Gets the realized_expression of this EntitySummary. 501 The expression realized after resolving qualifiers . Used in deriving this logical entity 502 503 504 :return: The realized_expression of this EntitySummary. 505 :rtype: str 506 """ 507 return self._realized_expression 508 509 @realized_expression.setter 510 def realized_expression(self, realized_expression): 511 """ 512 Sets the realized_expression of this EntitySummary. 513 The expression realized after resolving qualifiers . Used in deriving this logical entity 514 515 516 :param realized_expression: The realized_expression of this EntitySummary. 517 :type: str 518 """ 519 self._realized_expression = realized_expression 520 521 @property 522 def path(self): 523 """ 524 Gets the path of this EntitySummary. 525 Full path of the data entity. 526 527 528 :return: The path of this EntitySummary. 529 :rtype: str 530 """ 531 return self._path 532 533 @path.setter 534 def path(self, path): 535 """ 536 Sets the path of this EntitySummary. 537 Full path of the data entity. 538 539 540 :param path: The path of this EntitySummary. 541 :type: str 542 """ 543 self._path = path 544 545 @property 546 def time_created(self): 547 """ 548 Gets the time_created of this EntitySummary. 549 The date and time the data entity was created, in the format defined by `RFC3339`__. 550 Example: `2019-03-25T21:10:29.600Z` 551 552 __ https://tools.ietf.org/html/rfc3339 553 554 555 :return: The time_created of this EntitySummary. 556 :rtype: datetime 557 """ 558 return self._time_created 559 560 @time_created.setter 561 def time_created(self, time_created): 562 """ 563 Sets the time_created of this EntitySummary. 564 The date and time the data entity was created, in the format defined by `RFC3339`__. 565 Example: `2019-03-25T21:10:29.600Z` 566 567 __ https://tools.ietf.org/html/rfc3339 568 569 570 :param time_created: The time_created of this EntitySummary. 571 :type: datetime 572 """ 573 self._time_created = time_created 574 575 @property 576 def time_updated(self): 577 """ 578 Gets the time_updated of this EntitySummary. 579 The last time that any change was made to the data entity. An `RFC3339`__ formatted datetime string. 580 581 __ https://tools.ietf.org/html/rfc3339 582 583 584 :return: The time_updated of this EntitySummary. 585 :rtype: datetime 586 """ 587 return self._time_updated 588 589 @time_updated.setter 590 def time_updated(self, time_updated): 591 """ 592 Sets the time_updated of this EntitySummary. 593 The last time that any change was made to the data entity. An `RFC3339`__ formatted datetime string. 594 595 __ https://tools.ietf.org/html/rfc3339 596 597 598 :param time_updated: The time_updated of this EntitySummary. 599 :type: datetime 600 """ 601 self._time_updated = time_updated 602 603 @property 604 def updated_by_id(self): 605 """ 606 Gets the updated_by_id of this EntitySummary. 607 OCID of the user who updated this object in the data catalog. 608 609 610 :return: The updated_by_id of this EntitySummary. 611 :rtype: str 612 """ 613 return self._updated_by_id 614 615 @updated_by_id.setter 616 def updated_by_id(self, updated_by_id): 617 """ 618 Sets the updated_by_id of this EntitySummary. 619 OCID of the user who updated this object in the data catalog. 620 621 622 :param updated_by_id: The updated_by_id of this EntitySummary. 623 :type: str 624 """ 625 self._updated_by_id = updated_by_id 626 627 @property 628 def uri(self): 629 """ 630 Gets the uri of this EntitySummary. 631 URI to the data entity instance in the API. 632 633 634 :return: The uri of this EntitySummary. 635 :rtype: str 636 """ 637 return self._uri 638 639 @uri.setter 640 def uri(self, uri): 641 """ 642 Sets the uri of this EntitySummary. 643 URI to the data entity instance in the API. 644 645 646 :param uri: The uri of this EntitySummary. 647 :type: str 648 """ 649 self._uri = uri 650 651 @property 652 def lifecycle_state(self): 653 """ 654 Gets the lifecycle_state of this EntitySummary. 655 State of the data entity. 656 657 Allowed values for this property are: "CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "MOVING", 'UNKNOWN_ENUM_VALUE'. 658 Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. 659 660 661 :return: The lifecycle_state of this EntitySummary. 662 :rtype: str 663 """ 664 return self._lifecycle_state 665 666 @lifecycle_state.setter 667 def lifecycle_state(self, lifecycle_state): 668 """ 669 Sets the lifecycle_state of this EntitySummary. 670 State of the data entity. 671 672 673 :param lifecycle_state: The lifecycle_state of this EntitySummary. 674 :type: str 675 """ 676 allowed_values = ["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "MOVING"] 677 if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values): 678 lifecycle_state = 'UNKNOWN_ENUM_VALUE' 679 self._lifecycle_state = lifecycle_state 680 681 @property 682 def properties(self): 683 """ 684 Gets the properties of this EntitySummary. 685 A map of maps that contains the properties which are specific to the entity type. Each entity type 686 definition defines it's set of required and optional properties. The map keys are category names and the 687 values are maps of property name to property value. Every property is contained inside of a category. Most 688 data entities have required properties within the \"default\" category. 689 Example: `{\"properties\": { \"default\": { \"key1\": \"value1\"}}}` 690 691 692 :return: The properties of this EntitySummary. 693 :rtype: dict(str, dict(str, str)) 694 """ 695 return self._properties 696 697 @properties.setter 698 def properties(self, properties): 699 """ 700 Sets the properties of this EntitySummary. 701 A map of maps that contains the properties which are specific to the entity type. Each entity type 702 definition defines it's set of required and optional properties. The map keys are category names and the 703 values are maps of property name to property value. Every property is contained inside of a category. Most 704 data entities have required properties within the \"default\" category. 705 Example: `{\"properties\": { \"default\": { \"key1\": \"value1\"}}}` 706 707 708 :param properties: The properties of this EntitySummary. 709 :type: dict(str, dict(str, str)) 710 """ 711 self._properties = properties 712 713 def __repr__(self): 714 return formatted_flat_dict(self) 715 716 def __eq__(self, other): 717 if other is None: 718 return False 719 720 return self.__dict__ == other.__dict__ 721 722 def __ne__(self, other): 723 return not self == other 724