@@ -530,6 +530,26 @@ message LinuxNodeConfig {
530530 CgroupMode cgroup_mode = 2 ;
531531}
532532
533+ // Parameters that can be configured on Windows nodes.
534+ // Windows Node Config that define the parameters that will be used to
535+ // configure the Windows node pool settings
536+ message WindowsNodeConfig {
537+ // Possible OS version that can be used.
538+ enum OSVersion {
539+ // When OSVersion is not specified
540+ OS_VERSION_UNSPECIFIED = 0 ;
541+
542+ // LTSC2019 specifies to use LTSC2019 as the Windows Servercore Base Image
543+ OS_VERSION_LTSC2019 = 1 ;
544+
545+ // LTSC2022 specifies to use LTSC2022 as the Windows Servercore Base Image
546+ OS_VERSION_LTSC2022 = 2 ;
547+ }
548+
549+ // OSVersion specifies the Windows node config to be used on the node
550+ OSVersion os_version = 1 ;
551+ }
552+
533553// Node kubelet configs.
534554message NodeKubeletConfig {
535555 // Control the CPU management policy on the node.
@@ -768,6 +788,16 @@ message NodeConfig {
768788
769789 // Logging configuration.
770790 NodePoolLoggingConfig logging_config = 38 ;
791+
792+ // Parameters that can be configured on Windows nodes.
793+ WindowsNodeConfig windows_node_config = 39 ;
794+
795+ // Parameters for using raw-block Local NVMe SSDs.
796+ LocalNvmeSsdBlockConfig local_nvme_ssd_block_config = 40 ;
797+
798+ // Parameters for the node ephemeral storage using Local SSDs.
799+ // If unspecified, ephemeral storage is backed by the boot disk.
800+ EphemeralStorageLocalSsdConfig ephemeral_storage_local_ssd_config = 41 ;
771801}
772802
773803// Specifies options for controlling advanced machine features.
@@ -2300,6 +2330,9 @@ message UpdateNodePoolRequest {
23002330 // The resource labels for the node pool to use to annotate any related
23012331 // Google Compute Engine resources.
23022332 ResourceLabels resource_labels = 33 ;
2333+
2334+ // Parameters that can be configured on Windows nodes.
2335+ WindowsNodeConfig windows_node_config = 34 ;
23032336}
23042337
23052338// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
@@ -4005,6 +4038,9 @@ message DNSConfig {
40054038 // Default value, will be inferred as cluster scope.
40064039 DNS_SCOPE_UNSPECIFIED = 0 ;
40074040
4041+ // DNS records are accessible from within the cluster.
4042+ CLUSTER_SCOPE = 1 ;
4043+
40084044 // DNS records are accessible from within the VPC.
40094045 VPC_SCOPE = 2 ;
40104046 }
@@ -4556,3 +4592,29 @@ enum IPv6AccessType {
45564592 // Access type external (all v6 addresses are external IPs)
45574593 EXTERNAL = 2 ;
45584594}
4595+
4596+ // LocalNvmeSsdBlockConfig contains configuration for using raw-block local
4597+ // NVMe SSD.
4598+ message LocalNvmeSsdBlockConfig {
4599+ // The number of raw-block local NVMe SSD disks to be attached to the node.
4600+ // Each local SSD is 375 GB in size. If zero, it means no raw-block local NVMe
4601+ // SSD disks to be attached to the node.
4602+ // The limit for this value is dependent upon the maximum number of
4603+ // disks available on a machine per zone. See:
4604+ // https://cloud.google.com/compute/docs/disks/local-ssd
4605+ // for more information.
4606+ int32 local_ssd_count = 1 ;
4607+ }
4608+
4609+ // EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
4610+ // storage using Local SSD.
4611+ message EphemeralStorageLocalSsdConfig {
4612+ // Number of local SSDs to use to back ephemeral storage. Uses NVMe
4613+ // interfaces. Each local SSD is 375 GB in size.
4614+ // If zero, it means to disable using local SSDs as ephemeral storage.
4615+ // The limit for this value is dependent upon the maximum number of
4616+ // disks available on a machine per zone. See:
4617+ // https://cloud.google.com/compute/docs/disks/local-ssd
4618+ // for more information.
4619+ int32 local_ssd_count = 1 ;
4620+ }
0 commit comments