From 17ee3e0a496c2f7c0d05e926019a42efe9099bd1 Mon Sep 17 00:00:00 2001 From: Atish Patel Date: Wed, 14 Jun 2023 15:50:01 -0500 Subject: [PATCH 1/2] expose ProcessProviderOptions when creating a session --- aws/session/credentials.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/aws/session/credentials.go b/aws/session/credentials.go index 1d3f4c3adc3..be4b0b15212 100644 --- a/aws/session/credentials.go +++ b/aws/session/credentials.go @@ -23,6 +23,10 @@ type CredentialsProviderOptions struct { // WebIdentityRoleProviderOptions configures a WebIdentityRoleProvider, // such as setting its ExpiryWindow. WebIdentityRoleProviderOptions func(*stscreds.WebIdentityRoleProvider) + + // ProcessProviderOptions configures a ProcessProvider, + // such as setting its Timeout. + ProcessProviderOptions func(*processcreds.ProcessProvider) } func resolveCredentials(cfg *aws.Config, @@ -134,7 +138,7 @@ func resolveCredsFromProfile(cfg *aws.Config, case len(sharedCfg.CredentialProcess) != 0: // Get credentials from CredentialProcess - creds = processcreds.NewCredentials(sharedCfg.CredentialProcess) + creds = processcreds.NewCredentials(sharedCfg.CredentialProcess, sessOpts.CredentialsProviderOptions.ProcessProviderOptions) default: // Fallback to default credentials provider, include mock errors for From 79904551134d465375b97a3d7386562c427aab56 Mon Sep 17 00:00:00 2001 From: Atish Patel Date: Wed, 14 Jun 2023 15:54:56 -0500 Subject: [PATCH 2/2] make ProcessProviderOptions optional with if statement --- aws/session/credentials.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/aws/session/credentials.go b/aws/session/credentials.go index be4b0b15212..eb2061263d3 100644 --- a/aws/session/credentials.go +++ b/aws/session/credentials.go @@ -138,7 +138,11 @@ func resolveCredsFromProfile(cfg *aws.Config, case len(sharedCfg.CredentialProcess) != 0: // Get credentials from CredentialProcess - creds = processcreds.NewCredentials(sharedCfg.CredentialProcess, sessOpts.CredentialsProviderOptions.ProcessProviderOptions) + var optFns []func(*processcreds.ProcessProvider) + if sessOpts.CredentialsProviderOptions != nil && sessOpts.CredentialsProviderOptions.ProcessProviderOptions != nil { + optFns = append(optFns, sessOpts.CredentialsProviderOptions.ProcessProviderOptions) + } + creds = processcreds.NewCredentials(sharedCfg.CredentialProcess, optFns...) default: // Fallback to default credentials provider, include mock errors for