@@ -1877,6 +1877,7 @@ def __init__(
18771877 service_account_id : "builtins.str|None|unset.UnsetType" = unset .Unset ,
18781878 preemptible : "PreemptibleSpec|node_group_pb2.PreemptibleSpec|None|unset.UnsetType" = unset .Unset ,
18791879 reservation_policy : "ReservationPolicy|node_group_pb2.ReservationPolicy|None|unset.UnsetType" = unset .Unset ,
1880+ local_disks : "LocalDisksSpec|node_group_pb2.LocalDisksSpec|None|unset.UnsetType" = unset .Unset ,
18801881 ) -> None :
18811882 super ().__init__ (initial_message )
18821883 if not isinstance (metadata , unset .UnsetType ):
@@ -1905,6 +1906,8 @@ def __init__(
19051906 self .preemptible = preemptible
19061907 if not isinstance (reservation_policy , unset .UnsetType ):
19071908 self .reservation_policy = reservation_policy
1909+ if not isinstance (local_disks , unset .UnsetType ):
1910+ self .local_disks = local_disks
19081911
19091912 def __dir__ (self ) -> abc .Iterable [builtins .str ]:
19101913 return [
@@ -1921,6 +1924,7 @@ def __dir__(self) ->abc.Iterable[builtins.str]:
19211924 "service_account_id" ,
19221925 "preemptible" ,
19231926 "reservation_policy" ,
1927+ "local_disks" ,
19241928 ]
19251929
19261930 @builtins .property
@@ -2153,6 +2157,21 @@ def reservation_policy(self, value: "ReservationPolicy|node_group_pb2.Reservatio
21532157 return super ()._set_field ("reservation_policy" ,value ,explicit_presence = False ,
21542158 )
21552159
2160+ @builtins .property
2161+ def local_disks (self ) -> "LocalDisksSpec" :
2162+ """
2163+ local_disks enables the provisioning of fast local drives.
2164+ This type of storage is strictly ephemeral: on node restart, all data is erased, similar to RAM.
2165+ """
2166+
2167+ return super ()._get_field ("local_disks" , explicit_presence = False ,
2168+ wrap = LocalDisksSpec ,
2169+ )
2170+ @local_disks .setter
2171+ def local_disks (self , value : "LocalDisksSpec|node_group_pb2.LocalDisksSpec|None" ) -> None :
2172+ return super ()._set_field ("local_disks" ,value ,explicit_presence = False ,
2173+ )
2174+
21562175 __PY_TO_PB2__ : builtins .dict [builtins .str ,builtins .str ] = {
21572176 "metadata" :"metadata" ,
21582177 "taints" :"taints" ,
@@ -2167,6 +2186,7 @@ def reservation_policy(self, value: "ReservationPolicy|node_group_pb2.Reservatio
21672186 "service_account_id" :"service_account_id" ,
21682187 "preemptible" :"preemptible" ,
21692188 "reservation_policy" :"reservation_policy" ,
2189+ "local_disks" :"local_disks" ,
21702190 }
21712191
21722192class NodeMetadataTemplate (pb_classes .Message ):
@@ -3181,6 +3201,210 @@ def reservation_ids(self, value: "abc.Iterable[builtins.str]|None") -> None:
31813201 "Policy" :"Policy" ,
31823202 }
31833203
3204+ class LocalDisksSpec (pb_classes .Message ):
3205+ __PB2_CLASS__ = node_group_pb2 .LocalDisksSpec
3206+ __PB2_DESCRIPTOR__ = descriptor .DescriptorWrap [descriptor_1 .Descriptor ](".nebius.mk8s.v1.LocalDisksSpec" ,node_group_pb2 .DESCRIPTOR ,descriptor_1 .Descriptor )
3207+ __mask_functions__ = {
3208+ }
3209+
3210+ class __OneOfClass_request__ (pb_classes .OneOf ):
3211+ name : builtins .str = "request"
3212+
3213+ def __init__ (self , msg : "LocalDisksSpec" ) -> None :
3214+ super ().__init__ ()
3215+ self ._message : "LocalDisksSpec" = msg
3216+
3217+ class __OneOfClass_request_passthrough_group__ (__OneOfClass_request__ ):
3218+ field : typing .Literal ["passthrough_group" ] = "passthrough_group"
3219+
3220+ def __init__ (self , msg : "LocalDisksSpec" ) -> None :
3221+ super ().__init__ (msg )
3222+ @builtins .property
3223+ def value (self ) -> "PassthroughGroupRequest" :
3224+ return self ._message .passthrough_group
3225+
3226+ @builtins .property
3227+ def request (self ) -> __OneOfClass_request_passthrough_group__ | None :
3228+ field_name_1 : str | None = super ().which_field_in_oneof ("request" )
3229+ match field_name_1 :
3230+ case "passthrough_group" :
3231+ return self .__OneOfClass_request_passthrough_group__ (self )
3232+ case None :
3233+ return None
3234+ case _:
3235+ raise pb_classes .OneOfMatchError (field_name_1 )
3236+
3237+ def __init__ (
3238+ self ,
3239+ initial_message : message_1 .Message | None = None ,
3240+ * ,
3241+ passthrough_group : "PassthroughGroupRequest|node_group_pb2.PassthroughGroupRequest|None|unset.UnsetType" = unset .Unset ,
3242+ config : "LocalDisksSpecConfig|node_group_pb2.LocalDisksSpecConfig|None|unset.UnsetType" = unset .Unset ,
3243+ ) -> None :
3244+ super ().__init__ (initial_message )
3245+ if not isinstance (passthrough_group , unset .UnsetType ):
3246+ self .passthrough_group = passthrough_group
3247+ if not isinstance (config , unset .UnsetType ):
3248+ self .config = config
3249+
3250+ def __dir__ (self ) -> abc .Iterable [builtins .str ]:
3251+ return [
3252+ "passthrough_group" ,
3253+ "config" ,
3254+ "request" ,
3255+ ]
3256+
3257+ @builtins .property
3258+ def passthrough_group (self ) -> "PassthroughGroupRequest|None" :
3259+ """
3260+ Requests passthrough local disks from the host.
3261+ Topology of the provided disks is preserved during stop and start
3262+ for every instance of a specific platform and preset in the region.
3263+ """
3264+
3265+ return super ()._get_field ("passthrough_group" , explicit_presence = True ,
3266+ wrap = PassthroughGroupRequest ,
3267+ )
3268+ @passthrough_group .setter
3269+ def passthrough_group (self , value : "PassthroughGroupRequest|node_group_pb2.PassthroughGroupRequest|None" ) -> None :
3270+ return super ()._set_field ("passthrough_group" ,value ,explicit_presence = True ,
3271+ )
3272+
3273+ @builtins .property
3274+ def config (self ) -> "LocalDisksSpecConfig" :
3275+ """
3276+ config defines actions that managed Kubernetes service performs on mounted local disks
3277+ to provide them inside Kubernetes cluster with a convenient interface.
3278+ """
3279+
3280+ return super ()._get_field ("config" , explicit_presence = False ,
3281+ wrap = LocalDisksSpecConfig ,
3282+ )
3283+ @config .setter
3284+ def config (self , value : "LocalDisksSpecConfig|node_group_pb2.LocalDisksSpecConfig|None" ) -> None :
3285+ return super ()._set_field ("config" ,value ,explicit_presence = False ,
3286+ )
3287+
3288+ __PY_TO_PB2__ : builtins .dict [builtins .str ,builtins .str ] = {
3289+ "passthrough_group" :"passthrough_group" ,
3290+ "config" :"config" ,
3291+ "request" :"request" ,
3292+ }
3293+
3294+ class PassthroughGroupRequest (pb_classes .Message ):
3295+ __PB2_CLASS__ = node_group_pb2 .PassthroughGroupRequest
3296+ __PB2_DESCRIPTOR__ = descriptor .DescriptorWrap [descriptor_1 .Descriptor ](".nebius.mk8s.v1.PassthroughGroupRequest" ,node_group_pb2 .DESCRIPTOR ,descriptor_1 .Descriptor )
3297+ __mask_functions__ = {
3298+ }
3299+
3300+ def __init__ (
3301+ self ,
3302+ initial_message : message_1 .Message | None = None ,
3303+ * ,
3304+ requested : "builtins.bool|None|unset.UnsetType" = unset .Unset ,
3305+ ) -> None :
3306+ super ().__init__ (initial_message )
3307+ if not isinstance (requested , unset .UnsetType ):
3308+ self .requested = requested
3309+
3310+ def __dir__ (self ) -> abc .Iterable [builtins .str ]:
3311+ return [
3312+ "requested" ,
3313+ ]
3314+
3315+ @builtins .property
3316+ def requested (self ) -> "builtins.bool" :
3317+ """
3318+ Passthrough local disks from the underlying host.
3319+
3320+ Devices are expected to appear in the guest as NVMe devices (nvme0, nvme1, ...),
3321+ but the exact number depends on the preset.
3322+ Enabled only when this field is explicitly set.
3323+ """
3324+
3325+ return super ()._get_field ("requested" , explicit_presence = False ,
3326+ )
3327+ @requested .setter
3328+ def requested (self , value : "builtins.bool|None" ) -> None :
3329+ return super ()._set_field ("requested" ,value ,explicit_presence = False ,
3330+ )
3331+
3332+ __PY_TO_PB2__ : builtins .dict [builtins .str ,builtins .str ] = {
3333+ "requested" :"requested" ,
3334+ }
3335+
3336+ class LocalDisksSpecConfig (pb_classes .Message ):
3337+ """
3338+ LocalDisksSpecConfig defines actions that managed Kubernetes service performs on mounted local disks
3339+ to provide them inside Kubernetes cluster with a convenient interface.
3340+ """
3341+
3342+ __PB2_CLASS__ = node_group_pb2 .LocalDisksSpecConfig
3343+ __PB2_DESCRIPTOR__ = descriptor .DescriptorWrap [descriptor_1 .Descriptor ](".nebius.mk8s.v1.LocalDisksSpecConfig" ,node_group_pb2 .DESCRIPTOR ,descriptor_1 .Descriptor )
3344+ __mask_functions__ = {
3345+ }
3346+
3347+ class __OneOfClass_type__ (pb_classes .OneOf ):
3348+ name : builtins .str = "type"
3349+
3350+ def __init__ (self , msg : "LocalDisksSpecConfig" ) -> None :
3351+ super ().__init__ ()
3352+ self ._message : "LocalDisksSpecConfig" = msg
3353+
3354+ class __OneOfClass_type_none__ (__OneOfClass_type__ ):
3355+ field : typing .Literal ["none" ] = "none"
3356+
3357+ def __init__ (self , msg : "LocalDisksSpecConfig" ) -> None :
3358+ super ().__init__ (msg )
3359+ @builtins .property
3360+ def value (self ) -> "builtins.bool" :
3361+ return self ._message .none
3362+
3363+ @builtins .property
3364+ def type (self ) -> __OneOfClass_type_none__ | None :
3365+ field_name_1 : str | None = super ().which_field_in_oneof ("type" )
3366+ match field_name_1 :
3367+ case "none" :
3368+ return self .__OneOfClass_type_none__ (self )
3369+ case None :
3370+ return None
3371+ case _:
3372+ raise pb_classes .OneOfMatchError (field_name_1 )
3373+
3374+ def __init__ (
3375+ self ,
3376+ initial_message : message_1 .Message | None = None ,
3377+ * ,
3378+ none : "builtins.bool|None|unset.UnsetType" = unset .Unset ,
3379+ ) -> None :
3380+ super ().__init__ (initial_message )
3381+ if not isinstance (none , unset .UnsetType ):
3382+ self .none = none
3383+
3384+ def __dir__ (self ) -> abc .Iterable [builtins .str ]:
3385+ return [
3386+ "none" ,
3387+ "type" ,
3388+ ]
3389+
3390+ @builtins .property
3391+ def none (self ) -> "builtins.bool|None" :
3392+ """
3393+ none: "do nothing" - local disks will be provisioned as on a regular compute instance.
3394+ """
3395+
3396+ return super ()._get_field ("none" , explicit_presence = True ,
3397+ )
3398+ @none .setter
3399+ def none (self , value : "builtins.bool|None" ) -> None :
3400+ return super ()._set_field ("none" ,value ,explicit_presence = True ,
3401+ )
3402+
3403+ __PY_TO_PB2__ : builtins .dict [builtins .str ,builtins .str ] = {
3404+ "none" :"none" ,
3405+ "type" :"type" ,
3406+ }
3407+
31843408class NodeGroupStatus (pb_classes .Message ):
31853409 __PB2_CLASS__ = node_group_pb2 .NodeGroupStatus
31863410 __PB2_DESCRIPTOR__ = descriptor .DescriptorWrap [descriptor_1 .Descriptor ](".nebius.mk8s.v1.NodeGroupStatus" ,node_group_pb2 .DESCRIPTOR ,descriptor_1 .Descriptor )
@@ -4353,6 +4577,9 @@ def message(self, value: "builtins.str|None") -> None:
43534577 "NodeAutoRepairCondition" ,
43544578 "PreemptibleSpec" ,
43554579 "ReservationPolicy" ,
4580+ "LocalDisksSpec" ,
4581+ "PassthroughGroupRequest" ,
4582+ "LocalDisksSpecConfig" ,
43564583 "NodeGroupStatus" ,
43574584 "GetNodeGroupCompatibilityMatrixRequest" ,
43584585 "NodeGroupCompatibilityMatrix" ,
0 commit comments