Class: OCI::Database::Models::DbSystem

Inherits:
Object
  • Object
show all
Defined in:
lib/oci/database/models/db_system.rb

Overview

The Database Service supports several types of DB Systems, ranging in size, price, and performance. For details about each type of system, see:

To use any of the API operations, you must be authorized in an IAM policy. If you’re not authorized, talk to an administrator. If you’re an administrator who needs to write policies to give users access, see [Getting Started with Policies](docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).

For information about access control and compartments, see [Overview of the Identity Service](docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).

For information about Availability Domains, see [Regions and Availability Domains](docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm).

To get a list of Availability Domains, use the ‘ListAvailabilityDomains` operation in the Identity Service API.

Constant Summary collapse

DATABASE_EDITION_ENUM =
[DATABASE_EDITION_STANDARD_EDITION = 'STANDARD_EDITION',
DATABASE_EDITION_ENTERPRISE_EDITION = 'ENTERPRISE_EDITION',
DATABASE_EDITION_ENTERPRISE_EDITION_EXTREME_PERFORMANCE = 'ENTERPRISE_EDITION_EXTREME_PERFORMANCE',
DATABASE_EDITION_ENTERPRISE_EDITION_HIGH_PERFORMANCE = 'ENTERPRISE_EDITION_HIGH_PERFORMANCE',
DATABASE_EDITION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
DISK_REDUNDANCY_ENUM =
[DISK_REDUNDANCY_HIGH = 'HIGH',
DISK_REDUNDANCY_NORMAL = 'NORMAL',
DISK_REDUNDANCY_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
LICENSE_MODEL_ENUM =
[LICENSE_MODEL_LICENSE_INCLUDED = 'LICENSE_INCLUDED',
LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = 'BRING_YOUR_OWN_LICENSE',
LICENSE_MODEL_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
LIFECYCLE_STATE_ENUM =
[LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE',
LIFECYCLE_STATE_UPDATING = 'UPDATING',
LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
LIFECYCLE_STATE_FAILED = 'FAILED',
LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ DbSystem

Initializes the object

Parameters:

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

    Model attributes in the form of hash

Options Hash (attributes):

  • :availability_domain (String)

    The value to assign to the #availability_domain property

  • :backup_subnet_id (String)

    The value to assign to the #backup_subnet_id property

  • :cluster_name (String)

    The value to assign to the #cluster_name property

  • :compartment_id (String)

    The value to assign to the #compartment_id property

  • :cpu_core_count (Integer)

    The value to assign to the #cpu_core_count property

  • :data_storage_percentage (Integer)

    The value to assign to the #data_storage_percentage property

  • :data_storage_size_in_gbs (Integer)

    The value to assign to the #data_storage_size_in_gbs property

  • :database_edition (String)

    The value to assign to the #database_edition property

  • :disk_redundancy (String)

    The value to assign to the #disk_redundancy property

  • :display_name (String)

    The value to assign to the #display_name property

  • :domain (String)

    The value to assign to the #domain property

  • :hostname (String)

    The value to assign to the #hostname property

  • :id (String)

    The value to assign to the #id property

  • :last_patch_history_entry_id (String)

    The value to assign to the #last_patch_history_entry_id property

  • :license_model (String)

    The value to assign to the #license_model property

  • :lifecycle_details (String)

    The value to assign to the #lifecycle_details property

  • :lifecycle_state (String)

    The value to assign to the #lifecycle_state property

  • :listener_port (Integer)

    The value to assign to the #listener_port property

  • :node_count (Integer)

    The value to assign to the #node_count property

  • :reco_storage_size_in_gb (Integer)

    The value to assign to the #reco_storage_size_in_gb property

  • :scan_dns_record_id (String)

    The value to assign to the #scan_dns_record_id property

  • :scan_ip_ids (Array<String>)

    The value to assign to the #scan_ip_ids property

  • :shape (String)

    The value to assign to the #shape property

  • :ssh_public_keys (Array<String>)

    The value to assign to the #ssh_public_keys property

  • :subnet_id (String)

    The value to assign to the #subnet_id property

  • :time_created (DateTime)

    The value to assign to the #time_created property

  • :version (String)

    The value to assign to the #version property

  • :vip_ids (Array<String>)

    The value to assign to the #vip_ids property



227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
# File 'lib/oci/database/models/db_system.rb', line 227

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}

  if attributes[:'availabilityDomain']
    self.availability_domain = attributes[:'availabilityDomain']
  end

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

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

  if attributes[:'backupSubnetId']
    self.backup_subnet_id = attributes[:'backupSubnetId']
  end

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

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

  if attributes[:'clusterName']
    self.cluster_name = attributes[:'clusterName']
  end

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

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

  if attributes[:'compartmentId']
    self.compartment_id = attributes[:'compartmentId']
  end

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

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

  if attributes[:'cpuCoreCount']
    self.cpu_core_count = attributes[:'cpuCoreCount']
  end

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

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

  if attributes[:'dataStoragePercentage']
    self.data_storage_percentage = attributes[:'dataStoragePercentage']
  end

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

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

  if attributes[:'dataStorageSizeInGBs']
    self.data_storage_size_in_gbs = attributes[:'dataStorageSizeInGBs']
  end

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

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

  if attributes[:'databaseEdition']
    self.database_edition = attributes[:'databaseEdition']
  end

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

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

  if attributes[:'diskRedundancy']
    self.disk_redundancy = attributes[:'diskRedundancy']
  end

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

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

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

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

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

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

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

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

  if attributes[:'lastPatchHistoryEntryId']
    self.last_patch_history_entry_id = attributes[:'lastPatchHistoryEntryId']
  end

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

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

  if attributes[:'licenseModel']
    self.license_model = attributes[:'licenseModel']
  end

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

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

  if attributes[:'lifecycleDetails']
    self.lifecycle_details = attributes[:'lifecycleDetails']
  end

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

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

  if attributes[:'lifecycleState']
    self.lifecycle_state = attributes[:'lifecycleState']
  end

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

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

  if attributes[:'listenerPort']
    self.listener_port = attributes[:'listenerPort']
  end

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

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

  if attributes[:'nodeCount']
    self.node_count = attributes[:'nodeCount']
  end

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

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

  if attributes[:'recoStorageSizeInGB']
    self.reco_storage_size_in_gb = attributes[:'recoStorageSizeInGB']
  end

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

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

  if attributes[:'scanDnsRecordId']
    self.scan_dns_record_id = attributes[:'scanDnsRecordId']
  end

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

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

  if attributes[:'scanIpIds']
    self.scan_ip_ids = attributes[:'scanIpIds']
  end

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

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

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

  if attributes[:'sshPublicKeys']
    self.ssh_public_keys = attributes[:'sshPublicKeys']
  end

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

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

  if attributes[:'subnetId']
    self.subnet_id = attributes[:'subnetId']
  end

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

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

  if attributes[:'timeCreated']
    self.time_created = attributes[:'timeCreated']
  end

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

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

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

  if attributes[:'vipIds']
    self.vip_ids = attributes[:'vipIds']
  end

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

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

end

Instance Attribute Details

#availability_domainString

[Required] The name of the Availability Domain that the DB System is located in.

Returns:

  • (String)


51
52
53
# File 'lib/oci/database/models/db_system.rb', line 51

def availability_domain
  @availability_domain
end

#backup_subnet_idString

The OCID of the backup network subnet the DB System is associated with. Applicable only to Exadata.

**Subnet Restriction:** See above subnetId’s ‘Subnet Restriction’. to malfunction.

Returns:

  • (String)


59
60
61
# File 'lib/oci/database/models/db_system.rb', line 59

def backup_subnet_id
  @backup_subnet_id
end

#cluster_nameString

Cluster name for Exadata and 2-node RAC DB Systems. The cluster name must begin with an an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive.

Returns:

  • (String)


64
65
66
# File 'lib/oci/database/models/db_system.rb', line 64

def cluster_name
  @cluster_name
end

#compartment_idString

[Required] The OCID of the compartment.

Returns:

  • (String)


68
69
70
# File 'lib/oci/database/models/db_system.rb', line 68

def compartment_id
  @compartment_id
end

#cpu_core_countInteger

[Required] The number of CPU cores enabled on the DB System.

Returns:

  • (Integer)


72
73
74
# File 'lib/oci/database/models/db_system.rb', line 72

def cpu_core_count
  @cpu_core_count
end

#data_storage_percentageInteger

The percentage assigned to DATA storage (user data and database files). The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are 40 and 80.

Returns:

  • (Integer)


78
79
80
# File 'lib/oci/database/models/db_system.rb', line 78

def data_storage_percentage
  @data_storage_percentage
end

#data_storage_size_in_gbsInteger

Data storage size, in GBs, that is currently available to the DB system. This is applicable only for VM-based DBs.

Returns:

  • (Integer)


83
84
85
# File 'lib/oci/database/models/db_system.rb', line 83

def data_storage_size_in_gbs
  @data_storage_size_in_gbs
end

#database_editionString

[Required] The Oracle Database Edition that applies to all the databases on the DB System.

Returns:

  • (String)


88
89
90
# File 'lib/oci/database/models/db_system.rb', line 88

def database_edition
  @database_edition
end

#disk_redundancyString

The type of redundancy configured for the DB System. Normal is 2-way redundancy. High is 3-way redundancy.

Returns:

  • (String)


95
96
97
# File 'lib/oci/database/models/db_system.rb', line 95

def disk_redundancy
  @disk_redundancy
end

#display_nameString

[Required] The user-friendly name for the DB System. It does not have to be unique.

Returns:

  • (String)


99
100
101
# File 'lib/oci/database/models/db_system.rb', line 99

def display_name
  @display_name
end

#domainString

[Required] The domain name for the DB System.

Returns:

  • (String)


103
104
105
# File 'lib/oci/database/models/db_system.rb', line 103

def domain
  @domain
end

#hostnameString

[Required] The host name for the DB Node.

Returns:

  • (String)


107
108
109
# File 'lib/oci/database/models/db_system.rb', line 107

def hostname
  @hostname
end

#idString

[Required] The OCID of the DB System.

Returns:

  • (String)


111
112
113
# File 'lib/oci/database/models/db_system.rb', line 111

def id
  @id
end

#last_patch_history_entry_idString

The OCID of the last patch history. This is updated as soon as a patch operation is started.

Returns:

  • (String)


115
116
117
# File 'lib/oci/database/models/db_system.rb', line 115

def last_patch_history_entry_id
  @last_patch_history_entry_id
end

#license_modelString

The Oracle license model that applies to all the databases on the DB System. The default is LICENSE_INCLUDED.

Returns:

  • (String)


120
121
122
# File 'lib/oci/database/models/db_system.rb', line 120

def license_model
  @license_model
end

#lifecycle_detailsString

Additional information about the current lifecycleState.

Returns:

  • (String)


124
125
126
# File 'lib/oci/database/models/db_system.rb', line 124

def lifecycle_details
  @lifecycle_details
end

#lifecycle_stateString

[Required] The current state of the DB System.

Returns:

  • (String)


128
129
130
# File 'lib/oci/database/models/db_system.rb', line 128

def lifecycle_state
  @lifecycle_state
end

#listener_portInteger

The port number configured for the listener on the DB System.

Returns:

  • (Integer)


132
133
134
# File 'lib/oci/database/models/db_system.rb', line 132

def listener_port
  @listener_port
end

#node_countInteger

Number of nodes in this DB system. For RAC DBs, this will be greater than 1.

Returns:

  • (Integer)


137
138
139
# File 'lib/oci/database/models/db_system.rb', line 137

def node_count
  @node_count
end

#reco_storage_size_in_gbInteger

RECO/REDO storage size, in GBs, that is currently allocated to the DB system. This is applicable only for VM-based DBs.

Returns:

  • (Integer)


142
143
144
# File 'lib/oci/database/models/db_system.rb', line 142

def reco_storage_size_in_gb
  @reco_storage_size_in_gb
end

#scan_dns_record_idString

The OCID of the DNS record for the SCAN IP addresses that are associated with the DB System.

Returns:

  • (String)


147
148
149
# File 'lib/oci/database/models/db_system.rb', line 147

def scan_dns_record_id
  @scan_dns_record_id
end

#scan_ip_idsArray<String>

The OCID of the Single Client Access Name (SCAN) IP addresses associated with the DB System. SCAN IP addresses are typically used for load balancing and are not assigned to any interface. Clusterware directs the requests to the appropriate nodes in the cluster.

  • For a single-node DB System, this list is empty.

Returns:

  • (Array<String>)


156
157
158
# File 'lib/oci/database/models/db_system.rb', line 156

def scan_ip_ids
  @scan_ip_ids
end

#shapeString

[Required] The shape of the DB System. The shape determines resources to allocate to the DB system - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes.

Returns:

  • (String)


160
161
162
# File 'lib/oci/database/models/db_system.rb', line 160

def shape
  @shape
end

#ssh_public_keysArray<String>

[Required] The public key portion of one or more key pairs used for SSH access to the DB System.

Returns:

  • (Array<String>)


164
165
166
# File 'lib/oci/database/models/db_system.rb', line 164

def ssh_public_keys
  @ssh_public_keys
end

#subnet_idString

[Required] The OCID of the subnet the DB System is associated with.

**Subnet Restrictions:**

  • For single node and 2-node (RAC) DB Systems, do not use a subnet that overlaps with 192.168.16.16/28

  • For Exadata and VM-based RAC DB Systems, do not use a subnet that overlaps with 192.168.128.0/20

These subnets are used by the Oracle Clusterware private interconnect on the database instance. Specifying an overlapping subnet will cause the private interconnect to malfunction. This restriction applies to both the client subnet and backup subnet.

Returns:

  • (String)


177
178
179
# File 'lib/oci/database/models/db_system.rb', line 177

def subnet_id
  @subnet_id
end

#time_createdDateTime

The date and time the DB System was created.

Returns:

  • (DateTime)


181
182
183
# File 'lib/oci/database/models/db_system.rb', line 181

def time_created
  @time_created
end

#versionString

The version of the DB System.

Returns:

  • (String)


185
186
187
# File 'lib/oci/database/models/db_system.rb', line 185

def version
  @version
end

#vip_idsArray<String>

The OCID of the virtual IP (VIP) addresses associated with the DB System. The Cluster Ready Services (CRS) creates and maintains one VIP address for each node in the DB System to enable failover. If one node fails, the VIP is reassigned to another active node in the cluster.

  • For a single-node DB System, this list is empty.

Returns:

  • (Array<String>)


194
195
196
# File 'lib/oci/database/models/db_system.rb', line 194

def vip_ids
  @vip_ids
end

Instance Method Details

#==(other_object) ⇒ Object

Checks equality by comparing each attribute.

Parameters:

  • other_object (Object)

    to be compared



527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
# File 'lib/oci/database/models/db_system.rb', line 527

def ==(other_object)
  return true if self.equal?(other_object)
  self.class == other_object.class &&
      availability_domain == other_object.availability_domain &&
      backup_subnet_id == other_object.backup_subnet_id &&
      cluster_name == other_object.cluster_name &&
      compartment_id == other_object.compartment_id &&
      cpu_core_count == other_object.cpu_core_count &&
      data_storage_percentage == other_object.data_storage_percentage &&
      data_storage_size_in_gbs == other_object.data_storage_size_in_gbs &&
      database_edition == other_object.database_edition &&
      disk_redundancy == other_object.disk_redundancy &&
      display_name == other_object.display_name &&
      domain == other_object.domain &&
      hostname == other_object.hostname &&
      id == other_object.id &&
      last_patch_history_entry_id == other_object.last_patch_history_entry_id &&
      license_model == other_object.license_model &&
      lifecycle_details == other_object.lifecycle_details &&
      lifecycle_state == other_object.lifecycle_state &&
      listener_port == other_object.listener_port &&
      node_count == other_object.node_count &&
      reco_storage_size_in_gb == other_object.reco_storage_size_in_gb &&
      scan_dns_record_id == other_object.scan_dns_record_id &&
      scan_ip_ids == other_object.scan_ip_ids &&
      shape == other_object.shape &&
      ssh_public_keys == other_object.ssh_public_keys &&
      subnet_id == other_object.subnet_id &&
      time_created == other_object.time_created &&
      version == other_object.version &&
      vip_ids == other_object.vip_ids
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



575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
# File 'lib/oci/database/models/db_system.rb', line 575

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)
        self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
      end
    elsif !attributes[self.class.attribute_map[key]].nil?
      self.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_object) ⇒ Boolean

Parameters:

  • other_object (Object)

    to be compared

Returns:

  • (Boolean)

See Also:

  • `==` method


562
563
564
# File 'lib/oci/database/models/db_system.rb', line 562

def eql?(other_object)
  self == other_object
end

#hashFixnum

Calculates hash code according to all attributes.

Returns:

  • (Fixnum)

    Hash code



568
569
570
# File 'lib/oci/database/models/db_system.rb', line 568

def hash
  [availability_domain, backup_subnet_id, cluster_name, compartment_id, cpu_core_count, data_storage_percentage, data_storage_size_in_gbs, database_edition, disk_redundancy, display_name, domain, hostname, id, last_patch_history_entry_id, license_model, lifecycle_details, lifecycle_state, listener_port, node_count, reco_storage_size_in_gb, scan_dns_record_id, scan_ip_ids, shape, ssh_public_keys, subnet_id, time_created, version, vip_ids].hash
end

#to_hashHash

Returns the object in the form of hash

Returns:

  • (Hash)

    Returns the object in the form of hash



600
601
602
603
604
605
606
607
608
# File 'lib/oci/database/models/db_system.rb', line 600

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



594
595
596
# File 'lib/oci/database/models/db_system.rb', line 594

def to_s
  to_hash.to_s
end