@@ -152,6 +152,14 @@ def get_params(self):
152152 app_params = {** common_params , ** app_params }
153153 return self .parse_params (app_params )
154154
155+ def get_raw_params (self ):
156+ app_params = self .app .get_remote_params (flatten = False )
157+
158+ if self .include_common :
159+ common_params = self .common_app .get_remote_params (flatten = False )
160+ app_params = {** common_params , ** app_params }
161+ return self .parse_params (app_params )
162+
155163 def params_to_env (self , export = False ):
156164 strings = []
157165 for parameter , value in self .get_params ().items ():
@@ -206,13 +214,15 @@ def upload_to_s3(self):
206214 def s3_key (self ):
207215 return os .path .join ("" , self .environment .name , "." .join ([self .name , "yaml" ]))
208216
209- def fetch_from_s3 (self ) -> typing .Dict [str , Any ]:
217+ def fetch_from_s3 (self , raw = False ) -> typing .Dict [str , Any ]:
210218 if not hasattr (self , "_s3_data" ):
211219 response = self .s3_client .get_object (
212220 Bucket = self .environment .manager .bucket_name ,
213221 Key = self .s3_key
214222 )
215223 self ._s3_data = yaml .load (response ["Body" ], Loader = yaml .SafeLoader )
224+ if raw :
225+ return self ._s3_data
216226 for key , value in self ._s3_data .items ():
217227 self ._s3_data [key ] = self .parse_value (value )
218228
@@ -259,7 +269,7 @@ def remote_secrets(self) -> typing.Dict[str, Any]:
259269 @property
260270 def remote_values (self ) -> typing .Dict [str , Any ]:
261271 if not hasattr (self , "_remote_values" ):
262- self ._remote_values = self .fetch_from_s3 ()
272+ self ._remote_values = self .fetch_from_s3 (self . raw )
263273
264274 return self ._remote_values
265275
@@ -268,9 +278,15 @@ def get_local_params(self):
268278 app_secrets = self .convert_flatten (self .local_secrets )
269279 return {** app_values , ** app_secrets }
270280
271- def get_remote_params (self ):
272- app_values = self .convert_flatten (self .remote_values )
273- app_secrets = self .convert_flatten (self .remote_secrets )
281+ def get_remote_params (self , flatten = True ):
282+ if flatten :
283+ self .raw = False
284+ app_values = self .convert_flatten (self .remote_values )
285+ app_secrets = self .convert_flatten (self .remote_secrets )
286+ else :
287+ self .raw = True
288+ app_values = self .remote_values
289+ app_secrets = self .remote_secrets
274290 return {** app_values , ** app_secrets }
275291
276292 def get_flattened_secrets (self ) -> typing .Dict [str , Any ]:
0 commit comments