@@ -208,37 +208,27 @@ namespace Aws
208208#endif
209209 }
210210
211- EC2MetadataClient::EC2MetadataClient (
212- const Aws::Client::ClientConfiguration::CredentialProviderConfiguration& credentialConfig,
213- const char * endpoint)
211+ EC2MetadataClient::EC2MetadataClient (const Aws::Client::ClientConfiguration::CredentialProviderConfiguration& credentialConfig,
212+ const char * endpoint)
214213 : AWSHttpResourceClient(
215- [&credentialConfig]() -> Aws::Client::ClientConfiguration {
216- Aws::Client::ClientConfiguration clientConfig{credentialConfig.profile .c_str ()};
217- clientConfig.region = credentialConfig.region ;
218- clientConfig.credentialProviderConfig = credentialConfig;
219-
220- auto imdsRetry = credentialConfig.imdsConfig .imdsRetryStrategy ;
221- if (!imdsRetry) {
222- const long totalAttempts =
223- (credentialConfig.imdsConfig .metadataServiceNumAttempts > 0 )
224- ? credentialConfig.imdsConfig .metadataServiceNumAttempts
225- : 1 ; // 1 total attempt => 0 retries
226- const long maxRetries = std::max<long >(0 , totalAttempts - 1 );
227- imdsRetry = Aws::MakeShared<Aws::Client::DefaultRetryStrategy>(
228- EC2_METADATA_CLIENT_LOG_TAG, maxRetries, /* scaleMs=*/ 1000 );
229- }
230-
231- clientConfig.retryStrategy = imdsRetry;
232- clientConfig.configFactories .retryStrategyCreateFn = [imdsRetry]() { return imdsRetry; };
233-
234- return clientConfig;
235- }(),
236- EC2_METADATA_CLIENT_LOG_TAG),
214+ [&credentialConfig]() -> ClientConfiguration{
215+ Aws::Client::ClientConfiguration clientConfig{credentialConfig.profile .c_str ()};
216+ clientConfig.region = credentialConfig.region ;
217+ clientConfig.credentialProviderConfig = credentialConfig;
218+ clientConfig.requestTimeoutMs = credentialConfig.imdsConfig .metadataServiceTimeout * 1000 ;
219+ if (credentialConfig.imdsConfig .imdsRetryStrategy ) {
220+ clientConfig.retryStrategy = credentialConfig.imdsConfig .imdsRetryStrategy ;
221+ } else {
222+ clientConfig.retryStrategy = Aws::MakeShared<Aws::Client::DefaultRetryStrategy>(
223+ EC2_METADATA_CLIENT_LOG_TAG, credentialConfig.imdsConfig .metadataServiceNumAttempts - 1 , /* scaleMs=*/ 500 );
224+ }
225+ return clientConfig;
226+ }(),
227+ EC2_METADATA_CLIENT_LOG_TAG),
237228 m_endpoint (endpoint),
238229 m_disableIMDS (credentialConfig.imdsConfig.disableImds),
239230 m_tokenRequired (true ),
240- m_disableIMDSV1 (credentialConfig.imdsConfig.disableImdsV1)
241- {
231+ m_disableIMDSV1 (credentialConfig.imdsConfig.disableImdsV1) {
242232#if defined(DISABLE_IMDSV1)
243233 m_disableIMDSV1 = true ;
244234 AWS_LOGSTREAM_TRACE (m_logtag.c_str (), " IMDSv1 had been disabled at the SDK build time" );
0 commit comments