@@ -67,17 +67,61 @@ public class SentryDeploymentCertificateConfig
6767    public  string [ ]  CustomHosts  {  get ;  set ;  }  =  Array . Empty < string > ( ) ; 
6868} 
6969
70- public  class  ResourceLimitConfig  :  Dictionary < string ,  V1ResourceRequirements > 
70+ public  class  ResourceLimitConfig  :  Dictionary < string ,  ResourceRequirementDefinition > 
7171{ 
72-     public  V1ResourceRequirements ?  Web  {  get ;  set ;  } 
73-     public  V1ResourceRequirements ?  Worker  {  get ;  set ;  } 
74-     public  V1ResourceRequirements ?  Cron  {  get ;  set ;  } 
75-     public  V1ResourceRequirements ?  Snuba  {  get ;  set ;  } 
76-     public  V1ResourceRequirements ?  Relay  {  get ;  set ;  } 
77-     public  V1ResourceRequirements ?  Consumer  {  get ;  set ;  } 
78-     public  V1ResourceRequirements ?  Ingest  {  get ;  set ;  } 
79-     public  V1ResourceRequirements ?  Forwarder  {  get ;  set ;  } 
80-     public  V1ResourceRequirements ?  Replacer  {  get ;  set ;  } 
72+     public  ResourceRequirementDefinition ?  Web  {  get ;  set ;  } 
73+     public  ResourceRequirementDefinition ?  Worker  {  get ;  set ;  } 
74+     public  ResourceRequirementDefinition ?  Cron  {  get ;  set ;  } 
75+     public  ResourceRequirementDefinition ?  Snuba  {  get ;  set ;  } 
76+     public  ResourceRequirementDefinition ?  Relay  {  get ;  set ;  } 
77+     public  ResourceRequirementDefinition ?  Consumer  {  get ;  set ;  } 
78+     public  ResourceRequirementDefinition ?  Ingest  {  get ;  set ;  } 
79+     public  ResourceRequirementDefinition ?  Forwarder  {  get ;  set ;  } 
80+     public  ResourceRequirementDefinition ?  Replacer  {  get ;  set ;  } 
8181    // ReSharper disable once InconsistentNaming 
82-     public  V1ResourceRequirements ?  GeoIP  {  get ;  set ;  } 
82+     public  ResourceRequirementDefinition ?  GeoIP  {  get ;  set ;  } 
83+ } 
84+ 
85+ public  class  ResourceRequirementDefinition 
86+ { 
87+     public  ResourceRequirement ?  Limits  {  get ;  set ;  } 
88+     public  ResourceRequirement ?  Requests  {  get ;  set ;  } 
89+ } 
90+ 
91+ public  class  ResourceRequirement 
92+ { 
93+     public  string ?  Cpu  {  get ;  set ;  } 
94+     public  string ?  Memory  {  get ;  set ;  } 
95+     
96+     public  ResourceRequirement ( string ?  cpu ,  string ?  memory ) 
97+     { 
98+         Cpu  =  cpu ; 
99+         Memory  =  memory ; 
100+     } 
101+     
102+     public  ResourceRequirement ( )  { } 
103+     
104+     public  static implicit  operator  Dictionary < string ,  ResourceQuantity > ( ResourceRequirement  requirement ) 
105+     { 
106+         return  requirement . ToDictionary ( ) ; 
107+     } 
108+ 
109+     public  Dictionary < string ,  ResourceQuantity >  ToDictionary ( ) 
110+     { 
111+         var  result  =  new  Dictionary < string ,  ResourceQuantity > ( ) ; 
112+         if  ( Cpu  !=  null ) 
113+         { 
114+             result [ "cpu" ]  =  new  ResourceQuantity ( Cpu ) ; 
115+         } 
116+         if  ( Memory  !=  null ) 
117+         { 
118+             result [ "memory" ]  =  new  ResourceQuantity ( Memory ) ; 
119+         } 
120+         return  result ; 
121+     } 
122+     
123+     public  override  string  ToString ( ) 
124+     { 
125+         return  $ "Cpu: { Cpu } , Memory: { Memory } "; 
126+     } 
83127} 
0 commit comments