# KubernetesNodePoolProperties ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **name** | **String** | A Kubernetes node pool name. Valid Kubernetes node pool name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. | | | **datacenter_id** | **String** | A valid ID of the data center, to which user has access. | | | **node_count** | **Integer** | The number of nodes that make up the node pool. | | | **cpu_family** | **String** | A valid CPU family name. | | | **cores_count** | **Integer** | The number of cores for the node. | | | **ram_size** | **Integer** | The RAM size for the node. Must be set in multiples of 1024 MB, with minimum size is of 2048 MB. | | | **availability_zone** | **String** | The availability zone in which the target VM should be provisioned. | | | **storage_type** | **String** | The type of hardware for the volume. | | | **storage_size** | **Integer** | The size of the volume in GB. The size should be greater than 10GB. | | | **k8s_version** | **String** | The Kubernetes version the nodepool is running. This imposes restrictions on what Kubernetes versions can be run in a cluster's nodepools. Additionally, not all Kubernetes versions are viable upgrade targets for all prior versions. | [optional] | | **maintenance_window** | [**KubernetesMaintenanceWindow**](KubernetesMaintenanceWindow.md) | | [optional] | | **auto_scaling** | [**KubernetesAutoScaling**](KubernetesAutoScaling.md) | | [optional] | | **lans** | [**Array<KubernetesNodePoolLan>**](KubernetesNodePoolLan.md) | array of additional LANs attached to worker nodes | [optional] | | **labels** | **Hash<String, String>** | map of labels attached to node pool. | [optional] | | **annotations** | **Hash<String, String>** | map of annotations attached to node pool. | [optional] | | **public_ips** | **Array<String>** | Optional array of reserved public IP addresses to be used by the nodes. IPs must be from same location as the data center used for the node pool. The array must contain one extra IP than maximum number of nodes could be. (nodeCount+1 if fixed node amount or maxNodeCount+1 if auto scaling is used) The extra provided IP Will be used during rebuilding of nodes. | [optional] | | **available_upgrade_versions** | **Array<String>** | List of available versions for upgrading the node pool. | [optional] | ## Example ```ruby require 'ionoscloud' instance = Ionoscloud::KubernetesNodePoolProperties.new( name: k8s-node-pool, datacenter_id: 1e072e52-2ed3-492f-b6b6-c6b116907521, node_count: 2, cpu_family: AMD_OPTERON, cores_count: 4, ram_size: 2048, availability_zone: AUTO, storage_type: HDD, storage_size: 100, k8s_version: 1.15.4, maintenance_window: null, auto_scaling: null, lans: null, labels: null, annotations: null, public_ips: [81.173.1.2, 82.231.2.5, 92.221.2.4], available_upgrade_versions: [1.16.4, 1.17.7], ```