@@ -295,7 +295,11 @@ func providerConfigure(ctx context.Context, d *schema.ResourceData) (interface{}
295
295
awsSecretAccessKey := d .Get ("aws_secret_access_key" ).(string )
296
296
awsSessionToken := d .Get ("aws_session_token" ).(string )
297
297
endpoint := d .Get ("sts_endpoint" ).(string )
298
- config , _ = configureCredentialsSTS (& config , secret , region , awsAccessKeyID , awsSecretAccessKey , awsSessionToken , endpoint )
298
+ var err error
299
+ config , err = configureCredentialsSTS (& config , secret , region , awsAccessKeyID , awsSecretAccessKey , awsSessionToken , endpoint )
300
+ if err != nil {
301
+ return nil , diag .FromErr (err )
302
+ }
299
303
}
300
304
301
305
return config .NewClient (ctx )
@@ -305,6 +309,7 @@ func configureCredentialsSTS(config *Config, secret, region, awsAccessKeyID, aws
305
309
ep , err := endpoints .GetSTSRegionalEndpoint ("regional" )
306
310
if err != nil {
307
311
fmt .Printf ("GetSTSRegionalEndpoint error: %s" , err )
312
+ return * config , err
308
313
}
309
314
310
315
sess := session .Must (session .NewSession (& aws.Config {
@@ -318,25 +323,31 @@ func configureCredentialsSTS(config *Config, secret, region, awsAccessKeyID, aws
318
323
319
324
_ , err = sess .Config .Credentials .Get ()
320
325
if err != nil {
321
- fmt .Printf ("Session get credentils error: %s" , err )
326
+ fmt .Printf ("Session get credentials error: %s" , err )
327
+ return * config , err
322
328
}
323
329
_ , err = creds .Get ()
324
330
if err != nil {
325
331
fmt .Printf ("STS get credentials error: %s" , err )
332
+ return * config , err
333
+ }
334
+ secretString , err := secretsManagerGetSecretValue (sess , & aws.Config {Credentials : creds , Region : aws .String (region )}, secret )
335
+ if err != nil {
336
+ fmt .Printf ("Get Secrets error: %s" , err )
337
+ return * config , err
326
338
}
327
- secretString := secretsManagerGetSecretValue (sess , & aws.Config {Credentials : creds , Region : aws .String (region )}, secret )
328
339
329
340
var secretData SecretData
330
341
err = json .Unmarshal ([]byte (secretString ), & secretData )
331
342
if err != nil {
332
- return * config , nil
343
+ return * config , err
333
344
}
334
345
config .PublicKey = secretData .PublicKey
335
346
config .PrivateKey = secretData .PrivateKey
336
347
return * config , nil
337
348
}
338
349
339
- func secretsManagerGetSecretValue (sess * session.Session , creds * aws.Config , secret string ) string {
350
+ func secretsManagerGetSecretValue (sess * session.Session , creds * aws.Config , secret string ) ( string , error ) {
340
351
svc := secretsmanager .New (sess , creds )
341
352
input := & secretsmanager.GetSecretValueInput {
342
353
SecretId : aws .String (secret ),
@@ -363,11 +374,11 @@ func secretsManagerGetSecretValue(sess *session.Session, creds *aws.Config, secr
363
374
} else {
364
375
fmt .Println (err .Error ())
365
376
}
366
- return ""
377
+ return "" , err
367
378
}
368
379
369
380
fmt .Println (result )
370
- return * result .SecretString
381
+ return * result .SecretString , err
371
382
}
372
383
373
384
func encodeStateID (values map [string ]string ) string {
0 commit comments