@@ -181,6 +181,22 @@ pub struct DeviceReferenceSpec {
181181 #[ prost( string, tag="1" ) ]
182182 pub name : :: prost:: alloc:: string:: String ,
183183}
184+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
185+ pub struct WorkloadBlockDeviceSpec {
186+ #[ prost( string, tag="1" ) ]
187+ pub target_path : :: prost:: alloc:: string:: String ,
188+ #[ prost( string, tag="2" ) ]
189+ pub device_path : :: prost:: alloc:: string:: String ,
190+ #[ prost( message, optional, tag="3" ) ]
191+ pub mount_options : :: core:: option:: Option < BlockDeviceMountOptions > ,
192+ }
193+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
194+ pub struct BlockDeviceMountOptions {
195+ #[ prost( bool , tag="1" ) ]
196+ pub readonly : bool ,
197+ #[ prost( string, tag="2" ) ]
198+ pub permissions : :: prost:: alloc:: string:: String ,
199+ }
184200#[ derive( Clone , PartialEq , :: prost:: Message ) ]
185201pub struct ZoneStatus {
186202 #[ prost( enumeration="ZoneState" , tag="1" ) ]
@@ -379,6 +395,19 @@ pub struct WorkloadSpec {
379395 pub security : :: core:: option:: Option < WorkloadSecuritySpec > ,
380396 #[ prost( message, repeated, tag="8" ) ]
381397 pub scratch_mount : :: prost:: alloc:: vec:: Vec < WorkloadScratchMount > ,
398+ #[ prost( message, repeated, tag="9" ) ]
399+ pub cgroup_limits : :: prost:: alloc:: vec:: Vec < CgroupLimit > ,
400+ #[ prost( string, tag="10" ) ]
401+ pub hostname : :: prost:: alloc:: string:: String ,
402+ #[ prost( message, repeated, tag="11" ) ]
403+ pub block_devices : :: prost:: alloc:: vec:: Vec < WorkloadBlockDeviceSpec > ,
404+ }
405+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
406+ pub struct CgroupLimit {
407+ #[ prost( string, tag="1" ) ]
408+ pub limit_name : :: prost:: alloc:: string:: String ,
409+ #[ prost( string, tag="2" ) ]
410+ pub value : :: prost:: alloc:: string:: String ,
382411}
383412#[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
384413pub struct WorkloadScratchMount {
@@ -401,6 +430,10 @@ pub struct WorkloadSecuritySpec {
401430 pub disable_all_namespaces : bool ,
402431 #[ prost( enumeration="ProcessNamespace" , repeated, tag="7" ) ]
403432 pub disable_namespaces : :: prost:: alloc:: vec:: Vec < i32 > ,
433+ #[ prost( bool , tag="8" ) ]
434+ pub read_only_rootfs : bool ,
435+ #[ prost( bool , tag="9" ) ]
436+ pub no_new_privs : bool ,
404437}
405438#[ derive( Clone , PartialEq , :: prost:: Message ) ]
406439pub struct WorkloadStatus {
@@ -423,8 +456,10 @@ pub struct WorkloadBlockDeviceInfo {
423456 pub block_index : u32 ,
424457 #[ prost( uint64, tag="2" ) ]
425458 pub device_id : u64 ,
426- #[ prost( string, tag="3" ) ]
427- pub loop_device : :: prost:: alloc:: string:: String ,
459+ #[ prost( string, tag="4" ) ]
460+ pub device : :: prost:: alloc:: string:: String ,
461+ #[ prost( bool , tag="5" ) ]
462+ pub loop_dev : bool ,
428463}
429464#[ derive( Clone , PartialEq , :: prost:: Message ) ]
430465pub struct WorkloadBlockDeviceStatus {
@@ -433,21 +468,17 @@ pub struct WorkloadBlockDeviceStatus {
433468}
434469#[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
435470pub struct WorkloadMountInfo {
436- #[ prost( uint64, tag="1" ) ]
437- pub device_id : u64 ,
438471 #[ prost( string, tag="2" ) ]
439472 pub tag : :: prost:: alloc:: string:: String ,
440473 #[ prost( string, tag="3" ) ]
441- pub host_directory : :: prost:: alloc:: string:: String ,
442- #[ prost( string, tag="4" ) ]
443- pub host_file : :: prost:: alloc:: string:: String ,
474+ pub host_path : :: prost:: alloc:: string:: String ,
444475 #[ prost( string, tag="5" ) ]
445476 pub target_path : :: prost:: alloc:: string:: String ,
446477}
447478#[ derive( Clone , PartialEq , :: prost:: Message ) ]
448479pub struct WorkloadMountStatus {
449- #[ prost( message, repeated, tag="1 " ) ]
450- pub devices : :: prost:: alloc:: vec:: Vec < WorkloadMountInfo > ,
480+ #[ prost( message, repeated, tag="2 " ) ]
481+ pub mounts : :: prost:: alloc:: vec:: Vec < WorkloadMountInfo > ,
451482}
452483#[ derive( Clone , Copy , PartialEq , Eq , Hash , :: prost:: Message ) ]
453484pub struct WorkloadExitStatus {
@@ -586,6 +617,8 @@ pub struct ZoneScratchDiskSpecStaticBlock {
586617pub struct ZoneDeviceStatus {
587618 #[ prost( message, repeated, tag="1" ) ]
588619 pub disks : :: prost:: alloc:: vec:: Vec < ZoneDiskStatus > ,
620+ #[ prost( message, optional, tag="2" ) ]
621+ pub mount : :: core:: option:: Option < ZoneMountStatus > ,
589622}
590623#[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
591624pub struct ZoneDiskStatus {
@@ -603,6 +636,15 @@ pub struct ZoneDiskStatus {
603636 pub delete : bool ,
604637}
605638#[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
639+ pub struct ZoneMountStatus {
640+ #[ prost( uint64, tag="1" ) ]
641+ pub device_id : u64 ,
642+ #[ prost( string, tag="2" ) ]
643+ pub host_path : :: prost:: alloc:: string:: String ,
644+ #[ prost( string, tag="3" ) ]
645+ pub tag : :: prost:: alloc:: string:: String ,
646+ }
647+ #[ derive( Clone , PartialEq , Eq , Hash , :: prost:: Message ) ]
606648pub struct OciRegistryUsernamePassword {
607649 /// username to provide, empty means no username.
608650 #[ prost( string, tag="1" ) ]
@@ -709,6 +751,7 @@ pub enum ZoneVirtualizationBackend {
709751 Unknown = 0 ,
710752 Pv = 1 ,
711753 Pvh = 2 ,
754+ Automatic = 3 ,
712755}
713756impl ZoneVirtualizationBackend {
714757 /// String value of the enum field names used in the ProtoBuf definition.
@@ -720,6 +763,7 @@ impl ZoneVirtualizationBackend {
720763 Self :: Unknown => "ZONE_VIRTUALIZATION_BACKEND_UNKNOWN" ,
721764 Self :: Pv => "ZONE_VIRTUALIZATION_BACKEND_PV" ,
722765 Self :: Pvh => "ZONE_VIRTUALIZATION_BACKEND_PVH" ,
766+ Self :: Automatic => "ZONE_VIRTUALIZATION_BACKEND_AUTOMATIC" ,
723767 }
724768 }
725769 /// Creates an enum from field names used in the ProtoBuf definition.
@@ -728,6 +772,7 @@ impl ZoneVirtualizationBackend {
728772 "ZONE_VIRTUALIZATION_BACKEND_UNKNOWN" => Some ( Self :: Unknown ) ,
729773 "ZONE_VIRTUALIZATION_BACKEND_PV" => Some ( Self :: Pv ) ,
730774 "ZONE_VIRTUALIZATION_BACKEND_PVH" => Some ( Self :: Pvh ) ,
775+ "ZONE_VIRTUALIZATION_BACKEND_AUTOMATIC" => Some ( Self :: Automatic ) ,
731776 _ => None ,
732777 }
733778 }
@@ -927,6 +972,7 @@ pub enum WorkloadState {
927972 Destroying = 5 ,
928973 Destroyed = 6 ,
929974 Failed = 7 ,
975+ Oomkilled = 8 ,
930976}
931977impl WorkloadState {
932978 /// String value of the enum field names used in the ProtoBuf definition.
@@ -943,6 +989,7 @@ impl WorkloadState {
943989 Self :: Destroying => "WORKLOAD_STATE_DESTROYING" ,
944990 Self :: Destroyed => "WORKLOAD_STATE_DESTROYED" ,
945991 Self :: Failed => "WORKLOAD_STATE_FAILED" ,
992+ Self :: Oomkilled => "WORKLOAD_STATE_OOMKILLED" ,
946993 }
947994 }
948995 /// Creates an enum from field names used in the ProtoBuf definition.
@@ -956,6 +1003,7 @@ impl WorkloadState {
9561003 "WORKLOAD_STATE_DESTROYING" => Some ( Self :: Destroying ) ,
9571004 "WORKLOAD_STATE_DESTROYED" => Some ( Self :: Destroyed ) ,
9581005 "WORKLOAD_STATE_FAILED" => Some ( Self :: Failed ) ,
1006+ "WORKLOAD_STATE_OOMKILLED" => Some ( Self :: Oomkilled ) ,
9591007 _ => None ,
9601008 }
9611009 }
@@ -1156,6 +1204,8 @@ pub struct GetHostStatusReply {
11561204 pub host_ipv6 : :: prost:: alloc:: string:: String ,
11571205 #[ prost( string, tag="6" ) ]
11581206 pub host_mac : :: prost:: alloc:: string:: String ,
1207+ #[ prost( uint64, optional, tag="7" ) ]
1208+ pub hyp_free_mem : :: core:: option:: Option < u64 > ,
11591209}
11601210#[ derive( Clone , PartialEq , :: prost:: Message ) ]
11611211pub struct CreateZoneRequest {
@@ -1856,6 +1906,8 @@ pub struct StartWorkloadReply {
18561906pub struct StopWorkloadRequest {
18571907 #[ prost( string, tag="1" ) ]
18581908 pub workload_id : :: prost:: alloc:: string:: String ,
1909+ #[ prost( uint64, tag="2" ) ]
1910+ pub timeout : u64 ,
18591911}
18601912#[ derive( Clone , Copy , PartialEq , Eq , Hash , :: prost:: Message ) ]
18611913pub struct StopWorkloadReply {
0 commit comments