Skip to content

Commit

Permalink
feat: Generate sam build schema (#5505)
Browse files Browse the repository at this point in the history
* Generate sam build schema

* Squashed commit of the following:

commit 412f2839a9270e22b7e1e074c1a635218f9aa169
Author: Leonardo Gama <[email protected]>
Date:   Fri Jul 14 11:51:17 2023 -0700

    Fix failing tests

commit bf33e0d841477c8ddc4b1a10aa5ddbbb34946a86
Merge: fa0ac397 84184943
Author: Leonardo Gama <[email protected]>
Date:   Fri Jul 14 11:46:47 2023 -0700

    Merge branch 'develop' into feat/json-schema

commit 84184943aeec2423f1071a88297f7722edf6cbf2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Jul 13 22:10:01 2023 +0000

    chore(deps): bump botocore from 1.29.135 to 1.31.2 in /requirements (#5497)

    * chore(deps): bump botocore from 1.29.135 to 1.31.2 in /requirements

    Bumps [botocore](https:/boto/botocore) from 1.29.135 to 1.31.2.
    - [Changelog](https:/boto/botocore/blob/develop/CHANGELOG.rst)
    - [Commits](https:/boto/botocore/compare/1.29.135...1.31.2)

    ---
    updated-dependencies:
    - dependency-name: botocore
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Update reproducible-linux.txt

    * Update reproducible-mac.txt

    * Update reproducible-linux.txt

    * Update reproducible-mac.txt

    * group all dependabot changes in one PR

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Wing Fung Lau <[email protected]>

commit dd96898d0caf7f767964d21d9b42594f1c07f982
Author: Daniel Mil <[email protected]>
Date:   Thu Jul 13 13:25:04 2023 -0700

    fix: Bump timeout (#5510)

commit 36f8bf970df7a8072eef58ca76405c40e1cc1c90
Author: Lucas <[email protected]>
Date:   Thu Jul 13 12:05:40 2023 -0700

    fix: Revert UTF-8 fixes #5485 and #5427 (#5512)

    * Revert "fix: use StringIO instead of BytesIO with StreamWriter (#5485)"

    This reverts commit 577d0d4e4671413f10cdaa5944ee53de91242841.

    * Revert "fix(invoke): Write in UTF-8 string instead of bytes (#5427)"

    This reverts commit d5ce6d5c25054e7a3ca06c6c2e89f113b7c61842.

commit eedd1ee15435c9ce6815e051a93f270d5929c962
Author: Daniel Mil <[email protected]>
Date:   Thu Jul 13 11:37:03 2023 -0700

    fix: Pin click to be < 8.1.4 temporarily (#5511)

commit c59e3d510b83be76f963b34bd94a5b727ffc0022
Author: Lucas <[email protected]>
Date:   Thu Jul 13 00:17:18 2023 -0700

    chore: bump version to 1.91.0 (#5506)

commit eb18ec1aeeb3e1955112eda89fc4e89a6f688196
Author: berzi <[email protected]>
Date:   Thu Jul 13 02:04:22 2023 +0200

    Allow greater versions of typing_extensions (#5489)

    * allow greater versions of typing_extensions

    * Update requirements/base.txt

    ---------

    Co-authored-by: Wing Fung Lau <[email protected]>

commit 24a541c244cecd0c8ad65e73210a2da222c0448a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Jul 13 00:01:31 2023 +0000

    chore(deps): bump rich from 13.3.3 to 13.4.2 in /requirements (#5495)

    Bumps [rich](https:/Textualize/rich) from 13.3.3 to 13.4.2.
    - [Release notes](https:/Textualize/rich/releases)
    - [Changelog](https:/Textualize/rich/blob/master/CHANGELOG.md)
    - [Commits](https:/Textualize/rich/compare/v13.3.3...v13.4.2)

    ---
    updated-dependencies:
    - dependency-name: rich
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit f358403f2ee92b4e3ef8630aaa8629d753a358f0
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Jul 12 23:16:43 2023 +0000

    chore(deps): bump cryptography from 41.0.1 to 41.0.2 in /requirements (#5496)

    Bumps [cryptography](https:/pyca/cryptography) from 41.0.1 to 41.0.2.
    - [Changelog](https:/pyca/cryptography/blob/main/CHANGELOG.rst)
    - [Commits](https:/pyca/cryptography/compare/41.0.1...41.0.2)

    ---
    updated-dependencies:
    - dependency-name: cryptography
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit baff7420cbff4cf388fee428f58b1b580f844bef
Author: Lucas <[email protected]>
Date:   Wed Jul 12 15:36:39 2023 -0700

    feat: Support YAML file formats for config files (#5469)

    * feat: Abstract SamConfig (#5208)

    * Abstract SamConfig and decouple TOML logic

    * Fix documentation and comments

    * Generalize exception for FileManager

    * Remove FileManager logic to its own file

    * Fix bug in setting a default FileManager

    * Implement requested changes
    This includes additional logging messages, as well as explicitly requiring file extensions

    * Include supported extensions in log call

    * Implement requested changes

    * Update docstrings

    * Refactor changes to preserve TOML comments

    * Allow file document to update properly

    * Remove duplicate data
    Since TOMLDocument wraps a Python dictionary anyway, we don't need the separate information

    * Add put comment for FileManager

    * Implement requested changes

    * Format files according to standard

    * Implement helper method for dict-like to TOMLDocument

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * feat: Add YAML config file option (#5253)

    * Abstract SamConfig and decouple TOML logic

    * Fix documentation and comments

    * Generalize exception for FileManager

    * Remove FileManager logic to its own file

    * Fix bug in setting a default FileManager

    * Implement requested changes
    This includes additional logging messages, as well as explicitly requiring file extensions

    * Include supported extensions in log call

    * Implement requested changes

    * Update docstrings

    * Refactor changes to preserve TOML comments

    * Allow file document to update properly

    * Remove duplicate data
    Since TOMLDocument wraps a Python dictionary anyway, we don't need the separate information

    * Add put comment for FileManager

    * Implement requested changes

    * Format files according to standard

    * Implement helper method for dict-like to TOMLDocument

    * Implement YamlFileManager

    * Redefine YAML locally in class

    * Update YAML-cast method

    * Format correctly

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * feat: Add JSON config file option (#5264)

    * Add JsonFileManager

    * Implement requested changes

    * Remove unused line in test

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * chore: Refactor TomlProvider to ConfigProvider (#5273)

    Also, update docstrings to be in NumPy/SciPy format

    Co-authored-by: Leonardo Gama <[email protected]>

    * feat: Add hierarchy for samconfig filetypes (#5297)

    * Add hierarchy for samconfig default filetypes

    * Formatting and fixing tests

    * Implement requested changes

    * Fix logic to properly allow default name

    * Fix linting issue

    * Fix failing Windows test

    * Update default config name in guided config

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * feat: Track config file extension (#5315)

    * Add tracker for config file extensions

    * Repair broken integration tests

    * Clean up metric sort logic

    * Implement requested changes

    * Add Event unit tests

    * Fix formatting

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * feat: Add and fix samconfig integration tests (#5371)

    * Add samconfig integration tests

    * Add config checks to guided deploy integration tests

    * Fix failing integration test on Windows

    * *Actually* fix failing Windows integration test

    * Implement requested changes

    * Fix logging imports

    * Implement requested changes

    * Fix bug comparing ParameterSource enum

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * feat: Fix message when no config file is found (#5394)

    * Fix message when no config file found

    * Formatting

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * chore: Rebase config project to develop (#5406)

    * fix: fix the hardcoded number of stages printed in logs. (#5210)

    * feat: Linking Authorizers to Lambda functions using the invocation URI (#5196)

    * Link authorizer to lambda function invoke URI

    * Updated doc string

    * Updated exception messages back

    * Added check for one element in reference list

    * Updated empty ref list check to not block

    * Updated log message

    * Fix long line lint error

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * chore(deps-dev): bump parameterized from 0.8.1 to 0.9.0 in /requirements (#5214)

    Bumps [parameterized](https:/wolever/parameterized) from 0.8.1 to 0.9.0.
    - [Changelog](https:/wolever/parameterized/blob/master/CHANGELOG.txt)
    - [Commits](https:/wolever/parameterized/compare/v0.8.1...v0.9.0)

    ---
    updated-dependencies:
    - dependency-name: parameterized
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps-dev): bump filelock from 3.10.7 to 3.12.0 in /requirements (#5213)

    Bumps [filelock](https:/tox-dev/py-filelock) from 3.10.7 to 3.12.0.
    - [Release notes](https:/tox-dev/py-filelock/releases)
    - [Changelog](https:/tox-dev/py-filelock/blob/main/docs/changelog.rst)
    - [Commits](https:/tox-dev/py-filelock/compare/3.10.7...3.12.0)

    ---
    updated-dependencies:
    - dependency-name: filelock
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps): bump attrs from 22.2.0 to 23.1.0 in /requirements (#5212)

    Bumps [attrs](https:/python-attrs/attrs) from 22.2.0 to 23.1.0.
    - [Release notes](https:/python-attrs/attrs/releases)
    - [Changelog](https:/python-attrs/attrs/blob/main/CHANGELOG.md)
    - [Commits](https:/python-attrs/attrs/compare/22.2.0...23.1.0)

    ---
    updated-dependencies:
    - dependency-name: attrs
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: update SAM CLI with latest App Templates commit hash (#5211)

    * feat: updating app templates repo hash with (a34f563f067e13df3eb350d36461b99397b6cda6)

    * dummy change to trigger checks

    * revert dummy commit

    ---------

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>

    * fix: fix failing Terraform integration test cases (#5218)

    * fix: fix the failing terraform integration test cases

    * fix: fix the resource address while accessing the module config resources

    * fix: fix checking the experimental log integration test cases

    * chore: bump version to 1.85.0 (#5226)

    * chore: use the SAR Application created in testing accounts (#5221)

    * chore: update aws_lambda_builders to 1.32.0 (#5215)

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>

    * feat: Added linking Gateway Method to Lambda Authorizer (#5228)

    * Added linking method to authorizer

    * Fixed docstring spelling mistake

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * feat: Return early during linking if no destination resources are found (#5220)

    * Returns during linking if no destination resources are found

    * Updated comment to correctly reflect state

    * Cleaned extra word

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * chore: Strengthen wording on "no Auth" during deploy (#5231)

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Sriram Madapusi Vasudevan <[email protected]>

    * feat: Link Lambda Authorizer to Rest API (#5219)

    * Link RestApiId property for Lambda Authorizers

    * Updated docstring

    * Format files

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * feat: updating app templates repo hash with (9ee7db342025a42023882960b23ebfcde1d87422) (#5242)

    Co-authored-by: GitHub Action <[email protected]>

    * fix: handle edge cases with function sync flow in sam sync command (#5222)

    * fix: handle special cases for function sync flow

    * update with unit tests

    * add integration tests

    * set ADL to false

    * fix update file methods

    * address comments

    * address comments to instantiate FunctionBuildInfo in the beginning

    * chore: Upgrade Mac installer to Py3.11 (#5223)

    * chore: Upgrade Mac installer to Py3.11

    * Remove python in mac installer build process

    * Update hardcoded python version in build-mac.sh

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>

    * feat: updating app templates repo hash with (66f4a230d1c939a0c3f7b5647710c694c3a486f7) (#5245)

    Co-authored-by: GitHub Action <[email protected]>

    * Revert "chore: Upgrade Mac installer to Py3.11 (#5223)" (#5252)

    This reverts commit 5954042d0bced7fea329c06930f021915ed9b746.

    * fix: add 3.11 to classifiers and upgrade Docker (#5225)

    * fix: add 3.11 to classifiers

    - update dependencies, need to nail down the versions.

    * Pin dev dependencies and handle excluding folders for mypy

    * Remove unneeded type: ignores

    * Fix name-match mypy errors

    * Fix empty-body error from mypy

    * Fix mypy errors by ignoring and get pytest to run/pass

    * Force mypy to not fail hopefully

    * Remove unneeded assignment

    * Update pinned requirements file

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>

    * fix: fix build and deploy SAR integration test cases (#5244)

    * fix: fix build SAR integration test cases

    * add comments to the UpdatableSARTemplate class usage.

    * fix black check

    * chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /requirements (#5257)

    Bumps [markupsafe](https:/pallets/markupsafe) from 2.1.2 to 2.1.3.
    - [Release notes](https:/pallets/markupsafe/releases)
    - [Changelog](https:/pallets/markupsafe/blob/main/CHANGES.rst)
    - [Commits](https:/pallets/markupsafe/compare/2.1.2...2.1.3)

    ---
    updated-dependencies:
    - dependency-name: markupsafe
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps): bump pydantic from 1.10.7 to 1.10.8 in /requirements (#5258)

    Bumps [pydantic](https:/pydantic/pydantic) from 1.10.7 to 1.10.8.
    - [Release notes](https:/pydantic/pydantic/releases)
    - [Changelog](https:/pydantic/pydantic/blob/v1.10.8/HISTORY.md)
    - [Commits](https:/pydantic/pydantic/compare/v1.10.7...v1.10.8)

    ---
    updated-dependencies:
    - dependency-name: pydantic
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: Add click command for cloud invoke command (#5238)

    * Add custom click option for cloud invoke called parameter

    * Added more error handling to executors and updated output-format enum to use auto

    * Add new CLI command for cloud invoke

    * Update samcli/commands/remote_invoke/invoke/cli.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Update samcli/commands/remote_invoke/invoke/cli.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Update samcli/commands/remote_invoke/cloud.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Update samcli/cli/types.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Address feedback

    * Moved all command options to be handled by click configuration

    * Updated validation function doc-string

    * Updated debug logs in types.py

    * Changed remote_invoke dir to cloud and updated log level for validation

    * Address feedback

    ---------

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * chore(deps-dev): bump boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray] (#5256)

    Bumps [boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]](https:/youtype/mypy_boto3_builder) from 1.26.131 to 1.26.146.
    - [Release notes](https:/youtype/mypy_boto3_builder/releases)
    - [Commits](https:/youtype/mypy_boto3_builder/commits)

    ---
    updated-dependencies:
    - dependency-name: boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * pin pytest-metadata to avoid its breaking change (#5261)

    * chore: update aws_lambda_builders to 1.33.0 (#5262)

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Daniel Mil <[email protected]>

    * chore: Add python3.11 to canaries (#5263)

    * chore: Add python3.11 to canaries

    * Remove python3.9

    * Artifact export for GraphQLApi (#5250)

    * Artifact export for GraphQLApi

    * format

    * docstrings

    * fix unit tests

    * fix mypy issues

    * improve search method signature

    * chore: bump version to 1.86.0 (#5266)

    * fix: add constant str for enums to support deepcopy operation (#5265)

    * fix: add constant str for enums to support deepcopy operation

    * add unit tests

    * formatting

    * update automated updates gha to force restart of status checks (#5269)

    * integration tests for graphql resource package (#5271)

    * Revert "fix: add 3.11 to classifiers and upgrade Docker (#5225)"

    This reverts commit b51d6617340853d891469ff7a4dcc5bb88175389.

    * chore: bump version to 1.86.1

    * chore: Upgrade Docker-py/ Support Py3.11 for running tests (#5279)

    * fix: add 3.11 to classifiers and upgrade Docker (#5225)

    * fix: add 3.11 to classifiers

    - update dependencies, need to nail down the versions.

    * Pin dev dependencies and handle excluding folders for mypy

    * Remove unneeded type: ignores

    * Fix name-match mypy errors

    * Fix empty-body error from mypy

    * Fix mypy errors by ignoring and get pytest to run/pass

    * Force mypy to not fail hopefully

    * Remove unneeded assignment

    * Update pinned requirements file

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>

    * chore: Force version on docker and allow unit test to run when docker not running

    In order for the docker.from_env() not to fail when docker is not installed/running,
    we force the min version on client creation. This was the default behavior in 4.X of
    docker-py but not longer in the latest version.

    ---------

    Co-authored-by: Sriram Madapusi Vasudevan <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>

    * test: GHA to Execute Test without Docker Running (#5290)

    * test: Test without Docker running

    * Add build test

    * Run install

    * Remove success condition

    * Add continue on error

    * Add continue on error

    * Separate tests

    * Fix test name

    * Require new test

    * Address comments

    * Attempt to parameterize for windows

    * Attempt to parameterize for windows

    * Attempt to parameterize for windows

    * Set samdev in environment

    * Move skip to top of test class

    * fix: remove ruby3.2 from preview runtimes (#5296)

    * fix: remove ruby3.2 from preview runtimes

    * update {} with set()

    * Fix: Force docker version to match 4.2's default version (#5305)

    Co-authored-by: Jacob Fuss <[email protected]>

    * chore: cleanup appveyor definitions for not running jobs which is already run with GHA & add docker info/version commands (#5306)

    * chore: remove redundant tests and setup from appveyor definitions

    * add/update docker info and docker version commands

    * add 3.11 and macos to GHAs

    * add some explanations to Windows section

    * fix: Fix failing tests on Python3.11 (#5317)

    * chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements (#5251)

    * chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements

    Bumps [cryptography](https:/pyca/cryptography) from 39.0.2 to 41.0.0.
    - [Changelog](https:/pyca/cryptography/blob/main/CHANGELOG.rst)
    - [Commits](https:/pyca/cryptography/compare/39.0.2...41.0.0)

    ---
    updated-dependencies:
    - dependency-name: cryptography
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Bump pyopenssl version to support newer cryptography lib

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Lucas <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * add sleep between close and reopen (#5320)

    * GraphQLApi support for `sam deploy` (#5294)

    * GraphQLApi support for `sam deploy`

    * unit tests and format fixes

    * fix: Update Arn parsing logic and fix some edge cases/bug fixes for remote invoke (#5295)

    * Fix some edge cases and bug fixes for remote invoke and update Arn parsing logic

    * Address feedback

    * Add unit test for s3 with no region/accoint_id provided

    * Renamed command to sam remote invoke

    * chore: update aws_lambda_builders to 1.34.0 (#5343)

    * chore: update aws_lambda_builders to 1.34.0

    * Update base.txt

    ---------

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>

    * test: test building npm and Typescript projects using external manifest file. (#5283)

    * test: test building npm and Typescript projects using external manifest file.

    * fix mypy issues

    * remove node 12.x, and add the new node versions

    * run make format

    * chore(deps-dev): bump ruff from 0.0.261 to 0.0.272 in /requirements (#5337)

    Bumps [ruff](https:/charliermarsh/ruff) from 0.0.261 to 0.0.272.
    - [Release notes](https:/charliermarsh/ruff/releases)
    - [Changelog](https:/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
    - [Commits](https:/charliermarsh/ruff/compare/v0.0.261...v0.0.272)

    ---
    updated-dependencies:
    - dependency-name: ruff
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps-dev): bump pytest-cov from 4.0.0 to 4.1.0 in /requirements (#5335)

    Bumps [pytest-cov](https:/pytest-dev/pytest-cov) from 4.0.0 to 4.1.0.
    - [Changelog](https:/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
    - [Commits](https:/pytest-dev/pytest-cov/compare/v4.0.0...v4.1.0)

    ---
    updated-dependencies:
    - dependency-name: pytest-cov
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: add lambda streaming support for remote invoke (#5307)

    * feat: support response streaming with remote invoke

    * add invoker and mappers

    * Update output formatting of stream response

    * add unit tests

    * fix formatting

    * Add docs

    * address comments

    * formatting

    * move is_function_invoke_mode_response_stream into lambda invoke executors and add/update string constants

    * chore: bump version to 1.87.0

    * Revert app templates gha (#5356)

    * Revert "add sleep between close and reopen (#5320)"

    This reverts commit 5be690c88d580cfeee7731f549c75ed7543f47c5.

    * Revert "update automated updates gha to force restart of status checks (#5269)"

    This reverts commit deb212bc21eda2be0290e9a30f296aa74331e6c3.

    * refactor: make remote invoke reactive to display results as soon as they are available (#5359)

    * refactor: make remote invoke reactive to display results as soon as they are available

    * addressed the comments

    * refactor init_clients in sam delete (#5360)

    * refactor init_clients in sam delete

    * remove unused line

    * use client_provider

    * fix broken tests

    * Update samcli/commands/delete/delete_context.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * add telemetry

    * fix format

    ---------

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * chore: update aws-sam-translator to 1.69.0 (#5370)

    Co-authored-by: GitHub Action <[email protected]>

    * feat: sam remote invoke help text and UX fixes (#5366)

    * Improve remote invoke help text and fix some UX bugs

    * Updated help text for parameter option

    * Updated test class name

    * Updated test method name

    * Updated help text for output-format and event-file

    * Address feedback

    * Updated help text for parameter option

    * Changed --output-format name to output and the values to text/json

    * Handle empty event for lambda and read from stdin when - is passed for event-file

    * chore: temporary pin python version to 3.7.16 (#5384)

    * chore: temporary pin python version to 3.7.16

    * fix github action syntax error

    * Updated cfn-lint to support ruby3.2 in validate (#5375)

    * Remove unneeded test cases (#5374)

    * Remove unneeded test cases

    * Removing the two integ test cases as there is already coverage in unit test for cases that no region is specified

    * feat: updating app templates repo hash with (67f28fd83477e0e15b394f995afb33b2053b4074) (#5362)

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * test: Integration tests for remote invoke on regular lambda functions (#5382)

    * Created base integ glass for remote invoke tests

    * Add integration tests for invoking lambda functions

    * make black

    * Moved tearDownClass to base class

    * Removed tearDown class from inherited classes and updated lambda fn timeout

    * Remove the check to skip appveyor tests on master branch

    * feat: Make remote invoke command available (#5381)

    * Enabled remote invoke command and updated docs link

    * Created base integ glass for remote invoke tests

    * Added end2end integ tests for remote invoke

    * make black

    * Moved tearDownClass to base class

    * Remove the check to skip appveyor tests on master branch

    * test: Remote invoke integration tests for response stream configured lambda functions  (#5383)

    * Created base integ glass for remote invoke tests

    * Add integration tests for invoking response streaming lambda fns

    * make black

    * Moved tearDownClass to base class

    * Moved tearDownClass method to base class and removed architectures from template file

    * Remove the check to skip appveyor tests on master branch

    * chore: bump version to 1.88.0 (#5393)

    * chore: fix issues with appveyor ubuntu setup #5395

    * chore: remove deprecated runtime dotnetcore3.1 (#5091)

    * chore: remove deprecated runtime dotnetcore3.1

    * apply pr comments

    * fix(invoke): Write in UTF-8 string instead of bytes. (#5232)

    * fix(invoke): Write in UTF-8 string instead of bytes.

    It appears that we were using sys.stdout.buffer to support python2
    and python3 at the same time. Switching to just write to sys.stdout
    allows us to write a utf-8 encoding string. When using sys.stdout.buffer,
    we can only write bytes and I couldn't get the correct UTF8 encoded
    string to print correctly.

    * Fix ruff errors

    * Update log_streamer.py to remove encoding

    * More updates to make everything work better in general

    * Fix with ruff again

    * Explictingly write to stream for building images

    * More patching writes

    * More patching

    * Fix long line

    * Use mock over io.string

    * More fixing of tests

    * Assert mock instead of data directly

    * More small edits in test

    * Verify through calls instead of value

    * run make black

    * Fix when we flush to match pervious behavior and output

    * add integration tests

    * run make black

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Revert "fix(invoke): Write in UTF-8 string instead of bytes. (#5232)" (#5401)

    This reverts commit 97104eac05c47aec1c7db62cb98cd050c7656d3d.

    * Add sanity check script and use it in pyinstaller GHA (#5400)

    * Add sanity check script and use it in pyinstaller GHA

    * set pipefail in sanity-check.sh

    * Make CI_OVERRIDE a global env var in the GHA workflow

    * setup go in GHA

    * disable telemetry

    * Update script to check binary existence and to fix an issue in go build

    * Resolve changes

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>
    Co-authored-by: Lucas <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Sriram Madapusi Vasudevan <[email protected]>
    Co-authored-by: Mehmet Nuri Deveci <[email protected]>
    Co-authored-by: Wing Fung Lau <[email protected]>
    Co-authored-by: hnnasit <[email protected]>
    Co-authored-by: Daniel Mil <[email protected]>
    Co-authored-by: Slava Senchenko <[email protected]>
    Co-authored-by: Leonardo Gama <[email protected]>

    * Disable JSON file extension support (#5426)

    Co-authored-by: Leonardo Gama <[email protected]>

    * feat: Repair and refine tests (#5431)

    * Fix failing integration test

    * Add FileManager check for array param

    ---------

    Co-authored-by: Leonardo Gama <[email protected]>

    * chore: Update feat/config-files branch with changes from develop (#5466)

    * fix: fix the hardcoded number of stages printed in logs. (#5210)

    * feat: Linking Authorizers to Lambda functions using the invocation URI (#5196)

    * Link authorizer to lambda function invoke URI

    * Updated doc string

    * Updated exception messages back

    * Added check for one element in reference list

    * Updated empty ref list check to not block

    * Updated log message

    * Fix long line lint error

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * chore(deps-dev): bump parameterized from 0.8.1 to 0.9.0 in /requirements (#5214)

    Bumps [parameterized](https:/wolever/parameterized) from 0.8.1 to 0.9.0.
    - [Changelog](https:/wolever/parameterized/blob/master/CHANGELOG.txt)
    - [Commits](https:/wolever/parameterized/compare/v0.8.1...v0.9.0)

    ---
    updated-dependencies:
    - dependency-name: parameterized
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps-dev): bump filelock from 3.10.7 to 3.12.0 in /requirements (#5213)

    Bumps [filelock](https:/tox-dev/py-filelock) from 3.10.7 to 3.12.0.
    - [Release notes](https:/tox-dev/py-filelock/releases)
    - [Changelog](https:/tox-dev/py-filelock/blob/main/docs/changelog.rst)
    - [Commits](https:/tox-dev/py-filelock/compare/3.10.7...3.12.0)

    ---
    updated-dependencies:
    - dependency-name: filelock
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps): bump attrs from 22.2.0 to 23.1.0 in /requirements (#5212)

    Bumps [attrs](https:/python-attrs/attrs) from 22.2.0 to 23.1.0.
    - [Release notes](https:/python-attrs/attrs/releases)
    - [Changelog](https:/python-attrs/attrs/blob/main/CHANGELOG.md)
    - [Commits](https:/python-attrs/attrs/compare/22.2.0...23.1.0)

    ---
    updated-dependencies:
    - dependency-name: attrs
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: update SAM CLI with latest App Templates commit hash (#5211)

    * feat: updating app templates repo hash with (a34f563f067e13df3eb350d36461b99397b6cda6)

    * dummy change to trigger checks

    * revert dummy commit

    ---------

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>

    * fix: fix failing Terraform integration test cases (#5218)

    * fix: fix the failing terraform integration test cases

    * fix: fix the resource address while accessing the module config resources

    * fix: fix checking the experimental log integration test cases

    * chore: bump version to 1.85.0 (#5226)

    * chore: use the SAR Application created in testing accounts (#5221)

    * chore: update aws_lambda_builders to 1.32.0 (#5215)

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>

    * feat: Added linking Gateway Method to Lambda Authorizer (#5228)

    * Added linking method to authorizer

    * Fixed docstring spelling mistake

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * feat: Return early during linking if no destination resources are found (#5220)

    * Returns during linking if no destination resources are found

    * Updated comment to correctly reflect state

    * Cleaned extra word

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * chore: Strengthen wording on "no Auth" during deploy (#5231)

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Sriram Madapusi Vasudevan <[email protected]>

    * feat: Link Lambda Authorizer to Rest API (#5219)

    * Link RestApiId property for Lambda Authorizers

    * Updated docstring

    * Format files

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * feat: updating app templates repo hash with (9ee7db342025a42023882960b23ebfcde1d87422) (#5242)

    Co-authored-by: GitHub Action <[email protected]>

    * fix: handle edge cases with function sync flow in sam sync command (#5222)

    * fix: handle special cases for function sync flow

    * update with unit tests

    * add integration tests

    * set ADL to false

    * fix update file methods

    * address comments

    * address comments to instantiate FunctionBuildInfo in the beginning

    * chore: Upgrade Mac installer to Py3.11 (#5223)

    * chore: Upgrade Mac installer to Py3.11

    * Remove python in mac installer build process

    * Update hardcoded python version in build-mac.sh

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>

    * feat: updating app templates repo hash with (66f4a230d1c939a0c3f7b5647710c694c3a486f7) (#5245)

    Co-authored-by: GitHub Action <[email protected]>

    * Revert "chore: Upgrade Mac installer to Py3.11 (#5223)" (#5252)

    This reverts commit 5954042d0bced7fea329c06930f021915ed9b746.

    * fix: add 3.11 to classifiers and upgrade Docker (#5225)

    * fix: add 3.11 to classifiers

    - update dependencies, need to nail down the versions.

    * Pin dev dependencies and handle excluding folders for mypy

    * Remove unneeded type: ignores

    * Fix name-match mypy errors

    * Fix empty-body error from mypy

    * Fix mypy errors by ignoring and get pytest to run/pass

    * Force mypy to not fail hopefully

    * Remove unneeded assignment

    * Update pinned requirements file

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>

    * fix: fix build and deploy SAR integration test cases (#5244)

    * fix: fix build SAR integration test cases

    * add comments to the UpdatableSARTemplate class usage.

    * fix black check

    * chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /requirements (#5257)

    Bumps [markupsafe](https:/pallets/markupsafe) from 2.1.2 to 2.1.3.
    - [Release notes](https:/pallets/markupsafe/releases)
    - [Changelog](https:/pallets/markupsafe/blob/main/CHANGES.rst)
    - [Commits](https:/pallets/markupsafe/compare/2.1.2...2.1.3)

    ---
    updated-dependencies:
    - dependency-name: markupsafe
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps): bump pydantic from 1.10.7 to 1.10.8 in /requirements (#5258)

    Bumps [pydantic](https:/pydantic/pydantic) from 1.10.7 to 1.10.8.
    - [Release notes](https:/pydantic/pydantic/releases)
    - [Changelog](https:/pydantic/pydantic/blob/v1.10.8/HISTORY.md)
    - [Commits](https:/pydantic/pydantic/compare/v1.10.7...v1.10.8)

    ---
    updated-dependencies:
    - dependency-name: pydantic
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: Add click command for cloud invoke command (#5238)

    * Add custom click option for cloud invoke called parameter

    * Added more error handling to executors and updated output-format enum to use auto

    * Add new CLI command for cloud invoke

    * Update samcli/commands/remote_invoke/invoke/cli.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Update samcli/commands/remote_invoke/invoke/cli.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Update samcli/commands/remote_invoke/cloud.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Update samcli/cli/types.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Address feedback

    * Moved all command options to be handled by click configuration

    * Updated validation function doc-string

    * Updated debug logs in types.py

    * Changed remote_invoke dir to cloud and updated log level for validation

    * Address feedback

    ---------

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * chore(deps-dev): bump boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray] (#5256)

    Bumps [boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]](https:/youtype/mypy_boto3_builder) from 1.26.131 to 1.26.146.
    - [Release notes](https:/youtype/mypy_boto3_builder/releases)
    - [Commits](https:/youtype/mypy_boto3_builder/commits)

    ---
    updated-dependencies:
    - dependency-name: boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * pin pytest-metadata to avoid its breaking change (#5261)

    * chore: update aws_lambda_builders to 1.33.0 (#5262)

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Daniel Mil <[email protected]>

    * chore: Add python3.11 to canaries (#5263)

    * chore: Add python3.11 to canaries

    * Remove python3.9

    * Artifact export for GraphQLApi (#5250)

    * Artifact export for GraphQLApi

    * format

    * docstrings

    * fix unit tests

    * fix mypy issues

    * improve search method signature

    * chore: bump version to 1.86.0 (#5266)

    * fix: add constant str for enums to support deepcopy operation (#5265)

    * fix: add constant str for enums to support deepcopy operation

    * add unit tests

    * formatting

    * update automated updates gha to force restart of status checks (#5269)

    * integration tests for graphql resource package (#5271)

    * Revert "fix: add 3.11 to classifiers and upgrade Docker (#5225)"

    This reverts commit b51d6617340853d891469ff7a4dcc5bb88175389.

    * chore: bump version to 1.86.1

    * chore: Upgrade Docker-py/ Support Py3.11 for running tests (#5279)

    * fix: add 3.11 to classifiers and upgrade Docker (#5225)

    * fix: add 3.11 to classifiers

    - update dependencies, need to nail down the versions.

    * Pin dev dependencies and handle excluding folders for mypy

    * Remove unneeded type: ignores

    * Fix name-match mypy errors

    * Fix empty-body error from mypy

    * Fix mypy errors by ignoring and get pytest to run/pass

    * Force mypy to not fail hopefully

    * Remove unneeded assignment

    * Update pinned requirements file

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>

    * chore: Force version on docker and allow unit test to run when docker not running

    In order for the docker.from_env() not to fail when docker is not installed/running,
    we force the min version on client creation. This was the default behavior in 4.X of
    docker-py but not longer in the latest version.

    ---------

    Co-authored-by: Sriram Madapusi Vasudevan <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>

    * test: GHA to Execute Test without Docker Running (#5290)

    * test: Test without Docker running

    * Add build test

    * Run install

    * Remove success condition

    * Add continue on error

    * Add continue on error

    * Separate tests

    * Fix test name

    * Require new test

    * Address comments

    * Attempt to parameterize for windows

    * Attempt to parameterize for windows

    * Attempt to parameterize for windows

    * Set samdev in environment

    * Move skip to top of test class

    * fix: remove ruby3.2 from preview runtimes (#5296)

    * fix: remove ruby3.2 from preview runtimes

    * update {} with set()

    * Fix: Force docker version to match 4.2's default version (#5305)

    Co-authored-by: Jacob Fuss <[email protected]>

    * chore: cleanup appveyor definitions for not running jobs which is already run with GHA & add docker info/version commands (#5306)

    * chore: remove redundant tests and setup from appveyor definitions

    * add/update docker info and docker version commands

    * add 3.11 and macos to GHAs

    * add some explanations to Windows section

    * fix: Fix failing tests on Python3.11 (#5317)

    * chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements (#5251)

    * chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements

    Bumps [cryptography](https:/pyca/cryptography) from 39.0.2 to 41.0.0.
    - [Changelog](https:/pyca/cryptography/blob/main/CHANGELOG.rst)
    - [Commits](https:/pyca/cryptography/compare/39.0.2...41.0.0)

    ---
    updated-dependencies:
    - dependency-name: cryptography
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Bump pyopenssl version to support newer cryptography lib

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Lucas <[email protected]>
    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * add sleep between close and reopen (#5320)

    * GraphQLApi support for `sam deploy` (#5294)

    * GraphQLApi support for `sam deploy`

    * unit tests and format fixes

    * fix: Update Arn parsing logic and fix some edge cases/bug fixes for remote invoke (#5295)

    * Fix some edge cases and bug fixes for remote invoke and update Arn parsing logic

    * Address feedback

    * Add unit test for s3 with no region/accoint_id provided

    * Renamed command to sam remote invoke

    * chore: update aws_lambda_builders to 1.34.0 (#5343)

    * chore: update aws_lambda_builders to 1.34.0

    * Update base.txt

    ---------

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>

    * test: test building npm and Typescript projects using external manifest file. (#5283)

    * test: test building npm and Typescript projects using external manifest file.

    * fix mypy issues

    * remove node 12.x, and add the new node versions

    * run make format

    * chore(deps-dev): bump ruff from 0.0.261 to 0.0.272 in /requirements (#5337)

    Bumps [ruff](https:/charliermarsh/ruff) from 0.0.261 to 0.0.272.
    - [Release notes](https:/charliermarsh/ruff/releases)
    - [Changelog](https:/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
    - [Commits](https:/charliermarsh/ruff/compare/v0.0.261...v0.0.272)

    ---
    updated-dependencies:
    - dependency-name: ruff
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps-dev): bump pytest-cov from 4.0.0 to 4.1.0 in /requirements (#5335)

    Bumps [pytest-cov](https:/pytest-dev/pytest-cov) from 4.0.0 to 4.1.0.
    - [Changelog](https:/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
    - [Commits](https:/pytest-dev/pytest-cov/compare/v4.0.0...v4.1.0)

    ---
    updated-dependencies:
    - dependency-name: pytest-cov
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: add lambda streaming support for remote invoke (#5307)

    * feat: support response streaming with remote invoke

    * add invoker and mappers

    * Update output formatting of stream response

    * add unit tests

    * fix formatting

    * Add docs

    * address comments

    * formatting

    * move is_function_invoke_mode_response_stream into lambda invoke executors and add/update string constants

    * chore: bump version to 1.87.0

    * Revert app templates gha (#5356)

    * Revert "add sleep between close and reopen (#5320)"

    This reverts commit 5be690c88d580cfeee7731f549c75ed7543f47c5.

    * Revert "update automated updates gha to force restart of status checks (#5269)"

    This reverts commit deb212bc21eda2be0290e9a30f296aa74331e6c3.

    * refactor: make remote invoke reactive to display results as soon as they are available (#5359)

    * refactor: make remote invoke reactive to display results as soon as they are available

    * addressed the comments

    * refactor init_clients in sam delete (#5360)

    * refactor init_clients in sam delete

    * remove unused line

    * use client_provider

    * fix broken tests

    * Update samcli/commands/delete/delete_context.py

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * add telemetry

    * fix format

    ---------

    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * chore: update aws-sam-translator to 1.69.0 (#5370)

    Co-authored-by: GitHub Action <[email protected]>

    * feat: sam remote invoke help text and UX fixes (#5366)

    * Improve remote invoke help text and fix some UX bugs

    * Updated help text for parameter option

    * Updated test class name

    * Updated test method name

    * Updated help text for output-format and event-file

    * Address feedback

    * Updated help text for parameter option

    * Changed --output-format name to output and the values to text/json

    * Handle empty event for lambda and read from stdin when - is passed for event-file

    * chore: temporary pin python version to 3.7.16 (#5384)

    * chore: temporary pin python version to 3.7.16

    * fix github action syntax error

    * Updated cfn-lint to support ruby3.2 in validate (#5375)

    * Remove unneeded test cases (#5374)

    * Remove unneeded test cases

    * Removing the two integ test cases as there is already coverage in unit test for cases that no region is specified

    * feat: updating app templates repo hash with (67f28fd83477e0e15b394f995afb33b2053b4074) (#5362)

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * test: Integration tests for remote invoke on regular lambda functions (#5382)

    * Created base integ glass for remote invoke tests

    * Add integration tests for invoking lambda functions

    * make black

    * Moved tearDownClass to base class

    * Removed tearDown class from inherited classes and updated lambda fn timeout

    * Remove the check to skip appveyor tests on master branch

    * feat: Make remote invoke command available (#5381)

    * Enabled remote invoke command and updated docs link

    * Created base integ glass for remote invoke tests

    * Added end2end integ tests for remote invoke

    * make black

    * Moved tearDownClass to base class

    * Remove the check to skip appveyor tests on master branch

    * test: Remote invoke integration tests for response stream configured lambda functions  (#5383)

    * Created base integ glass for remote invoke tests

    * Add integration tests for invoking response streaming lambda fns

    * make black

    * Moved tearDownClass to base class

    * Moved tearDownClass method to base class and removed architectures from template file

    * Remove the check to skip appveyor tests on master branch

    * chore: bump version to 1.88.0 (#5393)

    * chore: fix issues with appveyor ubuntu setup #5395

    * chore: remove deprecated runtime dotnetcore3.1 (#5091)

    * chore: remove deprecated runtime dotnetcore3.1

    * apply pr comments

    * fix(invoke): Write in UTF-8 string instead of bytes. (#5232)

    * fix(invoke): Write in UTF-8 string instead of bytes.

    It appears that we were using sys.stdout.buffer to support python2
    and python3 at the same time. Switching to just write to sys.stdout
    allows us to write a utf-8 encoding string. When using sys.stdout.buffer,
    we can only write bytes and I couldn't get the correct UTF8 encoded
    string to print correctly.

    * Fix ruff errors

    * Update log_streamer.py to remove encoding

    * More updates to make everything work better in general

    * Fix with ruff again

    * Explictingly write to stream for building images

    * More patching writes

    * More patching

    * Fix long line

    * Use mock over io.string

    * More fixing of tests

    * Assert mock instead of data directly

    * More small edits in test

    * Verify through calls instead of value

    * run make black

    * Fix when we flush to match pervious behavior and output

    * add integration tests

    * run make black

    ---------

    Co-authored-by: Jacob Fuss <[email protected]>
    Co-authored-by: Mehmet Nuri Deveci <[email protected]>

    * Revert "fix(invoke): Write in UTF-8 string instead of bytes. (#5232)" (#5401)

    This reverts commit 97104eac05c47aec1c7db62cb98cd050c7656d3d.

    * Add sanity check script and use it in pyinstaller GHA (#5400)

    * Add sanity check script and use it in pyinstaller GHA

    * set pipefail in sanity-check.sh

    * Make CI_OVERRIDE a global env var in the GHA workflow

    * setup go in GHA

    * disable telemetry

    * Update script to check binary existence and to fix an issue in go build

    * chore: update aws-sam-translator to 1.70.0 (#5402)

    Co-authored-by: GitHub Action <[email protected]>

    * Version bump to 1.89.0 (#5420)

    * chore(docs): updated readme with additional resources (#5349)

    * chore: updated gitignore to ignore tmp scratch directory
    used by dotnet tests

    * chore: update readme to include additional workshop resources and missing Powertools links.
    Fixed formatting

    ---------

    Co-authored-by: Mohamed Elasmar <[email protected]>

    * chore(deps): bump actions/setup-go from 3 to 4 (#5418)

    Bumps [actions/setup-go](https:/actions/setup-go) from 3 to 4.
    - [Release notes](https:/actions/setup-go/releases)
    - [Commits](https:/actions/setup-go/compare/v3...v4)

    ---
    updated-dependencies:
    - dependency-name: actions/setup-go
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Sriram Madapusi Vasudevan <[email protected]>

    * chore(deps-dev): bump filelock from 3.12.0 to 3.12.2 in /requirements (#5378)

    Bumps [filelock](https:/tox-dev/py-filelock) from 3.12.0 to 3.12.2.
    - [Release notes](https:/tox-dev/py-filelock/releases)
    - [Changelog](https:/tox-dev/py-filelock/blob/main/docs/changelog.rst)
    - [Commits](https:/tox-dev/py-filelock/compare/3.12.0...3.12.2)

    ---
    updated-dependencies:
    - dependency-name: filelock
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: updating app templates repo hash with (bb905c379830c3d8edbc196bda731076549028e3) (#5398)

    Co-authored-by: GitHub Action <[email protected]>

    * fix: add a table for package help text. (#5298)

    * fix: add a table for package help text.

    * Update samcli/commands/package/core/command.py

    Co-authored-by: Daniel Mil <[email protected]>

    * tests: fix strings in package help text

    * fix: PR comments

    * fix: PR comments.

    ---------

    Co-authored-by: Daniel Mil <[email protected]>

    * fix: Handle BROKEN_PIPE_ERROR (#5386)

    * Handle pywintypes pipe exception

    * Moved exception checking to check for winerror

    * Use decorator and added unit tests

    * Added failure test case

    * make format

    * Added more context/comments

    * fix: remove circular dependency by moving parse_s3 method to its own util file (#5430)

    * fix: remove circular dependency by moving parse_s3 method to its own util file

    * add missing unit tests file

    * chore(deps): bump sympy from 1.10.1 to 1.12 in /requirements (#5338)

    Bumps [sympy](https:/sympy/sympy) from 1.10.1 to 1.12.
    - [Release notes](https:/sympy/sympy/releases)
    - [Commits](https:/sympy/sympy/compare/sympy-1.10.1...sympy-1.12)

    ---
    updated-dependencies:
    - dependency-name: sympy
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: hnnasit <[email protected]>

    * chore(deps): bump websocket-client from 1.5.1 to 1.6.1 in /requirements (#5417)

    Bumps [websocket-client](https:/websocket-client/websocket-client) from 1.5.1 to 1.6.1.
    - [Release notes](https:/websocket-client/websocket-client/releases)
    - [Changelog](https:/websocket-client/websocket-client/blob/master/ChangeLog)
    - [Commits](https:/websocket-client/websocket-client/compare/v1.5.1...v1.6.1)

    ---
    updated-dependencies:
    - dependency-name: websocket-client
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * chore(deps): bump ruamel-yaml from 0.17.21 to 0.17.32 in /requirements (#5376)

    * chore(deps): bump ruamel-yaml from 0.17.21 to 0.17.32 in /requirements

    Bumps [ruamel-yaml](https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree) from 0.17.21 to 0.17.32.

    ---
    updated-dependencies:
    - dependency-name: ruamel-yaml
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * Pin ruamel-yaml-clib version

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: hnnasit <[email protected]>
    Co-authored-by: Haresh Nasit <[email protected]>

    * Updated package formatter to import package options instead of deploy (#5433)

    Co-authored-by: Sriram Madapusi Vasudevan <[email protected]>

    * chore(deps): bump importlib-metadata in /requirements (#5437)

    Bumps [importlib-metadata](https:/python/importlib_metadata) from 6.1.0 to 6.7.0.
    - [Release notes](https:/python/importlib_metadata/releases)
    - [Changelog](https:/python/importlib_metadata/blob/main/NEWS.rst)
    - [Commits](https:/python/importlib_metadata/compare/v6.1.0...v6.7.0)

    ---
    updated-dependencies:
    - dependency-name: importlib-metadata
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * feat: `sam logs` help text (#5397)

    * feat: `sam logs` help text

    * fix: make ruff happy

    * fix: address comments

    * feat: enable terraform support for local start-api command (#5389)

    * feat: Enable hook-name and skip-prepare-infra flagf for sam local start-api (#5217)

    * Enable hook-name flag for sam local start-api

    * Format files

    * test: Terraform local start-api integration tests base (#5240)

    * feat: update SAM CLI with latest App Templates commit hash (#5211)

    * feat: updating app templates repo hash with (a34f563f067e13df3eb350d36461b99397b6cda6)

    * dummy change to trigger checks

    * revert dummy commit

    ---------

    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Mohamed Elasmar <[email protected]>

    * Enable hook-name flag for sam lo…
  • Loading branch information
Leo10Gama and Leonardo Gama authored Jul 18, 2023
1 parent 0e01a42 commit eb18e2a
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 6 deletions.
2 changes: 1 addition & 1 deletion samcli/commands/build/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
multiple=True, # Can pass in multiple env vars
required=False,
help="Environment variables to be passed into build containers"
"Resource format (FuncName.VarName=Value) or Global format (VarName=Value)."
"\nResource format (FuncName.VarName=Value) or Global format (VarName=Value)."
"\n\n Example: --container-env-var Func1.VAR1=value1 --container-env-var VAR2=value2",
cls=ContainerOptions,
)
Expand Down
127 changes: 123 additions & 4 deletions schema/samcli.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "AWS SAM CLI samconfig schema",
"type": "object",
"properties": {
Expand Down Expand Up @@ -53,9 +53,128 @@
"properties": {
"parameters": {
"title": "Parameters for the build command",
"description": "Available parameters for the build command:\n",
"description": "Available parameters for the build command:\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* use_container:\nBuild functions within an AWS Lambda-like container.\n* container_env_var:\nEnvironment variables to be passed into build containers\nResource format (FuncName.VarName=Value) or Global format (VarName=Value).\n\n Example: --container-env-var Func1.VAR1=value1 --container-env-var VAR2=value2\n* container_env_var_file:\nEnvironment variables json file (e.g., env_vars.json) to be passed to build containers.\n* build_image:\nContainer image URIs for building functions/layers. You can specify for all functions/layers with just the image URI (--build-image public.ecr.aws/sam/build-nodejs18.x:latest). You can specify for each individual function with (--build-image FunctionLogicalID=public.ecr.aws/sam/build-nodejs18.x:latest). A combination of the two can be used. If a function does not have build image specified or an image URI for all functions, the default SAM CLI build images will be used.\n* exclude:\nName of the resource(s) to exclude from AWS SAM CLI build.\n* parallel:\nEnable parallel builds for AWS SAM template's functions and layers.\n* mount_with:\nSpecify mount mode for building functions/layers inside container. If it is mounted with write permissions, some files in source code directory may be changed/added by the build process. By default the source code directory is read only.\n* build_dir:\nDirectory to store build artifacts.Note: This directory will be first removed before starting a build.\n* cache_dir:\nDirectory to store cached artifacts. The default cache directory is .aws-sam/cache\n* base_dir:\nResolve relative paths to function's source code with respect to this directory. Use this if SAM template and source code are not in same enclosing folder. By default, relative paths are resolved with respect to the SAM template's location.\n* manifest:\nPath to a custom dependency manifest. Example: custom-package.json\n* cached:\nEnable cached builds.Reuse build artifacts that have not changed from previous builds. \n\nAWS SAM CLI evaluates if files in your project directory have changed. \n\nNote: AWS SAM CLI does not evaluate changes made to third party modules that the project depends on.Example: Python function includes a requirements.txt file with the following entry requests=1.x and the latest request module version changes from 1.1 to 1.2, AWS SAM CLI will not pull the latest version until a non-cached build is run.\n* template_file:\nAWS SAM template file.\n* parameter_overrides:\nString that contains AWS CloudFormation parameter overrides encoded as key=value pairs.\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* 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)",
"type": "object",
"properties": {}
"properties": {
"hook_name": {
"title": "hook_name",
"type": "string",
"description": "Hook 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']"
},
"skip_prepare_infra": {
"title": "skip_prepare_infra",
"type": "boolean",
"description": "Skip preparation stage when there are no infrastructure changes. Only used in conjunction with --hook-name."
},
"use_container": {
"title": "use_container",
"type": "boolean",
"description": "Build functions within an AWS Lambda-like container."
},
"container_env_var": {
"title": "container_env_var",
"type": "string",
"description": "Environment variables to be passed into build containers\nResource format (FuncName.VarName=Value) or Global format (VarName=Value).\n\n Example: --container-env-var Func1.VAR1=value1 --container-env-var VAR2=value2"
},
"container_env_var_file": {
"title": "container_env_var_file",
"type": "string",
"description": "Environment variables json file (e.g., env_vars.json) to be passed to build containers."
},
"build_image": {
"title": "build_image",
"type": "string",
"description": "Container image URIs for building functions/layers. You can specify for all functions/layers with just the image URI (--build-image public.ecr.aws/sam/build-nodejs18.x:latest). You can specify for each individual function with (--build-image FunctionLogicalID=public.ecr.aws/sam/build-nodejs18.x:latest). A combination of the two can be used. If a function does not have build image specified or an image URI for all functions, the default SAM CLI build images will be used."
},
"exclude": {
"title": "exclude",
"type": "string",
"description": "Name of the resource(s) to exclude from AWS SAM CLI build."
},
"parallel": {
"title": "parallel",
"type": "boolean",
"description": "Enable parallel builds for AWS SAM template's functions and layers."
},
"mount_with": {
"title": "mount_with",
"type": "string",
"description": "Specify mount mode for building functions/layers inside container. If it is mounted with write permissions, some files in source code directory may be changed/added by the build process. By default the source code directory is read only.",
"default": "READ",
"enum": [
"READ",
"WRITE"
]
},
"build_dir": {
"title": "build_dir",
"type": "string",
"description": "Directory to store build artifacts.Note: This directory will be first removed before starting a build.",
"default": ".aws-sam/build"
},
"cache_dir": {
"title": "cache_dir",
"type": "string",
"description": "Directory to store cached artifacts. The default cache directory is .aws-sam/cache",
"default": ".aws-sam/cache"
},
"base_dir": {
"title": "base_dir",
"type": "string",
"description": "Resolve relative paths to function's source code with respect to this directory. Use this if SAM template and source code are not in same enclosing folder. By default, relative paths are resolved with respect to the SAM template's location."
},
"manifest": {
"title": "manifest",
"type": "string",
"description": "Path to a custom dependency manifest. Example: custom-package.json"
},
"cached": {
"title": "cached",
"type": "boolean",
"description": "Enable cached builds.Reuse build artifacts that have not changed from previous builds. \n\nAWS SAM CLI evaluates if files in your project directory have changed. \n\nNote: AWS SAM CLI does not evaluate changes made to third party modules that the project depends on.Example: Python function includes a requirements.txt file with the following entry requests=1.x and the latest request module version changes from 1.1 to 1.2, AWS SAM CLI will not pull the latest version until a non-cached build is run."
},
"template_file": {
"title": "template_file",
"type": "string",
"description": "AWS SAM template file.",
"default": "template.[yaml|yml|json]"
},
"parameter_overrides": {
"title": "parameter_overrides",
"type": "string",
"description": "String that contains AWS CloudFormation parameter overrides encoded as key=value pairs."
},
"skip_pull_image": {
"title": "skip_pull_image",
"type": "boolean",
"description": "Skip pulling down the latest Docker image for Lambda runtime."
},
"docker_network": {
"title": "docker_network",
"type": "string",
"description": "Name 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."
},
"beta_features": {
"title": "beta_features",
"type": "boolean",
"description": "Enable/Disable beta features."
},
"debug": {
"title": "debug",
"type": "boolean",
"description": "Turn on debug logging to print debug message generated by AWS SAM CLI and display timestamps."
},
"profile": {
"title": "profile",
"type": "string",
"description": "Select a specific profile from your credential file to get AWS credentials."
},
"region": {
"title": "region",
"type": "string",
"description": "Set the AWS Region of the service. (e.g. us-east-1)"
}
}
}
},
"required": [
Expand Down Expand Up @@ -389,7 +508,7 @@
},
"pipeline_bootstrap": {
"title": "Pipeline Bootstrap command",
"description": "This command generates the required AWS infrastructure resources to connect to your CI/CD system.\nThis step must be run for each deployment stage in your pipeline, prior to running the sam pipline init command.",
"description": "This command generates the required AWS infrastructure resources to connect to your CI/CD system.\nThis step must be run for each deployment stage in your pipeline, prior to running the sam pipeline init command.",
"properties": {
"parameters": {
"title": "Parameters for the pipeline bootstrap command",
Expand Down
2 changes: 1 addition & 1 deletion schema/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

class SchemaKeys(Enum):
SCHEMA_FILE_NAME = "schema/samcli.json"
SCHEMA_DRAFT = "http://json-schema.org/draft-04/schema"
SCHEMA_DRAFT = "http://json-schema.org/draft-04/schema#"
TITLE = "AWS SAM CLI samconfig schema"
ENVIRONMENT_REGEX = "^.+$"

Expand Down

0 comments on commit eb18e2a

Please sign in to comment.