Skip to content

Conversation

dcabib
Copy link
Contributor

@dcabib dcabib commented Sep 1, 2025

Issue number: #7119

Summary

Enhances the Transfer Family parser models with field descriptions and examples using Pydantic's Field() functionality. This improvement provides better documentation and metadata for Transfer Family event parsing, following the pattern established in PR #7100.

Changes

  • Added Field() descriptions and examples to the Transfer Family parser model:

    • TransferFamilyAuthorizer - Lambda authorizer event model with comprehensive field documentation
  • All field descriptions are based on official AWS Transfer Family Lambda authorizer documentation

  • Examples sourced from actual test events (transferFamilyAuthorizer.json) and AWS documentation

  • Maintains 100% backward compatibility - no breaking changes to type annotations or validation logic

  • Preserves existing field aliases (serverId, sourceIp) and IPvAnyAddress type validation

User experience

Customers will be able to see examples and descriptions when using Transfer Family parser models, providing:

  • Rich IntelliSense with field descriptions and realistic examples
  • Self-documenting code without needing external AWS documentation
  • Professional API documentation via .model_json_schema()
  • Faster development with immediate reference for acceptable values
  • Clear understanding of Transfer Family Lambda authorizer event structure

Checklist

  • Meet tenets criteria
  • I have performed a self-review of this change
  • Changes have been tested (all existing tests pass)
  • Changes are documented (via Field descriptions)
  • PR title follows conventional commit semantics

Is this a breaking change? No


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Closes #7119

…scriptions

Enhances the Transfer Family parser models with field descriptions and examples using Pydantic's Field() functionality. This improvement provides better documentation and metadata for Transfer Family event parsing, following the pattern established in PR aws-powertools#7100.

All field descriptions are based on official AWS Transfer Family Lambda authorizer documentation and include realistic examples from actual test events.

Closes aws-powertools#7119
@dcabib dcabib requested a review from a team as a code owner September 1, 2025 16:14
@dcabib dcabib requested a review from anafalcao September 1, 2025 16:14
@pull-request-size pull-request-size bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Sep 1, 2025
Replace specific password examples with placeholder format to resolve SonarQube security hotspots while maintaining documentation value.
Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @dcabib thanks for working on this. I left a comment.

Remove IP address examples from source_ip field to avoid triggering security pipelines in customer environments as requested by leandrodamascena.
@pull-request-size pull-request-size bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 1, 2025
Copy link

sonarqubecloud bot commented Sep 1, 2025

Copy link

codecov bot commented Sep 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.35%. Comparing base (f21fcb7) to head (88e5a10).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #7294   +/-   ##
========================================
  Coverage    96.35%   96.35%           
========================================
  Files          275      275           
  Lines        12980    12980           
  Branches       965      965           
========================================
  Hits         12507    12507           
  Misses         366      366           
  Partials       107      107           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@leandrodamascena leandrodamascena assigned dcabib and unassigned dreamorosi Sep 1, 2025
@leandrodamascena leandrodamascena self-requested a review September 1, 2025 16:37
Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dcabib! Approved.

@leandrodamascena leandrodamascena merged commit bf5a80f into aws-powertools:develop Sep 1, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tech debt: Improve documentation of Event model fields in Transfer Family parser Models
3 participants