@@ -816,6 +816,9 @@ message NodeConfig {
816816 // Parameters for the node ephemeral storage using Local SSDs.
817817 // If unspecified, ephemeral storage is backed by the boot disk.
818818 EphemeralStorageLocalSsdConfig ephemeral_storage_local_ssd_config = 41 ;
819+
820+ // Parameters for node pools to be backed by shared sole tenant node groups.
821+ SoleTenantConfig sole_tenant_config = 42 ;
819822}
820823
821824// Specifies options for controlling advanced machine features.
@@ -980,6 +983,40 @@ message ReservationAffinity {
980983 repeated string values = 3 ;
981984}
982985
986+ // SoleTenantConfig contains the NodeAffinities to specify what shared sole
987+ // tenant node groups should back the node pool.
988+ message SoleTenantConfig {
989+ // Specifies the NodeAffinity key, values, and affinity operator according to
990+ // [shared sole tenant node group
991+ // affinities](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).
992+ message NodeAffinity {
993+ // Operator allows user to specify affinity or anti-affinity for the
994+ // given key values.
995+ enum Operator {
996+ // Invalid or unspecified affinity operator.
997+ OPERATOR_UNSPECIFIED = 0 ;
998+
999+ // Affinity operator.
1000+ IN = 1 ;
1001+
1002+ // Anti-affinity operator.
1003+ NOT_IN = 2 ;
1004+ }
1005+
1006+ // Key for NodeAffinity.
1007+ string key = 1 ;
1008+
1009+ // Operator for NodeAffinity.
1010+ Operator operator = 2 ;
1011+
1012+ // Values for NodeAffinity.
1013+ repeated string values = 3 ;
1014+ }
1015+
1016+ // NodeAffinities used to match to a shared sole tenant node group.
1017+ repeated NodeAffinity node_affinities = 1 ;
1018+ }
1019+
9831020// Kubernetes taint is composed of three fields: key, value, and effect. Effect
9841021// can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
9851022//
0 commit comments