11
11
12
12
from plux import Plugin , PluginManager
13
13
14
- from localstack import constants
15
14
from localstack .runtime import hooks
16
15
from localstack .utils .objects import singleton_factory
17
16
@@ -156,12 +155,7 @@ def run_stage(self, stage: Stage) -> List[Script]:
156
155
for script in scripts :
157
156
LOG .debug ("Running %s script %s" , script .stage , script .path )
158
157
159
- # Deprecated: To be removed in v4.0 major release.
160
- # Explicit AWS credentials and region will need to be set in the script.
161
158
env_original = os .environ .copy ()
162
- os .environ ["AWS_ACCESS_KEY_ID" ] = constants .DEFAULT_AWS_ACCOUNT_ID
163
- os .environ ["AWS_SECRET_ACCESS_KEY" ] = constants .INTERNAL_AWS_SECRET_ACCESS_KEY
164
- os .environ ["AWS_REGION" ] = constants .AWS_REGION_US_EAST_1
165
159
166
160
try :
167
161
script .state = State .RUNNING
@@ -176,13 +170,19 @@ def run_stage(self, stage: Stage) -> List[Script]:
176
170
else :
177
171
script .state = State .SUCCESSFUL
178
172
finally :
179
- # Restore original state of Boto credentials.
180
- for env_var in ("AWS_ACCESS_KEY_ID" , "AWS_SECRET_ACCESS_KEY" , "AWS_REGION" ):
173
+ # Discard env variables overridden in startup script that may cause side-effects
174
+ for env_var in (
175
+ "AWS_ACCESS_KEY_ID" ,
176
+ "AWS_SECRET_ACCESS_KEY" ,
177
+ "AWS_SESSION_TOKEN" ,
178
+ "AWS_DEFAULT_REGION" ,
179
+ "AWS_PROFILE" ,
180
+ "AWS_REGION" ,
181
+ ):
181
182
if env_var in env_original :
182
183
os .environ [env_var ] = env_original [env_var ]
183
184
else :
184
185
os .environ .pop (env_var , None )
185
-
186
186
finally :
187
187
self .stage_completed [stage ] = True
188
188
0 commit comments