class OCI::ContainerEngine::Models::NodePool
A pool of compute nodes attached to a cluster. Avoid entering confidential information.
Attributes
The OCID of the cluster to which this node pool is attached. @return [String]
The OCID of the compartment in which the node pool exists. @return [String]
The OCID of the node pool. @return [String]
A list of key/value pairs to add to nodes after they join the Kubernetes cluster. @return [Array<OCI::ContainerEngine::Models::KeyValue>]
The version of Kubernetes running on the nodes in the node pool. @return [String]
The name of the node pool. @return [String]
The configuration of nodes in the node pool. @return [OCI::ContainerEngine::Models::NodePoolNodeConfigDetails]
Deprecated. see `nodeSource`. The OCID of the image running on the nodes in the node pool.
@return [String]
Deprecated. see `nodeSource`. The name of the image running on the nodes in the node pool.
@return [String]
A list of key/value pairs to add to each underlying OCI
instance in the node pool on launch. @return [Hash<String, String>]
The name of the node shape of the nodes in the node pool. @return [String]
The shape configuration of the nodes. @return [OCI::ContainerEngine::Models::NodeShapeConfig]
Deprecated. see `nodeSourceDetails`. Source running on the nodes in the node pool. @return [OCI::ContainerEngine::Models::NodeSourceOption]
Source running on the nodes in the node pool. @return [OCI::ContainerEngine::Models::NodeSourceDetails]
The nodes in the node pool. @return [Array<OCI::ContainerEngine::Models::Node>]
The number of nodes in each subnet. @return [Integer]
The SSH public key on each node in the node pool on launch. @return [String]
The OCIDs of the subnets in which to place nodes for this node pool. @return [Array<String>]
Public Class Methods
Attribute mapping from ruby-style variable name to JSON key.
# File lib/oci/container_engine/models/node_pool.rb, line 85 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'id': :'id', 'compartment_id': :'compartmentId', 'cluster_id': :'clusterId', 'name': :'name', 'kubernetes_version': :'kubernetesVersion', 'node_metadata': :'nodeMetadata', 'node_image_id': :'nodeImageId', 'node_image_name': :'nodeImageName', 'node_shape_config': :'nodeShapeConfig', 'node_source': :'nodeSource', 'node_source_details': :'nodeSourceDetails', 'node_shape': :'nodeShape', 'initial_node_labels': :'initialNodeLabels', 'ssh_public_key': :'sshPublicKey', 'quantity_per_subnet': :'quantityPerSubnet', 'subnet_ids': :'subnetIds', 'nodes': :'nodes', 'node_config_details': :'nodeConfigDetails' # rubocop:enable Style/SymbolLiteral } end
Initializes the object @param [Hash] attributes Model attributes in the form of hash @option attributes [String] :id The value to assign to the {#id} property @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property @option attributes [String] :cluster_id The value to assign to the {#cluster_id} property @option attributes [String] :name The value to assign to the {#name} property @option attributes [String] :kubernetes_version The value to assign to the {#kubernetes_version} property @option attributes [Hash<String, String>] :node_metadata The value to assign to the {#node_metadata} property @option attributes [String] :node_image_id The value to assign to the {#node_image_id} property @option attributes [String] :node_image_name The value to assign to the {#node_image_name} property @option attributes [OCI::ContainerEngine::Models::NodeShapeConfig] :node_shape_config The value to assign to the {#node_shape_config} property @option attributes [OCI::ContainerEngine::Models::NodeSourceOption] :node_source The value to assign to the {#node_source} property @option attributes [OCI::ContainerEngine::Models::NodeSourceDetails] :node_source_details The value to assign to the {#node_source_details} property @option attributes [String] :node_shape The value to assign to the {#node_shape} property @option attributes [Array<OCI::ContainerEngine::Models::KeyValue>] :initial_node_labels The value to assign to the {#initial_node_labels} property @option attributes [String] :ssh_public_key The value to assign to the {#ssh_public_key} property @option attributes [Integer] :quantity_per_subnet The value to assign to the {#quantity_per_subnet} property @option attributes [Array<String>] :subnet_ids The value to assign to the {#subnet_ids} property @option attributes [Array<OCI::ContainerEngine::Models::Node>] :nodes The value to assign to the {#nodes} property @option attributes [OCI::ContainerEngine::Models::NodePoolNodeConfigDetails] :node_config_details The value to assign to the {#node_config_details} property
# File lib/oci/container_engine/models/node_pool.rb, line 160 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.id = attributes[:'id'] if attributes[:'id'] self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId'] raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id') self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id'] self.cluster_id = attributes[:'clusterId'] if attributes[:'clusterId'] raise 'You cannot provide both :clusterId and :cluster_id' if attributes.key?(:'clusterId') && attributes.key?(:'cluster_id') self.cluster_id = attributes[:'cluster_id'] if attributes[:'cluster_id'] self.name = attributes[:'name'] if attributes[:'name'] self.kubernetes_version = attributes[:'kubernetesVersion'] if attributes[:'kubernetesVersion'] raise 'You cannot provide both :kubernetesVersion and :kubernetes_version' if attributes.key?(:'kubernetesVersion') && attributes.key?(:'kubernetes_version') self.kubernetes_version = attributes[:'kubernetes_version'] if attributes[:'kubernetes_version'] self.node_metadata = attributes[:'nodeMetadata'] if attributes[:'nodeMetadata'] raise 'You cannot provide both :nodeMetadata and :node_metadata' if attributes.key?(:'nodeMetadata') && attributes.key?(:'node_metadata') self.node_metadata = attributes[:'node_metadata'] if attributes[:'node_metadata'] self.node_image_id = attributes[:'nodeImageId'] if attributes[:'nodeImageId'] raise 'You cannot provide both :nodeImageId and :node_image_id' if attributes.key?(:'nodeImageId') && attributes.key?(:'node_image_id') self.node_image_id = attributes[:'node_image_id'] if attributes[:'node_image_id'] self.node_image_name = attributes[:'nodeImageName'] if attributes[:'nodeImageName'] raise 'You cannot provide both :nodeImageName and :node_image_name' if attributes.key?(:'nodeImageName') && attributes.key?(:'node_image_name') self.node_image_name = attributes[:'node_image_name'] if attributes[:'node_image_name'] self.node_shape_config = attributes[:'nodeShapeConfig'] if attributes[:'nodeShapeConfig'] raise 'You cannot provide both :nodeShapeConfig and :node_shape_config' if attributes.key?(:'nodeShapeConfig') && attributes.key?(:'node_shape_config') self.node_shape_config = attributes[:'node_shape_config'] if attributes[:'node_shape_config'] self.node_source = attributes[:'nodeSource'] if attributes[:'nodeSource'] raise 'You cannot provide both :nodeSource and :node_source' if attributes.key?(:'nodeSource') && attributes.key?(:'node_source') self.node_source = attributes[:'node_source'] if attributes[:'node_source'] self.node_source_details = attributes[:'nodeSourceDetails'] if attributes[:'nodeSourceDetails'] raise 'You cannot provide both :nodeSourceDetails and :node_source_details' if attributes.key?(:'nodeSourceDetails') && attributes.key?(:'node_source_details') self.node_source_details = attributes[:'node_source_details'] if attributes[:'node_source_details'] self.node_shape = attributes[:'nodeShape'] if attributes[:'nodeShape'] raise 'You cannot provide both :nodeShape and :node_shape' if attributes.key?(:'nodeShape') && attributes.key?(:'node_shape') self.node_shape = attributes[:'node_shape'] if attributes[:'node_shape'] self.initial_node_labels = attributes[:'initialNodeLabels'] if attributes[:'initialNodeLabels'] raise 'You cannot provide both :initialNodeLabels and :initial_node_labels' if attributes.key?(:'initialNodeLabels') && attributes.key?(:'initial_node_labels') self.initial_node_labels = attributes[:'initial_node_labels'] if attributes[:'initial_node_labels'] self.ssh_public_key = attributes[:'sshPublicKey'] if attributes[:'sshPublicKey'] raise 'You cannot provide both :sshPublicKey and :ssh_public_key' if attributes.key?(:'sshPublicKey') && attributes.key?(:'ssh_public_key') self.ssh_public_key = attributes[:'ssh_public_key'] if attributes[:'ssh_public_key'] self.quantity_per_subnet = attributes[:'quantityPerSubnet'] if attributes[:'quantityPerSubnet'] raise 'You cannot provide both :quantityPerSubnet and :quantity_per_subnet' if attributes.key?(:'quantityPerSubnet') && attributes.key?(:'quantity_per_subnet') self.quantity_per_subnet = attributes[:'quantity_per_subnet'] if attributes[:'quantity_per_subnet'] self.subnet_ids = attributes[:'subnetIds'] if attributes[:'subnetIds'] raise 'You cannot provide both :subnetIds and :subnet_ids' if attributes.key?(:'subnetIds') && attributes.key?(:'subnet_ids') self.subnet_ids = attributes[:'subnet_ids'] if attributes[:'subnet_ids'] self.nodes = attributes[:'nodes'] if attributes[:'nodes'] self.node_config_details = attributes[:'nodeConfigDetails'] if attributes[:'nodeConfigDetails'] raise 'You cannot provide both :nodeConfigDetails and :node_config_details' if attributes.key?(:'nodeConfigDetails') && attributes.key?(:'node_config_details') self.node_config_details = attributes[:'node_config_details'] if attributes[:'node_config_details'] end
Attribute type mapping.
# File lib/oci/container_engine/models/node_pool.rb, line 111 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'id': :'String', 'compartment_id': :'String', 'cluster_id': :'String', 'name': :'String', 'kubernetes_version': :'String', 'node_metadata': :'Hash<String, String>', 'node_image_id': :'String', 'node_image_name': :'String', 'node_shape_config': :'OCI::ContainerEngine::Models::NodeShapeConfig', 'node_source': :'OCI::ContainerEngine::Models::NodeSourceOption', 'node_source_details': :'OCI::ContainerEngine::Models::NodeSourceDetails', 'node_shape': :'String', 'initial_node_labels': :'Array<OCI::ContainerEngine::Models::KeyValue>', 'ssh_public_key': :'String', 'quantity_per_subnet': :'Integer', 'subnet_ids': :'Array<String>', 'nodes': :'Array<OCI::ContainerEngine::Models::Node>', 'node_config_details': :'OCI::ContainerEngine::Models::NodePoolNodeConfigDetails' # rubocop:enable Style/SymbolLiteral } end
Public Instance Methods
Checks equality by comparing each attribute. @param [Object] other the other object to be compared
# File lib/oci/container_engine/models/node_pool.rb, line 270 def ==(other) return true if equal?(other) self.class == other.class && id == other.id && compartment_id == other.compartment_id && cluster_id == other.cluster_id && name == other.name && kubernetes_version == other.kubernetes_version && node_metadata == other.node_metadata && node_image_id == other.node_image_id && node_image_name == other.node_image_name && node_shape_config == other.node_shape_config && node_source == other.node_source && node_source_details == other.node_source_details && node_shape == other.node_shape && initial_node_labels == other.initial_node_labels && ssh_public_key == other.ssh_public_key && quantity_per_subnet == other.quantity_per_subnet && subnet_ids == other.subnet_ids && nodes == other.nodes && node_config_details == other.node_config_details end
Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself
# File lib/oci/container_engine/models/node_pool.rb, line 317 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
@see the `==` method @param [Object] other the other object to be compared
# File lib/oci/container_engine/models/node_pool.rb, line 297 def eql?(other) self == other end
Calculates hash code according to all attributes. @return [Fixnum] Hash code
# File lib/oci/container_engine/models/node_pool.rb, line 306 def hash [id, compartment_id, cluster_id, name, kubernetes_version, node_metadata, node_image_id, node_image_name, node_shape_config, node_source, node_source_details, node_shape, initial_node_labels, ssh_public_key, quantity_per_subnet, subnet_ids, nodes, node_config_details].hash end
Returns the object in the form of hash @return [Hash] Returns the object in the form of hash
# File lib/oci/container_engine/models/node_pool.rb, line 350 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
Returns the string representation of the object @return [String] String presentation of the object
# File lib/oci/container_engine/models/node_pool.rb, line 344 def to_s to_hash.to_s end
Private Instance Methods
Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash
# File lib/oci/container_engine/models/node_pool.rb, line 367 def _to_hash(value) if value.is_a?(Array) value.compact.map { |v| _to_hash(v) } elsif value.is_a?(Hash) {}.tap do |hash| value.each { |k, v| hash[k] = _to_hash(v) } end elsif value.respond_to? :to_hash value.to_hash else value end end