@@ -52,6 +52,28 @@ pub struct StaticStorageMetadata {
5252}
5353
5454// Type for serialization and deserialization
55+ #[ derive( Debug , Clone , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
56+ #[ serde( rename_all = "camelCase" ) ]
57+ pub struct IngestionQuota {
58+ #[ serde( rename = "type" ) ]
59+ pub quota_type : IngestionQuotaType ,
60+ pub limit : u64 ,
61+ }
62+
63+ #[ derive( Debug , Clone , Copy , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
64+ #[ serde( rename_all = "camelCase" ) ]
65+ pub enum IngestionQuotaType {
66+ SizeBytes ,
67+ EventCount ,
68+ }
69+
70+ #[ derive( Debug , Clone , Copy , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
71+ pub enum QuotaPeriod {
72+ Monthly ,
73+ Yearly ,
74+ Lifetime ,
75+ }
76+
5577#[ derive( Debug , Clone , PartialEq , Eq , serde:: Serialize , serde:: Deserialize ) ]
5678pub struct StorageMetadata {
5779 pub version : String ,
@@ -79,6 +101,10 @@ pub struct StorageMetadata {
79101 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
80102 pub plan : Option < String > ,
81103 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
104+ pub ingestion_quota : Option < IngestionQuota > ,
105+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
106+ pub quota_period : Option < QuotaPeriod > ,
107+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
82108 pub owner : Option < String > ,
83109}
84110
@@ -102,6 +128,8 @@ impl Default for StorageMetadata {
102128 start_date : None ,
103129 end_date : None ,
104130 plan : None ,
131+ ingestion_quota : None ,
132+ quota_period : None ,
105133 owner : None ,
106134 }
107135 }
0 commit comments