@@ -32,8 +32,6 @@ struct Arn {
3232}
3333
3434impl Arn {
35- /// Parse an ARN of the form:
36- /// arn:aws:<service>:<region>:<account>:<resource…>
3735 fn parse ( input : & str ) -> ResolverResult < Self > {
3836 use resolver_error:: InvalidArnFormatSnafu ;
3937 ensure ! (
@@ -44,7 +42,6 @@ impl Arn {
4442 }
4543 ) ;
4644
47- // split into exactly 6 parts: ["arn","aws",service,region,account,rest]
4845 let parts: Vec < & str > = input. split ( ':' ) . collect ( ) ;
4946 ensure ! (
5047 parts. len( ) > 4 ,
@@ -112,15 +109,13 @@ impl TryFrom<&SettingsInput> for FileUri {
112109 input_source : input. input . clone ( ) ,
113110 } ) ?;
114111
115- // only accept file://
116112 ensure ! (
117113 url. scheme( ) == "file" ,
118114 FileUriSnafu {
119115 input_source: url. to_string( )
120116 }
121117 ) ;
122118
123- // convert to PathBuf or error
124119 let path = url. to_file_path ( ) . ok ( ) . context ( FileUriSnafu {
125120 input_source : url. to_string ( ) ,
126121 } ) ?;
@@ -177,7 +172,6 @@ impl UriResolver for HttpUri {
177172 uri : self . url . to_string ( ) ,
178173 } ) ?;
179174
180- // 2) check status
181175 ensure ! (
182176 resp. status( ) . is_success( ) ,
183177 HttpStatusSnafu {
@@ -186,7 +180,7 @@ impl UriResolver for HttpUri {
186180 }
187181 ) ;
188182
189- // 3) check content length if available
183+ // check content length if available
190184 if let Some ( content_length) = resp. content_length ( ) {
191185 ensure ! (
192186 content_length < MAX_SIZE_BYTES ,
@@ -198,7 +192,7 @@ impl UriResolver for HttpUri {
198192 ) ;
199193 }
200194
201- // 4) read the body as bytes first to check size
195+ // read the body as bytes first to check size
202196 let bytes = resp. bytes ( ) . await . context ( HttpBodySnafu {
203197 uri : self . url . to_string ( ) ,
204198 } ) ?;
@@ -257,7 +251,6 @@ impl UriResolver for S3Uri {
257251 let cfg = aws_config:: load_defaults ( aws_config:: BehaviorVersion :: latest ( ) ) . await ;
258252 let client = aws_sdk_s3:: Client :: new ( & cfg) ;
259253
260- // 1) check the object size using HEAD request
261254 let head_resp = client
262255 . head_object ( )
263256 . bucket ( & self . bucket )
@@ -269,7 +262,6 @@ impl UriResolver for S3Uri {
269262 key : self . key . clone ( ) ,
270263 } ) ?;
271264
272- // 2) check if the object size exceeds the limit
273265 if let Some ( size) = head_resp. content_length {
274266 ensure ! (
275267 ( size as u64 ) < MAX_SIZE_BYTES ,
@@ -282,7 +274,6 @@ impl UriResolver for S3Uri {
282274 ) ;
283275 }
284276
285- // 3) GET the object
286277 let resp = client
287278 . get_object ( )
288279 . bucket ( & self . bucket )
@@ -294,7 +285,6 @@ impl UriResolver for S3Uri {
294285 key : self . key . clone ( ) ,
295286 } ) ?;
296287
297- // 4) COLLECT the body stream
298288 let bytes = resp. body . collect ( ) . await . context ( S3BodySnafu {
299289 bucket : self . bucket . clone ( ) ,
300290 key : self . key . clone ( ) ,
@@ -323,10 +313,7 @@ impl TryFrom<&SettingsInput> for SecretsManagerArn {
323313 fn try_from ( input : & SettingsInput ) -> ResolverResult < Self > {
324314 use resolver_error:: * ;
325315
326- // 2) Delegate to Arn parser
327316 let arn = Arn :: parse ( input. input . as_str ( ) ) ?;
328-
329- //enforce proper format for Secrets Manager
330317 ensure ! (
331318 arn. parts == 7 ,
332319 InvalidArnFormatSnafu {
@@ -335,18 +322,16 @@ impl TryFrom<&SettingsInput> for SecretsManagerArn {
335322 }
336323 ) ;
337324
338- //enforce service name
339325 ensure ! (
340326 arn. service == "secretsmanager" ,
341327 SecretsManagerArnSnafu {
342328 input_source: input. input. clone( )
343329 }
344330 ) ;
345331
346- // 3) Construct
347332 Ok ( SecretsManagerArn {
348333 region : arn. region ,
349- full_arn : input. input . to_string ( ) , // AWS SDK will accept the full ARN as the secret_id
334+ full_arn : input. input . to_string ( ) ,
350335 } )
351336 }
352337}
@@ -355,7 +340,6 @@ impl TryFrom<&SettingsInput> for SecretsManagerArn {
355340impl UriResolver for SecretsManagerArn {
356341 async fn resolve ( & self ) -> ResolverResult < String > {
357342 use resolver_error:: * ;
358- // 1) Load default config, then override region
359343 let cfg = aws_config:: defaults ( aws_config:: BehaviorVersion :: latest ( ) )
360344 . region ( aws_sdk_secretsmanager:: config:: Region :: new (
361345 self . region . clone ( ) ,
@@ -365,7 +349,6 @@ impl UriResolver for SecretsManagerArn {
365349
366350 let client = aws_sdk_secretsmanager:: Client :: new ( & cfg) ;
367351
368- // 2) fetch the secret, propagating any SdkError into SecretsManagerGet
369352 let resp = client
370353 . get_secret_value ( )
371354 . secret_id ( self . full_arn . clone ( ) )
@@ -375,7 +358,6 @@ impl UriResolver for SecretsManagerArn {
375358 secret_id : self . full_arn . clone ( ) ,
376359 } ) ?;
377360
378- // 3) extract the string payload, or error if it was missing
379361 resp. secret_string ( )
380362 . map ( str:: to_string)
381363 . context ( SecretsManagerStringMissingSnafu {
@@ -422,11 +404,9 @@ impl UriResolver for SecretsManagerUri {
422404 async fn resolve ( & self ) -> ResolverResult < String > {
423405 use resolver_error:: * ;
424406
425- // 1) load AWS config (region/account via env)
426407 let cfg = aws_config:: load_defaults ( aws_config:: BehaviorVersion :: latest ( ) ) . await ;
427408 let client = aws_sdk_secretsmanager:: Client :: new ( & cfg) ;
428409
429- // 2) fetch the secret, propagating any SdkError into SecretsManagerGet
430410 let resp = client
431411 . get_secret_value ( )
432412 . secret_id ( self . secret_id . clone ( ) )
@@ -436,7 +416,6 @@ impl UriResolver for SecretsManagerUri {
436416 secret_id : self . secret_id . clone ( ) ,
437417 } ) ?;
438418
439- // 3) extract the string payload, or error if it was missing
440419 resp. secret_string ( )
441420 . map ( str:: to_string)
442421 . context ( SecretsManagerStringMissingSnafu {
@@ -460,10 +439,8 @@ impl TryFrom<&SettingsInput> for SsmArn {
460439 fn try_from ( input : & SettingsInput ) -> ResolverResult < Self > {
461440 use resolver_error:: * ;
462441
463- // 2) Delegate the rest to our Arn parser
464442 let arn = Arn :: parse ( input. input . as_str ( ) ) ?;
465443
466- //enforce proper format for SSM
467444 ensure ! (
468445 arn. parts == 6 ,
469446 InvalidArnFormatSnafu {
@@ -472,15 +449,13 @@ impl TryFrom<&SettingsInput> for SsmArn {
472449 }
473450 ) ;
474451
475- // enforce service name
476452 ensure ! (
477453 arn. service == "ssm" ,
478454 SsmArnSnafu {
479455 input_source: input. input. clone( )
480456 }
481457 ) ;
482458
483- // 3) Construct
484459 Ok ( SsmArn {
485460 region : arn. region ,
486461 full_arn : input. input . to_string ( ) ,
@@ -492,15 +467,14 @@ impl TryFrom<&SettingsInput> for SsmArn {
492467impl UriResolver for SsmArn {
493468 async fn resolve ( & self ) -> ResolverResult < String > {
494469 use resolver_error:: * ;
495- // 1) Load default config, then override region
470+
496471 let cfg = aws_config:: defaults ( aws_config:: BehaviorVersion :: latest ( ) )
497472 . region ( aws_sdk_ssm:: config:: Region :: new ( self . region . clone ( ) ) )
498473 . load ( )
499474 . await ;
500475
501476 let client = aws_sdk_ssm:: Client :: new ( & cfg) ;
502477
503- // 2) Fetch the parameter with decryption
504478 let resp = client
505479 . get_parameter ( )
506480 . name ( self . full_arn . clone ( ) )
@@ -511,7 +485,6 @@ impl UriResolver for SsmArn {
511485 parameter_name : self . full_arn . clone ( ) ,
512486 } ) ?;
513487
514- // 3) Extract the string value
515488 let value = resp
516489 . parameter
517490 . and_then ( |p| p. value ( ) . map ( |v| v. to_string ( ) ) )
@@ -562,7 +535,6 @@ impl UriResolver for SsmUri {
562535 let client = ssm:: Client :: new ( & config) ;
563536 use resolver_error:: * ;
564537
565- // fetch the parameter, with decryption
566538 let resp = client
567539 . get_parameter ( )
568540 . name ( self . parameter_name . clone ( ) )
0 commit comments