Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge from source #5

Merged
merged 299 commits into from
Oct 8, 2021
Merged

Merge from source #5

merged 299 commits into from
Oct 8, 2021

Conversation

abhi7cr
Copy link
Owner

@abhi7cr abhi7cr commented Oct 8, 2021

Description of changes

Issue #, if available

Description of how you validated changes

Checklist

  • PR description included
  • yarn test passes
  • Tests are changed or added
  • Relevant documentation is changed or added (and PR referenced)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

jhockett and others added 30 commits July 13, 2021 17:55
* fix: checkout into existing env with new LL
)

Added policy with action iam:PassRole for MFALambdaRole
 - amplify-app@3.0.4
 - amplify-appsync-simulator@1.27.3
 - amplify-category-analytics@2.21.13
 - amplify-category-api@2.31.15
 - amplify-category-auth@2.35.1
 - amplify-category-function@2.33.1
 - amplify-category-hosting@2.7.13
 - amplify-category-notifications@2.19.4
 - amplify-category-predictions@2.9.4
 - amplify-category-storage@2.12.1
 - amplify-category-xr@2.8.13
 - amplify-cli-core@1.24.1
 - @aws-amplify/cli@5.1.2
 - amplify-console-hosting@1.9.4
 - amplify-console-integration-tests@1.8.1
 - amplify-container-hosting@1.3.15
 - amplify-dotnet-function-template-provider@1.5.13
 - amplify-dynamodb-simulator@1.19.4
 - amplify-e2e-core@1.23.1
 - amplify-e2e-tests@2.45.1
 - amplify-frontend-ios@2.20.6
 - amplify-frontend-javascript@2.23.1
 - amplify-go-function-runtime-provider@1.8.7
 - @aws-amplify/graphql-function-transformer@0.3.6
 - @aws-amplify/graphql-http-transformer@0.4.2
 - @aws-amplify/graphql-model-transformer@0.4.5
 - @aws-amplify/graphql-predictions-transformer@0.2.1
 - @aws-amplify/graphql-searchable-transformer@0.3.1
 - @aws-amplify/graphql-transformer-core@0.7.1
 - amplify-java-function-runtime-provider@1.8.6
 - amplify-migration-tests@3.1.1
 - amplify-nodejs-function-runtime-provider@1.6.3
 - amplify-nodejs-function-template-provider@1.6.13
 - amplify-provider-awscloudformation@4.55.1
 - amplify-python-function-runtime-provider@1.9.3
 - amplify-util-import@1.5.4
 - amplify-util-mock@3.33.5
 - graphql-auth-transformer@6.24.14
 - graphql-connection-transformer@4.21.14
 - graphql-dynamodb-transformer@6.22.14
 - graphql-elasticsearch-transformer@4.11.14
 - graphql-function-transformer@2.5.13
 - graphql-http-transformer@4.18.1
 - graphql-key-transformer@2.23.14
 - graphql-predictions-transformer@2.5.13
 - graphql-relational-schema-transformer@2.18.2
 - graphql-transformer-common@4.19.5
 - graphql-transformer-core@6.28.13
 - graphql-transformers-e2e-tests@6.24.4
 - graphql-versioned-transformer@4.17.14
…#7740)

`amplify delete` now deletes the local `amplify` folder even if the project has been deleted in the
cloud.

close #7631
* bug(amplify-cli):resource-test file location issue resolved

* Changed  to '' for standard practice

* style(amplify-cli): Moved path import to top of the file
* fix: upgrade node runtime to 14

As we approach the EOL for node 12 security updates new
lambdas should be ideally be on node 14

* test: set nodejs14 as the detault
* feat(cli): searchable enum generates string filterinput

* feat(cli): searchable enum generates string filterinput

* remove unwanted imports

* remove unwanted imports

* set improvePluralization default value to true
* ci: add support for e2e token rotation

Currently we use long-lived, manually generated access tokens to set up AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables allowing our tests to run. This is a bad practice - authorization tokens should be automatically rotated to minimize risk of the tokens landing in the wrong hands.

This PR sets up the Amplify CLI codebase to use temporary credentials during CI. Temporary STS credentials use an additional parameter, AWS_SESSION_TOKEN, to authorize the requests.

This has been tested in CI on my fork and all tests pass:

https://app.circleci.com/pipelines/github/johnpc/amplify-cli/144/workflows/fb12f075-d881-4c92-8cf7-f8647afb909e

The token rotator itself is a lambda that runs every hour:

https://github.com/johnpc/amplify-e2e-token-rotation-lambda

* chore: use ini lib instead of manually updating file

