Class: OCI::DataCatalog::Models::CreateEntityDetails

Inherits:
Object
  • Object
show all
Defined in:
lib/oci/data_catalog/models/create_entity_details.rb

Overview

Properties used in data entity create operations.

Constant Summary collapse

HARVEST_STATUS_ENUM =
[
  HARVEST_STATUS_COMPLETE = 'COMPLETE'.freeze,
  HARVEST_STATUS_ERROR = 'ERROR'.freeze,
  HARVEST_STATUS_IN_PROGRESS = 'IN_PROGRESS'.freeze,
  HARVEST_STATUS_DEFERRED = 'DEFERRED'.freeze
].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ CreateEntityDetails

Initializes the object

Parameters:

  • attributes (Hash) (defaults to: {})

    Model attributes in the form of hash

Options Hash (attributes):



137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 137

def initialize(attributes = {})
  return unless attributes.is_a?(Hash)

  # convert string to symbol for hash key
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }

  self.display_name = attributes[:'displayName'] if attributes[:'displayName']

  raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')

  self.display_name = attributes[:'display_name'] if attributes[:'display_name']

  self.description = attributes[:'description'] if attributes[:'description']

  self.time_external = attributes[:'timeExternal'] if attributes[:'timeExternal']

  raise 'You cannot provide both :timeExternal and :time_external' if attributes.key?(:'timeExternal') && attributes.key?(:'time_external')

  self.time_external = attributes[:'time_external'] if attributes[:'time_external']

  self.is_logical = attributes[:'isLogical'] unless attributes[:'isLogical'].nil?
  self.is_logical = false if is_logical.nil? && !attributes.key?(:'isLogical') # rubocop:disable Style/StringLiterals

  raise 'You cannot provide both :isLogical and :is_logical' if attributes.key?(:'isLogical') && attributes.key?(:'is_logical')

  self.is_logical = attributes[:'is_logical'] unless attributes[:'is_logical'].nil?
  self.is_logical = false if is_logical.nil? && !attributes.key?(:'isLogical') && !attributes.key?(:'is_logical') # rubocop:disable Style/StringLiterals

  self.is_partition = attributes[:'isPartition'] unless attributes[:'isPartition'].nil?
  self.is_partition = false if is_partition.nil? && !attributes.key?(:'isPartition') # rubocop:disable Style/StringLiterals

  raise 'You cannot provide both :isPartition and :is_partition' if attributes.key?(:'isPartition') && attributes.key?(:'is_partition')

  self.is_partition = attributes[:'is_partition'] unless attributes[:'is_partition'].nil?
  self.is_partition = false if is_partition.nil? && !attributes.key?(:'isPartition') && !attributes.key?(:'is_partition') # rubocop:disable Style/StringLiterals

  self.folder_key = attributes[:'folderKey'] if attributes[:'folderKey']

  raise 'You cannot provide both :folderKey and :folder_key' if attributes.key?(:'folderKey') && attributes.key?(:'folder_key')

  self.folder_key = attributes[:'folder_key'] if attributes[:'folder_key']

  self.pattern_key = attributes[:'patternKey'] if attributes[:'patternKey']

  raise 'You cannot provide both :patternKey and :pattern_key' if attributes.key?(:'patternKey') && attributes.key?(:'pattern_key')

  self.pattern_key = attributes[:'pattern_key'] if attributes[:'pattern_key']

  self.realized_expression = attributes[:'realizedExpression'] if attributes[:'realizedExpression']

  raise 'You cannot provide both :realizedExpression and :realized_expression' if attributes.key?(:'realizedExpression') && attributes.key?(:'realized_expression')

  self.realized_expression = attributes[:'realized_expression'] if attributes[:'realized_expression']

  self.harvest_status = attributes[:'harvestStatus'] if attributes[:'harvestStatus']

  raise 'You cannot provide both :harvestStatus and :harvest_status' if attributes.key?(:'harvestStatus') && attributes.key?(:'harvest_status')

  self.harvest_status = attributes[:'harvest_status'] if attributes[:'harvest_status']

  self.last_job_key = attributes[:'lastJobKey'] if attributes[:'lastJobKey']

  raise 'You cannot provide both :lastJobKey and :last_job_key' if attributes.key?(:'lastJobKey') && attributes.key?(:'last_job_key')

  self.last_job_key = attributes[:'last_job_key'] if attributes[:'last_job_key']

  self.custom_property_members = attributes[:'customPropertyMembers'] if attributes[:'customPropertyMembers']

  raise 'You cannot provide both :customPropertyMembers and :custom_property_members' if attributes.key?(:'customPropertyMembers') && attributes.key?(:'custom_property_members')

  self.custom_property_members = attributes[:'custom_property_members'] if attributes[:'custom_property_members']

  self.properties = attributes[:'properties'] if attributes[:'properties']
