Class: OCI::DistributedDatabase::Models::DistributedDbVmCluster

Inherits:
Object
  • Object
show all
Defined in:
lib/oci/distributed_database/models/distributed_db_vm_cluster.rb

Overview

The Exadata VM cluster for Distributed Database Resource

Constant Summary collapse

LICENSE_MODEL_ENUM =
[
  LICENSE_MODEL_LICENSE_INCLUDED = 'LICENSE_INCLUDED'.freeze,
  LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = 'BRING_YOUR_OWN_LICENSE'.freeze,
  LICENSE_MODEL_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ DistributedDbVmCluster

Initializes the object

Parameters:

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

    Model attributes in the form of hash

Options Hash (attributes):



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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
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
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 180

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.vm_cluster_id = attributes[:'vmClusterId'] if attributes[:'vmClusterId']

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

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

  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.subnet_id = attributes[:'subnetId'] if attributes[:'subnetId']

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

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

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

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

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

  self.enabled_e_cpu_count = attributes[:'enabledECpuCount'] if attributes[:'enabledECpuCount']

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

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

  self.total_e_cpu_count = attributes[:'totalECpuCount'] if attributes[:'totalECpuCount']

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

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

  self.vm_file_system_storage_size = attributes[:'vmFileSystemStorageSize'] if attributes[:'vmFileSystemStorageSize']

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

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

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

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

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

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

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

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

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

  self.private_zone_id = attributes[:'privateZoneId'] if attributes[:'privateZoneId']

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

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

  self.nsg_ids = attributes[:'nsgIds'] if attributes[:'nsgIds']

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

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

  self.backup_network_nsg_ids = attributes[:'backupNetworkNsgIds'] if attributes[:'backupNetworkNsgIds']

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

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

  self.is_diagnostics_events_enabled = attributes[:'isDiagnosticsEventsEnabled'] unless attributes[:'isDiagnosticsEventsEnabled'].nil?

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

  self.is_diagnostics_events_enabled = attributes[:'is_diagnostics_events_enabled'] unless attributes[:'is_diagnostics_events_enabled'].nil?

  self.is_health_monitoring_enabled = attributes[:'isHealthMonitoringEnabled'] unless attributes[:'isHealthMonitoringEnabled'].nil?

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

  self.is_health_monitoring_enabled = attributes[:'is_health_monitoring_enabled'] unless attributes[:'is_health_monitoring_enabled'].nil?

  self.is_incident_logs_enabled = attributes[:'isIncidentLogsEnabled'] unless attributes[:'isIncidentLogsEnabled'].nil?

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

  self.is_incident_logs_enabled = attributes[:'is_incident_logs_enabled'] unless attributes[:'is_incident_logs_enabled'].nil?
end

Instance Attribute Details

#backup_network_nsg_idsArray<String>

A list of the OCIDs of the network security groups (NSGs) that the backup network of this DB system belongs to. Setting this to an empty array after the list is created removes the resource from all NSGs. For more information about NSGs, see Security Rules. Applicable only to Exadata systems.

Returns:

  • (Array<String>)


85
86
87
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 85

def backup_network_nsg_ids
  @backup_network_nsg_ids
end

#backup_subnet_idString

[Required] The OCID of the backup network subnet associated with the Exadata VM cluster on Exascale Infrastructure.

Returns:

  • (String)


34
35
36
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 34

def backup_subnet_id
  @backup_subnet_id
end

#display_nameString

The user-friendly name for the Exadata VM cluster on Exascale Infrastructure. The name does not need to be unique.

Returns:

  • (String)


24
25
26
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 24

def display_name
  @display_name
end

#domainString

A domain name used for the Exadata VM cluster on Exascale Infrastructure. If the Oracle-provided internet and VCN resolver is enabled for the specified subnet, then the domain name for the subnet is used (do not provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. Applies to Exadata Database Service on Exascale Infrastructure only.

Returns:

  • (String)


66
67
68
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 66

def domain
  @domain
end

#enabled_e_cpu_countInteger

[Required] The number of ECPUs to enable for an Exadata VM cluster on Exascale Infrastructure.

Returns:

  • (Integer)


39
40
41
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 39

def enabled_e_cpu_count
  @enabled_e_cpu_count
end

#is_diagnostics_events_enabledBOOLEAN

Indicates whether diagnostic collection is enabled for the VM cluster. Enabling diagnostic collection allows you to receive Events service notifications for guest VM issues. Diagnostic collection also allows Oracle to provide enhanced service and proactive support for your Exadata system. You can enable diagnostic collection during VM cluster provisioning. You can also disable or enable it at any time using the UpdateVmCluster API.

Returns:

  • (BOOLEAN)


93
94
95
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 93

def is_diagnostics_events_enabled
  @is_diagnostics_events_enabled
end

#is_health_monitoring_enabledBOOLEAN

Indicates whether health monitoring is enabled for the VM cluster. Enabling health monitoring allows Oracle to collect diagnostic data and share it with its operations and support personnel. You may also receive notifications for some events. Collecting health diagnostics enables Oracle to provide proactive support and enhanced service for your system. Optionally enable health monitoring while provisioning a system. You can also disable or enable health monitoring anytime using the UpdateVmCluster API.

Returns:

  • (BOOLEAN)


101
102
103
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 101

def is_health_monitoring_enabled
  @is_health_monitoring_enabled
end

#is_incident_logs_enabledBOOLEAN

Indicates whether incident logs and trace collection are enabled for the VM cluster. Enabling incident logs collection allows Oracle to receive Events service notifications for guest VM issues, collect incident logs and traces, and use them to diagnose issues and resolve them. Optionally enable incident logs collection while provisioning a system. You can also disable or enable incident logs collection anytime using the UpdateVmCluster API.

Returns:

  • (BOOLEAN)


108
109
110
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 108

def is_incident_logs_enabled
  @is_incident_logs_enabled
end

#license_modelString

The Oracle license model that applies to the Exadata VM cluster on Exascale Infrastructure. The default is BRING_YOUR_OWN_LICENSE.

Returns:

  • (String)


58
59
60
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 58

def license_model
  @license_model
end

#nsg_idsArray<String>

The list of OCIDs for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see Security Rules.

Returns:

  • (Array<String>)


78
79
80
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 78

def nsg_ids
  @nsg_ids
end

#private_zone_idString

The private zone ID in which you want DNS records to be created.

Returns:

  • (String)


71
72
73
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 71

def private_zone_id
  @private_zone_id
end

#ssh_public_keysArray<String>

[Required] The public key portion of one or more key pairs used for SSH access to the Exadata VM cluster on Exascale Infrastructure.

Returns:

  • (Array<String>)


53
54
55
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 53

def ssh_public_keys
  @ssh_public_keys
end

#subnet_idString

[Required] The OCID of the subnet associated with the Exadata VM cluster on Exascale Infrastructure.

Returns:

  • (String)


29
30
31
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 29

def subnet_id
  @subnet_id
end

#total_e_cpu_countInteger

The number of Total ECPUs for an Exadata VM cluster on Exascale Infrastructure.

Returns:

  • (Integer)


44
45
46
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 44

def total_e_cpu_count
  @total_e_cpu_count
end

#vm_cluster_idString

The OCID of the Exadata VM cluster on Exascale Infrastructure.

Returns:

  • (String)


20
21
22
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 20

def vm_cluster_id
  @vm_cluster_id
end

#vm_file_system_storage_sizeInteger

File System Storage Size in GBs for Exadata VM cluster.

Returns:

  • (Integer)


49
50
51
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 49

def vm_file_system_storage_size
  @vm_file_system_storage_size
end

Class Method Details

.attribute_mapObject

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



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 111

def self.attribute_map
  {
    # rubocop:disable Style/SymbolLiteral
    'vm_cluster_id': :'vmClusterId',
    'display_name': :'displayName',
    'subnet_id': :'subnetId',
    'backup_subnet_id': :'backupSubnetId',
    'enabled_e_cpu_count': :'enabledECpuCount',
    'total_e_cpu_count': :'totalECpuCount',
    'vm_file_system_storage_size': :'vmFileSystemStorageSize',
    'ssh_public_keys': :'sshPublicKeys',
    'license_model': :'licenseModel',
    'domain': :'domain',
    'private_zone_id': :'privateZoneId',
    'nsg_ids': :'nsgIds',
    'backup_network_nsg_ids': :'backupNetworkNsgIds',
    'is_diagnostics_events_enabled': :'isDiagnosticsEventsEnabled',
    'is_health_monitoring_enabled': :'isHealthMonitoringEnabled',
    'is_incident_logs_enabled': :'isIncidentLogsEnabled'
    # rubocop:enable Style/SymbolLiteral
  }
end

.swagger_typesObject

Attribute type mapping.



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 135

def self.swagger_types
  {
    # rubocop:disable Style/SymbolLiteral
    'vm_cluster_id': :'String',
    'display_name': :'String',
    'subnet_id': :'String',
    'backup_subnet_id': :'String',
    'enabled_e_cpu_count': :'Integer',
    'total_e_cpu_count': :'Integer',
    'vm_file_system_storage_size': :'Integer',
    'ssh_public_keys': :'Array<String>',
    'license_model': :'String',
    'domain': :'String',
    'private_zone_id': :'String',
    'nsg_ids': :'Array<String>',
    'backup_network_nsg_ids': :'Array<String>',
    'is_diagnostics_events_enabled': :'BOOLEAN',
    'is_health_monitoring_enabled': :'BOOLEAN',
    'is_incident_logs_enabled': :'BOOLEAN'
    # 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



299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 299

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

  self.class == other.class &&
    vm_cluster_id == other.vm_cluster_id &&
    display_name == other.display_name &&
    subnet_id == other.subnet_id &&
    backup_subnet_id == other.backup_subnet_id &&
    enabled_e_cpu_count == other.enabled_e_cpu_count &&
    total_e_cpu_count == other.total_e_cpu_count &&
    vm_file_system_storage_size == other.vm_file_system_storage_size &&
    ssh_public_keys == other.ssh_public_keys &&
    license_model == other.license_model &&
    domain == other.domain &&
    private_zone_id == other.private_zone_id &&
    nsg_ids == other.nsg_ids &&
    backup_network_nsg_ids == other.backup_network_nsg_ids &&
    is_diagnostics_events_enabled == other.is_diagnostics_events_enabled &&
    is_health_monitoring_enabled == other.is_health_monitoring_enabled &&
    is_incident_logs_enabled == other.is_incident_logs_enabled
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



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 344

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


324
325
326
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 324

def eql?(other)
  self == other
end

#hashFixnum

Calculates hash code according to all attributes.

Returns:

  • (Fixnum)

    Hash code



333
334
335
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 333

def hash
  [vm_cluster_id, display_name, subnet_id, backup_subnet_id, enabled_e_cpu_count, total_e_cpu_count, vm_file_system_storage_size, ssh_public_keys, license_model, domain, private_zone_id, nsg_ids, backup_network_nsg_ids, is_diagnostics_events_enabled, is_health_monitoring_enabled, is_incident_logs_enabled].hash
end

#to_hashHash

Returns the object in the form of hash

Returns:

  • (Hash)

    Returns the object in the form of hash



377
378
379
380
381
382
383
384
385
386
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 377

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



371
372
373
# File 'lib/oci/distributed_database/models/distributed_db_vm_cluster.rb', line 371

def to_s
  to_hash.to_s
end