* chore: update injectSessionToken calls
* fix(amplify-appsync-simulator): string functions not called on items of JavaArray<string> in the resolvers

* feat(amplify-appsync-simulator): add support for rdsUtils.toJsonString

* feat(amplify-appsync-simulator): added toJavaString that accepts a string and returns a JavaString

* feat(amplify-appsync-simulator): map.keySet returns an a JavaArray with elements of type JavaString

* feat(amplify-appsync-simulator): map.keySet returns an a JavaArray with elements of type JavaString

* feat(amplify-appsync-simulator): using this.mapper in map.keySet

* feat(amplify-appsync-simulator): cleanup
…7757)

Updated GraphQL transformer to pass through @aws_lambda directive to output schema
…7627)

* fix: disable layer version removal when lambda fn depends on pinned version

* test(amplify-category-function): update remove walkthrough unit tests

* test(amplify-category-function): update amplify-meta mock value

* fix: display all dependent lambda fn in message

* test: add e2e test to verify dependency check
* fix(cli): use more explicit amplify pragma in .gitignore

Previously, we used the #amplify pragma to show which block of .gitignore was managed by amplify.
This causes confusion for customers who think it is safe to add or remove lines this section of
their gitignore. The cli will blitz any changes to this section on amplify init or amplify pull. By
using a more explicit pragma, customers will realize they should not touch this section of the
gitignore.

fix #7250

* test(cli): add coverage of legacy case

* chore: address nits

* chore: s/removeAmplifyIgnore/rebuildAmplifyIgnore
… elastic search (#7534)

* feat(graphql-searchable-transformer): fix _lastChangedAt type for version control

* feat(graphql-searchable-transformer): more generic fix for all epoch fields

* fix(graphql-searchable-transformer): prevent int cast from truncating decimals if they exist

* feat(graphql-searchable-transformer): changed fix to use is_integer()
This reverts commit 57c0a03.

Co-authored-by: Ammar <56042290+ammarkarachi@users.noreply.github.com>
… update function'

* feat(amplify-category-function): skip unnecessary prompt for 'amplify update function'

* test: remove additional prompt from e2e
…#7461)

* feat(amplify-category-auth): enable alternative signup/signin options

this commit mirrors the options presented to users when creating a cognito user pool in the aws
console. alternative sign in options allow developers to create a coginito user that can sign in
using their preferred username, phone number, or email address.

re #1546

* feat(amplify-category-auth): add autoVerifiedAttributes for aliasAttributes

* chore(amplify-headless-interface): update schema

* chore(amplify-category-auth): get aliasAttributes _instead_ of signInOptions

* chore: use constants instead of magic strings
* fix(cli): prevent re-prompt of info on `amplify pull`

 When the developer runs `amplify pull` and chooses "no" when prompted: "Do you plan on modifying this backend?", the cli should not prompt for all the project configuration settings when `amplify pull` is called again to receive updates. Since the entire `amplify/` dir is removed when this option is selected, we lose project configuration context.
This change keeps the `amplify/` dir around, only deleting the backend directories, and maintains the state of the project configuration.

* chore: use more explicit names

* test: add integ test

* test: remove extra push
…#7551)

this commit adds NotFoundException handling to the `amplify delete` operation. If cloud resources
are not found, then that part of the delete must already be done, so we should move on and continue
deletion.

fix #7515
johnpc and others added 28 commits September 29, 2021 19:09
 - @aws-amplify/cli@6.1.1
 - amplify-console-integration-tests@1.8.11
 - amplify-e2e-core@1.27.1
 - amplify-e2e-tests@2.51.1
 - @aws-amplify/graphql-searchable-transformer@0.6.2
 - amplify-migration-tests@3.1.11
 - amplify-provider-awscloudformation@4.61.1
 - amplify-util-mock@3.34.7
 - graphql-auth-transformer@6.24.24
 - graphql-elasticsearch-transformer@4.12.3
 - graphql-transformers-e2e-tests@6.27.1
* Custom policy implementation

* feat: add custom policies file to function and API container

add custom policies file to function and API container, merge the custom policies to CFN template,
validation for regex of resources and actions in the custom policies file

* feat: changes for first PR

* feat: Some changes according to the PR comments

1. Add Json Schema to validate the customers input 2. some minor changes related to format issue 3.
error handle

* feat: replace env to current env in the resource when checkout and add env, and push

* feat: e2e test and replacing env

* feat: Minor changes for env replacement

* feat: remove changing env between env

* feat: Add cloudform type for type safety, move validation to provider-cloudformation, validation

* feat: remove some unused function and import, change regex for resource

* feat: Some changes according to the PR comment

* feat: changes according to PR comments

* feat: remove unused import

* feat: remove previous unused code

* feat: Changes according to PR comments

* feat: some changes according to PR comments

* feat: work on PR comments

* feat: rebase for conflict

* feat: rebase for failure of hooksmanager test failed

* feat: unit test

* feat: fix fail test

* feat: change default template of custom policies

* feat: fix failed test

* feat: PR comments

* feat: pr comments

* feat: fix failed test

* feat: PR comments from ED

Co-authored-by: Lu Han <lhnamz@amazon.com>
 - amplify-app@3.0.14
 - amplify-category-analytics@2.21.23
 - amplify-category-api@2.33.0
 - amplify-category-auth@2.38.3
 - amplify-category-function@2.36.0
 - amplify-category-geo@1.0.2
 - amplify-category-hosting@2.7.23
 - amplify-category-interactions@2.6.7
 - amplify-category-predictions@2.9.14
 - amplify-category-storage@2.12.11
 - amplify-category-xr@2.8.23
 - amplify-cli-core@1.31.0
 - @aws-amplify/cli@6.2.0
 - amplify-console-hosting@1.9.14
 - amplify-console-integration-tests@1.8.12
 - amplify-container-hosting@1.3.25
 - amplify-dotnet-function-template-provider@1.5.23
 - amplify-dynamodb-simulator@1.19.14
 - amplify-e2e-core@1.28.0
 - amplify-e2e-tests@2.52.0
 - amplify-frontend-ios@2.20.16
 - amplify-frontend-javascript@2.24.3
 - amplify-go-function-runtime-provider@1.9.6
 - amplify-java-function-runtime-provider@1.8.16
 - amplify-migration-tests@3.1.12
 - amplify-nodejs-function-runtime-provider@1.6.13
 - amplify-nodejs-function-template-provider@1.6.23
 - amplify-provider-awscloudformation@4.62.0
 - amplify-python-function-runtime-provider@1.9.13
 - amplify-util-import@1.5.14
 - amplify-util-mock@3.34.8
 - graphql-auth-transformer@6.24.25
 - graphql-connection-transformer@4.21.24
 - graphql-dynamodb-transformer@6.22.24
 - graphql-elasticsearch-transformer@4.12.4
 - graphql-function-transformer@2.5.23
 - graphql-http-transformer@4.18.11
 - graphql-key-transformer@2.23.24
 - graphql-predictions-transformer@2.5.23
 - graphql-transformer-core@6.30.1
 - graphql-transformers-e2e-tests@6.27.2
 - graphql-versioned-transformer@4.17.24
…8371)