end

Instance Attribute Details

#custom_property_membersArray<OCI::DataCatalog::Models::CustomPropertySetUsage>

The list of customized properties along with the values for this object



65
66
67
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 65

def custom_property_members
  @custom_property_members
end

#descriptionString

Detailed description of a data entity.

Returns:

  • (String)


25
26
27
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 25

def description
  @description
end

#display_nameString

[Required] A user-friendly display name. Does not have to be unique, and it's changeable. Avoid entering confidential information.

Returns:

  • (String)


21
22
23
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 21

def display_name
  @display_name
end

#folder_keyString

Key of the associated folder.

Returns:

  • (String)


41
42
43
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 41

def folder_key
  @folder_key
end

#harvest_statusString

Status of the object as updated by the harvest process. When an entity object is created , it's harvest status will indicate if the entity's metadata has been fully harvested or not. The harvest process can perform shallow harvesting to allow users to browse the metadata and can on-demand deep harvest on any object This requires a harvest status indicator for catalog objects.

Returns:

  • (String)


57
58
59
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 57

def harvest_status
  @harvest_status
end

#is_logicalBOOLEAN

Property to indicate if the object is a physical materialized object or virtual. For example, View.

Returns:

  • (BOOLEAN)


33
34
35
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 33

def is_logical
  @is_logical
end

#is_partitionBOOLEAN

Property to indicate if the object is a sub object of a parent physical object.

Returns:

  • (BOOLEAN)


37
38
39
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 37

def is_partition
  @is_partition
end

#last_job_keyString

Key of the last harvest process to update this object.

Returns:

  • (String)


61
62
63
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 61

def last_job_key
  @last_job_key
end

#pattern_keyString

Key of the associated pattern if this is a logical entity.

Returns:

  • (String)


45
46
47
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 45

def pattern_key
  @pattern_key
end

#propertiesHash<String, Hash<String, String>>

