@@ -813,6 +813,9 @@ message NodeConfig {
813813 // If unspecified, ephemeral storage is backed by the boot disk.
814814 // This field is functionally equivalent to the ephemeral_storage_config
815815 EphemeralStorageLocalSsdConfig ephemeral_storage_local_ssd_config = 41 ;
816+
817+ // Parameters for node pools to be backed by shared sole tenant node groups.
818+ SoleTenantConfig sole_tenant_config = 42 ;
816819}
817820
818821// Specifies options for controlling advanced machine features.
@@ -1018,6 +1021,40 @@ message ReservationAffinity {
10181021 repeated string values = 3 ;
10191022}
10201023
1024+ // SoleTenantConfig contains the NodeAffinities to specify what shared sole
1025+ // tenant node groups should back the node pool.
1026+ message SoleTenantConfig {
1027+ // Specifies the NodeAffinity key, values, and affinity operator according to
1028+ // [shared sole tenant node group
1029+ // affinities](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).
1030+ message NodeAffinity {
1031+ // Operator allows user to specify affinity or anti-affinity for the
1032+ // given key values.
1033+ enum Operator {
1034+ // Invalid or unspecified affinity operator.
1035+ OPERATOR_UNSPECIFIED = 0 ;
1036+
1037+ // Affinity operator.
1038+ IN = 1 ;
1039+
1040+ // Anti-affinity operator.
1041+ NOT_IN = 2 ;
1042+ }
1043+
1044+ // Key for NodeAffinity.
1045+ string key = 1 ;
1046+
1047+ // Operator for NodeAffinity.
1048+ Operator operator = 2 ;
1049+
1050+ // Values for NodeAffinity.
1051+ repeated string values = 3 ;
1052+ }
1053+
1054+ // NodeAffinities used to match to a shared sole tenant node group.
1055+ repeated NodeAffinity node_affinities = 1 ;
1056+ }
1057+
10211058// Kubernetes taint is composed of three fields: key, value, and effect. Effect
10221059// can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
10231060//
0 commit comments