Class: OCI::ComputeCloudAtCustomer::Models::CccInfrastructureNetworkConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb

Overview

Configuration information for the Compute Cloud@Customer infrastructure. This network configuration information cannot be updated and is retrieved from the data center. The information will only be available after the connectionState is transitioned to CONNECTED.

Constant Summary collapse

[
  UPLINK_PORT_FORWARD_ERROR_CORRECTION_AUTO = 'AUTO'.freeze,
  UPLINK_PORT_FORWARD_ERROR_CORRECTION_FIRE_CODE_FEC = 'FIRE_CODE_FEC'.freeze,
  UPLINK_PORT_FORWARD_ERROR_CORRECTION_REED_SOLOMON_CONSORTIUM_16 = 'REED_SOLOMON_CONSORTIUM_16'.freeze,
  UPLINK_PORT_FORWARD_ERROR_CORRECTION_REED_SOLOMON_FEC = 'REED_SOLOMON_FEC'.freeze,
  UPLINK_PORT_FORWARD_ERROR_CORRECTION_REED_SOLOMON_IEEE = 'REED_SOLOMON_IEEE'.freeze,
  UPLINK_PORT_FORWARD_ERROR_CORRECTION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ CccInfrastructureNetworkConfiguration

Initializes the object

Parameters:

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

    Model attributes in the form of hash

Options Hash (attributes):



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
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
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 172

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

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

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

  self.uplink_port_speed_in_gbps = attributes[:'uplinkPortSpeedInGbps'] if attributes[:'uplinkPortSpeedInGbps']

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

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

  self.uplink_port_count = attributes[:'uplinkPortCount'] if attributes[:'uplinkPortCount']

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

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

  self.uplink_vlan_mtu = attributes[:'uplinkVlanMtu'] if attributes[:'uplinkVlanMtu']

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

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

  self.uplink_netmask = attributes[:'uplinkNetmask'] if attributes[:'uplinkNetmask']

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

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

  self.uplink_port_forward_error_correction = attributes[:'uplinkPortForwardErrorCorrection'] if attributes[:'uplinkPortForwardErrorCorrection']
  self.uplink_port_forward_error_correction = "AUTO" if uplink_port_forward_error_correction.nil? && !attributes.key?(:'uplinkPortForwardErrorCorrection') # rubocop:disable Style/StringLiterals

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

  self.uplink_port_forward_error_correction = attributes[:'uplink_port_forward_error_correction'] if attributes[:'uplink_port_forward_error_correction']
  self.uplink_port_forward_error_correction = "AUTO" if uplink_port_forward_error_correction.nil? && !attributes.key?(:'uplinkPortForwardErrorCorrection') && !attributes.key?(:'uplink_port_forward_error_correction') # rubocop:disable Style/StringLiterals

  self.uplink_domain = attributes[:'uplinkDomain'] if attributes[:'uplinkDomain']

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

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

  self.uplink_gateway_ip = attributes[:'uplinkGatewayIp'] if attributes[:'uplinkGatewayIp']

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

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

  self.spine_ips = attributes[:'spineIps'] if attributes[:'spineIps']

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

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

  self.spine_vip = attributes[:'spineVip'] if attributes[:'spineVip']

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

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

  self.mgmt_vip_hostname = attributes[:'mgmtVipHostname'] if attributes[:'mgmtVipHostname']

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

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

  self.mgmt_vip_ip = attributes[:'mgmtVipIp'] if attributes[:'mgmtVipIp']

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

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

  self.dns_ips = attributes[:'dnsIps'] if attributes[:'dnsIps']

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

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

  self.infrastructure_routing_static = attributes[:'infrastructureRoutingStatic'] if attributes[:'infrastructureRoutingStatic']

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

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

  self.infrastructure_routing_dynamic = attributes[:'infrastructureRoutingDynamic'] if attributes[:'infrastructureRoutingDynamic']

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

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

Instance Attribute Details

#dns_ipsArray<String>

The domain name system (DNS) addresses that the Compute Cloud@Customer infrastructure uses for the data center network.

Returns:

  • (Array<String>)


97
98
99
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 97

def dns_ips
  @dns_ips
end

#infrastructure_routing_dynamicOCI::ComputeCloudAtCustomer::Models::CccInfrastructureRoutingDynamicDetails



103
104
105
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 103

def infrastructure_routing_dynamic
  @infrastructure_routing_dynamic
end

#infrastructure_routing_staticOCI::ComputeCloudAtCustomer::Models::CccInfrastructureRoutingStaticDetails



100
101
102
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 100

def infrastructure_routing_static
  @infrastructure_routing_static
end

#management_nodesArray<OCI::ComputeCloudAtCustomer::Models::CccInfrastructureManagementNode>

Information about the management nodes that are provisioned in the Compute Cloud@Customer infrastructure.



29
30
31
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 29

def management_nodes
  @management_nodes
end

#mgmt_vip_hostnameString

The hostname corresponding to the virtual IP (VIP) address of the management nodes.

Returns:

  • (String)


87
88
89
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 87

def mgmt_vip_hostname
  @mgmt_vip_hostname
end

#mgmt_vip_ipString

The IP address used as the virtual IP (VIP) address of the management nodes.

Returns:

  • (String)


91
92
93
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 91

def mgmt_vip_ip
  @mgmt_vip_ip
end

#spine_ipsArray<String>

Addresses of the network spine switches.

Returns:

  • (Array<String>)


75
76
77
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 75

def spine_ips
  @spine_ips
end

#spine_vipString

The spine switch public virtual IP (VIP). Traffic routed to the Compute Cloud@Customer infrastructure and and virtual cloud networks (VCNs) should have this address as next hop.

Returns:

  • (String)


82
83
84
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 82

def spine_vip
  @spine_vip
end

Domain name to be used as the base domain for the internal network and by public facing services.

Returns:

  • (String)


65
66
67
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 65

def uplink_domain
  @uplink_domain
end

Uplink gateway in the datacenter network that the Compute Cloud@Customer connects to.

Returns:

  • (String)


71
72
73
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 71

def uplink_gateway_ip
  @uplink_gateway_ip
end

Netmask of the subnet that the Compute Cloud@Customer infrastructure is connected to.

Returns:

  • (String)


53
54
55
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 53

def uplink_netmask
  @uplink_netmask
end

Number of uplink ports per spine switch. Connectivity is identical on both spine switches. For example, if input is two 100 gigabyte ports; then port-1 and port-2 on both spines will be configured.

Returns:

  • (Integer)


41
42
43
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 41

def uplink_port_count
  @uplink_port_count
end

The port forward error correction (FEC) setting for the uplink port on the Compute Cloud@Customer infrastructure.

Returns:

  • (String)


59
60
61
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 59

def uplink_port_forward_error_correction
  @uplink_port_forward_error_correction
end

Uplink port speed defined in gigabytes per second. All uplink ports must have identical speed.

Returns:

  • (Integer)


35
36
37
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 35

def uplink_port_speed_in_gbps
  @uplink_port_speed_in_gbps
end

The virtual local area network (VLAN) maximum transmission unit (MTU) size for the uplink ports.

Returns:

  • (Integer)


47
48
49
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 47

def uplink_vlan_mtu
  @uplink_vlan_mtu
end

Class Method Details

.attribute_mapObject

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



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 106

def self.attribute_map
  {
    # rubocop:disable Style/SymbolLiteral
    'management_nodes': :'managementNodes',
    'uplink_port_speed_in_gbps': :'uplinkPortSpeedInGbps',
    'uplink_port_count': :'uplinkPortCount',
    'uplink_vlan_mtu': :'uplinkVlanMtu',
    'uplink_netmask': :'uplinkNetmask',
    'uplink_port_forward_error_correction': :'uplinkPortForwardErrorCorrection',
    'uplink_domain': :'uplinkDomain',
    'uplink_gateway_ip': :'uplinkGatewayIp',
    'spine_ips': :'spineIps',
    'spine_vip': :'spineVip',
    'mgmt_vip_hostname': :'mgmtVipHostname',
    'mgmt_vip_ip': :'mgmtVipIp',
    'dns_ips': :'dnsIps',
    'infrastructure_routing_static': :'infrastructureRoutingStatic',
    'infrastructure_routing_dynamic': :'infrastructureRoutingDynamic'
    # rubocop:enable Style/SymbolLiteral
  }
end

.swagger_typesObject

Attribute type mapping.



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 129

def self.swagger_types
  {
    # rubocop:disable Style/SymbolLiteral
    'management_nodes': :'Array<OCI::ComputeCloudAtCustomer::Models::CccInfrastructureManagementNode>',
    'uplink_port_speed_in_gbps': :'Integer',
    'uplink_port_count': :'Integer',
    'uplink_vlan_mtu': :'Integer',
    'uplink_netmask': :'String',
    'uplink_port_forward_error_correction': :'String',
    'uplink_domain': :'String',
    'uplink_gateway_ip': :'String',
    'spine_ips': :'Array<String>',
    'spine_vip': :'String',
    'mgmt_vip_hostname': :'String',
    'mgmt_vip_ip': :'String',
    'dns_ips': :'Array<String>',
    'infrastructure_routing_static': :'OCI::ComputeCloudAtCustomer::Models::CccInfrastructureRoutingStaticDetails',
    'infrastructure_routing_dynamic': :'OCI::ComputeCloudAtCustomer::Models::CccInfrastructureRoutingDynamicDetails'
    # 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



291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 291

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

  self.class == other.class &&
    management_nodes == other.management_nodes &&
    uplink_port_speed_in_gbps == other.uplink_port_speed_in_gbps &&
    uplink_port_count == other.uplink_port_count &&
    uplink_vlan_mtu == other.uplink_vlan_mtu &&
    uplink_netmask == other.uplink_netmask &&
    uplink_port_forward_error_correction == other.uplink_port_forward_error_correction &&
    uplink_domain == other.uplink_domain &&
    uplink_gateway_ip == other.uplink_gateway_ip &&
    spine_ips == other.spine_ips &&
    spine_vip == other.spine_vip &&
    mgmt_vip_hostname == other.mgmt_vip_hostname &&
    mgmt_vip_ip == other.mgmt_vip_ip &&
    dns_ips == other.dns_ips &&
    infrastructure_routing_static == other.infrastructure_routing_static &&
    infrastructure_routing_dynamic == other.infrastructure_routing_dynamic
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



335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 335

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


315
316
317
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 315

def eql?(other)
  self == other
end

#hashFixnum

Calculates hash code according to all attributes.

Returns:

  • (Fixnum)

    Hash code



324
325
326
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 324

def hash
  [management_nodes, uplink_port_speed_in_gbps, uplink_port_count, uplink_vlan_mtu, uplink_netmask, uplink_port_forward_error_correction, uplink_domain, uplink_gateway_ip, spine_ips, spine_vip, mgmt_vip_hostname, mgmt_vip_ip, dns_ips, infrastructure_routing_static, infrastructure_routing_dynamic].hash
end

#to_hashHash

Returns the object in the form of hash

Returns:

  • (Hash)

    Returns the object in the form of hash



368
369
370
371
372
373
374
375
376
377
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 368

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



362
363
364
# File 'lib/oci/compute_cloud_at_customer/models/ccc_infrastructure_network_configuration.rb', line 362

def to_s
  to_hash.to_s
end