@@ -519,6 +519,26 @@ message LinuxNodeConfig {
519519 CgroupMode cgroup_mode = 2 ;
520520}
521521
522+ // Parameters that can be configured on Windows nodes.
523+ // Windows Node Config that define the parameters that will be used to
524+ // configure the Windows node pool settings
525+ message WindowsNodeConfig {
526+ // Possible OS version that can be used.
527+ enum OSVersion {
528+ // When OSVersion is not specified
529+ OS_VERSION_UNSPECIFIED = 0 ;
530+
531+ // LTSC2019 specifies to use LTSC2019 as the Windows Servercore Base Image
532+ OS_VERSION_LTSC2019 = 1 ;
533+
534+ // LTSC2022 specifies to use LTSC2022 as the Windows Servercore Base Image
535+ OS_VERSION_LTSC2022 = 2 ;
536+ }
537+
538+ // OSVersion specifies the Windows node config to be used on the node
539+ OSVersion os_version = 1 ;
540+ }
541+
522542// Node kubelet configs.
523543message NodeKubeletConfig {
524544 // Control the CPU management policy on the node.
@@ -762,6 +782,17 @@ message NodeConfig {
762782
763783 // Logging configuration.
764784 NodePoolLoggingConfig logging_config = 38 ;
785+
786+ // Parameters that can be configured on Windows nodes.
787+ WindowsNodeConfig windows_node_config = 39 ;
788+
789+ // Parameters for using raw-block Local NVMe SSDs.
790+ LocalNvmeSsdBlockConfig local_nvme_ssd_block_config = 40 ;
791+
792+ // Parameters for the node ephemeral storage using Local SSDs.
793+ // If unspecified, ephemeral storage is backed by the boot disk.
794+ // This field is functionally equivalent to the ephemeral_storage_config
795+ EphemeralStorageLocalSsdConfig ephemeral_storage_local_ssd_config = 41 ;
765796}
766797
767798// Specifies options for controlling advanced machine features.
@@ -888,6 +919,32 @@ message EphemeralStorageConfig {
888919 int32 local_ssd_count = 1 ;
889920}
890921
922+ // LocalNvmeSsdBlockConfig contains configuration for using raw-block local
923+ // NVMe SSDs
924+ message LocalNvmeSsdBlockConfig {
925+ // The number of raw-block local NVMe SSD disks to be attached to the node.
926+ // Each local SSD is 375 GB in size. If zero, it means no raw-block local NVMe
927+ // SSD disks to be attached to the node.
928+ // The limit for this value is dependent upon the maximum number of
929+ // disks available on a machine per zone. See:
930+ // https://cloud.google.com/compute/docs/disks/local-ssd
931+ // for more information.
932+ int32 local_ssd_count = 1 ;
933+ }
934+
935+ // EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
936+ // storage using Local SSDs.
937+ message EphemeralStorageLocalSsdConfig {
938+ // Number of local SSDs to use to back ephemeral storage. Uses NVMe
939+ // interfaces. Each local SSD is 375 GB in size.
940+ // If zero, it means to disable using local SSDs as ephemeral storage.
941+ // The limit for this value is dependent upon the maximum number of
942+ // disks available on a machine per zone. See:
943+ // https://cloud.google.com/compute/docs/disks/local-ssd
944+ // for more information.
945+ int32 local_ssd_count = 1 ;
946+ }
947+
891948// GcfsConfig contains configurations of Google Container File System.
892949message GcfsConfig {
893950 // Whether to use GCFS.
@@ -2564,6 +2621,9 @@ message UpdateNodePoolRequest {
25642621 // The resource labels for the node pool to use to annotate any related
25652622 // Google Compute Engine resources.
25662623 ResourceLabels resource_labels = 33 ;
2624+
2625+ // Parameters that can be configured on Windows nodes.
2626+ WindowsNodeConfig windows_node_config = 34 ;
25672627}
25682628
25692629// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
0 commit comments