A map of maps that contains the properties which are specific to the entity type. Each entity type definition defines it's set of required and optional properties. The map keys are category names and the values are maps of property name to property value. Every property is contained inside of a category. Most entities have required properties within the "default" category. To determine the set of required and optional properties for an entity type, a query can be done on '/types?type=dataEntity' that returns a collection of all entity types. The appropriate entity type, which includes definitions of all of it's properties, can be identified from this collection. Example: {\"properties\": { \"default\": { \"key1\": \"value1\"}}}

Returns:

  • (Hash<String, Hash<String, String>>)


77
78
79
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 77

def properties
  @properties
end

#realized_expressionString

The expression realized after resolving qualifiers . Used in deriving this logical entity

Returns:

  • (String)


49
50
51
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 49

def realized_expression
  @realized_expression
end

#time_externalDateTime

[Required] Last modified timestamp of the object in the external system.

Returns:

  • (DateTime)


29
30
31
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 29

def time_external
  @time_external
end

Class Method Details

.attribute_mapObject

Attribute mapping from ruby-style variable name to JSON key.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 80

def self.attribute_map
  {
    # rubocop:disable Style/SymbolLiteral
    'display_name': :'displayName',
    'description': :'description',
    'time_external': :'timeExternal',
    'is_logical': :'isLogical',
    'is_partition': :'isPartition',
    'folder_key': :'folderKey',
    'pattern_key': :'patternKey',
    'realized_expression': :'realizedExpression',
    'harvest_status': :'harvestStatus',
    'last_job_key': :'lastJobKey',
    'custom_property_members': :'customPropertyMembers',
    'properties': :'properties'
    # rubocop:enable Style/SymbolLiteral
  }
end

.swagger_typesObject

Attribute type mapping.



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 100

def self.swagger_types
  {
    # rubocop:disable Style/SymbolLiteral
    'display_name': :'String',
    'description': :'String',
    'time_external': :'DateTime',
    'is_logical': :'BOOLEAN',
    'is_partition': :'BOOLEAN',
    'folder_key': :'String',
    'pattern_key': :'String',
    'realized_expression': :'String',
    'harvest_status': :'String',
    'last_job_key': :'String',
    'custom_property_members': :'Array<OCI::DataCatalog::Models::CustomPropertySetUsage>',
    'properties': :'Hash<String, Hash<String, String>>'
    # rubocop:enable Style/SymbolLiteral
  }
end

Instance Method Details

#==(other) ⇒ Object

Checks equality by comparing each attribute.

Parameters:

  • other (Object)

    the other object to be compared



227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 227

def ==(other)
  return true if equal?(other)

  self.class == other.class &&
    display_name == other.display_name &&
    description == other.description &&
    time_external == other.time_external &&
    is_logical == other.is_logical &&
    is_partition == other.is_partition &&
    folder_key == other.folder_key &&
    pattern_key == other.pattern_key &&
    realized_expression == other.realized_expression &&
    harvest_status == other.harvest_status &&
    last_job_key == other.last_job_key &&
    custom_property_members == other.custom_property_members &&
    properties == other.properties
end

#build_from_hash(attributes) ⇒ Object

Builds the object from hash

Parameters:

  • attributes (Hash)

    Model attributes in the form of hash

Returns:

  • (Object)

    Returns the model itself



268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 268

def build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)

  self.class.swagger_types.each_pair do |key, type|
    if type =~ /^Array<(.*)>/i
      # check to ensure the input is an array given that the the attribute
      # is documented as an array but the input is not
      if attributes[self.class.attribute_map[key]].is_a?(Array)
        public_method("#{key}=").call(
          attributes[self.class.attribute_map[key]]
            .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
        )
      end
    elsif !attributes[self.class.attribute_map[key]].nil?
      public_method("#{key}=").call(
        OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
      )
    end
    # or else data not found in attributes(hash), not an issue as the data can be optional
  end

  self
end

#eql?(other) ⇒ Boolean

Parameters:

  • other (Object)

    the other object to be compared

Returns:

  • (Boolean)

See Also:

  • `==` method


248
249
250
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 248

def eql?(other)
  self == other
end

#hashFixnum

Calculates hash code according to all attributes.

Returns:

  • (Fixnum)

    Hash code



257
258
259
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 257

def hash
  [display_name, description, time_external, is_logical, is_partition, folder_key, pattern_key, realized_expression, harvest_status, last_job_key, custom_property_members, properties].hash
end

#to_hashHash

Returns the object in the form of hash

Returns:

  • (Hash)

    Returns the object in the form of hash



301
302
303
304
305
306
307
308
309
310
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 301

def to_hash
  hash = {}
  self.class.attribute_map.each_pair do |attr, param|
    value = public_method(attr).call
    next if value.nil? && !instance_variable_defined?("@#{attr}")

    hash[param] = _to_hash(value)
  end
  hash
end

#to_sString

Returns the string representation of the object

Returns:

  • (String)

    String presentation of the object



295
296
297
# File 'lib/oci/data_catalog/models/create_entity_details.rb', line 295

def to_s
  to_hash.to_s
end