Skip to content

Commit fd0ccd5

Browse files
authored
fix(aws provider): Don't unwap external_id (#18452)
This field is optional. Closes: #18340 Signed-off-by: Jesse Szwedko <[email protected]>
1 parent e652ea4 commit fd0ccd5

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

src/aws/auth.rs

+19-10
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,15 @@ impl AwsAuthentication {
221221
));
222222
if let Some(assume_role) = assume_role {
223223
let auth_region = region.clone().map(Region::new).unwrap_or(service_region);
224-
let auth_external_id = external_id.clone().unwrap();
225-
let provider = AssumeRoleProviderBuilder::new(assume_role)
226-
.region(auth_region)
227-
.external_id(auth_external_id)
228-
.build(provider);
224+
let mut builder =
225+
AssumeRoleProviderBuilder::new(assume_role).region(auth_region);
226+
227+
if let Some(external_id) = external_id {
228+
builder = builder.external_id(external_id)
229+
}
230+
231+
let provider = builder.build(provider);
232+
229233
return Ok(SharedCredentialsProvider::new(provider));
230234
}
231235
Ok(provider)
@@ -253,11 +257,16 @@ impl AwsAuthentication {
253257
..
254258
} => {
255259
let auth_region = region.clone().map(Region::new).unwrap_or(service_region);
256-
let auth_external_id = external_id.clone().unwrap();
257-
let provider = AssumeRoleProviderBuilder::new(assume_role)
258-
.region(auth_region.clone())
259-
.external_id(auth_external_id)
260-
.build(default_credentials_provider(auth_region, *imds).await?);
260+
let mut builder =
261+
AssumeRoleProviderBuilder::new(assume_role).region(auth_region.clone());
262+
263+
if let Some(external_id) = external_id {
264+
builder = builder.external_id(external_id)
265+
}
266+
267+
let provider =
268+
builder.build(default_credentials_provider(auth_region, *imds).await?);
269+
261270
Ok(SharedCredentialsProvider::new(provider))
262271
}
263272
AwsAuthentication::Default { imds, region, .. } => Ok(SharedCredentialsProvider::new(

0 commit comments

Comments
 (0)