# 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 more IP than maximum number possible number of nodes (nodeCount+1 for fixed number of nodes or maxNodeCount+1 when auto scaling is used). The extra IP is used when the nodes are rebuilt. | [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], ```