* fix: opensearch warning, add optional chaining to get api category

* fix: opensearch warning, add test with existing categories
 - @aws-amplify/cli@6.2.1
 - amplify-provider-awscloudformation@4.62.1
 - amplify-util-mock@3.34.9
* feat(cli): add post env add plugin event

* chore(cli): run post env add hook on amplify init
* Revert "fix: fixes e2e bug (#7067)"

This reverts commit 18c9a31.

* Update packages/amplify-cli/src/context-manager.ts

added ? for type checking
…oyment bucket (#8145)

* fix(amplify-category-api): fixed api to reference stack name and deployment bucket

* fix: addressed pr comments
@abhi7cr abhi7cr merged commit cb4e857 into abhi7cr:master Oct 8, 2021
abhi7cr pushed a commit that referenced this pull request May 6, 2022
* feat(cli-api): improve add and update api

* Delete sam.schema.json

* Delete cloudformation.schema.json

* remove auto apply authmode code from update api workflow

* remove unused import

* fix lint issues

* relative import

* fix dependencies

* fix lint comments

* remove unused code

* updated v2 templates

* remove unused import

* change to use executeProviderUtils

* fixed formatting

* several minor tweaks to add and update api workflow

* update conflict detection label

* remove app not deployed message

* auto apply auth mode

* auto apply authmode for v2 tranformer

* add type amplify_global to v2 schemas

* Update many-relationship-schema-v2.graphql

* Update single-object-auth-schema-v2.graphql

* Update single-object-schema-v2.graphql

* feat: add @auth (#1)

* feat: add @auth base package with Access Control

* feat: graphql auth v2 add schemaChanges, iam policy generation, and query/read resolvers

* feat: graphql auth v2 add auth on mutation and subscription resolvers

* feat(amplify-category-api): add global sandbox mode directive on schema generation (aws-amplify#8074)

* feat(amplify-category-api): add global sandbox mode directive on schema generation

* test(amplify-e2e-tests): add e2e tests for sandbox mode

* test(amplify-category-api): add unit test for generating sandbox mode directive; rm unused method

* feat(cli): add sandbox mode warning to amplify status (aws-amplify#8078)

* feat(amplify-category-api): prompt api key creation on amplify push (aws-amplify#8124)

* feat(amplify-category-api): prompt api key create when invalid with sandbox mode

* test(amplify-category-api): add unit tests for provider utils

* test(amplify-category-api): fix test for adding api key prompt

* refactor(cli): refactor api key prompt

* refactor(amplify-category-api): add api key with gql compiled

* feat: @model conflict resolution

* auth directive support for index, searchable, predictions, functions, and relational directives (aws-amplify#8146)

* feat: add support for index and updated unit and e2e tests

* feat: directive suport for functions, predictions, searchable, and relational

* test: updated unit tests for updated auth on directives

* @auth support for datastore and add has auth flag (aws-amplify#8168)

* feat: @auth v2 on datastore and updated unit tests
* feat: add hasAuthFlag

* feat(graphql-model-transformer): set up transformer for sandbox mode directive (aws-amplify#8138)

* feat(graphql-model-transformer): add sandbox mode support to model transformer

* refactor(graphql-transformer-core): do not persist sandbox mode meta data

* fix: add command to show access control and field auth evaluation in access control (aws-amplify#8174)

* fix: admin ui app state check and auth transformer index resolver name (aws-amplify#8175)

* fix: has auth typo and qref on field conditions for private rule (aws-amplify#8180)

* fix(graphql-model-transformer): use hasAuth flag when sandbox mode is disabled (aws-amplify#8179)

* fix: update hasMany to use join table name, sync config warning, updated unit test

* fix: add empty payload for sandbox mode

* fix: snapshot test for @searchable

* fix: udpated snapshot for index and relation directives

* fix: use same none datasource name as resolver manager

* fix: iam resolver check and relational payload (aws-amplify#8234)

* fix: add datastore query in config for auth (aws-amplify#8246)

* fix: auth filter expression (aws-amplify#8248)

* fix: update iam auth to include roles in before template (aws-amplify#8259)

* chore: rebase and update auth dependencies

* fix(graphql-model-transformer): iam role name does not exceed 64 characters

* fix: add base e2e tests with auth fixes

Co-authored-by: Danielle Adams <6271256+danielleadams@users.noreply.github.com>
Co-authored-by: lazpavel <85319655+lazpavel@users.noreply.github.com>

* fix: update dependency versions

* feat(amplify-provider-awscloudformation): match env directive field for sandbox mode (#3)

* fix(amplify-provider-awscloudformation): invoke api function from invoker plugin (aws-amplify#8274)

* fix(amplify-provider-awscloudformation): invoke api function from invoker plugin

* fix(graphql-index-transformer): update snapshots for tests

* test(amplify-provider-awscloudformation): fix tests for sandbox helpers

* fix(amplify-provider-awscloudformation): remove sandbox mode directive from schema before transform (aws-amplify#8272)

* chore(graphql-auth-transformer): update deps for auth transformer and api category

* fix(graphql-model-transformer): revert code to master version

* test(graphql-model-transformer): update the snapshot for the amplify/graphql-model-transformer test

* chore: remove showacm as that was for testing purposes only

* test(amplify-e2e-tests): update to use correct helpers

* test(graphql-transformers-e2e-tests): enable sandbox mode on v2 transforms

* test(amplify-e2e-tests): replace updateAPIResolution imports with new methods

* fix: get item query for @model and relational directives

* auto apply auth fix

* auto apply auth modes v2 fix (#4)

* test(amplify-e2e-tests): rm sandbox e2e test

* fix(amplify-provider-awscloudformation): fix api key creation when sandbox mode enable

* test(amplify-e2e-tests): create random app name generator for broken tests

* fix api e2e workflow

* test(amplify-e2e-core): add random app name generator, update snapshots and imports

* chore(graphql-auth-transformer): upgrade deps in auth transformer

* update e2e test to use new api workflow (#5)

* feat(graphql-model-transformer): fix default value e2e test (#6)

* test(amplify-e2e-tests): add missing helper

* e2e fix for auth tests using new api workflow  (aws-amplify#7)

* update e2e test to use new api workflow

* fix(test): update auth tests with new api workflow

* test(amplify-e2e-tests): add missing helper and fix broken test

Co-authored-by: Christopher Sundersingh <sundersc@amazon.com>
Co-authored-by: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com>
Co-authored-by: Josue Ruiz <7465495+SwaySway@users.noreply.github.com>
Co-authored-by: lazpavel <85319655+lazpavel@users.noreply.github.com>
Co-authored-by: Colin Ihrig <colihrig@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.