diff --git a/.github/labeler.yml b/.github/labeler.yml index f3c758d9e3..223cf2cd5b 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,75 +1,109 @@ area/package: -- samcli/commands/package/* -- samcli/commands/package/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/package/* + - samcli/commands/package/**/* area/local/invoke: -- samcli/commands/local/invoke/* -- samcli/commands/local/invoke/**/* -- samcli/local/* -- samcli/local/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/local/invoke/* + - samcli/commands/local/invoke/**/* + - samcli/local/* + - samcli/local/**/* area/pipeline: -- samcli/commands/pipeline/* -- samcli/commands/pipeline/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/pipeline/* + - samcli/commands/pipeline/**/* area/deploy: -- samcli/commands/deploy/* -- samcli/commands/deploy/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/deploy/* + - samcli/commands/deploy/**/* area/local/start-api: -- samcli/commands/local/start-api/* -- samcli/commands/local/start-api/**/* -- samcli/local/* -- samcli/local/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/local/start-api/* + - samcli/commands/local/start-api/**/* + - samcli/local/* + - samcli/local/**/* area/local/start-invoke: -- samcli/commands/local/start-invoke/* -- samcli/commands/local/start-invoke/**/* -- samcli/local/* -- samcli/local/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/local/start-invoke/* + - samcli/commands/local/start-invoke/**/* + - samcli/local/* + - samcli/local/**/* area/local/generate-event: -- samcli/commands/local/generate-event/* -- samcli/commands/local/generate-event/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/local/generate-event/* + - samcli/commands/local/generate-event/**/* area/init: -- samcli/commands/init/* -- samcli/commands/init/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/init/* + - samcli/commands/init/**/* area/delete: -- samcli/commands/delete/* -- samcli/commands/delete/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/delete/* + - samcli/commands/delete/**/* area/integration-tests: -- test/integration/* -- test/integration/**/* + - changed-files: + - any-glob-to-any-file: + - test/integration/* + - test/integration/**/* area/publish: -- samcli/commands/publish/* -- samcli/commands/publish/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/publish/* + - samcli/commands/publish/**/* area/sync: -- samcli/commands/sync/* -- samcli/commands/sync/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/sync/* + - samcli/commands/sync/**/* area/validate: -- samcli/commands/validate/* -- samcli/commands/validate/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/validate/* + - samcli/commands/validate/**/* area/build: -- samcli/commands/build/* -- samcli/commands/build/**/* -- samcli/lib/build/* -- samcli/lib/build/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/build/* + - samcli/commands/build/**/* + - samcli/lib/build/* + - samcli/lib/build/**/* area/logs: -- samcli/commands/logs/* -- samcli/commands/logs/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/logs/* + - samcli/commands/logs/**/* area/traces: -- samcli/commands/traces/* -- samcli/commands/traces/**/* + - changed-files: + - any-glob-to-any-file: + - samcli/commands/traces/* + - samcli/commands/traces/**/* area/schema: -- schema/* -- schema/**/* + - changed-files: + - any-glob-to-any-file: + - schema/* + - schema/**/* diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 70a2233fce..8fb2f413b8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,7 @@ jobs: - "3.11" steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - run: test -f "./.github/ISSUE_TEMPLATE/Bug_report.md" # prevent Bug_report.md from being renamed or deleted @@ -76,13 +76,15 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 name: Install Python 3.11 with: python-version: 3.11 - run: make init - run: | - diff <( cat schema/samcli.json ) <( python schema/make_schema.py; cat schema/samcli.json ) && exit 0 # exit if schema is unchanged + diff <( cat schema/samcli.json ) <( python -m schema.make_schema && cat schema/samcli.json ) && \ + echo "No changes found." && \ + exit 0 # exit if schema is unchanged echo "The generated schema differs from that in the PR. Please run 'make schema'." exit 1 name: Generate and compare the schema @@ -132,7 +134,7 @@ jobs: - "tests/integration/docs" steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: # set last version as the one in matrix to make it default python-version: | @@ -218,7 +220,7 @@ jobs: - "3.11" steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - name: Init samdev @@ -240,7 +242,7 @@ jobs: - windows-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: # These are the versions of Python that correspond to the supported Lambda runtimes python-version: | diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 2f3b24755e..8e0507afc6 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -60,7 +60,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 # ℹī¸ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -73,6 +73,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml index ec956b0cbb..ec1c181a37 100644 --- a/.github/workflows/pr-labeler.yml +++ b/.github/workflows/pr-labeler.yml @@ -9,7 +9,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v4 + - uses: actions/labeler@v5 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" apply-internal-external-label: diff --git a/.github/workflows/update-reproducibles.yml b/.github/workflows/update-reproducibles.yml index 9101f28c7c..f2751a935a 100644 --- a/.github/workflows/update-reproducibles.yml +++ b/.github/workflows/update-reproducibles.yml @@ -33,7 +33,7 @@ jobs: - uses: actions/checkout@v4 with: ref: ${{ github.head_ref }} - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - run: make ${{ matrix.target }} diff --git a/.github/workflows/validate_pyinstaller.yml b/.github/workflows/validate_pyinstaller.yml index 503c67fb5f..912b0b73dd 100644 --- a/.github/workflows/validate_pyinstaller.yml +++ b/.github/workflows/validate_pyinstaller.yml @@ -49,7 +49,7 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.8" - name: Set up Go diff --git a/appveyor-linux-binary.yml b/appveyor-linux-binary.yml index 6dc5dde8d7..b4a77fb9f0 100644 --- a/appveyor-linux-binary.yml +++ b/appveyor-linux-binary.yml @@ -67,6 +67,10 @@ install: - sh: "PATH=/opt/gradle/gradle-8.4/bin:$PATH" - sh: "gradle --version" + # Install dotnet8 SDK + - sh: "sudo apt-get update" + - sh: "sudo apt-get install -y dotnet-sdk-8.0" + # Install AWS CLI - sh: "virtualenv aws_cli" - sh: "./aws_cli/bin/python -m pip install awscli" diff --git a/appveyor-ubuntu.yml b/appveyor-ubuntu.yml index a596626721..9a16892b33 100644 --- a/appveyor-ubuntu.yml +++ b/appveyor-ubuntu.yml @@ -68,6 +68,10 @@ install: - sh: "PATH=/opt/gradle/gradle-8.4/bin:$PATH" - sh: "gradle --version" + # Install dotnet8 SDK + - sh: "sudo apt-get update" + - sh: "sudo apt-get install -y dotnet-sdk-8.0" + # Install AWS CLI - sh: "virtualenv aws_cli" - sh: "./aws_cli/bin/python -m pip install awscli" diff --git a/requirements/base.txt b/requirements/base.txt index 29ff30021a..66e77d161a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,7 +1,7 @@ chevron~=0.12 click~=8.1 Flask<3.1 -boto3>=1.26.109,<2 +boto3>=1.29.2,<2 jmespath~=1.0.1 ruamel_yaml~=0.18.5 PyYAML~=6.0,>=6.0.1 @@ -11,7 +11,7 @@ aws-sam-translator==1.82.0 docker~=6.1.0 dateparser~=1.2 requests~=2.31.0 -aws_lambda_builders==1.43.0 +aws_lambda_builders==1.45.0 tomlkit==0.12.3 watchdog==3.0.0 rich~=13.7.0 @@ -28,7 +28,7 @@ regex!=2021.10.8 tzlocal==5.2 #Adding cfn-lint dependency for SAM validate -cfn-lint~=0.83.4 +cfn-lint~=0.83.5 # Type checking boto3 objects -boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray,sqs,kinesis]==1.33.5 +boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray,sqs,kinesis]==1.34.9 diff --git a/requirements/dev.txt b/requirements/dev.txt index 87c0c956c2..40a53b25dc 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,6 +1,6 @@ -r pre-dev.txt -coverage==7.3.2 +coverage==7.4.0 pytest-cov==4.1.0 @@ -8,11 +8,11 @@ pytest-cov==4.1.0 # mypy adds new rules in new minor versions, which could cause our PR check to fail # here we fix its version and upgrade it manually in the future mypy==1.7.1 -types-pywin32==306.0.0.6 +types-pywin32==306.0.0.8 types-PyYAML==6.0.12.12 types-chevron==0.14.2.5 types-psutil==5.9.5.17 -types-setuptools==68.2.0.2 +types-setuptools==69.0.0.0 types-Pygments==2.17.0.0 types-colorama==0.4.15.12 types-dateparser==1.1.4.10 @@ -36,5 +36,5 @@ pytest-json-report==1.5.0 filelock==3.13.1 # formatter -black==23.11.0 -psutil==5.9.6 +black==23.12.0 +psutil==5.9.7 diff --git a/requirements/pre-dev.txt b/requirements/pre-dev.txt index 680848f217..e89c4992b0 100644 --- a/requirements/pre-dev.txt +++ b/requirements/pre-dev.txt @@ -1 +1 @@ -ruff==0.1.7 +ruff==0.1.8 diff --git a/requirements/pyinstaller-build.txt b/requirements/pyinstaller-build.txt index bcb0e32bb6..a698aab2c8 100644 --- a/requirements/pyinstaller-build.txt +++ b/requirements/pyinstaller-build.txt @@ -1,3 +1,3 @@ # Executable binary builder requirements setuptools==69.0.2 -pyinstaller==6.2.0 +pyinstaller==6.3.0 diff --git a/requirements/reproducible-linux.txt b/requirements/reproducible-linux.txt index 00eedcecb2..e36dbca1fe 100644 --- a/requirements/reproducible-linux.txt +++ b/requirements/reproducible-linux.txt @@ -20,9 +20,9 @@ attrs==23.1.0 \ # jsonschema # referencing # sarif-om -aws-lambda-builders==1.43.0 \ - --hash=sha256:15c4b497824a296690e9497dba93186544fbe8cf6af9afb1da2d3834ab84ab20 \ - --hash=sha256:9a2bc476f6fd86fe32584f083436e862b124fd71ae307a8a1a85fae458589d09 +aws-lambda-builders==1.45.0 \ + --hash=sha256:5c19a6628eecf21578cd9c521e747f4a2163c62c527cd840b11b62a10b661348 \ + --hash=sha256:a4db7766198c052900905bd7ee3b1a8b486511394cdabffed054204d43b29943 # via aws-sam-cli (setup.py) aws-sam-translator==1.82.0 \ --hash=sha256:29ba61f2a70b2b1cf0c76b92b78a23c7cdd19ea1b0a5992753180b56d040d20b \ @@ -38,27 +38,27 @@ blinker==1.7.0 \ --hash=sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9 \ --hash=sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182 # via flask -boto3==1.33.5 \ - --hash=sha256:6a1d938bbf11518b1d17ca8186168f3ba2a0e8b2bf3c82cdd810ecb884627d2a \ - --hash=sha256:fcc24f62a1f512dd9b4a7a8af6f5fbfb3d69842a92aa2e79c2ca551ac49a4757 +boto3==1.34.9 \ + --hash=sha256:18c386a55e461749e6c9c8a10627a230db18a20dd72f2950ce19546974f15cd5 \ + --hash=sha256:8e48343d52389041af053992decf651bc4fc7b2d65eca12acdcff62d446ecdf4 # via # aws-sam-cli (setup.py) # aws-sam-translator -boto3-stubs[apigateway,cloudformation,ecr,iam,kinesis,lambda,s3,schemas,secretsmanager,signer,sqs,stepfunctions,sts,xray]==1.33.5 \ - --hash=sha256:40d7a52e60d477822655938083be43a9097a405f1d748ce86f5233685e0cddcc \ - --hash=sha256:4f19917a817f5530c5a05924ff009929218664c75140f47fd57e3ba6d477ab48 +boto3-stubs[apigateway,cloudformation,ecr,iam,kinesis,lambda,s3,schemas,secretsmanager,signer,sqs,stepfunctions,sts,xray]==1.34.9 \ + --hash=sha256:41220432e898a7a3fa60bb52ef2d49c864f5b38e2baa6a6235f57387325a242e \ + --hash=sha256:d75fa019e181fd87a23b7684684da47e3fba9c501bc4bd1d70ccef21c1b9bf8b # via # aws-sam-cli (setup.py) # boto3-stubs -botocore==1.33.5 \ - --hash=sha256:aa4a5c7cf78a403280e50daba8966479e23577b4a5c20165f71fab7a9b405e99 \ - --hash=sha256:c165207fb33e8352191d6a2770bce9f9bf01c62f5149824c4295d7f49bf96746 +botocore==1.34.9 \ + --hash=sha256:2cf43fa5b5438a95fc466c700f3098228b45df38e311103488554b2334b42ee3 \ + --hash=sha256:b40f027f371a1bd211ef67a3727c74bc3713af5fc5d830d4587abda296ebb19e # via # boto3 # s3transfer -botocore-stubs==1.33.5 \ - --hash=sha256:826147bc4134cffd5310c36065131e9955d434b30ddb0ccecb16fc66ea3461fd \ - --hash=sha256:af2d6f5a00c003df38bd28ac21a52d4d23cce9d5cc9f864656a85b569b88657c +botocore-stubs==1.34.9 \ + --hash=sha256:20a3c2ffc19dfa1ded192cafefca855f569f9e80b077ddc6390114432d7560c6 \ + --hash=sha256:55aed8679dce47b2ee1e35028826037b643b8897419ec4b7c493289ef0fd1bbf # via boto3-stubs certifi==2023.11.17 \ --hash=sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1 \ @@ -118,9 +118,9 @@ cffi==1.16.0 \ --hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \ --hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357 # via cryptography -cfn-lint==0.83.4 \ - --hash=sha256:5e9409e950590c772696a5298fb1dde7d22ca2da431fc6b8dd2de96434a964b7 \ - --hash=sha256:fe386419ec2c92ffd795a9d1e1bea8131c9c8fae90e7a823f43da2fff82e9af7 +cfn-lint==0.83.5 \ + --hash=sha256:91145a94968f0f3c0095fcc4366602efb3b9f5eee413171845f298fa1227e0fa \ + --hash=sha256:97ed0b36f77defba9fe843d2401160c7bb2a81dd4478dd17859bac9f027da311 # via aws-sam-cli (setup.py) chardet==5.2.0 \ --hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \ @@ -388,61 +388,61 @@ mpmath==1.3.0 \ --hash=sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f \ --hash=sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c # via sympy -mypy-boto3-apigateway==1.33.0 \ - --hash=sha256:1f8eba3d043b591383101f8fd9675a6ee7f3c14d69dec26a51915ff3367f25ec \ - --hash=sha256:9281011f3207978e90c4763a25a472df5276ff36ac1b7f44faeea4a663153b8b +mypy-boto3-apigateway==1.34.0 \ + --hash=sha256:372ca74ede1442cb7d171a7cc0b64d92900cda258790f07b9cd9b92886ef92ef \ + --hash=sha256:3c724120971c74fb65a94eb7e4b92a3a4b28df6c70ca04a007072e6c73f6eda7 # via boto3-stubs -mypy-boto3-cloudformation==1.33.0 \ - --hash=sha256:e1c27b910ffce96ed0ae126e4c5755bdd90a56dc7548e543264334a35608df0a \ - --hash=sha256:f56659fa8d804017075e3fb27ac8df17cd6c9ea3f686d79832bf5add51eb2965 +mypy-boto3-cloudformation==1.34.0 \ + --hash=sha256:4e63a2bca1882971881d65983acd774c2fc636bbc5dc8c3e1f4a41c539cf3c90 \ + --hash=sha256:9b25df9ef15d9dc8e4e892cc07aa9343f15f2ed5eb7d33eb5eb65adfa63f538f # via boto3-stubs -mypy-boto3-ecr==1.33.0 \ - --hash=sha256:76b0a53f9826f5d52fd9242ace420f1d54db35dcccc391c5137480bfb68a1689 \ - --hash=sha256:a64e2d65bb4733a304656bac16ff5a217303b80545679b379a543690c4a143d0 +mypy-boto3-ecr==1.34.0 \ + --hash=sha256:3346c02c22b16068c9acc67d990e32060bf7cdaea5f3d43c50e44308fbbc3439 \ + --hash=sha256:b83fb0311e968a42d4ca821b006c18d4a3e3e364b8cebee758ea4fa97c5ac345 # via boto3-stubs -mypy-boto3-iam==1.33.0 \ - --hash=sha256:046ac8b0bf467145b037b8179cd3838eb218164ee81712511a9734412294e537 \ - --hash=sha256:7e6b7634eb4e1aa8dcbc6bd7e1d8d157e95353d3ef1c6ce79f3fd294fc5682cb +mypy-boto3-iam==1.34.8 \ + --hash=sha256:0d13057a2141c5633b78ed0b1aed8f2f8a11a9c58a8a17a25622d966428a41b0 \ + --hash=sha256:6faf68cf800182924687b6711b3f9afa8d940ad993f259a3b91e55e82892d641 # via boto3-stubs -mypy-boto3-kinesis==1.33.0 \ - --hash=sha256:ccc84966fad632f7a1df3d8e62f52bb37fdf0218c9102b477e132875238f07d3 \ - --hash=sha256:cee6f4a447f09bc181ef31d11ad6f29694c5754c095e1637f75c441fca98a44f +mypy-boto3-kinesis==1.34.0 \ + --hash=sha256:1add81c53f6e36599e0c22e142024867759aaf2f4954bcb2baa21c284c852377 \ + --hash=sha256:f404e75badd5977e9f09741b769b8888854bdd411c631344686ab889efe98741 # via boto3-stubs -mypy-boto3-lambda==1.33.0 \ - --hash=sha256:10e0f04168f4064e89ba136218162003f1cb6826dcbfa95ca982d3cb792fc9f7 \ - --hash=sha256:beac0cb4b94f83a444242db16f601405bdfb6c15808c2c52720224d907e7af40 +mypy-boto3-lambda==1.34.0 \ + --hash=sha256:109a7e126e84d6da6cacf8ab5c7c6f2be022417fe7bfb7f9b019767d7034f73b \ + --hash=sha256:e74c0ce548da747a8c6e643c39dad8aa54d67e057f57740ec780a7e565590627 # via boto3-stubs -mypy-boto3-s3==1.33.2 \ - --hash=sha256:9d463df6def30de31a467d49ab92ff7795d46709d56eff6f52216a08bac27918 \ - --hash=sha256:f54a3ad3288f4e4719ebada3dde68c320507b0fc451d59bc68af7e6ab15cbdad +mypy-boto3-s3==1.34.0 \ + --hash=sha256:633876d2a96dbb924f9667084316c1759bff40c19a9a38313d5a4e825c5fc641 \ + --hash=sha256:7644a00e096ebb1c3292551059f64ff8329625dacd40827ced9481b14d64c733 # via boto3-stubs -mypy-boto3-schemas==1.33.0 \ - --hash=sha256:df11a93ec5b05d3eee53bcbf6bfa933fa3f5f28d5f19abdfa32d9380f9804e12 \ - --hash=sha256:f1a46e20b33b302fac92c1eec2c431c878ef27819fcf59aaa980e245451ee01e +mypy-boto3-schemas==1.34.0 \ + --hash=sha256:28c016609dcffc606bd8425ee92894c46e943ab77033e1ae46481f00c39b7f75 \ + --hash=sha256:3b25a71944192b0980c3bb5132deb7c06ee9b88580ed63f257fad97cf3bf2927 # via boto3-stubs -mypy-boto3-secretsmanager==1.33.0 \ - --hash=sha256:ea765e79988689a2cf6ba9307666aa8a3784f715b371b8fdebcb7694f4e92b9a \ - --hash=sha256:f0f1552ed294fd2f09ca38fd1af025149eeadde49500e0fca948ad1ada7d9c3f +mypy-boto3-secretsmanager==1.34.7 \ + --hash=sha256:06a3e34d1d3aea4944688bdf677dfe928c9831165989c192b8d9498d9ceb8781 \ + --hash=sha256:0dcd72d7e6d2657838819b078447adc13199e35d8dee960e7fbe6c0e5d383b6b # via boto3-stubs -mypy-boto3-signer==1.33.0 \ - --hash=sha256:08e92afcddb155347b44c01b012c7587a109677466c56f27fe5c207d991c1368 \ - --hash=sha256:4b55bd3724a7544a49837f11f217c54a28374d7fedad59294f113d6525067025 +mypy-boto3-signer==1.34.0 \ + --hash=sha256:c11ed943ccd38ee54fc0ca90ed347ef770d695df49535eab96dd97fb3dbdc592 \ + --hash=sha256:cb008547249031e562302c5c66451b3a12d5c8c97b47b50de46e61669c7c2315 # via boto3-stubs -mypy-boto3-sqs==1.33.0 \ - --hash=sha256:81f4838e81cbb0c088a10e287922fdf6a3f317cbab6647993ab9dbd567c0e8fb \ - --hash=sha256:81f71d5f461e5e670d2ca93df92c93efdd7c29be33eabf8475df5f071e638583 +mypy-boto3-sqs==1.34.0 \ + --hash=sha256:0bf8995f58919ab295398100e72eaa7da898adcfd9d339a42f3c48ce473419d5 \ + --hash=sha256:94d8aea4ae75605f70e58e440d706e04d5c614101ddb2f0c73d306d776d10995 # via boto3-stubs -mypy-boto3-stepfunctions==1.33.0 \ - --hash=sha256:09d9a520ba870e368dbffc48771745908cb2f0c427f9b3faff5ce53719a9638d \ - --hash=sha256:b892ee2c08fdbb2da5967a5a59b4418cd8b15894ecfbf008e1aa4f407419f7b8 +mypy-boto3-stepfunctions==1.34.0 \ + --hash=sha256:06d2296cee750d17cb62171420eea4614f20f29be45ee361854f8b599a6e8110 \ + --hash=sha256:ecc1e674c1c89e0559e8dbf3fda81295642b13766db30d42968a986ae6a5e952 # via boto3-stubs -mypy-boto3-sts==1.33.3 \ - --hash=sha256:b82e9cd8ae9b94a7fb6447ff28bf4ac17a5298f13655dcb2ff9672b8a36193ad \ - --hash=sha256:d008d75486ab03d9042ccfbbe2ebd6aa3e03c8660d48dc68177ae5db54fbabf8 +mypy-boto3-sts==1.34.0 \ + --hash=sha256:3ba1875c2792b4f35fd918dca957ce09ad197beb7cfbda61f42144ffa9cda05d \ + --hash=sha256:b347e0a336d60162dd94074d9d10f614f2b09a455c9b42415850d54d676e2067 # via boto3-stubs -mypy-boto3-xray==1.33.0 \ - --hash=sha256:2c4154c8964021a5dcfe3bf0c9e0975667088fc1b41913cb02936f3adb5bd5cb \ - --hash=sha256:c75e6fc5b827ddb082d7d3794bd920e3f7103e066d8c97cccd4e684acc47bf3b +mypy-boto3-xray==1.34.0 \ + --hash=sha256:742de92c57efc3e14ef27d9a5bfd2f528f095acf11ff4198be2cba6bfee4c7a1 \ + --hash=sha256:f30785798022b7f0c114e851790af9b92cb4026ed28757e962d30fb4391af8e2 # via boto3-stubs networkx==3.2.1 \ --hash=sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6 \ @@ -641,9 +641,9 @@ pyyaml==6.0.1 \ # aws-sam-cli (setup.py) # cfn-lint # cookiecutter -referencing==0.31.1 \ - --hash=sha256:81a1471c68c9d5e3831c30ad1dd9815c45b558e596653db751a2bfdd17b3b9ec \ - --hash=sha256:c19c4d006f1757e3dd75c4f784d38f8698d87b649c54f9ace14e5e8c9667c01d +referencing==0.32.0 \ + --hash=sha256:689e64fe121843dcfd57b71933318ef1f91188ffb45367332700a86ac8fd6161 \ + --hash=sha256:bdcd3efb936f82ff86f993093f6da7435c7de69a3b3a5a06678a6050184bee99 # via # jsonschema # jsonschema-specifications @@ -753,106 +753,106 @@ rich==13.7.0 \ # via # aws-sam-cli (setup.py) # cookiecutter -rpds-py==0.13.2 \ - --hash=sha256:06d218e4464d31301e943b65b2c6919318ea6f69703a351961e1baaf60347276 \ - --hash=sha256:12ecf89bd54734c3c2c79898ae2021dca42750c7bcfb67f8fb3315453738ac8f \ - --hash=sha256:15253fff410873ebf3cfba1cc686a37711efcd9b8cb30ea21bb14a973e393f60 \ - --hash=sha256:188435794405c7f0573311747c85a96b63c954a5f2111b1df8018979eca0f2f0 \ - --hash=sha256:1ceebd0ae4f3e9b2b6b553b51971921853ae4eebf3f54086be0565d59291e53d \ - --hash=sha256:244e173bb6d8f3b2f0c4d7370a1aa341f35da3e57ffd1798e5b2917b91731fd3 \ - --hash=sha256:25b28b3d33ec0a78e944aaaed7e5e2a94ac811bcd68b557ca48a0c30f87497d2 \ - --hash=sha256:25ea41635d22b2eb6326f58e608550e55d01df51b8a580ea7e75396bafbb28e9 \ - --hash=sha256:29d311e44dd16d2434d5506d57ef4d7036544fc3c25c14b6992ef41f541b10fb \ - --hash=sha256:2a1472956c5bcc49fb0252b965239bffe801acc9394f8b7c1014ae9258e4572b \ - --hash=sha256:2a7bef6977043673750a88da064fd513f89505111014b4e00fbdd13329cd4e9a \ - --hash=sha256:2ac26f50736324beb0282c819668328d53fc38543fa61eeea2c32ea8ea6eab8d \ - --hash=sha256:2e72f750048b32d39e87fc85c225c50b2a6715034848dbb196bf3348aa761fa1 \ - --hash=sha256:31e220a040b89a01505128c2f8a59ee74732f666439a03e65ccbf3824cdddae7 \ - --hash=sha256:35f53c76a712e323c779ca39b9a81b13f219a8e3bc15f106ed1e1462d56fcfe9 \ - --hash=sha256:38d4f822ee2f338febcc85aaa2547eb5ba31ba6ff68d10b8ec988929d23bb6b4 \ - --hash=sha256:38f9bf2ad754b4a45b8210a6c732fe876b8a14e14d5992a8c4b7c1ef78740f53 \ - --hash=sha256:3a44c8440183b43167fd1a0819e8356692bf5db1ad14ce140dbd40a1485f2dea \ - --hash=sha256:3ab96754d23372009638a402a1ed12a27711598dd49d8316a22597141962fe66 \ - --hash=sha256:3c55d7f2d817183d43220738270efd3ce4e7a7b7cbdaefa6d551ed3d6ed89190 \ - --hash=sha256:46e1ed994a0920f350a4547a38471217eb86f57377e9314fbaaa329b71b7dfe3 \ - --hash=sha256:4a5375c5fff13f209527cd886dc75394f040c7d1ecad0a2cb0627f13ebe78a12 \ - --hash=sha256:4c2d26aa03d877c9730bf005621c92da263523a1e99247590abbbe252ccb7824 \ - --hash=sha256:4c4e314d36d4f31236a545696a480aa04ea170a0b021e9a59ab1ed94d4c3ef27 \ - --hash=sha256:4d0c10d803549427f427085ed7aebc39832f6e818a011dcd8785e9c6a1ba9b3e \ - --hash=sha256:4dcc5ee1d0275cb78d443fdebd0241e58772a354a6d518b1d7af1580bbd2c4e8 \ - --hash=sha256:51967a67ea0d7b9b5cd86036878e2d82c0b6183616961c26d825b8c994d4f2c8 \ - --hash=sha256:530190eb0cd778363bbb7596612ded0bb9fef662daa98e9d92a0419ab27ae914 \ - --hash=sha256:5379e49d7e80dca9811b36894493d1c1ecb4c57de05c36f5d0dd09982af20211 \ - --hash=sha256:5493569f861fb7b05af6d048d00d773c6162415ae521b7010197c98810a14cab \ - --hash=sha256:5a4c1058cdae6237d97af272b326e5f78ee7ee3bbffa6b24b09db4d828810468 \ - --hash=sha256:5d75d6d220d55cdced2f32cc22f599475dbe881229aeddba6c79c2e9df35a2b3 \ - --hash=sha256:5d97e9ae94fb96df1ee3cb09ca376c34e8a122f36927230f4c8a97f469994bff \ - --hash=sha256:5feae2f9aa7270e2c071f488fab256d768e88e01b958f123a690f1cc3061a09c \ - --hash=sha256:603d5868f7419081d616dab7ac3cfa285296735e7350f7b1e4f548f6f953ee7d \ - --hash=sha256:61d42d2b08430854485135504f672c14d4fc644dd243a9c17e7c4e0faf5ed07e \ - --hash=sha256:61dbc1e01dc0c5875da2f7ae36d6e918dc1b8d2ce04e871793976594aad8a57a \ - --hash=sha256:65cfed9c807c27dee76407e8bb29e6f4e391e436774bcc769a037ff25ad8646e \ - --hash=sha256:67a429520e97621a763cf9b3ba27574779c4e96e49a27ff8a1aa99ee70beb28a \ - --hash=sha256:6aadae3042f8e6db3376d9e91f194c606c9a45273c170621d46128f35aef7cd0 \ - --hash=sha256:6ba8858933f0c1a979781272a5f65646fca8c18c93c99c6ddb5513ad96fa54b1 \ - --hash=sha256:6bc568b05e02cd612be53900c88aaa55012e744930ba2eeb56279db4c6676eb3 \ - --hash=sha256:729408136ef8d45a28ee9a7411917c9e3459cf266c7e23c2f7d4bb8ef9e0da42 \ - --hash=sha256:751758d9dd04d548ec679224cc00e3591f5ebf1ff159ed0d4aba6a0746352452 \ - --hash=sha256:76d59d4d451ba77f08cb4cd9268dec07be5bc65f73666302dbb5061989b17198 \ - --hash=sha256:79bf58c08f0756adba691d480b5a20e4ad23f33e1ae121584cf3a21717c36dfa \ - --hash=sha256:7de12b69d95072394998c622cfd7e8cea8f560db5fca6a62a148f902a1029f8b \ - --hash=sha256:7f55cd9cf1564b7b03f238e4c017ca4794c05b01a783e9291065cb2858d86ce4 \ - --hash=sha256:80e5acb81cb49fd9f2d5c08f8b74ffff14ee73b10ca88297ab4619e946bcb1e1 \ - --hash=sha256:87a90f5545fd61f6964e65eebde4dc3fa8660bb7d87adb01d4cf17e0a2b484ad \ - --hash=sha256:881df98f0a8404d32b6de0fd33e91c1b90ed1516a80d4d6dc69d414b8850474c \ - --hash=sha256:8a776a29b77fe0cc28fedfd87277b0d0f7aa930174b7e504d764e0b43a05f381 \ - --hash=sha256:8c2a61c0e4811012b0ba9f6cdcb4437865df5d29eab5d6018ba13cee1c3064a0 \ - --hash=sha256:8fa6bd071ec6d90f6e7baa66ae25820d57a8ab1b0a3c6d3edf1834d4b26fafa2 \ - --hash=sha256:96f2975fb14f39c5fe75203f33dd3010fe37d1c4e33177feef1107b5ced750e3 \ - --hash=sha256:96fb0899bb2ab353f42e5374c8f0789f54e0a94ef2f02b9ac7149c56622eaf31 \ - --hash=sha256:97163a1ab265a1073a6372eca9f4eeb9f8c6327457a0b22ddfc4a17dcd613e74 \ - --hash=sha256:9c95a1a290f9acf7a8f2ebbdd183e99215d491beea52d61aa2a7a7d2c618ddc6 \ - --hash=sha256:9d94d78418203904730585efa71002286ac4c8ac0689d0eb61e3c465f9e608ff \ - --hash=sha256:a6ba2cb7d676e9415b9e9ac7e2aae401dc1b1e666943d1f7bc66223d3d73467b \ - --hash=sha256:aa0379c1935c44053c98826bc99ac95f3a5355675a297ac9ce0dfad0ce2d50ca \ - --hash=sha256:ac96d67b37f28e4b6ecf507c3405f52a40658c0a806dffde624a8fcb0314d5fd \ - --hash=sha256:ade2ccb937060c299ab0dfb2dea3d2ddf7e098ed63ee3d651ebfc2c8d1e8632a \ - --hash=sha256:aefbdc934115d2f9278f153952003ac52cd2650e7313750390b334518c589568 \ - --hash=sha256:b07501b720cf060c5856f7b5626e75b8e353b5f98b9b354a21eb4bfa47e421b1 \ - --hash=sha256:b5267feb19070bef34b8dea27e2b504ebd9d31748e3ecacb3a4101da6fcb255c \ - --hash=sha256:b5f6328e8e2ae8238fc767703ab7b95785521c42bb2b8790984e3477d7fa71ad \ - --hash=sha256:b8996ffb60c69f677245f5abdbcc623e9442bcc91ed81b6cd6187129ad1fa3e7 \ - --hash=sha256:b981a370f8f41c4024c170b42fbe9e691ae2dbc19d1d99151a69e2c84a0d194d \ - --hash=sha256:b9d121be0217787a7d59a5c6195b0842d3f701007333426e5154bf72346aa658 \ - --hash=sha256:bcef4f2d3dc603150421de85c916da19471f24d838c3c62a4f04c1eb511642c1 \ - --hash=sha256:bed0252c85e21cf73d2d033643c945b460d6a02fc4a7d644e3b2d6f5f2956c64 \ - --hash=sha256:bfdfbe6a36bc3059fff845d64c42f2644cf875c65f5005db54f90cdfdf1df815 \ - --hash=sha256:c0095b8aa3e432e32d372e9a7737e65b58d5ed23b9620fea7cb81f17672f1fa1 \ - --hash=sha256:c1f41d32a2ddc5a94df4b829b395916a4b7f103350fa76ba6de625fcb9e773ac \ - --hash=sha256:c45008ca79bad237cbc03c72bc5205e8c6f66403773929b1b50f7d84ef9e4d07 \ - --hash=sha256:c82bbf7e03748417c3a88c1b0b291288ce3e4887a795a3addaa7a1cfd9e7153e \ - --hash=sha256:c918621ee0a3d1fe61c313f2489464f2ae3d13633e60f520a8002a5e910982ee \ - --hash=sha256:d204957169f0b3511fb95395a9da7d4490fb361763a9f8b32b345a7fe119cb45 \ - --hash=sha256:d329896c40d9e1e5c7715c98529e4a188a1f2df51212fd65102b32465612b5dc \ - --hash=sha256:d3a61e928feddc458a55110f42f626a2a20bea942ccedb6fb4cee70b4830ed41 \ - --hash=sha256:d48db29bd47814671afdd76c7652aefacc25cf96aad6daefa82d738ee87461e2 \ - --hash=sha256:d5593855b5b2b73dd8413c3fdfa5d95b99d657658f947ba2c4318591e745d083 \ - --hash=sha256:d79c159adea0f1f4617f54aa156568ac69968f9ef4d1e5fefffc0a180830308e \ - --hash=sha256:db09b98c7540df69d4b47218da3fbd7cb466db0fb932e971c321f1c76f155266 \ - --hash=sha256:ddf23960cb42b69bce13045d5bc66f18c7d53774c66c13f24cf1b9c144ba3141 \ - --hash=sha256:e06cfea0ece444571d24c18ed465bc93afb8c8d8d74422eb7026662f3d3f779b \ - --hash=sha256:e7c564c58cf8f248fe859a4f0fe501b050663f3d7fbc342172f259124fb59933 \ - --hash=sha256:e86593bf8637659e6a6ed58854b6c87ec4e9e45ee8a4adfd936831cef55c2d21 \ - --hash=sha256:eaffbd8814bb1b5dc3ea156a4c5928081ba50419f9175f4fc95269e040eff8f0 \ - --hash=sha256:ee353bb51f648924926ed05e0122b6a0b1ae709396a80eb583449d5d477fcdf7 \ - --hash=sha256:ee6faebb265e28920a6f23a7d4c362414b3f4bb30607141d718b991669e49ddc \ - --hash=sha256:efe093acc43e869348f6f2224df7f452eab63a2c60a6c6cd6b50fd35c4e075ba \ - --hash=sha256:f03a1b3a4c03e3e0161642ac5367f08479ab29972ea0ffcd4fa18f729cd2be0a \ - --hash=sha256:f0d320e70b6b2300ff6029e234e79fe44e9dbbfc7b98597ba28e054bd6606a57 \ - --hash=sha256:f252dfb4852a527987a9156cbcae3022a30f86c9d26f4f17b8c967d7580d65d2 \ - --hash=sha256:f5f4424cb87a20b016bfdc157ff48757b89d2cc426256961643d443c6c277007 \ - --hash=sha256:f8eae66a1304de7368932b42d801c67969fd090ddb1a7a24f27b435ed4bed68f \ - --hash=sha256:fdb82eb60d31b0c033a8e8ee9f3fc7dfbaa042211131c29da29aea8531b4f18f +rpds-py==0.15.2 \ + --hash=sha256:02744236ac1895d7be837878e707a5c35fb8edc5137602f253b63623d7ad5c8c \ + --hash=sha256:03f9c5875515820633bd7709a25c3e60c1ea9ad1c5d4030ce8a8c203309c36fd \ + --hash=sha256:044f6f46d62444800402851afa3c3ae50141f12013060c1a3a0677e013310d6d \ + --hash=sha256:07a2e1d78d382f7181789713cdf0c16edbad4fe14fe1d115526cb6f0eef0daa3 \ + --hash=sha256:082e0e55d73690ffb4da4352d1b5bbe1b5c6034eb9dc8c91aa2a3ee15f70d3e2 \ + --hash=sha256:13152dfe7d7c27c40df8b99ac6aab12b978b546716e99f67e8a67a1d441acbc3 \ + --hash=sha256:13716e53627ad97babf72ac9e01cf9a7d4af2f75dd5ed7b323a7a9520e948282 \ + --hash=sha256:13ff62d3561a23c17341b4afc78e8fcfd799ab67c0b1ca32091d71383a98ba4b \ + --hash=sha256:1607cda6129f815493a3c184492acb5ae4aa6ed61d3a1b3663aa9824ed26f7ac \ + --hash=sha256:164fcee32f15d04d61568c9cb0d919e37ff3195919cd604039ff3053ada0461b \ + --hash=sha256:1c24e30d720c0009b6fb2e1905b025da56103c70a8b31b99138e4ed1c2a6c5b0 \ + --hash=sha256:1e6fcd0a0f62f2997107f758bb372397b8d5fd5f39cc6dcb86f7cb98a2172d6c \ + --hash=sha256:1fd0f0b1ccd7d537b858a56355a250108df692102e08aa2036e1a094fd78b2dc \ + --hash=sha256:2181e86d4e1cdf49a7320cb72a36c45efcb7670d0a88f09fd2d3a7967c0540fd \ + --hash=sha256:2974e6dff38afafd5ccf8f41cb8fc94600b3f4fd9b0a98f6ece6e2219e3158d5 \ + --hash=sha256:2dccc623725d0b298f557d869a68496a2fd2a9e9c41107f234fa5f7a37d278ac \ + --hash=sha256:2df3d07a16a3bef0917b28cd564778fbb31f3ffa5b5e33584470e2d1b0f248f0 \ + --hash=sha256:2e7e5633577b3bd56bf3af2ef6ae3778bbafb83743989d57f0e7edbf6c0980e4 \ + --hash=sha256:2ee066a64f0d2ba45391cac15b3a70dcb549e968a117bd0500634754cfe0e5fc \ + --hash=sha256:2f1f295a5c28cfa74a7d48c95acc1c8a7acd49d7d9072040d4b694fe11cd7166 \ + --hash=sha256:2faa97212b0dc465afeedf49045cdd077f97be1188285e646a9f689cb5dfff9e \ + --hash=sha256:30479a9f1fce47df56b07460b520f49fa2115ec2926d3b1303c85c81f8401ed1 \ + --hash=sha256:337a8653fb11d2fbe7157c961cc78cb3c161d98cf44410ace9a3dc2db4fad882 \ + --hash=sha256:3423007fc0661827e06f8a185a3792c73dda41f30f3421562f210cf0c9e49569 \ + --hash=sha256:373b76eeb79e8c14f6d82cb1d4d5293f9e4059baec6c1b16dca7ad13b6131b39 \ + --hash=sha256:3b79c63d29101cbaa53a517683557bb550462394fb91044cc5998dd2acff7340 \ + --hash=sha256:3bbc89ce2a219662ea142f0abcf8d43f04a41d5b1880be17a794c39f0d609cb0 \ + --hash=sha256:3c11bc5814554b018f6c5d6ae0969e43766f81e995000b53a5d8c8057055e886 \ + --hash=sha256:3cd61e759c4075510052d1eca5cddbd297fe1164efec14ef1fce3f09b974dfe4 \ + --hash=sha256:3d40fb3ca22e3d40f494d577441b263026a3bd8c97ae6ce89b2d3c4b39ac9581 \ + --hash=sha256:3db0c998c92b909d7c90b66c965590d4f3cd86157176a6cf14aa1f867b77b889 \ + --hash=sha256:422b0901878a31ef167435c5ad46560362891816a76cc0d150683f3868a6f0d1 \ + --hash=sha256:46b4f3d47d1033db569173be62365fbf7808c2bd3fb742314d251f130d90d44c \ + --hash=sha256:485fbdd23becb822804ed05622907ee5c8e8a5f43f6f43894a45f463b2217045 \ + --hash=sha256:53304cc14b1d94487d70086e1cb0cb4c29ec6da994d58ae84a4d7e78c6a6d04d \ + --hash=sha256:5595c80dd03d7e6c6afb73f3594bf3379a7d79fa57164b591d012d4b71d6ac4c \ + --hash=sha256:56b51ba29a18e5f5810224bcf00747ad931c0716e3c09a76b4a1edd3d4aba71f \ + --hash=sha256:580182fa5b269c2981e9ce9764367cb4edc81982ce289208d4607c203f44ffde \ + --hash=sha256:5e99d6510c8557510c220b865d966b105464740dcbebf9b79ecd4fbab30a13d9 \ + --hash=sha256:5eb05b654a41e0f81ab27a7c3e88b6590425eb3e934e1d533ecec5dc88a6ffff \ + --hash=sha256:62b292fff4739c6be89e6a0240c02bda5a9066a339d90ab191cf66e9fdbdc193 \ + --hash=sha256:6a5122b17a4faf5d7a6d91fa67b479736c0cacc7afe791ddebb7163a8550b799 \ + --hash=sha256:6a8ff8e809da81363bffca2b965cb6e4bf6056b495fc3f078467d1f8266fe27f \ + --hash=sha256:6c43e1b89099279cc03eb1c725c5de12af6edcd2f78e2f8a022569efa639ada3 \ + --hash=sha256:709dc11af2f74ba89c68b1592368c6edcbccdb0a06ba77eb28c8fe08bb6997da \ + --hash=sha256:7e072f5da38d6428ba1fc1115d3cc0dae895df671cb04c70c019985e8c7606be \ + --hash=sha256:813a65f95bfcb7c8f2a70dd6add9b51e9accc3bdb3e03d0ff7a9e6a2d3e174bf \ + --hash=sha256:86c01299942b0f4b5b5f28c8701689181ad2eab852e65417172dbdd6c5b3ccc8 \ + --hash=sha256:893e38d0f4319dfa70c0f36381a37cc418985c87b11d9784365b1fff4fa6973b \ + --hash=sha256:8a5f574b92b3ee7d254e56d56e37ec0e1416acb1ae357c4956d76a1788dc58fb \ + --hash=sha256:8b9650f92251fdef843e74fc252cdfd6e3c700157ad686eeb0c6d7fdb2d11652 \ + --hash=sha256:8ec464f20fe803ae00419bd1610934e3bda963aeba1e6181dfc9033dc7e8940c \ + --hash=sha256:8f333bfe782a2d05a67cfaa0cc9cd68b36b39ee6acfe099f980541ed973a7093 \ + --hash=sha256:8ffdeb7dbd0160d4e391e1f857477e4762d00aa2199c294eb95dfb9451aa1d9f \ + --hash=sha256:911e600e798374c0d86235e7ef19109cf865d1336942d398ff313375a25a93ba \ + --hash=sha256:9235be95662559141934fced8197de6fee8c58870f36756b0584424b6d708393 \ + --hash=sha256:938518a11780b39998179d07f31a4a468888123f9b00463842cd40f98191f4d3 \ + --hash=sha256:93c18a1696a8e0388ed84b024fe1a188a26ba999b61d1d9a371318cb89885a8c \ + --hash=sha256:97532802f14d383f37d603a56e226909f825a83ff298dc1b6697de00d2243999 \ + --hash=sha256:98ee201a52a7f65608e5494518932e1473fd43535f12cade0a1b4ab32737fe28 \ + --hash=sha256:9d2ae79f31da5143e020a8d4fc74e1f0cbcb8011bdf97453c140aa616db51406 \ + --hash=sha256:9d38494a8d21c246c535b41ecdb2d562c4b933cf3d68de03e8bc43a0d41be652 \ + --hash=sha256:9d41ebb471a6f064c0d1c873c4f7dded733d16ca5db7d551fb04ff3805d87802 \ + --hash=sha256:9e09d017e3f4d9bd7d17a30d3f59e4d6d9ba2d2ced280eec2425e84112cf623f \ + --hash=sha256:a6945c2d61c42bb7e818677f43638675b8c1c43e858b67a96df3eb2426a86c9d \ + --hash=sha256:a72e00826a2b032dda3eb25aa3e3579c6d6773d22d8446089a57a123481cc46c \ + --hash=sha256:aa1e626c524d2c7972c0f3a8a575d654a3a9c008370dc2a97e46abd0eaa749b9 \ + --hash=sha256:ab095edf1d840a6a6a4307e1a5b907a299a94e7b90e75436ee770b8c35d22a25 \ + --hash=sha256:ac2ac84a4950d627d84b61f082eba61314373cfab4b3c264b62efab02ababe83 \ + --hash=sha256:ac7187bee72384b9cfedf09a29a3b2b6e8815cc64c095cdc8b5e6aec81e9fd5f \ + --hash=sha256:ae9d83a81b09ce3a817e2cbb23aabc07f86a3abc664c613cd283ce7a03541e95 \ + --hash=sha256:afeabb382c1256a7477b739820bce7fe782bb807d82927102cee73e79b41b38b \ + --hash=sha256:b2a4cd924d0e2f4b1a68034abe4cadc73d69ad5f4cf02db6481c0d4d749f548f \ + --hash=sha256:b414ef79f1f06fb90b5165db8aef77512c1a5e3ed1b4807da8476b7e2c853283 \ + --hash=sha256:b4ecbba7efd82bd2a4bb88aab7f984eb5470991c1347bdd1f35fb34ea28dba6e \ + --hash=sha256:b61d5096e75fd71018b25da50b82dd70ec39b5e15bb2134daf7eb7bbbc103644 \ + --hash=sha256:b629db53fe17e6ce478a969d30bd1d0e8b53238c46e3a9c9db39e8b65a9ef973 \ + --hash=sha256:b70b45a40ad0798b69748b34d508259ef2bdc84fb2aad4048bc7c9cafb68ddb3 \ + --hash=sha256:b88c3ab98556bc351b36d6208a6089de8c8db14a7f6e1f57f82a334bd2c18f0b \ + --hash=sha256:baf744e5f9d5ee6531deea443be78b36ed1cd36c65a0b95ea4e8d69fa0102268 \ + --hash=sha256:bbc7421cbd28b4316d1d017db338039a7943f945c6f2bb15e1439b14b5682d28 \ + --hash=sha256:c31272c674f725dfe0f343d73b0abe8c878c646967ec1c6106122faae1efc15b \ + --hash=sha256:c51a899792ee2c696072791e56b2020caff58b275abecbc9ae0cb71af0645c95 \ + --hash=sha256:c61e42b4ceb9759727045765e87d51c1bb9f89987aca1fcc8a040232138cad1c \ + --hash=sha256:c7cd0841a586b7105513a7c8c3d5c276f3adc762a072d81ef7fae80632afad1e \ + --hash=sha256:c827a931c6b57f50f1bb5de400dcfb00bad8117e3753e80b96adb72d9d811514 \ + --hash=sha256:d2aa3ca9552f83b0b4fa6ca8c6ce08da6580f37e3e0ab7afac73a1cfdc230c0e \ + --hash=sha256:d46ee458452727a147d7897bb33886981ae1235775e05decae5d5d07f537695a \ + --hash=sha256:d64a657de7aae8db2da60dc0c9e4638a0c3893b4d60101fd564a3362b2bfeb34 \ + --hash=sha256:d800a8e2ac62db1b9ea5d6d1724f1a93c53907ca061de4d05ed94e8dfa79050c \ + --hash=sha256:d9d7ebcd11ea76ba0feaae98485cd8e31467c3d7985210fab46983278214736b \ + --hash=sha256:dd7d3608589072f63078b4063a6c536af832e76b0b3885f1bfe9e892abe6c207 \ + --hash=sha256:ec19e823b4ccd87bd69e990879acbce9e961fc7aebe150156b8f4418d4b27b7f \ + --hash=sha256:ee40206d1d6e95eaa2b7b919195e3689a5cf6ded730632de7f187f35a1b6052c \ + --hash=sha256:f138f550b83554f5b344d6be35d3ed59348510edc3cb96f75309db6e9bfe8210 \ + --hash=sha256:f3e6e2e502c4043c52a99316d89dc49f416acda5b0c6886e0dd8ea7bb35859e8 \ + --hash=sha256:fb10bb720348fe1647a94eb605accb9ef6a9b1875d8845f9e763d9d71a706387 \ + --hash=sha256:fc066395e6332da1e7525d605b4c96055669f8336600bef8ac569d5226a7c76f \ + --hash=sha256:fc33267d58dfbb2361baed52668c5d8c15d24bc0372cecbb79fed77339b55e0d # via # jsonschema # referencing @@ -912,9 +912,9 @@ ruamel-yaml-clib==0.2.8 \ --hash=sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875 \ --hash=sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412 # via ruamel-yaml -s3transfer==0.8.2 \ - --hash=sha256:368ac6876a9e9ed91f6bc86581e319be08188dc60d50e0d56308ed5765446283 \ - --hash=sha256:c9e56cbe88b28d8e197cf841f1f0c130f246595e77ae5b5a05b69fe7cb83de76 +s3transfer==0.10.0 \ + --hash=sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e \ + --hash=sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b # via boto3 sarif-om==1.0.4 \ --hash=sha256:539ef47a662329b1c8502388ad92457425e95dc0aaaf995fe46f4984c4771911 \ @@ -938,21 +938,21 @@ tomlkit==0.12.3 \ --hash=sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4 \ --hash=sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba # via aws-sam-cli (setup.py) -types-awscrt==0.19.17 \ - --hash=sha256:047e30ac6156b6c25e0937ab2d45c9d6ace854021604da35d45fa832115adf82 \ - --hash=sha256:e677de979521f39b59a10e4f4464d395b970cb6812913efaee6eec689f454a81 +types-awscrt==0.20.0 \ + --hash=sha256:99778c952e1eae10cc7a53468413001177026c9434345bf00120bb2ea5b79109 \ + --hash=sha256:e872b65d041687ec7fb49fb4dcb871ff10ade5efeca02722e037a03bff81db7e # via botocore-stubs types-python-dateutil==2.8.19.14 \ --hash=sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b \ --hash=sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9 # via arrow -types-s3transfer==0.7.0 \ - --hash=sha256:aca0f2486d0a3a5037cd5b8f3e20a4522a29579a8dd183281ff0aa1c4e2c8aa7 \ - --hash=sha256:ae9ed9273465d9f43da8b96307383da410c6b59c3b2464c88d20b578768e97c6 +types-s3transfer==0.9.0 \ + --hash=sha256:0f78c95c2ee390faad71735df35b6b81fca5bce4b864ac6a7707da2a845a5e86 \ + --hash=sha256:241e8b7b209c4064a451897bace1525ba64098a3ae955bdd0fb4b970cc69db73 # via boto3-stubs -typing-extensions==4.8.0 \ - --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ - --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef +typing-extensions==4.9.0 \ + --hash=sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 \ + --hash=sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd # via # aws-sam-cli (setup.py) # aws-sam-translator @@ -1015,9 +1015,9 @@ watchdog==3.0.0 \ --hash=sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44 \ --hash=sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33 # via aws-sam-cli (setup.py) -websocket-client==1.6.4 \ - --hash=sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24 \ - --hash=sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df +websocket-client==1.7.0 \ + --hash=sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6 \ + --hash=sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588 # via docker werkzeug==3.0.1 \ --hash=sha256:507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc \ diff --git a/requirements/reproducible-mac.txt b/requirements/reproducible-mac.txt index a1b7412c67..3f7849fbd2 100644 --- a/requirements/reproducible-mac.txt +++ b/requirements/reproducible-mac.txt @@ -20,9 +20,9 @@ attrs==23.1.0 \ # jsonschema # referencing # sarif-om -aws-lambda-builders==1.43.0 \ - --hash=sha256:15c4b497824a296690e9497dba93186544fbe8cf6af9afb1da2d3834ab84ab20 \ - --hash=sha256:9a2bc476f6fd86fe32584f083436e862b124fd71ae307a8a1a85fae458589d09 +aws-lambda-builders==1.45.0 \ + --hash=sha256:5c19a6628eecf21578cd9c521e747f4a2163c62c527cd840b11b62a10b661348 \ + --hash=sha256:a4db7766198c052900905bd7ee3b1a8b486511394cdabffed054204d43b29943 # via aws-sam-cli (setup.py) aws-sam-translator==1.82.0 \ --hash=sha256:29ba61f2a70b2b1cf0c76b92b78a23c7cdd19ea1b0a5992753180b56d040d20b \ @@ -56,27 +56,27 @@ blinker==1.7.0 \ --hash=sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9 \ --hash=sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182 # via flask -boto3==1.33.5 \ - --hash=sha256:6a1d938bbf11518b1d17ca8186168f3ba2a0e8b2bf3c82cdd810ecb884627d2a \ - --hash=sha256:fcc24f62a1f512dd9b4a7a8af6f5fbfb3d69842a92aa2e79c2ca551ac49a4757 +boto3==1.34.9 \ + --hash=sha256:18c386a55e461749e6c9c8a10627a230db18a20dd72f2950ce19546974f15cd5 \ + --hash=sha256:8e48343d52389041af053992decf651bc4fc7b2d65eca12acdcff62d446ecdf4 # via # aws-sam-cli (setup.py) # aws-sam-translator -boto3-stubs[apigateway,cloudformation,ecr,iam,kinesis,lambda,s3,schemas,secretsmanager,signer,sqs,stepfunctions,sts,xray]==1.33.5 \ - --hash=sha256:40d7a52e60d477822655938083be43a9097a405f1d748ce86f5233685e0cddcc \ - --hash=sha256:4f19917a817f5530c5a05924ff009929218664c75140f47fd57e3ba6d477ab48 +boto3-stubs[apigateway,cloudformation,ecr,iam,kinesis,lambda,s3,schemas,secretsmanager,signer,sqs,stepfunctions,sts,xray]==1.34.9 \ + --hash=sha256:41220432e898a7a3fa60bb52ef2d49c864f5b38e2baa6a6235f57387325a242e \ + --hash=sha256:d75fa019e181fd87a23b7684684da47e3fba9c501bc4bd1d70ccef21c1b9bf8b # via # aws-sam-cli (setup.py) # boto3-stubs -botocore==1.33.5 \ - --hash=sha256:aa4a5c7cf78a403280e50daba8966479e23577b4a5c20165f71fab7a9b405e99 \ - --hash=sha256:c165207fb33e8352191d6a2770bce9f9bf01c62f5149824c4295d7f49bf96746 +botocore==1.34.9 \ + --hash=sha256:2cf43fa5b5438a95fc466c700f3098228b45df38e311103488554b2334b42ee3 \ + --hash=sha256:b40f027f371a1bd211ef67a3727c74bc3713af5fc5d830d4587abda296ebb19e # via # boto3 # s3transfer -botocore-stubs==1.33.5 \ - --hash=sha256:826147bc4134cffd5310c36065131e9955d434b30ddb0ccecb16fc66ea3461fd \ - --hash=sha256:af2d6f5a00c003df38bd28ac21a52d4d23cce9d5cc9f864656a85b569b88657c +botocore-stubs==1.34.9 \ + --hash=sha256:20a3c2ffc19dfa1ded192cafefca855f569f9e80b077ddc6390114432d7560c6 \ + --hash=sha256:55aed8679dce47b2ee1e35028826037b643b8897419ec4b7c493289ef0fd1bbf # via boto3-stubs certifi==2023.11.17 \ --hash=sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1 \ @@ -136,9 +136,9 @@ cffi==1.16.0 \ --hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \ --hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357 # via cryptography -cfn-lint==0.83.4 \ - --hash=sha256:5e9409e950590c772696a5298fb1dde7d22ca2da431fc6b8dd2de96434a964b7 \ - --hash=sha256:fe386419ec2c92ffd795a9d1e1bea8131c9c8fae90e7a823f43da2fff82e9af7 +cfn-lint==0.83.5 \ + --hash=sha256:91145a94968f0f3c0095fcc4366602efb3b9f5eee413171845f298fa1227e0fa \ + --hash=sha256:97ed0b36f77defba9fe843d2401160c7bb2a81dd4478dd17859bac9f027da311 # via aws-sam-cli (setup.py) chardet==5.2.0 \ --hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \ @@ -416,61 +416,61 @@ mpmath==1.3.0 \ --hash=sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f \ --hash=sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c # via sympy -mypy-boto3-apigateway==1.33.0 \ - --hash=sha256:1f8eba3d043b591383101f8fd9675a6ee7f3c14d69dec26a51915ff3367f25ec \ - --hash=sha256:9281011f3207978e90c4763a25a472df5276ff36ac1b7f44faeea4a663153b8b +mypy-boto3-apigateway==1.34.0 \ + --hash=sha256:372ca74ede1442cb7d171a7cc0b64d92900cda258790f07b9cd9b92886ef92ef \ + --hash=sha256:3c724120971c74fb65a94eb7e4b92a3a4b28df6c70ca04a007072e6c73f6eda7 # via boto3-stubs -mypy-boto3-cloudformation==1.33.0 \ - --hash=sha256:e1c27b910ffce96ed0ae126e4c5755bdd90a56dc7548e543264334a35608df0a \ - --hash=sha256:f56659fa8d804017075e3fb27ac8df17cd6c9ea3f686d79832bf5add51eb2965 +mypy-boto3-cloudformation==1.34.0 \ + --hash=sha256:4e63a2bca1882971881d65983acd774c2fc636bbc5dc8c3e1f4a41c539cf3c90 \ + --hash=sha256:9b25df9ef15d9dc8e4e892cc07aa9343f15f2ed5eb7d33eb5eb65adfa63f538f # via boto3-stubs -mypy-boto3-ecr==1.33.0 \ - --hash=sha256:76b0a53f9826f5d52fd9242ace420f1d54db35dcccc391c5137480bfb68a1689 \ - --hash=sha256:a64e2d65bb4733a304656bac16ff5a217303b80545679b379a543690c4a143d0 +mypy-boto3-ecr==1.34.0 \ + --hash=sha256:3346c02c22b16068c9acc67d990e32060bf7cdaea5f3d43c50e44308fbbc3439 \ + --hash=sha256:b83fb0311e968a42d4ca821b006c18d4a3e3e364b8cebee758ea4fa97c5ac345 # via boto3-stubs -mypy-boto3-iam==1.33.0 \ - --hash=sha256:046ac8b0bf467145b037b8179cd3838eb218164ee81712511a9734412294e537 \ - --hash=sha256:7e6b7634eb4e1aa8dcbc6bd7e1d8d157e95353d3ef1c6ce79f3fd294fc5682cb +mypy-boto3-iam==1.34.8 \ + --hash=sha256:0d13057a2141c5633b78ed0b1aed8f2f8a11a9c58a8a17a25622d966428a41b0 \ + --hash=sha256:6faf68cf800182924687b6711b3f9afa8d940ad993f259a3b91e55e82892d641 # via boto3-stubs -mypy-boto3-kinesis==1.33.0 \ - --hash=sha256:ccc84966fad632f7a1df3d8e62f52bb37fdf0218c9102b477e132875238f07d3 \ - --hash=sha256:cee6f4a447f09bc181ef31d11ad6f29694c5754c095e1637f75c441fca98a44f +mypy-boto3-kinesis==1.34.0 \ + --hash=sha256:1add81c53f6e36599e0c22e142024867759aaf2f4954bcb2baa21c284c852377 \ + --hash=sha256:f404e75badd5977e9f09741b769b8888854bdd411c631344686ab889efe98741 # via boto3-stubs -mypy-boto3-lambda==1.33.0 \ - --hash=sha256:10e0f04168f4064e89ba136218162003f1cb6826dcbfa95ca982d3cb792fc9f7 \ - --hash=sha256:beac0cb4b94f83a444242db16f601405bdfb6c15808c2c52720224d907e7af40 +mypy-boto3-lambda==1.34.0 \ + --hash=sha256:109a7e126e84d6da6cacf8ab5c7c6f2be022417fe7bfb7f9b019767d7034f73b \ + --hash=sha256:e74c0ce548da747a8c6e643c39dad8aa54d67e057f57740ec780a7e565590627 # via boto3-stubs -mypy-boto3-s3==1.33.2 \ - --hash=sha256:9d463df6def30de31a467d49ab92ff7795d46709d56eff6f52216a08bac27918 \ - --hash=sha256:f54a3ad3288f4e4719ebada3dde68c320507b0fc451d59bc68af7e6ab15cbdad +mypy-boto3-s3==1.34.0 \ + --hash=sha256:633876d2a96dbb924f9667084316c1759bff40c19a9a38313d5a4e825c5fc641 \ + --hash=sha256:7644a00e096ebb1c3292551059f64ff8329625dacd40827ced9481b14d64c733 # via boto3-stubs -mypy-boto3-schemas==1.33.0 \ - --hash=sha256:df11a93ec5b05d3eee53bcbf6bfa933fa3f5f28d5f19abdfa32d9380f9804e12 \ - --hash=sha256:f1a46e20b33b302fac92c1eec2c431c878ef27819fcf59aaa980e245451ee01e +mypy-boto3-schemas==1.34.0 \ + --hash=sha256:28c016609dcffc606bd8425ee92894c46e943ab77033e1ae46481f00c39b7f75 \ + --hash=sha256:3b25a71944192b0980c3bb5132deb7c06ee9b88580ed63f257fad97cf3bf2927 # via boto3-stubs -mypy-boto3-secretsmanager==1.33.0 \ - --hash=sha256:ea765e79988689a2cf6ba9307666aa8a3784f715b371b8fdebcb7694f4e92b9a \ - --hash=sha256:f0f1552ed294fd2f09ca38fd1af025149eeadde49500e0fca948ad1ada7d9c3f +mypy-boto3-secretsmanager==1.34.7 \ + --hash=sha256:06a3e34d1d3aea4944688bdf677dfe928c9831165989c192b8d9498d9ceb8781 \ + --hash=sha256:0dcd72d7e6d2657838819b078447adc13199e35d8dee960e7fbe6c0e5d383b6b # via boto3-stubs -mypy-boto3-signer==1.33.0 \ - --hash=sha256:08e92afcddb155347b44c01b012c7587a109677466c56f27fe5c207d991c1368 \ - --hash=sha256:4b55bd3724a7544a49837f11f217c54a28374d7fedad59294f113d6525067025 +mypy-boto3-signer==1.34.0 \ + --hash=sha256:c11ed943ccd38ee54fc0ca90ed347ef770d695df49535eab96dd97fb3dbdc592 \ + --hash=sha256:cb008547249031e562302c5c66451b3a12d5c8c97b47b50de46e61669c7c2315 # via boto3-stubs -mypy-boto3-sqs==1.33.0 \ - --hash=sha256:81f4838e81cbb0c088a10e287922fdf6a3f317cbab6647993ab9dbd567c0e8fb \ - --hash=sha256:81f71d5f461e5e670d2ca93df92c93efdd7c29be33eabf8475df5f071e638583 +mypy-boto3-sqs==1.34.0 \ + --hash=sha256:0bf8995f58919ab295398100e72eaa7da898adcfd9d339a42f3c48ce473419d5 \ + --hash=sha256:94d8aea4ae75605f70e58e440d706e04d5c614101ddb2f0c73d306d776d10995 # via boto3-stubs -mypy-boto3-stepfunctions==1.33.0 \ - --hash=sha256:09d9a520ba870e368dbffc48771745908cb2f0c427f9b3faff5ce53719a9638d \ - --hash=sha256:b892ee2c08fdbb2da5967a5a59b4418cd8b15894ecfbf008e1aa4f407419f7b8 +mypy-boto3-stepfunctions==1.34.0 \ + --hash=sha256:06d2296cee750d17cb62171420eea4614f20f29be45ee361854f8b599a6e8110 \ + --hash=sha256:ecc1e674c1c89e0559e8dbf3fda81295642b13766db30d42968a986ae6a5e952 # via boto3-stubs -mypy-boto3-sts==1.33.3 \ - --hash=sha256:b82e9cd8ae9b94a7fb6447ff28bf4ac17a5298f13655dcb2ff9672b8a36193ad \ - --hash=sha256:d008d75486ab03d9042ccfbbe2ebd6aa3e03c8660d48dc68177ae5db54fbabf8 +mypy-boto3-sts==1.34.0 \ + --hash=sha256:3ba1875c2792b4f35fd918dca957ce09ad197beb7cfbda61f42144ffa9cda05d \ + --hash=sha256:b347e0a336d60162dd94074d9d10f614f2b09a455c9b42415850d54d676e2067 # via boto3-stubs -mypy-boto3-xray==1.33.0 \ - --hash=sha256:2c4154c8964021a5dcfe3bf0c9e0975667088fc1b41913cb02936f3adb5bd5cb \ - --hash=sha256:c75e6fc5b827ddb082d7d3794bd920e3f7103e066d8c97cccd4e684acc47bf3b +mypy-boto3-xray==1.34.0 \ + --hash=sha256:742de92c57efc3e14ef27d9a5bfd2f528f095acf11ff4198be2cba6bfee4c7a1 \ + --hash=sha256:f30785798022b7f0c114e851790af9b92cb4026ed28757e962d30fb4391af8e2 # via boto3-stubs networkx==3.1 \ --hash=sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36 \ @@ -673,9 +673,9 @@ pyyaml==6.0.1 \ # aws-sam-cli (setup.py) # cfn-lint # cookiecutter -referencing==0.31.1 \ - --hash=sha256:81a1471c68c9d5e3831c30ad1dd9815c45b558e596653db751a2bfdd17b3b9ec \ - --hash=sha256:c19c4d006f1757e3dd75c4f784d38f8698d87b649c54f9ace14e5e8c9667c01d +referencing==0.32.0 \ + --hash=sha256:689e64fe121843dcfd57b71933318ef1f91188ffb45367332700a86ac8fd6161 \ + --hash=sha256:bdcd3efb936f82ff86f993093f6da7435c7de69a3b3a5a06678a6050184bee99 # via # jsonschema # jsonschema-specifications @@ -785,106 +785,106 @@ rich==13.7.0 \ # via # aws-sam-cli (setup.py) # cookiecutter -rpds-py==0.13.2 \ - --hash=sha256:06d218e4464d31301e943b65b2c6919318ea6f69703a351961e1baaf60347276 \ - --hash=sha256:12ecf89bd54734c3c2c79898ae2021dca42750c7bcfb67f8fb3315453738ac8f \ - --hash=sha256:15253fff410873ebf3cfba1cc686a37711efcd9b8cb30ea21bb14a973e393f60 \ - --hash=sha256:188435794405c7f0573311747c85a96b63c954a5f2111b1df8018979eca0f2f0 \ - --hash=sha256:1ceebd0ae4f3e9b2b6b553b51971921853ae4eebf3f54086be0565d59291e53d \ - --hash=sha256:244e173bb6d8f3b2f0c4d7370a1aa341f35da3e57ffd1798e5b2917b91731fd3 \ - --hash=sha256:25b28b3d33ec0a78e944aaaed7e5e2a94ac811bcd68b557ca48a0c30f87497d2 \ - --hash=sha256:25ea41635d22b2eb6326f58e608550e55d01df51b8a580ea7e75396bafbb28e9 \ - --hash=sha256:29d311e44dd16d2434d5506d57ef4d7036544fc3c25c14b6992ef41f541b10fb \ - --hash=sha256:2a1472956c5bcc49fb0252b965239bffe801acc9394f8b7c1014ae9258e4572b \ - --hash=sha256:2a7bef6977043673750a88da064fd513f89505111014b4e00fbdd13329cd4e9a \ - --hash=sha256:2ac26f50736324beb0282c819668328d53fc38543fa61eeea2c32ea8ea6eab8d \ - --hash=sha256:2e72f750048b32d39e87fc85c225c50b2a6715034848dbb196bf3348aa761fa1 \ - --hash=sha256:31e220a040b89a01505128c2f8a59ee74732f666439a03e65ccbf3824cdddae7 \ - --hash=sha256:35f53c76a712e323c779ca39b9a81b13f219a8e3bc15f106ed1e1462d56fcfe9 \ - --hash=sha256:38d4f822ee2f338febcc85aaa2547eb5ba31ba6ff68d10b8ec988929d23bb6b4 \ - --hash=sha256:38f9bf2ad754b4a45b8210a6c732fe876b8a14e14d5992a8c4b7c1ef78740f53 \ - --hash=sha256:3a44c8440183b43167fd1a0819e8356692bf5db1ad14ce140dbd40a1485f2dea \ - --hash=sha256:3ab96754d23372009638a402a1ed12a27711598dd49d8316a22597141962fe66 \ - --hash=sha256:3c55d7f2d817183d43220738270efd3ce4e7a7b7cbdaefa6d551ed3d6ed89190 \ - --hash=sha256:46e1ed994a0920f350a4547a38471217eb86f57377e9314fbaaa329b71b7dfe3 \ - --hash=sha256:4a5375c5fff13f209527cd886dc75394f040c7d1ecad0a2cb0627f13ebe78a12 \ - --hash=sha256:4c2d26aa03d877c9730bf005621c92da263523a1e99247590abbbe252ccb7824 \ - --hash=sha256:4c4e314d36d4f31236a545696a480aa04ea170a0b021e9a59ab1ed94d4c3ef27 \ - --hash=sha256:4d0c10d803549427f427085ed7aebc39832f6e818a011dcd8785e9c6a1ba9b3e \ - --hash=sha256:4dcc5ee1d0275cb78d443fdebd0241e58772a354a6d518b1d7af1580bbd2c4e8 \ - --hash=sha256:51967a67ea0d7b9b5cd86036878e2d82c0b6183616961c26d825b8c994d4f2c8 \ - --hash=sha256:530190eb0cd778363bbb7596612ded0bb9fef662daa98e9d92a0419ab27ae914 \ - --hash=sha256:5379e49d7e80dca9811b36894493d1c1ecb4c57de05c36f5d0dd09982af20211 \ - --hash=sha256:5493569f861fb7b05af6d048d00d773c6162415ae521b7010197c98810a14cab \ - --hash=sha256:5a4c1058cdae6237d97af272b326e5f78ee7ee3bbffa6b24b09db4d828810468 \ - --hash=sha256:5d75d6d220d55cdced2f32cc22f599475dbe881229aeddba6c79c2e9df35a2b3 \ - --hash=sha256:5d97e9ae94fb96df1ee3cb09ca376c34e8a122f36927230f4c8a97f469994bff \ - --hash=sha256:5feae2f9aa7270e2c071f488fab256d768e88e01b958f123a690f1cc3061a09c \ - --hash=sha256:603d5868f7419081d616dab7ac3cfa285296735e7350f7b1e4f548f6f953ee7d \ - --hash=sha256:61d42d2b08430854485135504f672c14d4fc644dd243a9c17e7c4e0faf5ed07e \ - --hash=sha256:61dbc1e01dc0c5875da2f7ae36d6e918dc1b8d2ce04e871793976594aad8a57a \ - --hash=sha256:65cfed9c807c27dee76407e8bb29e6f4e391e436774bcc769a037ff25ad8646e \ - --hash=sha256:67a429520e97621a763cf9b3ba27574779c4e96e49a27ff8a1aa99ee70beb28a \ - --hash=sha256:6aadae3042f8e6db3376d9e91f194c606c9a45273c170621d46128f35aef7cd0 \ - --hash=sha256:6ba8858933f0c1a979781272a5f65646fca8c18c93c99c6ddb5513ad96fa54b1 \ - --hash=sha256:6bc568b05e02cd612be53900c88aaa55012e744930ba2eeb56279db4c6676eb3 \ - --hash=sha256:729408136ef8d45a28ee9a7411917c9e3459cf266c7e23c2f7d4bb8ef9e0da42 \ - --hash=sha256:751758d9dd04d548ec679224cc00e3591f5ebf1ff159ed0d4aba6a0746352452 \ - --hash=sha256:76d59d4d451ba77f08cb4cd9268dec07be5bc65f73666302dbb5061989b17198 \ - --hash=sha256:79bf58c08f0756adba691d480b5a20e4ad23f33e1ae121584cf3a21717c36dfa \ - --hash=sha256:7de12b69d95072394998c622cfd7e8cea8f560db5fca6a62a148f902a1029f8b \ - --hash=sha256:7f55cd9cf1564b7b03f238e4c017ca4794c05b01a783e9291065cb2858d86ce4 \ - --hash=sha256:80e5acb81cb49fd9f2d5c08f8b74ffff14ee73b10ca88297ab4619e946bcb1e1 \ - --hash=sha256:87a90f5545fd61f6964e65eebde4dc3fa8660bb7d87adb01d4cf17e0a2b484ad \ - --hash=sha256:881df98f0a8404d32b6de0fd33e91c1b90ed1516a80d4d6dc69d414b8850474c \ - --hash=sha256:8a776a29b77fe0cc28fedfd87277b0d0f7aa930174b7e504d764e0b43a05f381 \ - --hash=sha256:8c2a61c0e4811012b0ba9f6cdcb4437865df5d29eab5d6018ba13cee1c3064a0 \ - --hash=sha256:8fa6bd071ec6d90f6e7baa66ae25820d57a8ab1b0a3c6d3edf1834d4b26fafa2 \ - --hash=sha256:96f2975fb14f39c5fe75203f33dd3010fe37d1c4e33177feef1107b5ced750e3 \ - --hash=sha256:96fb0899bb2ab353f42e5374c8f0789f54e0a94ef2f02b9ac7149c56622eaf31 \ - --hash=sha256:97163a1ab265a1073a6372eca9f4eeb9f8c6327457a0b22ddfc4a17dcd613e74 \ - --hash=sha256:9c95a1a290f9acf7a8f2ebbdd183e99215d491beea52d61aa2a7a7d2c618ddc6 \ - --hash=sha256:9d94d78418203904730585efa71002286ac4c8ac0689d0eb61e3c465f9e608ff \ - --hash=sha256:a6ba2cb7d676e9415b9e9ac7e2aae401dc1b1e666943d1f7bc66223d3d73467b \ - --hash=sha256:aa0379c1935c44053c98826bc99ac95f3a5355675a297ac9ce0dfad0ce2d50ca \ - --hash=sha256:ac96d67b37f28e4b6ecf507c3405f52a40658c0a806dffde624a8fcb0314d5fd \ - --hash=sha256:ade2ccb937060c299ab0dfb2dea3d2ddf7e098ed63ee3d651ebfc2c8d1e8632a \ - --hash=sha256:aefbdc934115d2f9278f153952003ac52cd2650e7313750390b334518c589568 \ - --hash=sha256:b07501b720cf060c5856f7b5626e75b8e353b5f98b9b354a21eb4bfa47e421b1 \ - --hash=sha256:b5267feb19070bef34b8dea27e2b504ebd9d31748e3ecacb3a4101da6fcb255c \ - --hash=sha256:b5f6328e8e2ae8238fc767703ab7b95785521c42bb2b8790984e3477d7fa71ad \ - --hash=sha256:b8996ffb60c69f677245f5abdbcc623e9442bcc91ed81b6cd6187129ad1fa3e7 \ - --hash=sha256:b981a370f8f41c4024c170b42fbe9e691ae2dbc19d1d99151a69e2c84a0d194d \ - --hash=sha256:b9d121be0217787a7d59a5c6195b0842d3f701007333426e5154bf72346aa658 \ - --hash=sha256:bcef4f2d3dc603150421de85c916da19471f24d838c3c62a4f04c1eb511642c1 \ - --hash=sha256:bed0252c85e21cf73d2d033643c945b460d6a02fc4a7d644e3b2d6f5f2956c64 \ - --hash=sha256:bfdfbe6a36bc3059fff845d64c42f2644cf875c65f5005db54f90cdfdf1df815 \ - --hash=sha256:c0095b8aa3e432e32d372e9a7737e65b58d5ed23b9620fea7cb81f17672f1fa1 \ - --hash=sha256:c1f41d32a2ddc5a94df4b829b395916a4b7f103350fa76ba6de625fcb9e773ac \ - --hash=sha256:c45008ca79bad237cbc03c72bc5205e8c6f66403773929b1b50f7d84ef9e4d07 \ - --hash=sha256:c82bbf7e03748417c3a88c1b0b291288ce3e4887a795a3addaa7a1cfd9e7153e \ - --hash=sha256:c918621ee0a3d1fe61c313f2489464f2ae3d13633e60f520a8002a5e910982ee \ - --hash=sha256:d204957169f0b3511fb95395a9da7d4490fb361763a9f8b32b345a7fe119cb45 \ - --hash=sha256:d329896c40d9e1e5c7715c98529e4a188a1f2df51212fd65102b32465612b5dc \ - --hash=sha256:d3a61e928feddc458a55110f42f626a2a20bea942ccedb6fb4cee70b4830ed41 \ - --hash=sha256:d48db29bd47814671afdd76c7652aefacc25cf96aad6daefa82d738ee87461e2 \ - --hash=sha256:d5593855b5b2b73dd8413c3fdfa5d95b99d657658f947ba2c4318591e745d083 \ - --hash=sha256:d79c159adea0f1f4617f54aa156568ac69968f9ef4d1e5fefffc0a180830308e \ - --hash=sha256:db09b98c7540df69d4b47218da3fbd7cb466db0fb932e971c321f1c76f155266 \ - --hash=sha256:ddf23960cb42b69bce13045d5bc66f18c7d53774c66c13f24cf1b9c144ba3141 \ - --hash=sha256:e06cfea0ece444571d24c18ed465bc93afb8c8d8d74422eb7026662f3d3f779b \ - --hash=sha256:e7c564c58cf8f248fe859a4f0fe501b050663f3d7fbc342172f259124fb59933 \ - --hash=sha256:e86593bf8637659e6a6ed58854b6c87ec4e9e45ee8a4adfd936831cef55c2d21 \ - --hash=sha256:eaffbd8814bb1b5dc3ea156a4c5928081ba50419f9175f4fc95269e040eff8f0 \ - --hash=sha256:ee353bb51f648924926ed05e0122b6a0b1ae709396a80eb583449d5d477fcdf7 \ - --hash=sha256:ee6faebb265e28920a6f23a7d4c362414b3f4bb30607141d718b991669e49ddc \ - --hash=sha256:efe093acc43e869348f6f2224df7f452eab63a2c60a6c6cd6b50fd35c4e075ba \ - --hash=sha256:f03a1b3a4c03e3e0161642ac5367f08479ab29972ea0ffcd4fa18f729cd2be0a \ - --hash=sha256:f0d320e70b6b2300ff6029e234e79fe44e9dbbfc7b98597ba28e054bd6606a57 \ - --hash=sha256:f252dfb4852a527987a9156cbcae3022a30f86c9d26f4f17b8c967d7580d65d2 \ - --hash=sha256:f5f4424cb87a20b016bfdc157ff48757b89d2cc426256961643d443c6c277007 \ - --hash=sha256:f8eae66a1304de7368932b42d801c67969fd090ddb1a7a24f27b435ed4bed68f \ - --hash=sha256:fdb82eb60d31b0c033a8e8ee9f3fc7dfbaa042211131c29da29aea8531b4f18f +rpds-py==0.15.2 \ + --hash=sha256:02744236ac1895d7be837878e707a5c35fb8edc5137602f253b63623d7ad5c8c \ + --hash=sha256:03f9c5875515820633bd7709a25c3e60c1ea9ad1c5d4030ce8a8c203309c36fd \ + --hash=sha256:044f6f46d62444800402851afa3c3ae50141f12013060c1a3a0677e013310d6d \ + --hash=sha256:07a2e1d78d382f7181789713cdf0c16edbad4fe14fe1d115526cb6f0eef0daa3 \ + --hash=sha256:082e0e55d73690ffb4da4352d1b5bbe1b5c6034eb9dc8c91aa2a3ee15f70d3e2 \ + --hash=sha256:13152dfe7d7c27c40df8b99ac6aab12b978b546716e99f67e8a67a1d441acbc3 \ + --hash=sha256:13716e53627ad97babf72ac9e01cf9a7d4af2f75dd5ed7b323a7a9520e948282 \ + --hash=sha256:13ff62d3561a23c17341b4afc78e8fcfd799ab67c0b1ca32091d71383a98ba4b \ + --hash=sha256:1607cda6129f815493a3c184492acb5ae4aa6ed61d3a1b3663aa9824ed26f7ac \ + --hash=sha256:164fcee32f15d04d61568c9cb0d919e37ff3195919cd604039ff3053ada0461b \ + --hash=sha256:1c24e30d720c0009b6fb2e1905b025da56103c70a8b31b99138e4ed1c2a6c5b0 \ + --hash=sha256:1e6fcd0a0f62f2997107f758bb372397b8d5fd5f39cc6dcb86f7cb98a2172d6c \ + --hash=sha256:1fd0f0b1ccd7d537b858a56355a250108df692102e08aa2036e1a094fd78b2dc \ + --hash=sha256:2181e86d4e1cdf49a7320cb72a36c45efcb7670d0a88f09fd2d3a7967c0540fd \ + --hash=sha256:2974e6dff38afafd5ccf8f41cb8fc94600b3f4fd9b0a98f6ece6e2219e3158d5 \ + --hash=sha256:2dccc623725d0b298f557d869a68496a2fd2a9e9c41107f234fa5f7a37d278ac \ + --hash=sha256:2df3d07a16a3bef0917b28cd564778fbb31f3ffa5b5e33584470e2d1b0f248f0 \ + --hash=sha256:2e7e5633577b3bd56bf3af2ef6ae3778bbafb83743989d57f0e7edbf6c0980e4 \ + --hash=sha256:2ee066a64f0d2ba45391cac15b3a70dcb549e968a117bd0500634754cfe0e5fc \ + --hash=sha256:2f1f295a5c28cfa74a7d48c95acc1c8a7acd49d7d9072040d4b694fe11cd7166 \ + --hash=sha256:2faa97212b0dc465afeedf49045cdd077f97be1188285e646a9f689cb5dfff9e \ + --hash=sha256:30479a9f1fce47df56b07460b520f49fa2115ec2926d3b1303c85c81f8401ed1 \ + --hash=sha256:337a8653fb11d2fbe7157c961cc78cb3c161d98cf44410ace9a3dc2db4fad882 \ + --hash=sha256:3423007fc0661827e06f8a185a3792c73dda41f30f3421562f210cf0c9e49569 \ + --hash=sha256:373b76eeb79e8c14f6d82cb1d4d5293f9e4059baec6c1b16dca7ad13b6131b39 \ + --hash=sha256:3b79c63d29101cbaa53a517683557bb550462394fb91044cc5998dd2acff7340 \ + --hash=sha256:3bbc89ce2a219662ea142f0abcf8d43f04a41d5b1880be17a794c39f0d609cb0 \ + --hash=sha256:3c11bc5814554b018f6c5d6ae0969e43766f81e995000b53a5d8c8057055e886 \ + --hash=sha256:3cd61e759c4075510052d1eca5cddbd297fe1164efec14ef1fce3f09b974dfe4 \ + --hash=sha256:3d40fb3ca22e3d40f494d577441b263026a3bd8c97ae6ce89b2d3c4b39ac9581 \ + --hash=sha256:3db0c998c92b909d7c90b66c965590d4f3cd86157176a6cf14aa1f867b77b889 \ + --hash=sha256:422b0901878a31ef167435c5ad46560362891816a76cc0d150683f3868a6f0d1 \ + --hash=sha256:46b4f3d47d1033db569173be62365fbf7808c2bd3fb742314d251f130d90d44c \ + --hash=sha256:485fbdd23becb822804ed05622907ee5c8e8a5f43f6f43894a45f463b2217045 \ + --hash=sha256:53304cc14b1d94487d70086e1cb0cb4c29ec6da994d58ae84a4d7e78c6a6d04d \ + --hash=sha256:5595c80dd03d7e6c6afb73f3594bf3379a7d79fa57164b591d012d4b71d6ac4c \ + --hash=sha256:56b51ba29a18e5f5810224bcf00747ad931c0716e3c09a76b4a1edd3d4aba71f \ + --hash=sha256:580182fa5b269c2981e9ce9764367cb4edc81982ce289208d4607c203f44ffde \ + --hash=sha256:5e99d6510c8557510c220b865d966b105464740dcbebf9b79ecd4fbab30a13d9 \ + --hash=sha256:5eb05b654a41e0f81ab27a7c3e88b6590425eb3e934e1d533ecec5dc88a6ffff \ + --hash=sha256:62b292fff4739c6be89e6a0240c02bda5a9066a339d90ab191cf66e9fdbdc193 \ + --hash=sha256:6a5122b17a4faf5d7a6d91fa67b479736c0cacc7afe791ddebb7163a8550b799 \ + --hash=sha256:6a8ff8e809da81363bffca2b965cb6e4bf6056b495fc3f078467d1f8266fe27f \ + --hash=sha256:6c43e1b89099279cc03eb1c725c5de12af6edcd2f78e2f8a022569efa639ada3 \ + --hash=sha256:709dc11af2f74ba89c68b1592368c6edcbccdb0a06ba77eb28c8fe08bb6997da \ + --hash=sha256:7e072f5da38d6428ba1fc1115d3cc0dae895df671cb04c70c019985e8c7606be \ + --hash=sha256:813a65f95bfcb7c8f2a70dd6add9b51e9accc3bdb3e03d0ff7a9e6a2d3e174bf \ + --hash=sha256:86c01299942b0f4b5b5f28c8701689181ad2eab852e65417172dbdd6c5b3ccc8 \ + --hash=sha256:893e38d0f4319dfa70c0f36381a37cc418985c87b11d9784365b1fff4fa6973b \ + --hash=sha256:8a5f574b92b3ee7d254e56d56e37ec0e1416acb1ae357c4956d76a1788dc58fb \ + --hash=sha256:8b9650f92251fdef843e74fc252cdfd6e3c700157ad686eeb0c6d7fdb2d11652 \ + --hash=sha256:8ec464f20fe803ae00419bd1610934e3bda963aeba1e6181dfc9033dc7e8940c \ + --hash=sha256:8f333bfe782a2d05a67cfaa0cc9cd68b36b39ee6acfe099f980541ed973a7093 \ + --hash=sha256:8ffdeb7dbd0160d4e391e1f857477e4762d00aa2199c294eb95dfb9451aa1d9f \ + --hash=sha256:911e600e798374c0d86235e7ef19109cf865d1336942d398ff313375a25a93ba \ + --hash=sha256:9235be95662559141934fced8197de6fee8c58870f36756b0584424b6d708393 \ + --hash=sha256:938518a11780b39998179d07f31a4a468888123f9b00463842cd40f98191f4d3 \ + --hash=sha256:93c18a1696a8e0388ed84b024fe1a188a26ba999b61d1d9a371318cb89885a8c \ + --hash=sha256:97532802f14d383f37d603a56e226909f825a83ff298dc1b6697de00d2243999 \ + --hash=sha256:98ee201a52a7f65608e5494518932e1473fd43535f12cade0a1b4ab32737fe28 \ + --hash=sha256:9d2ae79f31da5143e020a8d4fc74e1f0cbcb8011bdf97453c140aa616db51406 \ + --hash=sha256:9d38494a8d21c246c535b41ecdb2d562c4b933cf3d68de03e8bc43a0d41be652 \ + --hash=sha256:9d41ebb471a6f064c0d1c873c4f7dded733d16ca5db7d551fb04ff3805d87802 \ + --hash=sha256:9e09d017e3f4d9bd7d17a30d3f59e4d6d9ba2d2ced280eec2425e84112cf623f \ + --hash=sha256:a6945c2d61c42bb7e818677f43638675b8c1c43e858b67a96df3eb2426a86c9d \ + --hash=sha256:a72e00826a2b032dda3eb25aa3e3579c6d6773d22d8446089a57a123481cc46c \ + --hash=sha256:aa1e626c524d2c7972c0f3a8a575d654a3a9c008370dc2a97e46abd0eaa749b9 \ + --hash=sha256:ab095edf1d840a6a6a4307e1a5b907a299a94e7b90e75436ee770b8c35d22a25 \ + --hash=sha256:ac2ac84a4950d627d84b61f082eba61314373cfab4b3c264b62efab02ababe83 \ + --hash=sha256:ac7187bee72384b9cfedf09a29a3b2b6e8815cc64c095cdc8b5e6aec81e9fd5f \ + --hash=sha256:ae9d83a81b09ce3a817e2cbb23aabc07f86a3abc664c613cd283ce7a03541e95 \ + --hash=sha256:afeabb382c1256a7477b739820bce7fe782bb807d82927102cee73e79b41b38b \ + --hash=sha256:b2a4cd924d0e2f4b1a68034abe4cadc73d69ad5f4cf02db6481c0d4d749f548f \ + --hash=sha256:b414ef79f1f06fb90b5165db8aef77512c1a5e3ed1b4807da8476b7e2c853283 \ + --hash=sha256:b4ecbba7efd82bd2a4bb88aab7f984eb5470991c1347bdd1f35fb34ea28dba6e \ + --hash=sha256:b61d5096e75fd71018b25da50b82dd70ec39b5e15bb2134daf7eb7bbbc103644 \ + --hash=sha256:b629db53fe17e6ce478a969d30bd1d0e8b53238c46e3a9c9db39e8b65a9ef973 \ + --hash=sha256:b70b45a40ad0798b69748b34d508259ef2bdc84fb2aad4048bc7c9cafb68ddb3 \ + --hash=sha256:b88c3ab98556bc351b36d6208a6089de8c8db14a7f6e1f57f82a334bd2c18f0b \ + --hash=sha256:baf744e5f9d5ee6531deea443be78b36ed1cd36c65a0b95ea4e8d69fa0102268 \ + --hash=sha256:bbc7421cbd28b4316d1d017db338039a7943f945c6f2bb15e1439b14b5682d28 \ + --hash=sha256:c31272c674f725dfe0f343d73b0abe8c878c646967ec1c6106122faae1efc15b \ + --hash=sha256:c51a899792ee2c696072791e56b2020caff58b275abecbc9ae0cb71af0645c95 \ + --hash=sha256:c61e42b4ceb9759727045765e87d51c1bb9f89987aca1fcc8a040232138cad1c \ + --hash=sha256:c7cd0841a586b7105513a7c8c3d5c276f3adc762a072d81ef7fae80632afad1e \ + --hash=sha256:c827a931c6b57f50f1bb5de400dcfb00bad8117e3753e80b96adb72d9d811514 \ + --hash=sha256:d2aa3ca9552f83b0b4fa6ca8c6ce08da6580f37e3e0ab7afac73a1cfdc230c0e \ + --hash=sha256:d46ee458452727a147d7897bb33886981ae1235775e05decae5d5d07f537695a \ + --hash=sha256:d64a657de7aae8db2da60dc0c9e4638a0c3893b4d60101fd564a3362b2bfeb34 \ + --hash=sha256:d800a8e2ac62db1b9ea5d6d1724f1a93c53907ca061de4d05ed94e8dfa79050c \ + --hash=sha256:d9d7ebcd11ea76ba0feaae98485cd8e31467c3d7985210fab46983278214736b \ + --hash=sha256:dd7d3608589072f63078b4063a6c536af832e76b0b3885f1bfe9e892abe6c207 \ + --hash=sha256:ec19e823b4ccd87bd69e990879acbce9e961fc7aebe150156b8f4418d4b27b7f \ + --hash=sha256:ee40206d1d6e95eaa2b7b919195e3689a5cf6ded730632de7f187f35a1b6052c \ + --hash=sha256:f138f550b83554f5b344d6be35d3ed59348510edc3cb96f75309db6e9bfe8210 \ + --hash=sha256:f3e6e2e502c4043c52a99316d89dc49f416acda5b0c6886e0dd8ea7bb35859e8 \ + --hash=sha256:fb10bb720348fe1647a94eb605accb9ef6a9b1875d8845f9e763d9d71a706387 \ + --hash=sha256:fc066395e6332da1e7525d605b4c96055669f8336600bef8ac569d5226a7c76f \ + --hash=sha256:fc33267d58dfbb2361baed52668c5d8c15d24bc0372cecbb79fed77339b55e0d # via # jsonschema # referencing @@ -944,9 +944,9 @@ ruamel-yaml-clib==0.2.8 \ --hash=sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875 \ --hash=sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412 # via ruamel-yaml -s3transfer==0.8.2 \ - --hash=sha256:368ac6876a9e9ed91f6bc86581e319be08188dc60d50e0d56308ed5765446283 \ - --hash=sha256:c9e56cbe88b28d8e197cf841f1f0c130f246595e77ae5b5a05b69fe7cb83de76 +s3transfer==0.10.0 \ + --hash=sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e \ + --hash=sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b # via boto3 sarif-om==1.0.4 \ --hash=sha256:539ef47a662329b1c8502388ad92457425e95dc0aaaf995fe46f4984c4771911 \ @@ -970,21 +970,21 @@ tomlkit==0.12.3 \ --hash=sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4 \ --hash=sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba # via aws-sam-cli (setup.py) -types-awscrt==0.19.17 \ - --hash=sha256:047e30ac6156b6c25e0937ab2d45c9d6ace854021604da35d45fa832115adf82 \ - --hash=sha256:e677de979521f39b59a10e4f4464d395b970cb6812913efaee6eec689f454a81 +types-awscrt==0.20.0 \ + --hash=sha256:99778c952e1eae10cc7a53468413001177026c9434345bf00120bb2ea5b79109 \ + --hash=sha256:e872b65d041687ec7fb49fb4dcb871ff10ade5efeca02722e037a03bff81db7e # via botocore-stubs types-python-dateutil==2.8.19.14 \ --hash=sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b \ --hash=sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9 # via arrow -types-s3transfer==0.7.0 \ - --hash=sha256:aca0f2486d0a3a5037cd5b8f3e20a4522a29579a8dd183281ff0aa1c4e2c8aa7 \ - --hash=sha256:ae9ed9273465d9f43da8b96307383da410c6b59c3b2464c88d20b578768e97c6 +types-s3transfer==0.9.0 \ + --hash=sha256:0f78c95c2ee390faad71735df35b6b81fca5bce4b864ac6a7707da2a845a5e86 \ + --hash=sha256:241e8b7b209c4064a451897bace1525ba64098a3ae955bdd0fb4b970cc69db73 # via boto3-stubs -typing-extensions==4.8.0 \ - --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ - --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef +typing-extensions==4.9.0 \ + --hash=sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 \ + --hash=sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd # via # annotated-types # aws-sam-cli (setup.py) @@ -1050,9 +1050,9 @@ watchdog==3.0.0 \ --hash=sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44 \ --hash=sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33 # via aws-sam-cli (setup.py) -websocket-client==1.6.4 \ - --hash=sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24 \ - --hash=sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df +websocket-client==1.7.0 \ + --hash=sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6 \ + --hash=sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588 # via docker werkzeug==3.0.1 \ --hash=sha256:507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc \ diff --git a/requirements/reproducible-win.txt b/requirements/reproducible-win.txt index 92aac957e7..1218aa965c 100644 --- a/requirements/reproducible-win.txt +++ b/requirements/reproducible-win.txt @@ -20,9 +20,9 @@ attrs==23.1.0 \ # jsonschema # referencing # sarif-om -aws-lambda-builders==1.43.0 \ - --hash=sha256:15c4b497824a296690e9497dba93186544fbe8cf6af9afb1da2d3834ab84ab20 \ - --hash=sha256:9a2bc476f6fd86fe32584f083436e862b124fd71ae307a8a1a85fae458589d09 +aws-lambda-builders==1.45.0 \ + --hash=sha256:5c19a6628eecf21578cd9c521e747f4a2163c62c527cd840b11b62a10b661348 \ + --hash=sha256:a4db7766198c052900905bd7ee3b1a8b486511394cdabffed054204d43b29943 # via aws-sam-cli (setup.py) aws-sam-translator==1.82.0 \ --hash=sha256:29ba61f2a70b2b1cf0c76b92b78a23c7cdd19ea1b0a5992753180b56d040d20b \ @@ -38,27 +38,27 @@ blinker==1.7.0 \ --hash=sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9 \ --hash=sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182 # via flask -boto3==1.33.5 \ - --hash=sha256:6a1d938bbf11518b1d17ca8186168f3ba2a0e8b2bf3c82cdd810ecb884627d2a \ - --hash=sha256:fcc24f62a1f512dd9b4a7a8af6f5fbfb3d69842a92aa2e79c2ca551ac49a4757 +boto3==1.34.9 \ + --hash=sha256:18c386a55e461749e6c9c8a10627a230db18a20dd72f2950ce19546974f15cd5 \ + --hash=sha256:8e48343d52389041af053992decf651bc4fc7b2d65eca12acdcff62d446ecdf4 # via # aws-sam-cli (setup.py) # aws-sam-translator -boto3-stubs[apigateway,cloudformation,ecr,iam,kinesis,lambda,s3,schemas,secretsmanager,signer,sqs,stepfunctions,sts,xray]==1.33.5 \ - --hash=sha256:40d7a52e60d477822655938083be43a9097a405f1d748ce86f5233685e0cddcc \ - --hash=sha256:4f19917a817f5530c5a05924ff009929218664c75140f47fd57e3ba6d477ab48 +boto3-stubs[apigateway,cloudformation,ecr,iam,kinesis,lambda,s3,schemas,secretsmanager,signer,sqs,stepfunctions,sts,xray]==1.34.9 \ + --hash=sha256:41220432e898a7a3fa60bb52ef2d49c864f5b38e2baa6a6235f57387325a242e \ + --hash=sha256:d75fa019e181fd87a23b7684684da47e3fba9c501bc4bd1d70ccef21c1b9bf8b # via # aws-sam-cli (setup.py) # boto3-stubs -botocore==1.33.5 \ - --hash=sha256:aa4a5c7cf78a403280e50daba8966479e23577b4a5c20165f71fab7a9b405e99 \ - --hash=sha256:c165207fb33e8352191d6a2770bce9f9bf01c62f5149824c4295d7f49bf96746 +botocore==1.34.9 \ + --hash=sha256:2cf43fa5b5438a95fc466c700f3098228b45df38e311103488554b2334b42ee3 \ + --hash=sha256:b40f027f371a1bd211ef67a3727c74bc3713af5fc5d830d4587abda296ebb19e # via # boto3 # s3transfer -botocore-stubs==1.33.5 \ - --hash=sha256:826147bc4134cffd5310c36065131e9955d434b30ddb0ccecb16fc66ea3461fd \ - --hash=sha256:af2d6f5a00c003df38bd28ac21a52d4d23cce9d5cc9f864656a85b569b88657c +botocore-stubs==1.34.9 \ + --hash=sha256:20a3c2ffc19dfa1ded192cafefca855f569f9e80b077ddc6390114432d7560c6 \ + --hash=sha256:55aed8679dce47b2ee1e35028826037b643b8897419ec4b7c493289ef0fd1bbf # via boto3-stubs certifi==2023.11.17 \ --hash=sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1 \ @@ -118,9 +118,9 @@ cffi==1.16.0 \ --hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \ --hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357 # via cryptography -cfn-lint==0.83.4 \ - --hash=sha256:5e9409e950590c772696a5298fb1dde7d22ca2da431fc6b8dd2de96434a964b7 \ - --hash=sha256:fe386419ec2c92ffd795a9d1e1bea8131c9c8fae90e7a823f43da2fff82e9af7 +cfn-lint==0.83.5 \ + --hash=sha256:91145a94968f0f3c0095fcc4366602efb3b9f5eee413171845f298fa1227e0fa \ + --hash=sha256:97ed0b36f77defba9fe843d2401160c7bb2a81dd4478dd17859bac9f027da311 # via aws-sam-cli (setup.py) chardet==5.2.0 \ --hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \ @@ -392,61 +392,61 @@ mpmath==1.3.0 \ --hash=sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f \ --hash=sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c # via sympy -mypy-boto3-apigateway==1.33.0 \ - --hash=sha256:1f8eba3d043b591383101f8fd9675a6ee7f3c14d69dec26a51915ff3367f25ec \ - --hash=sha256:9281011f3207978e90c4763a25a472df5276ff36ac1b7f44faeea4a663153b8b +mypy-boto3-apigateway==1.34.0 \ + --hash=sha256:372ca74ede1442cb7d171a7cc0b64d92900cda258790f07b9cd9b92886ef92ef \ + --hash=sha256:3c724120971c74fb65a94eb7e4b92a3a4b28df6c70ca04a007072e6c73f6eda7 # via boto3-stubs -mypy-boto3-cloudformation==1.33.0 \ - --hash=sha256:e1c27b910ffce96ed0ae126e4c5755bdd90a56dc7548e543264334a35608df0a \ - --hash=sha256:f56659fa8d804017075e3fb27ac8df17cd6c9ea3f686d79832bf5add51eb2965 +mypy-boto3-cloudformation==1.34.0 \ + --hash=sha256:4e63a2bca1882971881d65983acd774c2fc636bbc5dc8c3e1f4a41c539cf3c90 \ + --hash=sha256:9b25df9ef15d9dc8e4e892cc07aa9343f15f2ed5eb7d33eb5eb65adfa63f538f # via boto3-stubs -mypy-boto3-ecr==1.33.0 \ - --hash=sha256:76b0a53f9826f5d52fd9242ace420f1d54db35dcccc391c5137480bfb68a1689 \ - --hash=sha256:a64e2d65bb4733a304656bac16ff5a217303b80545679b379a543690c4a143d0 +mypy-boto3-ecr==1.34.0 \ + --hash=sha256:3346c02c22b16068c9acc67d990e32060bf7cdaea5f3d43c50e44308fbbc3439 \ + --hash=sha256:b83fb0311e968a42d4ca821b006c18d4a3e3e364b8cebee758ea4fa97c5ac345 # via boto3-stubs -mypy-boto3-iam==1.33.0 \ - --hash=sha256:046ac8b0bf467145b037b8179cd3838eb218164ee81712511a9734412294e537 \ - --hash=sha256:7e6b7634eb4e1aa8dcbc6bd7e1d8d157e95353d3ef1c6ce79f3fd294fc5682cb +mypy-boto3-iam==1.34.8 \ + --hash=sha256:0d13057a2141c5633b78ed0b1aed8f2f8a11a9c58a8a17a25622d966428a41b0 \ + --hash=sha256:6faf68cf800182924687b6711b3f9afa8d940ad993f259a3b91e55e82892d641 # via boto3-stubs -mypy-boto3-kinesis==1.33.0 \ - --hash=sha256:ccc84966fad632f7a1df3d8e62f52bb37fdf0218c9102b477e132875238f07d3 \ - --hash=sha256:cee6f4a447f09bc181ef31d11ad6f29694c5754c095e1637f75c441fca98a44f +mypy-boto3-kinesis==1.34.0 \ + --hash=sha256:1add81c53f6e36599e0c22e142024867759aaf2f4954bcb2baa21c284c852377 \ + --hash=sha256:f404e75badd5977e9f09741b769b8888854bdd411c631344686ab889efe98741 # via boto3-stubs -mypy-boto3-lambda==1.33.0 \ - --hash=sha256:10e0f04168f4064e89ba136218162003f1cb6826dcbfa95ca982d3cb792fc9f7 \ - --hash=sha256:beac0cb4b94f83a444242db16f601405bdfb6c15808c2c52720224d907e7af40 +mypy-boto3-lambda==1.34.0 \ + --hash=sha256:109a7e126e84d6da6cacf8ab5c7c6f2be022417fe7bfb7f9b019767d7034f73b \ + --hash=sha256:e74c0ce548da747a8c6e643c39dad8aa54d67e057f57740ec780a7e565590627 # via boto3-stubs -mypy-boto3-s3==1.33.2 \ - --hash=sha256:9d463df6def30de31a467d49ab92ff7795d46709d56eff6f52216a08bac27918 \ - --hash=sha256:f54a3ad3288f4e4719ebada3dde68c320507b0fc451d59bc68af7e6ab15cbdad +mypy-boto3-s3==1.34.0 \ + --hash=sha256:633876d2a96dbb924f9667084316c1759bff40c19a9a38313d5a4e825c5fc641 \ + --hash=sha256:7644a00e096ebb1c3292551059f64ff8329625dacd40827ced9481b14d64c733 # via boto3-stubs -mypy-boto3-schemas==1.33.0 \ - --hash=sha256:df11a93ec5b05d3eee53bcbf6bfa933fa3f5f28d5f19abdfa32d9380f9804e12 \ - --hash=sha256:f1a46e20b33b302fac92c1eec2c431c878ef27819fcf59aaa980e245451ee01e +mypy-boto3-schemas==1.34.0 \ + --hash=sha256:28c016609dcffc606bd8425ee92894c46e943ab77033e1ae46481f00c39b7f75 \ + --hash=sha256:3b25a71944192b0980c3bb5132deb7c06ee9b88580ed63f257fad97cf3bf2927 # via boto3-stubs -mypy-boto3-secretsmanager==1.33.0 \ - --hash=sha256:ea765e79988689a2cf6ba9307666aa8a3784f715b371b8fdebcb7694f4e92b9a \ - --hash=sha256:f0f1552ed294fd2f09ca38fd1af025149eeadde49500e0fca948ad1ada7d9c3f +mypy-boto3-secretsmanager==1.34.7 \ + --hash=sha256:06a3e34d1d3aea4944688bdf677dfe928c9831165989c192b8d9498d9ceb8781 \ + --hash=sha256:0dcd72d7e6d2657838819b078447adc13199e35d8dee960e7fbe6c0e5d383b6b # via boto3-stubs -mypy-boto3-signer==1.33.0 \ - --hash=sha256:08e92afcddb155347b44c01b012c7587a109677466c56f27fe5c207d991c1368 \ - --hash=sha256:4b55bd3724a7544a49837f11f217c54a28374d7fedad59294f113d6525067025 +mypy-boto3-signer==1.34.0 \ + --hash=sha256:c11ed943ccd38ee54fc0ca90ed347ef770d695df49535eab96dd97fb3dbdc592 \ + --hash=sha256:cb008547249031e562302c5c66451b3a12d5c8c97b47b50de46e61669c7c2315 # via boto3-stubs -mypy-boto3-sqs==1.33.0 \ - --hash=sha256:81f4838e81cbb0c088a10e287922fdf6a3f317cbab6647993ab9dbd567c0e8fb \ - --hash=sha256:81f71d5f461e5e670d2ca93df92c93efdd7c29be33eabf8475df5f071e638583 +mypy-boto3-sqs==1.34.0 \ + --hash=sha256:0bf8995f58919ab295398100e72eaa7da898adcfd9d339a42f3c48ce473419d5 \ + --hash=sha256:94d8aea4ae75605f70e58e440d706e04d5c614101ddb2f0c73d306d776d10995 # via boto3-stubs -mypy-boto3-stepfunctions==1.33.0 \ - --hash=sha256:09d9a520ba870e368dbffc48771745908cb2f0c427f9b3faff5ce53719a9638d \ - --hash=sha256:b892ee2c08fdbb2da5967a5a59b4418cd8b15894ecfbf008e1aa4f407419f7b8 +mypy-boto3-stepfunctions==1.34.0 \ + --hash=sha256:06d2296cee750d17cb62171420eea4614f20f29be45ee361854f8b599a6e8110 \ + --hash=sha256:ecc1e674c1c89e0559e8dbf3fda81295642b13766db30d42968a986ae6a5e952 # via boto3-stubs -mypy-boto3-sts==1.33.3 \ - --hash=sha256:b82e9cd8ae9b94a7fb6447ff28bf4ac17a5298f13655dcb2ff9672b8a36193ad \ - --hash=sha256:d008d75486ab03d9042ccfbbe2ebd6aa3e03c8660d48dc68177ae5db54fbabf8 +mypy-boto3-sts==1.34.0 \ + --hash=sha256:3ba1875c2792b4f35fd918dca957ce09ad197beb7cfbda61f42144ffa9cda05d \ + --hash=sha256:b347e0a336d60162dd94074d9d10f614f2b09a455c9b42415850d54d676e2067 # via boto3-stubs -mypy-boto3-xray==1.33.0 \ - --hash=sha256:2c4154c8964021a5dcfe3bf0c9e0975667088fc1b41913cb02936f3adb5bd5cb \ - --hash=sha256:c75e6fc5b827ddb082d7d3794bd920e3f7103e066d8c97cccd4e684acc47bf3b +mypy-boto3-xray==1.34.0 \ + --hash=sha256:742de92c57efc3e14ef27d9a5bfd2f528f095acf11ff4198be2cba6bfee4c7a1 \ + --hash=sha256:f30785798022b7f0c114e851790af9b92cb4026ed28757e962d30fb4391af8e2 # via boto3-stubs networkx==3.2.1 \ --hash=sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6 \ @@ -661,9 +661,9 @@ pyyaml==6.0.1 \ # aws-sam-cli (setup.py) # cfn-lint # cookiecutter -referencing==0.31.1 \ - --hash=sha256:81a1471c68c9d5e3831c30ad1dd9815c45b558e596653db751a2bfdd17b3b9ec \ - --hash=sha256:c19c4d006f1757e3dd75c4f784d38f8698d87b649c54f9ace14e5e8c9667c01d +referencing==0.32.0 \ + --hash=sha256:689e64fe121843dcfd57b71933318ef1f91188ffb45367332700a86ac8fd6161 \ + --hash=sha256:bdcd3efb936f82ff86f993093f6da7435c7de69a3b3a5a06678a6050184bee99 # via # jsonschema # jsonschema-specifications @@ -773,106 +773,106 @@ rich==13.7.0 \ # via # aws-sam-cli (setup.py) # cookiecutter -rpds-py==0.13.2 \ - --hash=sha256:06d218e4464d31301e943b65b2c6919318ea6f69703a351961e1baaf60347276 \ - --hash=sha256:12ecf89bd54734c3c2c79898ae2021dca42750c7bcfb67f8fb3315453738ac8f \ - --hash=sha256:15253fff410873ebf3cfba1cc686a37711efcd9b8cb30ea21bb14a973e393f60 \ - --hash=sha256:188435794405c7f0573311747c85a96b63c954a5f2111b1df8018979eca0f2f0 \ - --hash=sha256:1ceebd0ae4f3e9b2b6b553b51971921853ae4eebf3f54086be0565d59291e53d \ - --hash=sha256:244e173bb6d8f3b2f0c4d7370a1aa341f35da3e57ffd1798e5b2917b91731fd3 \ - --hash=sha256:25b28b3d33ec0a78e944aaaed7e5e2a94ac811bcd68b557ca48a0c30f87497d2 \ - --hash=sha256:25ea41635d22b2eb6326f58e608550e55d01df51b8a580ea7e75396bafbb28e9 \ - --hash=sha256:29d311e44dd16d2434d5506d57ef4d7036544fc3c25c14b6992ef41f541b10fb \ - --hash=sha256:2a1472956c5bcc49fb0252b965239bffe801acc9394f8b7c1014ae9258e4572b \ - --hash=sha256:2a7bef6977043673750a88da064fd513f89505111014b4e00fbdd13329cd4e9a \ - --hash=sha256:2ac26f50736324beb0282c819668328d53fc38543fa61eeea2c32ea8ea6eab8d \ - --hash=sha256:2e72f750048b32d39e87fc85c225c50b2a6715034848dbb196bf3348aa761fa1 \ - --hash=sha256:31e220a040b89a01505128c2f8a59ee74732f666439a03e65ccbf3824cdddae7 \ - --hash=sha256:35f53c76a712e323c779ca39b9a81b13f219a8e3bc15f106ed1e1462d56fcfe9 \ - --hash=sha256:38d4f822ee2f338febcc85aaa2547eb5ba31ba6ff68d10b8ec988929d23bb6b4 \ - --hash=sha256:38f9bf2ad754b4a45b8210a6c732fe876b8a14e14d5992a8c4b7c1ef78740f53 \ - --hash=sha256:3a44c8440183b43167fd1a0819e8356692bf5db1ad14ce140dbd40a1485f2dea \ - --hash=sha256:3ab96754d23372009638a402a1ed12a27711598dd49d8316a22597141962fe66 \ - --hash=sha256:3c55d7f2d817183d43220738270efd3ce4e7a7b7cbdaefa6d551ed3d6ed89190 \ - --hash=sha256:46e1ed994a0920f350a4547a38471217eb86f57377e9314fbaaa329b71b7dfe3 \ - --hash=sha256:4a5375c5fff13f209527cd886dc75394f040c7d1ecad0a2cb0627f13ebe78a12 \ - --hash=sha256:4c2d26aa03d877c9730bf005621c92da263523a1e99247590abbbe252ccb7824 \ - --hash=sha256:4c4e314d36d4f31236a545696a480aa04ea170a0b021e9a59ab1ed94d4c3ef27 \ - --hash=sha256:4d0c10d803549427f427085ed7aebc39832f6e818a011dcd8785e9c6a1ba9b3e \ - --hash=sha256:4dcc5ee1d0275cb78d443fdebd0241e58772a354a6d518b1d7af1580bbd2c4e8 \ - --hash=sha256:51967a67ea0d7b9b5cd86036878e2d82c0b6183616961c26d825b8c994d4f2c8 \ - --hash=sha256:530190eb0cd778363bbb7596612ded0bb9fef662daa98e9d92a0419ab27ae914 \ - --hash=sha256:5379e49d7e80dca9811b36894493d1c1ecb4c57de05c36f5d0dd09982af20211 \ - --hash=sha256:5493569f861fb7b05af6d048d00d773c6162415ae521b7010197c98810a14cab \ - --hash=sha256:5a4c1058cdae6237d97af272b326e5f78ee7ee3bbffa6b24b09db4d828810468 \ - --hash=sha256:5d75d6d220d55cdced2f32cc22f599475dbe881229aeddba6c79c2e9df35a2b3 \ - --hash=sha256:5d97e9ae94fb96df1ee3cb09ca376c34e8a122f36927230f4c8a97f469994bff \ - --hash=sha256:5feae2f9aa7270e2c071f488fab256d768e88e01b958f123a690f1cc3061a09c \ - --hash=sha256:603d5868f7419081d616dab7ac3cfa285296735e7350f7b1e4f548f6f953ee7d \ - --hash=sha256:61d42d2b08430854485135504f672c14d4fc644dd243a9c17e7c4e0faf5ed07e \ - --hash=sha256:61dbc1e01dc0c5875da2f7ae36d6e918dc1b8d2ce04e871793976594aad8a57a \ - --hash=sha256:65cfed9c807c27dee76407e8bb29e6f4e391e436774bcc769a037ff25ad8646e \ - --hash=sha256:67a429520e97621a763cf9b3ba27574779c4e96e49a27ff8a1aa99ee70beb28a \ - --hash=sha256:6aadae3042f8e6db3376d9e91f194c606c9a45273c170621d46128f35aef7cd0 \ - --hash=sha256:6ba8858933f0c1a979781272a5f65646fca8c18c93c99c6ddb5513ad96fa54b1 \ - --hash=sha256:6bc568b05e02cd612be53900c88aaa55012e744930ba2eeb56279db4c6676eb3 \ - --hash=sha256:729408136ef8d45a28ee9a7411917c9e3459cf266c7e23c2f7d4bb8ef9e0da42 \ - --hash=sha256:751758d9dd04d548ec679224cc00e3591f5ebf1ff159ed0d4aba6a0746352452 \ - --hash=sha256:76d59d4d451ba77f08cb4cd9268dec07be5bc65f73666302dbb5061989b17198 \ - --hash=sha256:79bf58c08f0756adba691d480b5a20e4ad23f33e1ae121584cf3a21717c36dfa \ - --hash=sha256:7de12b69d95072394998c622cfd7e8cea8f560db5fca6a62a148f902a1029f8b \ - --hash=sha256:7f55cd9cf1564b7b03f238e4c017ca4794c05b01a783e9291065cb2858d86ce4 \ - --hash=sha256:80e5acb81cb49fd9f2d5c08f8b74ffff14ee73b10ca88297ab4619e946bcb1e1 \ - --hash=sha256:87a90f5545fd61f6964e65eebde4dc3fa8660bb7d87adb01d4cf17e0a2b484ad \ - --hash=sha256:881df98f0a8404d32b6de0fd33e91c1b90ed1516a80d4d6dc69d414b8850474c \ - --hash=sha256:8a776a29b77fe0cc28fedfd87277b0d0f7aa930174b7e504d764e0b43a05f381 \ - --hash=sha256:8c2a61c0e4811012b0ba9f6cdcb4437865df5d29eab5d6018ba13cee1c3064a0 \ - --hash=sha256:8fa6bd071ec6d90f6e7baa66ae25820d57a8ab1b0a3c6d3edf1834d4b26fafa2 \ - --hash=sha256:96f2975fb14f39c5fe75203f33dd3010fe37d1c4e33177feef1107b5ced750e3 \ - --hash=sha256:96fb0899bb2ab353f42e5374c8f0789f54e0a94ef2f02b9ac7149c56622eaf31 \ - --hash=sha256:97163a1ab265a1073a6372eca9f4eeb9f8c6327457a0b22ddfc4a17dcd613e74 \ - --hash=sha256:9c95a1a290f9acf7a8f2ebbdd183e99215d491beea52d61aa2a7a7d2c618ddc6 \ - --hash=sha256:9d94d78418203904730585efa71002286ac4c8ac0689d0eb61e3c465f9e608ff \ - --hash=sha256:a6ba2cb7d676e9415b9e9ac7e2aae401dc1b1e666943d1f7bc66223d3d73467b \ - --hash=sha256:aa0379c1935c44053c98826bc99ac95f3a5355675a297ac9ce0dfad0ce2d50ca \ - --hash=sha256:ac96d67b37f28e4b6ecf507c3405f52a40658c0a806dffde624a8fcb0314d5fd \ - --hash=sha256:ade2ccb937060c299ab0dfb2dea3d2ddf7e098ed63ee3d651ebfc2c8d1e8632a \ - --hash=sha256:aefbdc934115d2f9278f153952003ac52cd2650e7313750390b334518c589568 \ - --hash=sha256:b07501b720cf060c5856f7b5626e75b8e353b5f98b9b354a21eb4bfa47e421b1 \ - --hash=sha256:b5267feb19070bef34b8dea27e2b504ebd9d31748e3ecacb3a4101da6fcb255c \ - --hash=sha256:b5f6328e8e2ae8238fc767703ab7b95785521c42bb2b8790984e3477d7fa71ad \ - --hash=sha256:b8996ffb60c69f677245f5abdbcc623e9442bcc91ed81b6cd6187129ad1fa3e7 \ - --hash=sha256:b981a370f8f41c4024c170b42fbe9e691ae2dbc19d1d99151a69e2c84a0d194d \ - --hash=sha256:b9d121be0217787a7d59a5c6195b0842d3f701007333426e5154bf72346aa658 \ - --hash=sha256:bcef4f2d3dc603150421de85c916da19471f24d838c3c62a4f04c1eb511642c1 \ - --hash=sha256:bed0252c85e21cf73d2d033643c945b460d6a02fc4a7d644e3b2d6f5f2956c64 \ - --hash=sha256:bfdfbe6a36bc3059fff845d64c42f2644cf875c65f5005db54f90cdfdf1df815 \ - --hash=sha256:c0095b8aa3e432e32d372e9a7737e65b58d5ed23b9620fea7cb81f17672f1fa1 \ - --hash=sha256:c1f41d32a2ddc5a94df4b829b395916a4b7f103350fa76ba6de625fcb9e773ac \ - --hash=sha256:c45008ca79bad237cbc03c72bc5205e8c6f66403773929b1b50f7d84ef9e4d07 \ - --hash=sha256:c82bbf7e03748417c3a88c1b0b291288ce3e4887a795a3addaa7a1cfd9e7153e \ - --hash=sha256:c918621ee0a3d1fe61c313f2489464f2ae3d13633e60f520a8002a5e910982ee \ - --hash=sha256:d204957169f0b3511fb95395a9da7d4490fb361763a9f8b32b345a7fe119cb45 \ - --hash=sha256:d329896c40d9e1e5c7715c98529e4a188a1f2df51212fd65102b32465612b5dc \ - --hash=sha256:d3a61e928feddc458a55110f42f626a2a20bea942ccedb6fb4cee70b4830ed41 \ - --hash=sha256:d48db29bd47814671afdd76c7652aefacc25cf96aad6daefa82d738ee87461e2 \ - --hash=sha256:d5593855b5b2b73dd8413c3fdfa5d95b99d657658f947ba2c4318591e745d083 \ - --hash=sha256:d79c159adea0f1f4617f54aa156568ac69968f9ef4d1e5fefffc0a180830308e \ - --hash=sha256:db09b98c7540df69d4b47218da3fbd7cb466db0fb932e971c321f1c76f155266 \ - --hash=sha256:ddf23960cb42b69bce13045d5bc66f18c7d53774c66c13f24cf1b9c144ba3141 \ - --hash=sha256:e06cfea0ece444571d24c18ed465bc93afb8c8d8d74422eb7026662f3d3f779b \ - --hash=sha256:e7c564c58cf8f248fe859a4f0fe501b050663f3d7fbc342172f259124fb59933 \ - --hash=sha256:e86593bf8637659e6a6ed58854b6c87ec4e9e45ee8a4adfd936831cef55c2d21 \ - --hash=sha256:eaffbd8814bb1b5dc3ea156a4c5928081ba50419f9175f4fc95269e040eff8f0 \ - --hash=sha256:ee353bb51f648924926ed05e0122b6a0b1ae709396a80eb583449d5d477fcdf7 \ - --hash=sha256:ee6faebb265e28920a6f23a7d4c362414b3f4bb30607141d718b991669e49ddc \ - --hash=sha256:efe093acc43e869348f6f2224df7f452eab63a2c60a6c6cd6b50fd35c4e075ba \ - --hash=sha256:f03a1b3a4c03e3e0161642ac5367f08479ab29972ea0ffcd4fa18f729cd2be0a \ - --hash=sha256:f0d320e70b6b2300ff6029e234e79fe44e9dbbfc7b98597ba28e054bd6606a57 \ - --hash=sha256:f252dfb4852a527987a9156cbcae3022a30f86c9d26f4f17b8c967d7580d65d2 \ - --hash=sha256:f5f4424cb87a20b016bfdc157ff48757b89d2cc426256961643d443c6c277007 \ - --hash=sha256:f8eae66a1304de7368932b42d801c67969fd090ddb1a7a24f27b435ed4bed68f \ - --hash=sha256:fdb82eb60d31b0c033a8e8ee9f3fc7dfbaa042211131c29da29aea8531b4f18f +rpds-py==0.15.2 \ + --hash=sha256:02744236ac1895d7be837878e707a5c35fb8edc5137602f253b63623d7ad5c8c \ + --hash=sha256:03f9c5875515820633bd7709a25c3e60c1ea9ad1c5d4030ce8a8c203309c36fd \ + --hash=sha256:044f6f46d62444800402851afa3c3ae50141f12013060c1a3a0677e013310d6d \ + --hash=sha256:07a2e1d78d382f7181789713cdf0c16edbad4fe14fe1d115526cb6f0eef0daa3 \ + --hash=sha256:082e0e55d73690ffb4da4352d1b5bbe1b5c6034eb9dc8c91aa2a3ee15f70d3e2 \ + --hash=sha256:13152dfe7d7c27c40df8b99ac6aab12b978b546716e99f67e8a67a1d441acbc3 \ + --hash=sha256:13716e53627ad97babf72ac9e01cf9a7d4af2f75dd5ed7b323a7a9520e948282 \ + --hash=sha256:13ff62d3561a23c17341b4afc78e8fcfd799ab67c0b1ca32091d71383a98ba4b \ + --hash=sha256:1607cda6129f815493a3c184492acb5ae4aa6ed61d3a1b3663aa9824ed26f7ac \ + --hash=sha256:164fcee32f15d04d61568c9cb0d919e37ff3195919cd604039ff3053ada0461b \ + --hash=sha256:1c24e30d720c0009b6fb2e1905b025da56103c70a8b31b99138e4ed1c2a6c5b0 \ + --hash=sha256:1e6fcd0a0f62f2997107f758bb372397b8d5fd5f39cc6dcb86f7cb98a2172d6c \ + --hash=sha256:1fd0f0b1ccd7d537b858a56355a250108df692102e08aa2036e1a094fd78b2dc \ + --hash=sha256:2181e86d4e1cdf49a7320cb72a36c45efcb7670d0a88f09fd2d3a7967c0540fd \ + --hash=sha256:2974e6dff38afafd5ccf8f41cb8fc94600b3f4fd9b0a98f6ece6e2219e3158d5 \ + --hash=sha256:2dccc623725d0b298f557d869a68496a2fd2a9e9c41107f234fa5f7a37d278ac \ + --hash=sha256:2df3d07a16a3bef0917b28cd564778fbb31f3ffa5b5e33584470e2d1b0f248f0 \ + --hash=sha256:2e7e5633577b3bd56bf3af2ef6ae3778bbafb83743989d57f0e7edbf6c0980e4 \ + --hash=sha256:2ee066a64f0d2ba45391cac15b3a70dcb549e968a117bd0500634754cfe0e5fc \ + --hash=sha256:2f1f295a5c28cfa74a7d48c95acc1c8a7acd49d7d9072040d4b694fe11cd7166 \ + --hash=sha256:2faa97212b0dc465afeedf49045cdd077f97be1188285e646a9f689cb5dfff9e \ + --hash=sha256:30479a9f1fce47df56b07460b520f49fa2115ec2926d3b1303c85c81f8401ed1 \ + --hash=sha256:337a8653fb11d2fbe7157c961cc78cb3c161d98cf44410ace9a3dc2db4fad882 \ + --hash=sha256:3423007fc0661827e06f8a185a3792c73dda41f30f3421562f210cf0c9e49569 \ + --hash=sha256:373b76eeb79e8c14f6d82cb1d4d5293f9e4059baec6c1b16dca7ad13b6131b39 \ + --hash=sha256:3b79c63d29101cbaa53a517683557bb550462394fb91044cc5998dd2acff7340 \ + --hash=sha256:3bbc89ce2a219662ea142f0abcf8d43f04a41d5b1880be17a794c39f0d609cb0 \ + --hash=sha256:3c11bc5814554b018f6c5d6ae0969e43766f81e995000b53a5d8c8057055e886 \ + --hash=sha256:3cd61e759c4075510052d1eca5cddbd297fe1164efec14ef1fce3f09b974dfe4 \ + --hash=sha256:3d40fb3ca22e3d40f494d577441b263026a3bd8c97ae6ce89b2d3c4b39ac9581 \ + --hash=sha256:3db0c998c92b909d7c90b66c965590d4f3cd86157176a6cf14aa1f867b77b889 \ + --hash=sha256:422b0901878a31ef167435c5ad46560362891816a76cc0d150683f3868a6f0d1 \ + --hash=sha256:46b4f3d47d1033db569173be62365fbf7808c2bd3fb742314d251f130d90d44c \ + --hash=sha256:485fbdd23becb822804ed05622907ee5c8e8a5f43f6f43894a45f463b2217045 \ + --hash=sha256:53304cc14b1d94487d70086e1cb0cb4c29ec6da994d58ae84a4d7e78c6a6d04d \ + --hash=sha256:5595c80dd03d7e6c6afb73f3594bf3379a7d79fa57164b591d012d4b71d6ac4c \ + --hash=sha256:56b51ba29a18e5f5810224bcf00747ad931c0716e3c09a76b4a1edd3d4aba71f \ + --hash=sha256:580182fa5b269c2981e9ce9764367cb4edc81982ce289208d4607c203f44ffde \ + --hash=sha256:5e99d6510c8557510c220b865d966b105464740dcbebf9b79ecd4fbab30a13d9 \ + --hash=sha256:5eb05b654a41e0f81ab27a7c3e88b6590425eb3e934e1d533ecec5dc88a6ffff \ + --hash=sha256:62b292fff4739c6be89e6a0240c02bda5a9066a339d90ab191cf66e9fdbdc193 \ + --hash=sha256:6a5122b17a4faf5d7a6d91fa67b479736c0cacc7afe791ddebb7163a8550b799 \ + --hash=sha256:6a8ff8e809da81363bffca2b965cb6e4bf6056b495fc3f078467d1f8266fe27f \ + --hash=sha256:6c43e1b89099279cc03eb1c725c5de12af6edcd2f78e2f8a022569efa639ada3 \ + --hash=sha256:709dc11af2f74ba89c68b1592368c6edcbccdb0a06ba77eb28c8fe08bb6997da \ + --hash=sha256:7e072f5da38d6428ba1fc1115d3cc0dae895df671cb04c70c019985e8c7606be \ + --hash=sha256:813a65f95bfcb7c8f2a70dd6add9b51e9accc3bdb3e03d0ff7a9e6a2d3e174bf \ + --hash=sha256:86c01299942b0f4b5b5f28c8701689181ad2eab852e65417172dbdd6c5b3ccc8 \ + --hash=sha256:893e38d0f4319dfa70c0f36381a37cc418985c87b11d9784365b1fff4fa6973b \ + --hash=sha256:8a5f574b92b3ee7d254e56d56e37ec0e1416acb1ae357c4956d76a1788dc58fb \ + --hash=sha256:8b9650f92251fdef843e74fc252cdfd6e3c700157ad686eeb0c6d7fdb2d11652 \ + --hash=sha256:8ec464f20fe803ae00419bd1610934e3bda963aeba1e6181dfc9033dc7e8940c \ + --hash=sha256:8f333bfe782a2d05a67cfaa0cc9cd68b36b39ee6acfe099f980541ed973a7093 \ + --hash=sha256:8ffdeb7dbd0160d4e391e1f857477e4762d00aa2199c294eb95dfb9451aa1d9f \ + --hash=sha256:911e600e798374c0d86235e7ef19109cf865d1336942d398ff313375a25a93ba \ + --hash=sha256:9235be95662559141934fced8197de6fee8c58870f36756b0584424b6d708393 \ + --hash=sha256:938518a11780b39998179d07f31a4a468888123f9b00463842cd40f98191f4d3 \ + --hash=sha256:93c18a1696a8e0388ed84b024fe1a188a26ba999b61d1d9a371318cb89885a8c \ + --hash=sha256:97532802f14d383f37d603a56e226909f825a83ff298dc1b6697de00d2243999 \ + --hash=sha256:98ee201a52a7f65608e5494518932e1473fd43535f12cade0a1b4ab32737fe28 \ + --hash=sha256:9d2ae79f31da5143e020a8d4fc74e1f0cbcb8011bdf97453c140aa616db51406 \ + --hash=sha256:9d38494a8d21c246c535b41ecdb2d562c4b933cf3d68de03e8bc43a0d41be652 \ + --hash=sha256:9d41ebb471a6f064c0d1c873c4f7dded733d16ca5db7d551fb04ff3805d87802 \ + --hash=sha256:9e09d017e3f4d9bd7d17a30d3f59e4d6d9ba2d2ced280eec2425e84112cf623f \ + --hash=sha256:a6945c2d61c42bb7e818677f43638675b8c1c43e858b67a96df3eb2426a86c9d \ + --hash=sha256:a72e00826a2b032dda3eb25aa3e3579c6d6773d22d8446089a57a123481cc46c \ + --hash=sha256:aa1e626c524d2c7972c0f3a8a575d654a3a9c008370dc2a97e46abd0eaa749b9 \ + --hash=sha256:ab095edf1d840a6a6a4307e1a5b907a299a94e7b90e75436ee770b8c35d22a25 \ + --hash=sha256:ac2ac84a4950d627d84b61f082eba61314373cfab4b3c264b62efab02ababe83 \ + --hash=sha256:ac7187bee72384b9cfedf09a29a3b2b6e8815cc64c095cdc8b5e6aec81e9fd5f \ + --hash=sha256:ae9d83a81b09ce3a817e2cbb23aabc07f86a3abc664c613cd283ce7a03541e95 \ + --hash=sha256:afeabb382c1256a7477b739820bce7fe782bb807d82927102cee73e79b41b38b \ + --hash=sha256:b2a4cd924d0e2f4b1a68034abe4cadc73d69ad5f4cf02db6481c0d4d749f548f \ + --hash=sha256:b414ef79f1f06fb90b5165db8aef77512c1a5e3ed1b4807da8476b7e2c853283 \ + --hash=sha256:b4ecbba7efd82bd2a4bb88aab7f984eb5470991c1347bdd1f35fb34ea28dba6e \ + --hash=sha256:b61d5096e75fd71018b25da50b82dd70ec39b5e15bb2134daf7eb7bbbc103644 \ + --hash=sha256:b629db53fe17e6ce478a969d30bd1d0e8b53238c46e3a9c9db39e8b65a9ef973 \ + --hash=sha256:b70b45a40ad0798b69748b34d508259ef2bdc84fb2aad4048bc7c9cafb68ddb3 \ + --hash=sha256:b88c3ab98556bc351b36d6208a6089de8c8db14a7f6e1f57f82a334bd2c18f0b \ + --hash=sha256:baf744e5f9d5ee6531deea443be78b36ed1cd36c65a0b95ea4e8d69fa0102268 \ + --hash=sha256:bbc7421cbd28b4316d1d017db338039a7943f945c6f2bb15e1439b14b5682d28 \ + --hash=sha256:c31272c674f725dfe0f343d73b0abe8c878c646967ec1c6106122faae1efc15b \ + --hash=sha256:c51a899792ee2c696072791e56b2020caff58b275abecbc9ae0cb71af0645c95 \ + --hash=sha256:c61e42b4ceb9759727045765e87d51c1bb9f89987aca1fcc8a040232138cad1c \ + --hash=sha256:c7cd0841a586b7105513a7c8c3d5c276f3adc762a072d81ef7fae80632afad1e \ + --hash=sha256:c827a931c6b57f50f1bb5de400dcfb00bad8117e3753e80b96adb72d9d811514 \ + --hash=sha256:d2aa3ca9552f83b0b4fa6ca8c6ce08da6580f37e3e0ab7afac73a1cfdc230c0e \ + --hash=sha256:d46ee458452727a147d7897bb33886981ae1235775e05decae5d5d07f537695a \ + --hash=sha256:d64a657de7aae8db2da60dc0c9e4638a0c3893b4d60101fd564a3362b2bfeb34 \ + --hash=sha256:d800a8e2ac62db1b9ea5d6d1724f1a93c53907ca061de4d05ed94e8dfa79050c \ + --hash=sha256:d9d7ebcd11ea76ba0feaae98485cd8e31467c3d7985210fab46983278214736b \ + --hash=sha256:dd7d3608589072f63078b4063a6c536af832e76b0b3885f1bfe9e892abe6c207 \ + --hash=sha256:ec19e823b4ccd87bd69e990879acbce9e961fc7aebe150156b8f4418d4b27b7f \ + --hash=sha256:ee40206d1d6e95eaa2b7b919195e3689a5cf6ded730632de7f187f35a1b6052c \ + --hash=sha256:f138f550b83554f5b344d6be35d3ed59348510edc3cb96f75309db6e9bfe8210 \ + --hash=sha256:f3e6e2e502c4043c52a99316d89dc49f416acda5b0c6886e0dd8ea7bb35859e8 \ + --hash=sha256:fb10bb720348fe1647a94eb605accb9ef6a9b1875d8845f9e763d9d71a706387 \ + --hash=sha256:fc066395e6332da1e7525d605b4c96055669f8336600bef8ac569d5226a7c76f \ + --hash=sha256:fc33267d58dfbb2361baed52668c5d8c15d24bc0372cecbb79fed77339b55e0d # via # jsonschema # referencing @@ -932,9 +932,9 @@ ruamel-yaml-clib==0.2.8 \ --hash=sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875 \ --hash=sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412 # via ruamel-yaml -s3transfer==0.8.2 \ - --hash=sha256:368ac6876a9e9ed91f6bc86581e319be08188dc60d50e0d56308ed5765446283 \ - --hash=sha256:c9e56cbe88b28d8e197cf841f1f0c130f246595e77ae5b5a05b69fe7cb83de76 +s3transfer==0.10.0 \ + --hash=sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e \ + --hash=sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b # via boto3 sarif-om==1.0.4 \ --hash=sha256:539ef47a662329b1c8502388ad92457425e95dc0aaaf995fe46f4984c4771911 \ @@ -958,21 +958,21 @@ tomlkit==0.12.3 \ --hash=sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4 \ --hash=sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba # via aws-sam-cli (setup.py) -types-awscrt==0.19.17 \ - --hash=sha256:047e30ac6156b6c25e0937ab2d45c9d6ace854021604da35d45fa832115adf82 \ - --hash=sha256:e677de979521f39b59a10e4f4464d395b970cb6812913efaee6eec689f454a81 +types-awscrt==0.20.0 \ + --hash=sha256:99778c952e1eae10cc7a53468413001177026c9434345bf00120bb2ea5b79109 \ + --hash=sha256:e872b65d041687ec7fb49fb4dcb871ff10ade5efeca02722e037a03bff81db7e # via botocore-stubs types-python-dateutil==2.8.19.14 \ --hash=sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b \ --hash=sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9 # via arrow -types-s3transfer==0.7.0 \ - --hash=sha256:aca0f2486d0a3a5037cd5b8f3e20a4522a29579a8dd183281ff0aa1c4e2c8aa7 \ - --hash=sha256:ae9ed9273465d9f43da8b96307383da410c6b59c3b2464c88d20b578768e97c6 +types-s3transfer==0.9.0 \ + --hash=sha256:0f78c95c2ee390faad71735df35b6b81fca5bce4b864ac6a7707da2a845a5e86 \ + --hash=sha256:241e8b7b209c4064a451897bace1525ba64098a3ae955bdd0fb4b970cc69db73 # via boto3-stubs -typing-extensions==4.8.0 \ - --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ - --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef +typing-extensions==4.9.0 \ + --hash=sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 \ + --hash=sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd # via # aws-sam-cli (setup.py) # aws-sam-translator @@ -1039,9 +1039,9 @@ watchdog==3.0.0 \ --hash=sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44 \ --hash=sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33 # via aws-sam-cli (setup.py) -websocket-client==1.6.4 \ - --hash=sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24 \ - --hash=sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df +websocket-client==1.7.0 \ + --hash=sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6 \ + --hash=sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588 # via docker werkzeug==3.0.1 \ --hash=sha256:507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc \ diff --git a/samcli/__init__.py b/samcli/__init__.py index ed98927f4e..5f11997868 100644 --- a/samcli/__init__.py +++ b/samcli/__init__.py @@ -2,4 +2,4 @@ SAM CLI version """ -__version__ = "1.105.0" +__version__ = "1.106.0" diff --git a/samcli/commands/local/lib/local_api_service.py b/samcli/commands/local/lib/local_api_service.py index 9b5b90108c..a40c553960 100644 --- a/samcli/commands/local/lib/local_api_service.py +++ b/samcli/commands/local/lib/local_api_service.py @@ -18,7 +18,7 @@ class LocalApiService: Lambda function. """ - def __init__(self, lambda_invoke_context, port, host, static_dir, disable_authorizer): + def __init__(self, lambda_invoke_context, port, host, static_dir, disable_authorizer, ssl_context): """ Initialize the local API service. @@ -28,11 +28,14 @@ def __init__(self, lambda_invoke_context, port, host, static_dir, disable_author :param string host: Local hostname or IP address to bind to :param string static_dir: Optional, directory from which static files will be mounted :param bool disable_authorizer: Optional, flag for disabling the parsing of lambda authorizers + :param tuple(string, string) ssl_context: Optional, path to ssl certificate and key files to start service + in https """ self.port = port self.host = host self.static_dir = static_dir + self.ssl_context = ssl_context self.cwd = lambda_invoke_context.get_cwd() self.disable_authorizer = disable_authorizer @@ -66,13 +69,14 @@ def start(self): static_dir=static_dir_path, port=self.port, host=self.host, + ssl_context=self.ssl_context, stderr=self.stderr_stream, ) service.create() # Print out the list of routes that will be mounted - self._print_routes(self.api_provider.api.routes, self.host, self.port) + self._print_routes(self.api_provider.api.routes, self.host, self.port, bool(self.ssl_context)) LOG.info( "You can now browse to the above endpoints to invoke your functions. " "You do not need to restart/reload SAM CLI while working on your functions, " @@ -84,7 +88,7 @@ def start(self): service.run() @staticmethod - def _print_routes(routes, host, port): + def _print_routes(routes, host, port, ssl_enabled=False): """ Helper method to print the APIs that will be mounted. This method is purely for printing purposes. This method takes in a list of Route Configurations and prints out the Routes grouped by path. @@ -100,14 +104,19 @@ def _print_routes(routes, host, port): Host name where the service is running :param int port: Port number where the service is running + :param bool ssl_enabled: + Boolean parameter to set whether SSL configuration is enabled :returns list(string): List of lines that were printed to the console. Helps with testing """ print_lines = [] + protocol = "https" if ssl_enabled else "http" for route in routes: methods_str = "[{}]".format(", ".join(route.methods)) - output = "Mounting {} at http://{}:{}{} {}".format(route.function_name, host, port, route.path, methods_str) + output = "Mounting {} at {}://{}:{}{} {}".format( + route.function_name, protocol, host, port, route.path, methods_str + ) print_lines.append(output) LOG.info(output) diff --git a/samcli/commands/local/lib/local_lambda_service.py b/samcli/commands/local/lib/local_lambda_service.py index 07d11f78f0..0d493c2ff8 100644 --- a/samcli/commands/local/lib/local_lambda_service.py +++ b/samcli/commands/local/lib/local_lambda_service.py @@ -14,7 +14,7 @@ class LocalLambdaService: that are defined in a SAM file. """ - def __init__(self, lambda_invoke_context, port, host): + def __init__(self, lambda_invoke_context, port, host, ssl_context=None): """ Initialize the Local Lambda Invoke service. @@ -22,10 +22,13 @@ def __init__(self, lambda_invoke_context, port, host): that can help with Lambda invocation :param int port: Port to listen on :param string host: Local hostname or IP address to bind to + :param tuple(string, string) ssl_context: Optional, path to ssl certificate and key files to start service + in https """ self.port = port self.host = host + self.ssl_context = ssl_context self.lambda_runner = lambda_invoke_context.local_lambda_runner self.stderr_stream = lambda_invoke_context.stderr @@ -43,7 +46,11 @@ def start(self): # to the console or a log file. stderr from Docker container contains runtime logs and output of print # statements from the Lambda function service = LocalLambdaInvokeService( - lambda_runner=self.lambda_runner, port=self.port, host=self.host, stderr=self.stderr_stream + lambda_runner=self.lambda_runner, + port=self.port, + host=self.host, + ssl_context=self.ssl_context, + stderr=self.stderr_stream, ) service.create() diff --git a/samcli/commands/local/start_api/cli.py b/samcli/commands/local/start_api/cli.py index ead889c344..d8b94fe48e 100644 --- a/samcli/commands/local/start_api/cli.py +++ b/samcli/commands/local/start_api/cli.py @@ -3,12 +3,14 @@ """ import logging +from ssl import SSLError import click from samcli.cli.cli_config_file import ConfigProvider, configuration_option, save_params_option from samcli.cli.main import aws_creds_options, pass_context, print_cmdline_args from samcli.cli.main import common_options as cli_framework_options +from samcli.commands._utils.click_mutex import ClickMutex from samcli.commands._utils.option_value_processor import process_image_options from samcli.commands._utils.options import ( generate_next_command_recommendation, @@ -77,6 +79,22 @@ default=False, help="Disable custom Lambda Authorizers from being parsed and invoked.", ) +@click.option( + "--ssl-cert-file", + default=None, + type=click.Path(exists=True), + cls=ClickMutex, + required_param_lists=[["ssl_key_file"]], + help="Path to SSL certificate file (default: None)", +) +@click.option( + "--ssl-key-file", + default=None, + type=click.Path(exists=True), + cls=ClickMutex, + required_param_lists=[["ssl_cert_file"]], + help="Path to SSL key file (default: None)", +) @invoke_common_options @warm_containers_common_options @local_common_options @@ -120,6 +138,8 @@ def cli( hook_name, skip_prepare_infra, terraform_plan_file, + ssl_cert_file, + ssl_key_file, ): """ `sam local start-api` command entry point @@ -152,6 +172,8 @@ def cli( container_host_interface, invoke_image, hook_name, + ssl_cert_file, + ssl_key_file, ) # pragma: no cover @@ -181,6 +203,8 @@ def do_cli( # pylint: disable=R0914 container_host_interface, invoke_image, hook_name, + ssl_cert_file, + ssl_key_file, ): """ Implementation of the ``cli`` method, just separated out for unit testing purposes @@ -226,12 +250,14 @@ def do_cli( # pylint: disable=R0914 container_host_interface=container_host_interface, invoke_images=processed_invoke_images, ) as invoke_context: + ssl_context = (ssl_cert_file, ssl_key_file) if ssl_cert_file else None service = LocalApiService( lambda_invoke_context=invoke_context, port=port, host=host, static_dir=static_dir, disable_authorizer=disable_authorizer, + ssl_context=ssl_context, ) service.start() if not hook_name: @@ -243,7 +269,8 @@ def do_cli( # pylint: disable=R0914 ] ) click.secho(command_suggestions, fg="yellow") - + except SSLError as ex: + raise UserException(f"SSL Error: {ex.strerror}", wrapped_from=ex.__class__.__name__) from ex except NoApisDefined as ex: raise UserException( "Template does not have any APIs connected to Lambda functions", wrapped_from=ex.__class__.__name__ diff --git a/samcli/commands/local/start_api/core/options.py b/samcli/commands/local/start_api/core/options.py index be20cbe825..4971281450 100644 --- a/samcli/commands/local/start_api/core/options.py +++ b/samcli/commands/local/start_api/core/options.py @@ -22,6 +22,8 @@ CONTAINER_OPTION_NAMES: List[str] = [ "host", "port", + "ssl_cert_file", + "ssl_key_file", "env_vars", "container_env_vars", "debug_port", diff --git a/samcli/lib/observability/cw_logs/cw_log_group_provider.py b/samcli/lib/observability/cw_logs/cw_log_group_provider.py index 0ff83925e5..e920ee41a7 100644 --- a/samcli/lib/observability/cw_logs/cw_log_group_provider.py +++ b/samcli/lib/observability/cw_logs/cw_log_group_provider.py @@ -53,7 +53,9 @@ def for_lambda_function(boto_client_provider: BotoProviderType, function_name: s """ log_group_name = "" try: - function_configuration = boto_client_provider("lambda").get_function_configuration(function_name) + function_configuration = boto_client_provider("lambda").get_function_configuration( + FunctionName=function_name + ) logging_config = function_configuration.get("LoggingConfig") if logging_config: log_group_name = logging_config.get("LogGroup") diff --git a/samcli/lib/sync/infra_sync_executor.py b/samcli/lib/sync/infra_sync_executor.py index 257194a70a..e5c48d44dd 100644 --- a/samcli/lib/sync/infra_sync_executor.py +++ b/samcli/lib/sync/infra_sync_executor.py @@ -6,7 +6,7 @@ import re from datetime import datetime from pathlib import Path -from typing import TYPE_CHECKING, Dict, Optional, Set +from typing import TYPE_CHECKING, Dict, List, Optional, Set, cast from uuid import uuid4 from boto3 import Session @@ -183,6 +183,7 @@ def execute_infra_sync(self, first_sync: bool = False) -> InfraSyncResult: self._package_context.output_template_file, self._package_context.template_file, self._deploy_context.stack_name, + self._build_context._parameter_overrides or {}, ): # We have a threshold on number of sync flows we initiate # If higher than the threshold, we perform infra sync to improve performance @@ -221,6 +222,7 @@ def _auto_skip_infra_sync( packaged_template_path: str, built_template_path: str, stack_name: str, + parameter_overrides: Optional[Dict[str, str]] = None, nested_prefix: Optional[str] = None, ) -> bool: """ @@ -236,6 +238,8 @@ def _auto_skip_infra_sync( The CloudFormation stack name that the template is deployed to nested_prefix: Optional[str] The nested stack stack name tree for child stack resources + parameter_overrides: Optional[Dict[str,str]] + Parameter overrides passed into sam sync in the form of { KEY1 : VALUE1, KEY2 : VALUE2 } Returns ------- @@ -243,6 +247,8 @@ def _auto_skip_infra_sync( Returns True if no template changes from last deployment Returns False if there are template differences """ + parameter_overrides = parameter_overrides or {} + current_template = self.get_template(packaged_template_path) current_built_template = self.get_template(built_template_path) @@ -272,6 +278,9 @@ def _auto_skip_infra_sync( LOG.debug("The current template is different from the last deployed version, we will not skip infra sync") return False + if not self._param_overrides_subset_of_stack_params(stack_name, parameter_overrides): + return False + # The recursive template check for Nested stacks for resource_logical_id in current_template.get("Resources", {}): resource_dict = current_template.get("Resources", {}).get(resource_logical_id, {}) @@ -327,7 +336,10 @@ def _auto_skip_infra_sync( resource_dict.get("Properties", {}).get(template_field), nested_template_location, stack_resource_detail.get("StackResourceDetail", {}).get("PhysicalResourceId", ""), - nested_prefix + resource_logical_id + "/" if nested_prefix else resource_logical_id + "/", + parameter_overrides={}, # Do not pass the same parameter overrides to the nested stack + nested_prefix=nested_prefix + resource_logical_id + "/" + if nested_prefix + else resource_logical_id + "/", ): return False @@ -502,6 +514,70 @@ def get_template(self, template_path: str) -> Optional[Dict]: return template + def _param_overrides_subset_of_stack_params(self, stack_name: str, param_overrides: Dict[str, str]) -> bool: + """ + Returns whether or not the supplied parameter overrides are a subset of the current stack parameters + + Parameters + ---------- + stack_name: str + + param_overrides: Dict[str, str] + Parameter overrides supplied by the sam sync command, taking the following format + e.g. {'Foo1': 'Bar1', 'Foo2': 'Bar2'} + + """ + + # Current stack parameters returned from describe_stacks, taking the following format + # e.g [{'ParameterKey': 'Foo1', 'ParameterValue': 'Bar1'}, {'ParameterKey': 'Foo2', 'ParameterValue': 'Bar2'}] + + try: + current_stack_params = self._get_stack_parameters(stack_name) + except ClientError as ex: + LOG.debug("Unable to fetch stack Parameters from stack with name %s", stack_name, exc_info=ex) + return False + + # We can flatten the current stack parameters into the same format as the parameter overrides + # This allows us to check if the parameter overrides are a direct subset of the current stack parameters + + flat_current_stack_parameters = {} + for param in current_stack_params: + flat_current_stack_parameters[param["ParameterKey"]] = param["ParameterValue"] + + # Check for parameter overrides being a subset of the current stack parameters + if not (param_overrides.items() <= flat_current_stack_parameters.items()): + LOG.debug("Detected changes between Parameter overrides and the current stack parameters.") + return False + + return True + + def _get_stack_parameters(self, stack_name: str) -> List[Dict[str, str]]: + """ + Returns the stack parameters for a given stack + + Parameters + ---------- + stack_name: str + The name of the stack + + Returns + ------- + List of Dicts in the form { 'ParameterKey': Foo, 'ParameterValue': Bar } + + """ + stacks = self._cfn_client.describe_stacks(StackName=stack_name).get("Stacks") + + if len(stacks) < 1: + LOG.info( + "Failed to pull stack details for stack with name %s, it may not yet be finished deploying.", stack_name + ) + return [] + + return cast( + List[Dict[str, str]], + stacks[0].get("Parameters", []), + ) + def _get_remote_template_data(self, template_path: str) -> Optional[Dict]: """ Get template dict from remote location diff --git a/samcli/local/apigw/local_apigw_service.py b/samcli/local/apigw/local_apigw_service.py index 3a3c834ec0..80da1f4480 100644 --- a/samcli/local/apigw/local_apigw_service.py +++ b/samcli/local/apigw/local_apigw_service.py @@ -6,7 +6,7 @@ from datetime import datetime from io import StringIO from time import time -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Optional, Tuple from flask import Flask, Request, request from werkzeug.datastructures import Headers @@ -66,6 +66,7 @@ def __init__( port: Optional[int] = None, host: Optional[str] = None, stderr: Optional[StreamWriter] = None, + ssl_context: Optional[Tuple[str, str]] = None, ): """ Creates an ApiGatewayService @@ -84,10 +85,13 @@ def __init__( host : str Optional. host to start the service on Defaults to '127.0.0.1 + ssl_context : (str, str) + Optional. tuple(str, str) indicating the cert and key files to use to start in https mode + Defaults to None stderr : samcli.lib.utils.stream_writer.StreamWriter Optional stream writer where the stderr from Docker container should be written to """ - super().__init__(lambda_runner.is_debugging(), port=port, host=host) + super().__init__(lambda_runner.is_debugging(), port=port, host=host, ssl_context=ssl_context) self.api = api self.lambda_runner = lambda_runner self.static_dir = static_dir diff --git a/samcli/local/lambda_service/local_lambda_invoke_service.py b/samcli/local/lambda_service/local_lambda_invoke_service.py index 546066449c..1e46a10507 100644 --- a/samcli/local/lambda_service/local_lambda_invoke_service.py +++ b/samcli/local/lambda_service/local_lambda_invoke_service.py @@ -30,7 +30,7 @@ def to_url(self, value): class LocalLambdaInvokeService(BaseLocalService): - def __init__(self, lambda_runner, port, host, stderr=None): + def __init__(self, lambda_runner, port, host, stderr=None, ssl_context=None): """ Creates a Local Lambda Service that will only response to invoking a function @@ -42,10 +42,13 @@ def __init__(self, lambda_runner, port, host, stderr=None): Optional. port for the service to start listening on host str Optional. host to start the service on + ssl_context : (str, str) + Optional. tuple(str, str) indicating the cert and key files to use to start in https mode + Defaults to None stderr io.BaseIO Optional stream where the stderr from Docker container should be written to """ - super().__init__(lambda_runner.is_debugging(), port=port, host=host) + super().__init__(lambda_runner.is_debugging(), port=port, host=host, ssl_context=ssl_context) self.lambda_runner = lambda_runner self.stderr = stderr diff --git a/samcli/local/services/base_local_service.py b/samcli/local/services/base_local_service.py index 671d48888c..5de5beb7dd 100644 --- a/samcli/local/services/base_local_service.py +++ b/samcli/local/services/base_local_service.py @@ -10,7 +10,7 @@ class BaseLocalService: - def __init__(self, is_debugging, port, host): + def __init__(self, is_debugging, port, host, ssl_context): """ Creates a BaseLocalService class @@ -22,10 +22,13 @@ def __init__(self, is_debugging, port, host): Optional. port for the service to start listening on Defaults to 3000 host str Optional. host to start the service on Defaults to '127.0.0.1 + ssl_context tuple(str, str) + Optional. path to ssl certificate and key files to start service in https """ self.is_debugging = is_debugging self.port = port self.host = host + self.ssl_context = ssl_context self._app = None def create(self): @@ -62,7 +65,7 @@ def run(self): flask.cli.show_server_banner = lambda *args: None - self._app.run(threaded=multi_threaded, host=self.host, port=self.port) + self._app.run(threaded=multi_threaded, host=self.host, port=self.port, ssl_context=self.ssl_context) @staticmethod def service_response(body, headers, status_code): diff --git a/samcli/runtime_config.json b/samcli/runtime_config.json index 65e3e0a148..9ceb81017c 100644 --- a/samcli/runtime_config.json +++ b/samcli/runtime_config.json @@ -1,3 +1,3 @@ { - "app_template_repo_commit": "1ef2886f061cdb6b245460078e3ba535465877dd" + "app_template_repo_commit": "4f2d39629050c935934a5024955a2e384b8260c5" } diff --git a/schema/samcli.json b/schema/samcli.json index c057f3368a..c620315e8c 100644 --- a/schema/samcli.json +++ b/schema/samcli.json @@ -564,7 +564,7 @@ "properties": { "parameters": { "title": "Parameters for the local start api command", - "description": "Available parameters for the local start api command:\n* terraform_plan_file:\nUsed for passing a custom plan file when executing the Terraform hook.\n* hook_name:\nHook package id to extend AWS SAM CLI commands functionality. \n\nExample: `terraform` to extend AWS SAM CLI commands functionality to support terraform applications. \n\nAvailable Hook Names: ['terraform']\n* skip_prepare_infra:\nSkip preparation stage when there are no infrastructure changes. Only used in conjunction with --hook-name.\n* host:\nLocal hostname or IP address to bind to (default: '127.0.0.1')\n* port:\nLocal port number to listen on (default: '3000')\n* static_dir:\nAny static assets (e.g. CSS/Javascript/HTML) files located in this directory will be presented at /\n* disable_authorizer:\nDisable custom Lambda Authorizers from being parsed and invoked.\n* template_file:\nAWS SAM template which references built artifacts for resources in the template. (if applicable)\n* env_vars:\nJSON file containing values for Lambda function's environment variables.\n* parameter_overrides:\nString that contains AWS CloudFormation parameter overrides encoded as key=value pairs.\n* debug_port:\nWhen specified, Lambda function container will start in debug mode and will expose this port on localhost.\n* debugger_path:\nHost path to a debugger that will be mounted into the Lambda container.\n* debug_args:\nAdditional arguments to be passed to the debugger.\n* container_env_vars:\nJSON file containing additional environment variables to be set within the container when used in a debugging session locally.\n* docker_volume_basedir:\nSpecify the location basedir where the SAM template exists. If Docker is running on a remote machine, Path of the SAM template must be mounted on the Docker machine and modified to match the remote machine.\n* log_file:\nFile to capture output logs.\n* layer_cache_basedir:\nSpecify the location basedir where the lambda layers used by the template will be downloaded to.\n* skip_pull_image:\nSkip pulling down the latest Docker image for Lambda runtime.\n* docker_network:\nName or ID of an existing docker network for AWS Lambda docker containers to connect to, along with the default bridge network. If not specified, the Lambda containers will only connect to the default bridge docker network.\n* force_image_build:\nForce rebuilding the image used for invoking functions with layers.\n* warm_containers:\nOptional. Specifies how AWS SAM CLI manages \ncontainers for each function.\nTwo modes are available:\nEAGER: Containers for all functions are \nloaded at startup and persist between \ninvocations.\nLAZY: Containers are only loaded when each \nfunction is first invoked. Those containers \npersist for additional invocations.\n* debug_function:\nOptional. Specifies the Lambda Function logicalId to apply debug options to when --warm-containers is specified. This parameter applies to --debug-port, --debugger-path, and --debug-args.\n* shutdown:\nEmulate a shutdown event after invoke completes, to test extension handling of shutdown behavior.\n* container_host:\nHost of locally emulated Lambda container. This option is useful when the container runs on a different host than AWS SAM CLI. For example, if one wants to run AWS SAM CLI in a Docker container on macOS, this option could specify `host.docker.internal`\n* container_host_interface:\nIP address of the host network interface that container ports should bind to. Use 0.0.0.0 to bind to all interfaces.\n* invoke_image:\nContainer image URIs for invoking functions or starting api and function. One can specify the image URI used for the local function invocation (--invoke-image public.ecr.aws/sam/build-nodejs14.x:latest). One can also specify for each individual function with (--invoke-image Function1=public.ecr.aws/sam/build-nodejs14.x:latest). If a function does not have invoke image specified, the default AWS SAM CLI emulation image will be used.\n* beta_features:\nEnable/Disable beta features.\n* debug:\nTurn on debug logging to print debug message generated by AWS SAM CLI and display timestamps.\n* profile:\nSelect a specific profile from your credential file to get AWS credentials.\n* region:\nSet the AWS Region of the service. (e.g. us-east-1)\n* save_params:\nSave the parameters provided via the command line to the configuration file.", + "description": "Available parameters for the local start api command:\n* terraform_plan_file:\nUsed for passing a custom plan file when executing the Terraform hook.\n* hook_name:\nHook package id to extend AWS SAM CLI commands functionality. \n\nExample: `terraform` to extend AWS SAM CLI commands functionality to support terraform applications. \n\nAvailable Hook Names: ['terraform']\n* skip_prepare_infra:\nSkip preparation stage when there are no infrastructure changes. Only used in conjunction with --hook-name.\n* host:\nLocal hostname or IP address to bind to (default: '127.0.0.1')\n* port:\nLocal port number to listen on (default: '3000')\n* static_dir:\nAny static assets (e.g. CSS/Javascript/HTML) files located in this directory will be presented at /\n* disable_authorizer:\nDisable custom Lambda Authorizers from being parsed and invoked.\n* ssl_cert_file:\nPath to SSL certificate file (default: None)\n* ssl_key_file:\nPath to SSL key file (default: None)\n* template_file:\nAWS SAM template which references built artifacts for resources in the template. (if applicable)\n* env_vars:\nJSON file containing values for Lambda function's environment variables.\n* parameter_overrides:\nString that contains AWS CloudFormation parameter overrides encoded as key=value pairs.\n* debug_port:\nWhen specified, Lambda function container will start in debug mode and will expose this port on localhost.\n* debugger_path:\nHost path to a debugger that will be mounted into the Lambda container.\n* debug_args:\nAdditional arguments to be passed to the debugger.\n* container_env_vars:\nJSON file containing additional environment variables to be set within the container when used in a debugging session locally.\n* docker_volume_basedir:\nSpecify the location basedir where the SAM template exists. If Docker is running on a remote machine, Path of the SAM template must be mounted on the Docker machine and modified to match the remote machine.\n* log_file:\nFile to capture output logs.\n* layer_cache_basedir:\nSpecify the location basedir where the lambda layers used by the template will be downloaded to.\n* skip_pull_image:\nSkip pulling down the latest Docker image for Lambda runtime.\n* docker_network:\nName or ID of an existing docker network for AWS Lambda docker containers to connect to, along with the default bridge network. If not specified, the Lambda containers will only connect to the default bridge docker network.\n* force_image_build:\nForce rebuilding the image used for invoking functions with layers.\n* warm_containers:\nOptional. Specifies how AWS SAM CLI manages \ncontainers for each function.\nTwo modes are available:\nEAGER: Containers for all functions are \nloaded at startup and persist between \ninvocations.\nLAZY: Containers are only loaded when each \nfunction is first invoked. Those containers \npersist for additional invocations.\n* debug_function:\nOptional. Specifies the Lambda Function logicalId to apply debug options to when --warm-containers is specified. This parameter applies to --debug-port, --debugger-path, and --debug-args.\n* shutdown:\nEmulate a shutdown event after invoke completes, to test extension handling of shutdown behavior.\n* container_host:\nHost of locally emulated Lambda container. This option is useful when the container runs on a different host than AWS SAM CLI. For example, if one wants to run AWS SAM CLI in a Docker container on macOS, this option could specify `host.docker.internal`\n* container_host_interface:\nIP address of the host network interface that container ports should bind to. Use 0.0.0.0 to bind to all interfaces.\n* invoke_image:\nContainer image URIs for invoking functions or starting api and function. One can specify the image URI used for the local function invocation (--invoke-image public.ecr.aws/sam/build-nodejs14.x:latest). One can also specify for each individual function with (--invoke-image Function1=public.ecr.aws/sam/build-nodejs14.x:latest). If a function does not have invoke image specified, the default AWS SAM CLI emulation image will be used.\n* beta_features:\nEnable/Disable beta features.\n* debug:\nTurn on debug logging to print debug message generated by AWS SAM CLI and display timestamps.\n* profile:\nSelect a specific profile from your credential file to get AWS credentials.\n* region:\nSet the AWS Region of the service. (e.g. us-east-1)\n* save_params:\nSave the parameters provided via the command line to the configuration file.", "type": "object", "properties": { "terraform_plan_file": { @@ -605,6 +605,16 @@ "type": "boolean", "description": "Disable custom Lambda Authorizers from being parsed and invoked." }, + "ssl_cert_file": { + "title": "ssl_cert_file", + "type": "string", + "description": "Path to SSL certificate file (default: None)" + }, + "ssl_key_file": { + "title": "ssl_key_file", + "type": "string", + "description": "Path to SSL key file (default: None)" + }, "template_file": { "title": "template_file", "type": "string", diff --git a/tests/integration/logs/test_logs_command.py b/tests/integration/logs/test_logs_command.py index 22a15b8c72..f1edd48a23 100644 --- a/tests/integration/logs/test_logs_command.py +++ b/tests/integration/logs/test_logs_command.py @@ -230,6 +230,7 @@ def _check_logs(self, cmd_list: List, log_strings: List[str], output: str = "tex REGULAR_STACK_FUNCTION_LIST = [ "ApiGwFunction", "SfnFunction", + "FunctionWithCustomLoggingConfig", ] REGULAR_STACK_APIGW_LIST = [ "HelloWorldServerlessApi", diff --git a/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/function-with-custom-logging/app.py b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/function-with-custom-logging/app.py new file mode 100644 index 0000000000..989804c801 --- /dev/null +++ b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/function-with-custom-logging/app.py @@ -0,0 +1,5 @@ + +def handler(event, context): + print("Hello world from ChildStack/FunctionWithCustomLoggingConfig function") + print("this should be filtered ChildStackFunctionWithCustomLoggingConfig") + return {} \ No newline at end of file diff --git a/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/grand-child-stack/function-with-custom-logging/app.py b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/grand-child-stack/function-with-custom-logging/app.py new file mode 100644 index 0000000000..7cd5b2269f --- /dev/null +++ b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/grand-child-stack/function-with-custom-logging/app.py @@ -0,0 +1,5 @@ + +def handler(event, context): + print("Hello world from ChildStack/GrandChildStack/FunctionWithCustomLoggingConfig function") + print("this should be filtered ChildStackGrandChildStackFunctionWithCustomLoggingConfig") + return {} diff --git a/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/grand-child-stack/template.yaml b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/grand-child-stack/template.yaml index b7a4dc30f0..6c95dbce72 100644 --- a/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/grand-child-stack/template.yaml +++ b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/grand-child-stack/template.yaml @@ -66,7 +66,7 @@ Resources: Properties: CodeUri: apigw-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active Events: HelloWorld: @@ -81,7 +81,7 @@ Resources: Properties: CodeUri: sfn-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active HelloWorldServerlessApi: @@ -113,6 +113,17 @@ Resources: ManagedPolicyArns: - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs" + FunctionWithCustomLoggingConfig: + Type: AWS::Serverless::Function + Properties: + CodeUri: function-with-custom-logging/ + Handler: app.handler + Runtime: python3.12 + Tracing: Active + LoggingConfig: + LogFormat: JSON + LogGroup: !Sub /aws/lambda/${AWS::StackName} + Outputs: HelloWorldServerlessApi: Description: "API Gateway endpoint URL for Prod stage for Hello World function" diff --git a/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/template.yaml b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/template.yaml index c6f1aef18f..83ed191545 100644 --- a/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/template.yaml +++ b/tests/integration/testdata/logs/nested-python-apigw-sfn/child-stack/template.yaml @@ -66,7 +66,7 @@ Resources: Properties: CodeUri: apigw-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active Events: HelloWorld: @@ -81,7 +81,7 @@ Resources: Properties: CodeUri: sfn-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active HelloWorldServerlessApi: @@ -113,6 +113,17 @@ Resources: ManagedPolicyArns: - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs" + FunctionWithCustomLoggingConfig: + Type: AWS::Serverless::Function + Properties: + CodeUri: function-with-custom-logging/ + Handler: app.handler + Runtime: python3.12 + Tracing: Active + LoggingConfig: + LogFormat: JSON + LogGroup: !Sub /aws/lambda/${AWS::StackName} + GrandChildStack: Type: AWS::Serverless::Application Properties: diff --git a/tests/integration/testdata/logs/nested-python-apigw-sfn/function-with-custom-logging/app.py b/tests/integration/testdata/logs/nested-python-apigw-sfn/function-with-custom-logging/app.py new file mode 100644 index 0000000000..e980e304ad --- /dev/null +++ b/tests/integration/testdata/logs/nested-python-apigw-sfn/function-with-custom-logging/app.py @@ -0,0 +1,5 @@ + +def handler(event, context): + print("Hello world from FunctionWithCustomLoggingConfig function") + print("this should be filtered FunctionWithCustomLoggingConfig") + return {} diff --git a/tests/integration/testdata/logs/nested-python-apigw-sfn/template.yaml b/tests/integration/testdata/logs/nested-python-apigw-sfn/template.yaml index 5506f108f3..02fb86362c 100644 --- a/tests/integration/testdata/logs/nested-python-apigw-sfn/template.yaml +++ b/tests/integration/testdata/logs/nested-python-apigw-sfn/template.yaml @@ -66,7 +66,7 @@ Resources: Properties: CodeUri: apigw-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active Events: HelloWorld: @@ -81,7 +81,7 @@ Resources: Properties: CodeUri: sfn-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active HelloWorldServerlessApi: @@ -113,6 +113,17 @@ Resources: ManagedPolicyArns: - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs" + FunctionWithCustomLoggingConfig: + Type: AWS::Serverless::Function + Properties: + CodeUri: function-with-custom-logging/ + Handler: app.handler + Runtime: python3.12 + Tracing: Active + LoggingConfig: + LogFormat: JSON + LogGroup: !Sub /aws/lambda/${AWS::StackName} + ChildStack: Type: AWS::Serverless::Application Properties: diff --git a/tests/integration/testdata/logs/python-apigw-sfn/function-with-custom-logging/app.py b/tests/integration/testdata/logs/python-apigw-sfn/function-with-custom-logging/app.py new file mode 100644 index 0000000000..e980e304ad --- /dev/null +++ b/tests/integration/testdata/logs/python-apigw-sfn/function-with-custom-logging/app.py @@ -0,0 +1,5 @@ + +def handler(event, context): + print("Hello world from FunctionWithCustomLoggingConfig function") + print("this should be filtered FunctionWithCustomLoggingConfig") + return {} diff --git a/tests/integration/testdata/logs/python-apigw-sfn/template.yaml b/tests/integration/testdata/logs/python-apigw-sfn/template.yaml index b7a4dc30f0..6c95dbce72 100644 --- a/tests/integration/testdata/logs/python-apigw-sfn/template.yaml +++ b/tests/integration/testdata/logs/python-apigw-sfn/template.yaml @@ -66,7 +66,7 @@ Resources: Properties: CodeUri: apigw-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active Events: HelloWorld: @@ -81,7 +81,7 @@ Resources: Properties: CodeUri: sfn-function/ Handler: app.handler - Runtime: python3.9 + Runtime: python3.12 Tracing: Active HelloWorldServerlessApi: @@ -113,6 +113,17 @@ Resources: ManagedPolicyArns: - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs" + FunctionWithCustomLoggingConfig: + Type: AWS::Serverless::Function + Properties: + CodeUri: function-with-custom-logging/ + Handler: app.handler + Runtime: python3.12 + Tracing: Active + LoggingConfig: + LogFormat: JSON + LogGroup: !Sub /aws/lambda/${AWS::StackName} + Outputs: HelloWorldServerlessApi: Description: "API Gateway endpoint URL for Prod stage for Hello World function" diff --git a/tests/unit/commands/local/lib/test_local_api_service.py b/tests/unit/commands/local/lib/test_local_api_service.py index 4d2b10740b..d054fa1c1c 100644 --- a/tests/unit/commands/local/lib/test_local_api_service.py +++ b/tests/unit/commands/local/lib/test_local_api_service.py @@ -18,6 +18,7 @@ class TestLocalApiService_start(TestCase): def setUp(self): self.port = 123 self.host = "abc" + self.ssl_context = None self.static_dir = "static" self.cwd = "cwd" self.template = {"hello": "world"} @@ -50,7 +51,12 @@ def test_must_start_service(self, log_routes_mock, make_static_dir_mock, SamApiP # Now start the service local_service = LocalApiService( - self.lambda_invoke_context_mock, self.port, self.host, self.static_dir, self.disable_authorizer + self.lambda_invoke_context_mock, + self.port, + self.host, + self.static_dir, + self.disable_authorizer, + self.ssl_context, ) local_service.api_provider.api.routes = routing_list local_service.start() @@ -60,7 +66,7 @@ def test_must_start_service(self, log_routes_mock, make_static_dir_mock, SamApiP self.lambda_invoke_context_mock.stacks, cwd=self.cwd, disable_authorizer=self.disable_authorizer ) - log_routes_mock.assert_called_with(routing_list, self.host, self.port) + log_routes_mock.assert_called_with(routing_list, self.host, self.port, bool(self.ssl_context)) make_static_dir_mock.assert_called_with(self.cwd, self.static_dir) ApiGwServiceMock.assert_called_with( api=self.api_provider_mock.api, @@ -68,6 +74,7 @@ def test_must_start_service(self, log_routes_mock, make_static_dir_mock, SamApiP static_dir=static_dir_path, port=self.port, host=self.host, + ssl_context=self.ssl_context, stderr=self.stderr_mock, ) @@ -91,7 +98,12 @@ def test_must_raise_if_route_not_available( # Now start the service local_service = LocalApiService( - self.lambda_invoke_context_mock, self.port, self.host, self.static_dir, self.disable_authorizer + self.lambda_invoke_context_mock, + self.port, + self.host, + self.static_dir, + self.disable_authorizer, + self.ssl_context, ) local_service.api_provider.api.routes = routing_list with self.assertRaises(NoApisDefined): diff --git a/tests/unit/commands/local/lib/test_local_lambda_service.py b/tests/unit/commands/local/lib/test_local_lambda_service.py index da28d4711f..2c8a180f83 100644 --- a/tests/unit/commands/local/lib/test_local_lambda_service.py +++ b/tests/unit/commands/local/lib/test_local_lambda_service.py @@ -13,7 +13,9 @@ def test_initialization(self): lambda_invoke_context_mock.local_lambda_runner = lambda_runner_mock lambda_invoke_context_mock.stderr = stderr_mock - service = LocalLambdaService(lambda_invoke_context=lambda_invoke_context_mock, port=3000, host="localhost") + service = LocalLambdaService( + lambda_invoke_context=lambda_invoke_context_mock, port=3000, host="localhost", ssl_context=None + ) self.assertEqual(service.port, 3000) self.assertEqual(service.host, "localhost") @@ -32,12 +34,14 @@ def test_start(self, local_lambda_invoke_service_mock): lambda_invoke_context_mock.local_lambda_runner = lambda_runner_mock lambda_invoke_context_mock.stderr = stderr_mock - service = LocalLambdaService(lambda_invoke_context=lambda_invoke_context_mock, port=3000, host="localhost") + service = LocalLambdaService( + lambda_invoke_context=lambda_invoke_context_mock, port=3000, host="localhost", ssl_context=None + ) service.start() local_lambda_invoke_service_mock.assert_called_once_with( - lambda_runner=lambda_runner_mock, port=3000, host="localhost", stderr=stderr_mock + lambda_runner=lambda_runner_mock, port=3000, host="localhost", stderr=stderr_mock, ssl_context=None ) lambda_context_mock.create.assert_called_once() lambda_context_mock.run.assert_called_once() diff --git a/tests/unit/commands/local/start_api/test_cli.py b/tests/unit/commands/local/start_api/test_cli.py index 57ae764133..f19dbeff76 100644 --- a/tests/unit/commands/local/start_api/test_cli.py +++ b/tests/unit/commands/local/start_api/test_cli.py @@ -48,6 +48,8 @@ def setUp(self): self.host = "host" self.port = 123 + self.ssl_cert_file = None + self.ssl_key_file = None self.static_dir = "staticdir" self.container_host = "localhost" @@ -99,6 +101,7 @@ def test_cli_must_setup_context_and_start_service(self, local_api_service_mock, lambda_invoke_context=context_mock, port=self.port, host=self.host, + ssl_context=None, static_dir=self.static_dir, disable_authorizer=self.disable_authorizer, ) @@ -219,5 +222,7 @@ def call_cli(self): container_host_interface=self.container_host_interface, invoke_image=self.invoke_image, hook_name=self.hook_name, + ssl_cert_file=self.ssl_cert_file, + ssl_key_file=self.ssl_key_file, disable_authorizer=self.disable_authorizer, ) diff --git a/tests/unit/commands/samconfig/test_samconfig.py b/tests/unit/commands/samconfig/test_samconfig.py index eaeaa54b8a..f1860559e9 100644 --- a/tests/unit/commands/samconfig/test_samconfig.py +++ b/tests/unit/commands/samconfig/test_samconfig.py @@ -461,6 +461,8 @@ def test_local_start_api(self, do_cli_mock): "127.0.0.1", ("image",), None, + None, + None, ) @patch("samcli.commands.local.start_lambda.cli.do_cli") @@ -1057,7 +1059,9 @@ def test_override_with_cli_params(self, do_cli_mock): } # NOTE: Because we don't load the full Click BaseCommand here, this is mounted as top-level command - with samconfig_parameters(["start-lambda"], self.scratch_dir, **config_values) as config_path: + with samconfig_parameters( + ["start-lambda"], self.scratch_dir, **config_values + ) as config_path, tempfile.NamedTemporaryFile() as key_file, tempfile.NamedTemporaryFile() as cert_file: from samcli.commands.local.start_lambda.cli import cli LOG.debug(Path(config_path).read_text()) @@ -1159,7 +1163,9 @@ def test_override_with_cli_params_and_envvars(self, do_cli_mock): } # NOTE: Because we don't load the full Click BaseCommand here, this is mounted as top-level command - with samconfig_parameters(["start-lambda"], self.scratch_dir, **config_values) as config_path: + with samconfig_parameters( + ["start-lambda"], self.scratch_dir, **config_values + ) as config_path, tempfile.NamedTemporaryFile() as key_file, tempfile.NamedTemporaryFile() as cert_file: from samcli.commands.local.start_lambda.cli import cli LOG.debug(Path(config_path).read_text()) diff --git a/tests/unit/lib/observability/cw_logs/test_cw_log_group_provider.py b/tests/unit/lib/observability/cw_logs/test_cw_log_group_provider.py index ac7cd0843c..23a753ed19 100644 --- a/tests/unit/lib/observability/cw_logs/test_cw_log_group_provider.py +++ b/tests/unit/lib/observability/cw_logs/test_cw_log_group_provider.py @@ -1,5 +1,5 @@ from unittest import TestCase -from unittest.mock import Mock, ANY +from unittest.mock import Mock, ANY, call from parameterized import parameterized @@ -26,6 +26,9 @@ def test_must_return_custom_log_group_name(self): result = LogGroupProvider.for_lambda_function(given_client_provider, "my_function_name") self.assertEqual(expected, result) + given_client_provider.assert_has_calls( + [call("lambda").get_function_configuration(FunctionName="my_function_name")] + ) def test_must_return_default_log_group_name_with_exception_raised(self): expected = "/aws/lambda/my_function_name" diff --git a/tests/unit/lib/sync/test_infra_sync_executor.py b/tests/unit/lib/sync/test_infra_sync_executor.py index 9142df482a..9c41dbeb65 100644 --- a/tests/unit/lib/sync/test_infra_sync_executor.py +++ b/tests/unit/lib/sync/test_infra_sync_executor.py @@ -518,6 +518,62 @@ def test_auto_skip_infra_sync_exception(self, session_mock, get_template_mock, l self.assertFalse(infra_sync_executor._auto_skip_infra_sync("path", "path2", "stack_name")) + # Test stack parameters are { 'Foo' : 'Bar', 'Apples' : 'Oranges' } + @parameterized.expand( + [ + ({"Foo": "Bar"}, True), # Subset + ({"Foo": "Bar", "Apples": "Oranges"}, True), # Equal + ({"Apples": "Oranges", "Foo": "Bar"}, True), # Equal, different order + ({"Foo": "Bar", "Apples": "Grapes"}, False), # One pair matches the other does not + ( + {"Foo": "Bar", "Apples": "Oranges", "Red": "Blue"}, + False, + ), # Overrides is a superset of current parameters + ] + ) + @patch("samcli.lib.sync.infra_sync_executor.is_local_path") + @patch("samcli.lib.sync.infra_sync_executor.get_template_data") + @patch("samcli.lib.sync.infra_sync_executor.Session") + def test_auto_skip_infra_sync_param_overrides( + self, param_overrides, expect_skip_infra_sync, session_mock, get_template_mock, local_path_mock + ): + built_template_dict = { + "Resources": { + "ServerlessFunction": {"Type": "AWS::Serverless::Function", "Properties": {"CodeUri": "local/"}} + } + } + packaged_template_dict = { + "Resources": { + "ServerlessFunction": {"Type": "AWS::Serverless::Function", "Properties": {"CodeUri": "https://s3_new"}} + } + } + + get_template_mock.side_effect = [packaged_template_dict, built_template_dict] + local_path_mock.return_value = True + + infra_sync_executor = InfraSyncExecutor( + self.build_context, self.package_context, self.deploy_context, self.sync_context + ) + infra_sync_executor._cfn_client.get_template.return_value = { + "TemplateBody": """{ + "Resources": { + "ServerlessFunction": {"Type": "AWS::Serverless::Function", "Properties": {"CodeUri": "https://s3"}} + } + }""" + } + + infra_sync_executor._get_stack_parameters = MagicMock() + + infra_sync_executor._get_stack_parameters.return_value = [ + {"ParameterKey": "Foo", "ParameterValue": "Bar"}, + {"ParameterKey": "Apples", "ParameterValue": "Oranges"}, + ] + + self.assertEqual( + infra_sync_executor._auto_skip_infra_sync("path", "path2", "stack_name", param_overrides), + expect_skip_infra_sync, + ) + @patch("samcli.lib.sync.infra_sync_executor.is_local_path") @patch("samcli.lib.sync.infra_sync_executor.Session") def test_sanitize_template(self, session_mock, local_path_mock): diff --git a/tests/unit/local/services/test_base_local_service.py b/tests/unit/local/services/test_base_local_service.py index 34bc44c193..0469b592e4 100644 --- a/tests/unit/local/services/test_base_local_service.py +++ b/tests/unit/local/services/test_base_local_service.py @@ -9,14 +9,14 @@ class TestLocalHostRunner(TestCase): def test_runtime_error_raised_when_app_not_created(self): is_debugging = False - service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1") + service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1", ssl_context=None) with self.assertRaises(RuntimeError): service.run() def test_run_starts_service_multithreaded(self): is_debugging = False # multithreaded - service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1") + service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1", ssl_context=None) service._app = Mock() app_run_mock = Mock() @@ -24,11 +24,11 @@ def test_run_starts_service_multithreaded(self): service.run() - app_run_mock.assert_called_once_with(threaded=True, host="127.0.0.1", port=3000) + app_run_mock.assert_called_once_with(threaded=True, host="127.0.0.1", port=3000, ssl_context=None) def test_run_starts_service_singlethreaded(self): is_debugging = True # singlethreaded - service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1") + service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1", ssl_context=None) service._app = Mock() app_run_mock = Mock() @@ -36,7 +36,7 @@ def test_run_starts_service_singlethreaded(self): service.run() - app_run_mock.assert_called_once_with(threaded=False, host="127.0.0.1", port=3000) + app_run_mock.assert_called_once_with(threaded=False, host="127.0.0.1", port=3000, ssl_context=None) @patch("samcli.local.services.base_local_service.Response") def test_service_response(self, flask_response_patch): @@ -57,7 +57,7 @@ def test_service_response(self, flask_response_patch): def test_create_returns_not_implemented(self): is_debugging = False - service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1") + service = BaseLocalService(is_debugging=is_debugging, port=3000, host="127.0.0.1", ssl_context=None) with self.assertRaises(NotImplementedError): service.create()