Quellcode durchsuchen

Removing all references to AWS gems, HttpRequestor, Twitch, Metastream (#18571)

Signed-off-by: Gene Walters <[email protected]>
Signed-off-by: Gene Walters <[email protected]>
Gene Walters vor 6 Monaten
Ursprung
Commit
71cf466775
100 geänderte Dateien mit 0 neuen und 22236 gelöschten Zeilen
  1. 0 6
      AutomatedTesting/Config/default_aws_resource_mappings.json
  2. 0 28
      AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt
  3. 0 79
      AutomatedTesting/Gem/PythonTests/AWS/README.md
  4. 0 7
      AutomatedTesting/Gem/PythonTests/AWS/__init__.py
  5. 0 6
      AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/__init__.py
  6. 0 289
      AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_automation_test.py
  7. 0 29
      AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_custom_thread.py
  8. 0 255
      AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_utils.py
  9. 0 139
      AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_waiters.py
  10. 0 7
      AutomatedTesting/Gem/PythonTests/AWS/client_auth/__init__.py
  11. 0 170
      AutomatedTesting/Gem/PythonTests/AWS/client_auth/aws_client_auth_automation_test.py
  12. 0 7
      AutomatedTesting/Gem/PythonTests/AWS/common/__init__.py
  13. 0 114
      AutomatedTesting/Gem/PythonTests/AWS/common/aws_credentials.py
  14. 0 63
      AutomatedTesting/Gem/PythonTests/AWS/common/aws_utils.py
  15. 0 27
      AutomatedTesting/Gem/PythonTests/AWS/common/constants.py
  16. 0 87
      AutomatedTesting/Gem/PythonTests/AWS/common/custom_waiter.py
  17. 0 118
      AutomatedTesting/Gem/PythonTests/AWS/common/resource_mappings.py
  18. 0 104
      AutomatedTesting/Gem/PythonTests/AWS/conftest.py
  19. 0 6
      AutomatedTesting/Gem/PythonTests/AWS/core/__init__.py
  20. 0 192
      AutomatedTesting/Gem/PythonTests/AWS/core/test_aws_resource_interaction.py
  21. 0 3
      AutomatedTesting/Gem/PythonTests/CMakeLists.txt
  22. 0 622
      AutomatedTesting/Levels/AWS/ClientAuth/ClientAuth.prefab
  23. 0 1325
      AutomatedTesting/Levels/AWS/ClientAuth/ConitoAnonymousAuthorization.scriptcanvas
  24. 0 12
      AutomatedTesting/Levels/AWS/ClientAuth/tags.txt
  25. 0 622
      AutomatedTesting/Levels/AWS/ClientAuthPasswordSignIn/ClientAuthPasswordSignIn.prefab
  26. 0 3675
      AutomatedTesting/Levels/AWS/ClientAuthPasswordSignIn/PasswordSignIn.scriptcanvas
  27. 0 12
      AutomatedTesting/Levels/AWS/ClientAuthPasswordSignIn/tags.txt
  28. 0 622
      AutomatedTesting/Levels/AWS/ClientAuthPasswordSignUp/ClientAuthPasswordSignUp.prefab
  29. 0 2442
      AutomatedTesting/Levels/AWS/ClientAuthPasswordSignUp/PasswordSignUp.scriptcanvas
  30. 0 12
      AutomatedTesting/Levels/AWS/ClientAuthPasswordSignUp/tags.txt
  31. 0 727
      AutomatedTesting/Levels/AWS/Core/Core.prefab
  32. 0 12
      AutomatedTesting/Levels/AWS/Core/tags.txt
  33. 0 627
      AutomatedTesting/Levels/AWS/Metrics/Metrics.prefab
  34. 0 76
      AutomatedTesting/Levels/AWS/Metrics/Script/Metrics.lua
  35. 0 12
      AutomatedTesting/Levels/AWS/Metrics/tags.txt
  36. 0 5
      AutomatedTesting/Registry/authenticationProvider.setreg
  37. 0 10
      AutomatedTesting/Registry/awscoreconfiguration.setreg
  38. 0 2296
      AutomatedTesting/ScriptCanvas/dynamodbdemo.scriptcanvas
  39. 0 5
      AutomatedTesting/project.json
  40. 0 16
      Gems/AWSClientAuth/CMakeLists.txt
  41. 0 170
      Gems/AWSClientAuth/Code/CMakeLists.txt
  42. 0 214
      Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationProviderBus.h
  43. 0 59
      Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationTokens.h
  44. 0 101
      Gems/AWSClientAuth/Code/Include/Authorization/AWSCognitoAuthorizationBus.h
  45. 0 69
      Gems/AWSClientAuth/Code/Include/Authorization/ClientAuthAWSCredentials.h
  46. 0 164
      Gems/AWSClientAuth/Code/Include/UserManagement/AWSCognitoUserManagementBus.h
  47. 0 64
      Gems/AWSClientAuth/Code/Source/AWSClientAuthBus.h
  48. 0 149
      Gems/AWSClientAuth/Code/Source/AWSClientAuthEditorSystemComponent.cpp
  49. 0 51
      Gems/AWSClientAuth/Code/Source/AWSClientAuthEditorSystemComponent.h
  50. 0 51
      Gems/AWSClientAuth/Code/Source/AWSClientAuthModule.cpp
  51. 0 25
      Gems/AWSClientAuth/Code/Source/AWSClientAuthModule.h
  52. 0 12
      Gems/AWSClientAuth/Code/Source/AWSClientAuthResourceMappingConstants.h
  53. 0 256
      Gems/AWSClientAuth/Code/Source/AWSClientAuthSystemComponent.cpp
  54. 0 63
      Gems/AWSClientAuth/Code/Source/AWSClientAuthSystemComponent.h
  55. 0 250
      Gems/AWSClientAuth/Code/Source/Authentication/AWSCognitoAuthenticationProvider.cpp
  56. 0 44
      Gems/AWSClientAuth/Code/Source/Authentication/AWSCognitoAuthenticationProvider.h
  57. 0 128
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationNotificationBusBehaviorHandler.h
  58. 0 24
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderInterface.cpp
  59. 0 62
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderInterface.h
  60. 0 247
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderManager.cpp
  61. 0 70
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderManager.h
  62. 0 98
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderScriptCanvasBus.h
  63. 0 75
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderTypes.h
  64. 0 104
      Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationTokens.cpp
  65. 0 184
      Gems/AWSClientAuth/Code/Source/Authentication/GoogleAuthenticationProvider.cpp
  66. 0 42
      Gems/AWSClientAuth/Code/Source/Authentication/GoogleAuthenticationProvider.h
  67. 0 184
      Gems/AWSClientAuth/Code/Source/Authentication/LWAAuthenticationProvider.cpp
  68. 0 43
      Gems/AWSClientAuth/Code/Source/Authentication/LWAAuthenticationProvider.h
  69. 0 34
      Gems/AWSClientAuth/Code/Source/Authentication/OAuthConstants.h
  70. 0 129
      Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.cpp
  71. 0 44
      Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h
  72. 0 86
      Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.cpp
  73. 0 43
      Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h
  74. 0 296
      Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationController.cpp
  75. 0 70
      Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationController.h
  76. 0 42
      Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h
  77. 0 50
      Gems/AWSClientAuth/Code/Source/Authorization/ClientAuthAWSCredentials.cpp
  78. 0 254
      Gems/AWSClientAuth/Code/Source/UserManagement/AWSCognitoUserManagementController.cpp
  79. 0 42
      Gems/AWSClientAuth/Code/Source/UserManagement/AWSCognitoUserManagementController.h
  80. 0 114
      Gems/AWSClientAuth/Code/Source/UserManagement/UserManagementNotificationBusBehaviorHandler.h
  81. 0 867
      Gems/AWSClientAuth/Code/Tests/AWSClientAuthGemMock.h
  82. 0 12
      Gems/AWSClientAuth/Code/Tests/AWSClientAuthGemTest.cpp
  83. 0 240
      Gems/AWSClientAuth/Code/Tests/AWSClientAuthSystemComponentTest.cpp
  84. 0 265
      Gems/AWSClientAuth/Code/Tests/Authentication/AWSCognitoAuthenticationProviderTest.cpp
  85. 0 51
      Gems/AWSClientAuth/Code/Tests/Authentication/AuthenticationProviderManagerMock.h
  86. 0 252
      Gems/AWSClientAuth/Code/Tests/Authentication/AuthenticationProviderManagerScriptCanvasBusTest.cpp
  87. 0 251
      Gems/AWSClientAuth/Code/Tests/Authentication/AuthenticationProviderManagerTest.cpp
  88. 0 136
      Gems/AWSClientAuth/Code/Tests/Authentication/GoogleAuthenticationProviderTest.cpp
  89. 0 136
      Gems/AWSClientAuth/Code/Tests/Authentication/LWAAuthenticationProviderTest.cpp
  90. 0 71
      Gems/AWSClientAuth/Code/Tests/Authorization/AWSClientAuthPersistentCognitoIdentityProviderTest.cpp
  91. 0 445
      Gems/AWSClientAuth/Code/Tests/Authorization/AWSCognitoAuthorizationControllerTest.cpp
  92. 0 183
      Gems/AWSClientAuth/Code/Tests/UserManagement/AWSCognitoUserManagementControllerTest.cpp
  93. 0 52
      Gems/AWSClientAuth/Code/awsclientauth_editor_files.cmake
  94. 0 49
      Gems/AWSClientAuth/Code/awsclientauth_files.cmake
  95. 0 12
      Gems/AWSClientAuth/Code/awsclientauth_shared_files.cmake
  96. 0 23
      Gems/AWSClientAuth/Code/awsclientauth_test_files.cmake
  97. 0 3
      Gems/AWSClientAuth/architecture.png
  98. 0 11
      Gems/AWSClientAuth/cdk/.gitignore
  99. 0 75
      Gems/AWSClientAuth/cdk/README.md
  100. 0 29
      Gems/AWSClientAuth/cdk/app.py

+ 0 - 6
AutomatedTesting/Config/default_aws_resource_mappings.json

@@ -1,6 +0,0 @@
-{
-    "AWSResourceMappings": {},
-    "AccountId": "",
-    "Region": "us-east-1",
-    "Version": "1.0.0"
-}

+ 0 - 28
AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt

@@ -1,28 +0,0 @@
-#
-# Copyright (c) Contributors to the Open 3D Engine Project.
-# For complete copyright and license terms please see the LICENSE at the root of this distribution.
-#
-# SPDX-License-Identifier: Apache-2.0 OR MIT
-#
-#
-
-################################################################################
-# AWS Automated Tests
-# Runs AWS Gems automation tests.
-################################################################################
-
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
-    ly_add_pytest(
-        NAME AutomatedTesting::AWSTests
-        TEST_SUITE awsi
-        TEST_SERIAL
-        PATH ${CMAKE_CURRENT_LIST_DIR}/
-        RUNTIME_DEPENDENCIES
-            AZ::AssetProcessor
-            AutomatedTesting.GameLauncher
-            AutomatedTesting.Assets
-        COMPONENT
-            AWS
-        LABELS REQUIRES_tiaf
-    )
-endif()

+ 0 - 79
AutomatedTesting/Gem/PythonTests/AWS/README.md

@@ -1,79 +0,0 @@
-# AWS Gem Automation Tests
-
-## Prerequisites
-1. Build the O3DE **Editor** and **AutomatedTesting.GameLauncher** in Profile.
-2. Install the latest version of NodeJs.
-3. AWS CLI is installed and AWS credentials are configured via [environment variables](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) or [default profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).
-4. [AWS Cloud Development Kit (CDK)](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install) is installed.
-
-> Note: All the AWS Gems CDK applications have been updated to CDK v2. Ensure you set CDK_VERSION to the desired CDK v2 version. See https://docs.aws.amazon.com/cdk/api/versions.html for the latest CDK v2 version information.
-
-
-> Support for the CDKv1 applications has been deprecated.
-
-## Deploy CDK Applications
-1. Go to the AWS IAM console and create an IAM role called o3de-automation-tests which adds your own account as a trusted entity and uses the "AdministratorAccess" permissions policy.
-2. Copy the following deployment script to your engine root folder and update the `CDK_VERSION` to the desired CDK version:
-    * Windows (Command Prompt)
-        ```
-            {engine_root}\scripts\build\Platform\Windows\deploy_cdk_applications.cmd
-        ```
-    * Linux
-        ```
-            {engine_root}/scripts/build/Platform/Linux/deploy_cdk_applications.sh
-        ```
-3. Open a new CLI window at the engine root and set the following environment variables:
-    * Windows
-        ```
-            set O3DE_AWS_PROJECT_NAME=AWSAUTO
-			set O3DE_AWS_DEPLOY_REGION=us-east-1
-            set ASSUME_ROLE_ARN=arn:aws:iam::{your_aws_account_id}:role/o3de-automation-tests
-            set COMMIT_ID=HEAD
-            set CDK_VERSION=2.68.0 
-            set AWS_EC2_METADATA_DISABLED=true
-        ```
-    * Linux
-        ```
-            export O3DE_AWS_PROJECT_NAME=AWSAUTO
-            export O3DE_AWS_DEPLOY_REGION=us-east-1
-            export ASSUME_ROLE_ARN=arn:aws:iam::{your_aws_account_id}:role/o3de-automation-tests
-            export COMMIT_ID=HEAD
-            export CDK_VERSION=2.68.0
-            export AWS_EC2_METADATA_DISABLED=true
-        ```
-4. In the same CLI window, Deploy the CDK applications for AWS gems by running deploy_cdk_applications.cmd.
-   
-## Run Automation Tests
-### CLI
-1. In the same CLI window, run the following CLI command:
-    * Windows
-        ```
-            python\python.cmd -m pytest {path_to_the_test_file} --build-directory {directory_to_the_profile_build}
-        ```
-    * Linux
-        ```
-            python/python.sh -m pytest {path_to_the_test_file} --build-directory {directory_to_the_profile_build}
-        ```
-
-The main tests files can be found in the ```AutomatedTesting\Gem\PythonTests\AWS``` directory at the following paths:
-
-| Gem           | Test file                                      |
-|---------------|------------------------------------------------|
-| AWSCore       | core\test_aws_resource_interaction.py          |
-| AWSMetrics    | aws_metrics\aws_metrics_automation_test.py     |
-| AWSClientAuth | client_auth\aws_client_auth_automation_test.py |
-
-### PyCharm
-You can also run any specific automation test directly from [PyCharm](https://www.jetbrains.com/pycharm) by providing the "--build-directory" argument in the Run Configuration.
-
-## Destroy CDK Applications
-1. Copy the following destruction script to your engine root folder:
-    * Windows
-        ```
-            {engine_root}\scripts\build\Platform\Windows\destroy_cdk_applications.cmd
-        ```
-    * Linux
-        ```
-            {engine_root}/scripts/build/Platform/Linux/destroy_cdk_applications.sh
-        ```
-2. In the same CLI window, destroy the CDK applications for AWS gems by running destroy_cdk_applications.cmd.

+ 0 - 7
AutomatedTesting/Gem/PythonTests/AWS/__init__.py

@@ -1,7 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-

+ 0 - 6
AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/__init__.py

@@ -1,6 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""

+ 0 - 289
AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_automation_test.py

@@ -1,289 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import logging
-import os
-import pytest
-import typing
-from datetime import datetime
-
-import ly_test_tools.log.log_monitor
-
-from AWS.common import constants
-from AWS.common.resource_mappings import AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY
-from .aws_metrics_custom_thread import AWSMetricsThread
-
-# fixture imports
-from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
-from .aws_metrics_utils import aws_metrics_utils
-
-AWS_METRICS_FEATURE_NAME = 'AWSMetrics'
-
-logger = logging.getLogger(__name__)
-
-
-def _setup(launcher: pytest.fixture, asset_processor: pytest.fixture) -> pytest.fixture:
-    """
-    Set up the resource mapping configuration and start the log monitor.
-    :param launcher: Client launcher for running the test level.
-    :param asset_processor: asset_processor fixture.
-    :return log monitor object.
-    """
-    asset_processor.start()
-    asset_processor.wait_for_idle()
-
-    file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), constants.GAME_LOG_NAME)
-
-    # Initialize the log monitor.
-    log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
-
-    return log_monitor
-
-
-def monitor_metrics_submission(log_monitor: pytest.fixture) -> None:
-    """
-    Monitor the messages and notifications for submitting metrics.
-    :param log_monitor: Log monitor to check the log messages.
-    """
-    expected_lines = [
-        '(Script) - Submitted metrics without buffer.',
-        '(Script) - Submitted metrics with buffer.',
-        '(Script) - Flushed the buffered metrics.',
-        '(Script) - Metrics is sent successfully.'
-    ]
-
-    unexpected_lines = [
-        '(Script) - Failed to submit metrics without buffer.',
-        '(Script) - Failed to submit metrics with buffer.',
-        '(Script) - Failed to send metrics.'
-    ]
-
-    result = log_monitor.monitor_log_for_lines(
-        expected_lines=expected_lines,
-        unexpected_lines=unexpected_lines,
-        halt_on_unexpected=True)
-
-    # Assert the log monitor detected expected lines and did not detect any unexpected lines.
-    assert result, (
-        f'Log monitoring failed. Used expected_lines values: {expected_lines} & '
-        f'unexpected_lines values: {unexpected_lines}')
-
-
-def query_metrics_from_s3(aws_metrics_utils: pytest.fixture, resource_mappings: pytest.fixture) -> None:
-    """
-    Verify that the metrics events are delivered to the S3 bucket and can be queried.
-    :param aws_metrics_utils: aws_metrics_utils fixture.
-    :param resource_mappings: resource_mappings fixture.
-    """
-    aws_metrics_utils.verify_s3_delivery(
-        resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsBucketName')
-    )
-    logger.info('Metrics are sent to S3.')
-
-    aws_metrics_utils.run_glue_crawler(
-        resource_mappings.get_resource_name_id('AWSMetrics.EventsCrawlerName'))
-
-    # Remove the events_json table if exists so that the sample query can create a table with the same name.
-    aws_metrics_utils.try_delete_table(resource_mappings.get_resource_name_id('AWSMetrics.EventDatabaseName'), 'events_json')
-    aws_metrics_utils.run_named_queries(resource_mappings.get_resource_name_id('AWSMetrics.AthenaWorkGroupName'))
-    logger.info('Query metrics from S3 successfully.')
-
-
-def verify_operational_metrics(aws_metrics_utils: pytest.fixture,
-                               resource_mappings: pytest.fixture, start_time: datetime) -> None:
-    """
-    Verify that operational health metrics are delivered to CloudWatch.
-    :param aws_metrics_utils: aws_metrics_utils fixture.
-    :param resource_mappings: resource_mappings fixture.
-    :param start_time: Time when the game launcher starts.
-    """
-    aws_metrics_utils.verify_cloud_watch_delivery(
-        'AWS/Lambda',
-        'Invocations',
-        [{'Name': 'FunctionName',
-          'Value': resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsProcessingLambdaName')}],
-        start_time)
-    logger.info('AnalyticsProcessingLambda metrics are sent to CloudWatch.')
-
-    aws_metrics_utils.verify_cloud_watch_delivery(
-        'AWS/Lambda',
-        'Invocations',
-        [{'Name': 'FunctionName',
-          'Value': resource_mappings.get_resource_name_id('AWSMetrics.EventProcessingLambdaName')}],
-        start_time)
-    logger.info('EventsProcessingLambda metrics are sent to CloudWatch.')
-
-
-def update_kinesis_analytics_application_status(aws_metrics_utils: pytest.fixture,
-                                                resource_mappings: pytest.fixture, start_application: bool) -> None:
-    """
-    Update the Kinesis analytics application to start or stop it.
-    :param aws_metrics_utils: aws_metrics_utils fixture.
-    :param resource_mappings: resource_mappings fixture.
-    :param start_application: whether to start or stop the application.
-    """
-    if start_application:
-        aws_metrics_utils.start_kinesis_data_analytics_application(
-            resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsApplicationName'))
-    else:
-        aws_metrics_utils.stop_kinesis_data_analytics_application(
-            resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsApplicationName'))
-
-
[email protected]_awsi
[email protected]('automatic_process_killer')
[email protected]('aws_credentials')
[email protected]('resource_mappings')
[email protected]('assume_role_arn', [constants.ASSUME_ROLE_ARN])
[email protected]('feature_name', [AWS_METRICS_FEATURE_NAME])
[email protected]('profile_name', ['AWSAutomationTest'])
[email protected]('project', ['AutomatedTesting'])
[email protected]('region_name', [constants.AWS_REGION])
[email protected]('resource_mappings_filename', [constants.AWS_RESOURCE_MAPPING_FILE_NAME])
[email protected]('session_name', [constants.SESSION_NAME])
[email protected]('stacks', [[f'{constants.AWS_PROJECT_NAME}-{AWS_METRICS_FEATURE_NAME}-{constants.AWS_REGION}']])
-class TestAWSMetricsWindows(object):
-    """
-    Test class to verify the real-time and batch analytics for metrics.
-    """
-    @pytest.mark.parametrize('level', ['levels/aws/metrics/metrics.spawnable'])
-    def test_realtime_and_batch_analytics(self,
-                                          level: str,
-                                          launcher: pytest.fixture,
-                                          asset_processor: pytest.fixture,
-                                          workspace: pytest.fixture,
-                                          aws_utils: pytest.fixture,
-                                          resource_mappings: pytest.fixture,
-                                          aws_metrics_utils: pytest.fixture):
-        """
-        Verify that the metrics events are sent to CloudWatch and S3 for analytics.
-        """
-        # Start Kinesis analytics application on a separate thread to avoid blocking the test.
-        kinesis_analytics_application_thread = AWSMetricsThread(target=update_kinesis_analytics_application_status,
-                                                                args=(aws_metrics_utils, resource_mappings, True))
-        kinesis_analytics_application_thread.start()
-
-        log_monitor = _setup(launcher=launcher, asset_processor=asset_processor)
-
-        # Kinesis analytics application needs to be in the running state before we start the game launcher.
-        kinesis_analytics_application_thread.join()
-        launcher.args = ['+LoadLevel', level]
-        launcher.args.extend(['-rhi=null'])
-        start_time = datetime.utcnow()
-        with launcher.start(launch_ap=False):
-            monitor_metrics_submission(log_monitor)
-
-            # Verify that real-time analytics metrics are delivered to CloudWatch.
-            aws_metrics_utils.verify_cloud_watch_delivery(
-                AWS_METRICS_FEATURE_NAME,
-                'TotalLogins',
-                [],
-                start_time)
-            logger.info('Real-time metrics are sent to CloudWatch.')
-
-        # Run time-consuming operations on separate threads to avoid blocking the test.
-        operational_threads = list()
-        operational_threads.append(
-            AWSMetricsThread(target=query_metrics_from_s3,
-                             args=(aws_metrics_utils, resource_mappings)))
-        operational_threads.append(
-            AWSMetricsThread(target=verify_operational_metrics,
-                             args=(aws_metrics_utils, resource_mappings, start_time)))
-        operational_threads.append(
-            AWSMetricsThread(target=update_kinesis_analytics_application_status,
-                             args=(aws_metrics_utils, resource_mappings, False)))
-        for thread in operational_threads:
-            thread.start()
-        for thread in operational_threads:
-            thread.join()
-
-    @pytest.mark.parametrize('level', ['levels/aws/metrics/metrics.spawnable'])
-    def test_realtime_and_batch_analytics_no_global_accountid(self,
-                                                              level: str,
-                                                              launcher: pytest.fixture,
-                                                              asset_processor: pytest.fixture,
-                                                              workspace: pytest.fixture,
-                                                              aws_utils: pytest.fixture,
-                                                              resource_mappings: pytest.fixture,
-                                                              aws_metrics_utils: pytest.fixture):
-        """
-        Verify that the metrics events are sent to CloudWatch and S3 for analytics.
-        """
-        # Remove top-level account ID from resource mappings
-        resource_mappings.clear_select_keys([AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY])
-        # Start Kinesis analytics application on a separate thread to avoid blocking the test.
-        kinesis_analytics_application_thread = AWSMetricsThread(target=update_kinesis_analytics_application_status,
-                                                                args=(aws_metrics_utils, resource_mappings, True))
-        kinesis_analytics_application_thread.start()
-
-        log_monitor = _setup(launcher=launcher, asset_processor=asset_processor)
-
-        # Kinesis analytics application needs to be in the running state before we start the game launcher.
-        kinesis_analytics_application_thread.join()
-        launcher.args = ['+LoadLevel', level]
-        launcher.args.extend(['-rhi=null'])
-        start_time = datetime.utcnow()
-        with launcher.start(launch_ap=False):
-            monitor_metrics_submission(log_monitor)
-
-            # Verify that real-time analytics metrics are delivered to CloudWatch.
-            aws_metrics_utils.verify_cloud_watch_delivery(
-                AWS_METRICS_FEATURE_NAME,
-                'TotalLogins',
-                [],
-                start_time)
-            logger.info('Real-time metrics are sent to CloudWatch.')
-
-        # Run time-consuming operations on separate threads to avoid blocking the test.
-        operational_threads = list()
-        operational_threads.append(
-            AWSMetricsThread(target=query_metrics_from_s3,
-                             args=(aws_metrics_utils, resource_mappings)))
-        operational_threads.append(
-            AWSMetricsThread(target=verify_operational_metrics,
-                             args=(aws_metrics_utils, resource_mappings, start_time)))
-        operational_threads.append(
-            AWSMetricsThread(target=update_kinesis_analytics_application_status,
-                             args=(aws_metrics_utils, resource_mappings, False)))
-        for thread in operational_threads:
-            thread.start()
-        for thread in operational_threads:
-            thread.join()
-
-    @pytest.mark.parametrize('level', ['levels/aws/metrics/metrics.spawnable'])
-    def test_unauthorized_user_request_rejected(self,
-                                                level: str,
-                                                launcher: pytest.fixture,
-                                                asset_processor: pytest.fixture,
-                                                workspace: pytest.fixture):
-        """
-        Verify that unauthorized users cannot send metrics events to the AWS backed backend.
-        """
-        log_monitor = _setup(launcher=launcher, asset_processor=asset_processor)
-
-        # Set invalid AWS credentials.
-        launcher.args = ['+LoadLevel', level, '+cl_awsAccessKey', 'AKIAIOSFODNN7EXAMPLE',
-                         '+cl_awsSecretKey', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY']
-        launcher.args.extend(['-rhi=null'])
-
-        with launcher.start(launch_ap=False):
-            result = log_monitor.monitor_log_for_lines(
-                expected_lines=['(Script) - Failed to send metrics.'],
-                unexpected_lines=['(Script) - Metrics is sent successfully.'],
-                halt_on_unexpected=True)
-            assert result, 'Metrics events are sent successfully by unauthorized user'
-            logger.info('Unauthorized user is rejected to send metrics.')
-
-    def test_clean_up_s3_bucket(self,
-                                aws_utils: pytest.fixture,
-                                resource_mappings: pytest.fixture,
-                                aws_metrics_utils: pytest.fixture):
-        """
-        Clear the analytics bucket objects so that the S3 bucket can be destroyed during tear down.
-        """
-        aws_metrics_utils.empty_bucket(
-            resource_mappings.get_resource_name_id('AWSMetrics.AnalyticsBucketName'))

+ 0 - 29
AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_custom_thread.py

@@ -1,29 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-from threading import Thread
-
-
-class AWSMetricsThread(Thread):
-    """
-    Custom thread for raising assertion errors on the main thread.
-    """
-    def __init__(self, **kwargs):
-        super().__init__(**kwargs)
-        self._error = None
-
-    def run(self) -> None:
-        try:
-            super().run()
-        except AssertionError as e:
-            self._error = e
-
-    def join(self, **kwargs) -> None:
-        super().join(**kwargs)
-
-        if self._error:
-            raise AssertionError(self._error)

+ 0 - 255
AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_utils.py

@@ -1,255 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import logging
-import pathlib
-import pytest
-import typing
-
-from datetime import datetime
-from botocore.exceptions import WaiterError
-
-from .aws_metrics_waiters import KinesisAnalyticsApplicationUpdatedWaiter, \
-    CloudWatchMetricsDeliveredWaiter, DataLakeMetricsDeliveredWaiter, GlueCrawlerReadyWaiter
-
-logging.getLogger('boto').setLevel(logging.CRITICAL)
-
-# Expected directory and file extension for the S3 objects.
-EXPECTED_S3_DIRECTORY = 'firehose_events/'
-EXPECTED_S3_OBJECT_EXTENSION = '.parquet'
-
-
-class AWSMetricsUtils:
-    """
-    Provide utils functions for the AWSMetrics gem to interact with the deployed resources.
-    """
-
-    def __init__(self, aws_utils: pytest.fixture):
-        self._aws_util = aws_utils
-
-    def start_kinesis_data_analytics_application(self, application_name: str) -> None:
-        """
-        Start the Kinesis Data Analytics application for real-time analytics.
-        :param application_name: Name of the Kinesis Data Analytics application.
-        """
-        input_id = self.get_kinesis_analytics_application_input_id(application_name)
-        assert input_id, 'invalid Kinesis Data Analytics application input.'
-
-        client = self._aws_util.client('kinesisanalytics')
-        try:
-            client.start_application(
-                ApplicationName=application_name,
-                InputConfigurations=[
-                    {
-                        'Id': input_id,
-                        'InputStartingPositionConfiguration': {
-                            'InputStartingPosition': 'NOW'
-                        }
-                    },
-                ]
-            )
-        except client.exceptions.ResourceInUseException:
-            # The application has been started.
-            return
-
-        try:
-            KinesisAnalyticsApplicationUpdatedWaiter(client, 'RUNNING').wait(application_name=application_name)
-        except WaiterError as e:
-            assert False, f'Failed to start the Kinesis Data Analytics application: {str(e)}.'
-
-    def get_kinesis_analytics_application_input_id(self, application_name: str) -> str:
-        """
-        Get the input ID for the Kenisis Data Analytics application.
-        :param application_name: Name of the Kenisis Data Analytics application.
-        :return: Input ID for the Kenisis Data Analytics application.
-        """
-        client = self._aws_util.client('kinesisanalytics')
-        response = client.describe_application(
-            ApplicationName=application_name
-        )
-        if not response:
-            return ''
-        input_descriptions = response.get('ApplicationDetail', {}).get('InputDescriptions', [])
-        if len(input_descriptions) != 1:
-            return ''
-
-        return input_descriptions[0].get('InputId', '')
-
-    def stop_kinesis_data_analytics_application(self, application_name: str) -> None:
-        """
-        Stop the Kinesis Data Analytics application.
-        :param application_name: Name of the Kinesis Data Analytics application.
-        """
-        client = self._aws_util.client('kinesisanalytics')
-        client.stop_application(
-            ApplicationName=application_name
-        )
-
-        try:
-            KinesisAnalyticsApplicationUpdatedWaiter(client, 'READY').wait(application_name=application_name)
-        except WaiterError as e:
-            assert False, f'Failed to stop the Kinesis Data Analytics application: {str(e)}.'
-
-    def verify_cloud_watch_delivery(self, namespace: str, metrics_name: str,
-                                    dimensions: typing.List[dict], start_time: datetime) -> None:
-        """
-        Verify that the expected metrics is delivered to CloudWatch.
-        :param namespace: Namespace of the metrics.
-        :param metrics_name: Name of the metrics.
-        :param dimensions: Dimensions of the metrics.
-        :param start_time: Start time for generating the metrics.
-        """
-        client = self._aws_util.client('cloudwatch')
-
-        try:
-            CloudWatchMetricsDeliveredWaiter(client).wait(
-                namespace=namespace,
-                metrics_name=metrics_name,
-                dimensions=dimensions,
-                start_time=start_time
-            )
-        except WaiterError as e:
-            assert False, f'Failed to deliver metrics to CloudWatch: {str(e)}.'
-
-    def verify_s3_delivery(self, analytics_bucket_name: str) -> None:
-        """
-        Verify that metrics are delivered to S3 for batch analytics successfully.
-        :param analytics_bucket_name: Name of the deployed S3 bucket.
-        """
-        client = self._aws_util.client('s3')
-        bucket_name = analytics_bucket_name
-
-        try:
-            DataLakeMetricsDeliveredWaiter(client).wait(bucket_name=bucket_name, prefix=EXPECTED_S3_DIRECTORY)
-        except WaiterError as e:
-            assert False, f'Failed to find the S3 directory for storing metrics data: {str(e)}.'
-
-        # Check whether the data is converted to the expected data format.
-        response = client.list_objects_v2(
-            Bucket=bucket_name,
-            Prefix=EXPECTED_S3_DIRECTORY
-        )
-        assert response.get('KeyCount', 0) != 0, f'Failed to deliver metrics to the S3 bucket {bucket_name}.'
-
-        s3_objects = response.get('Contents', [])
-        for s3_object in s3_objects:
-            key = s3_object.get('Key', '')
-            assert pathlib.Path(key).suffix == EXPECTED_S3_OBJECT_EXTENSION, \
-                f'Invalid data format is found in the S3 bucket {bucket_name}'
-
-    def run_glue_crawler(self, crawler_name: str) -> None:
-        """
-        Run the Glue crawler and wait for it to finish.
-        :param crawler_name: Name of the Glue crawler
-        """
-        client = self._aws_util.client('glue')
-        try:
-            client.start_crawler(
-                Name=crawler_name
-            )
-        except client.exceptions.CrawlerRunningException:
-            # The crawler has already been started.
-            return
-
-        try:
-            GlueCrawlerReadyWaiter(client).wait(crawler_name=crawler_name)
-        except WaiterError as e:
-            assert False, f'Failed to run the Glue crawler: {str(e)}.'
-
-    def run_named_queries(self, work_group: str) -> None:
-        """
-        Run the named queries under the specific Athena work group.
-        :param work_group: Name of the Athena work group.
-        """
-        client = self._aws_util.client('athena')
-        # List all the named queries.
-        response = client.list_named_queries(
-            WorkGroup=work_group
-        )
-        named_query_ids = response.get('NamedQueryIds', [])
-
-        # Run each of the queries.
-        for named_query_id in named_query_ids:
-            get_named_query_response = client.get_named_query(
-                NamedQueryId=named_query_id
-            )
-            named_query = get_named_query_response.get('NamedQuery', {})
-
-            start_query_execution_response = client.start_query_execution(
-                QueryString=named_query.get('QueryString', ''),
-                QueryExecutionContext={
-                    'Database': named_query.get('Database', '')
-                },
-                WorkGroup=work_group
-            )
-
-            # Wait for the query to finish.
-            state = 'RUNNING'
-            while state == 'QUEUED' or state == 'RUNNING':
-                get_query_execution_response = client.get_query_execution(
-                    QueryExecutionId=start_query_execution_response.get('QueryExecutionId', '')
-                )
-
-                state = get_query_execution_response.get('QueryExecution', {}).get('Status', {}).get('State', '')
-
-            assert state == 'SUCCEEDED', f'Failed to run the named query {named_query.get("Name", {})}'
-
-    def empty_bucket(self, bucket_name: str) -> None:
-        """
-        Empty the S3 bucket following:
-        https://boto3.amazonaws.com/v1/documentation/api/latest/guide/migrations3.html
-
-        :param bucket_name: Name of the S3 bucket.
-        """
-        s3 = self._aws_util.resource('s3')
-        bucket = s3.Bucket(bucket_name)
-
-        for key in bucket.objects.all():
-            key.delete()
-
-    def delete_table(self, database_name: str, table_name: str) -> None:
-        """
-        Delete an existing Glue table.
-
-        :param database_name: Name of the Glue database.
-        :param table_name: Name of the table to delete.
-        """
-        client = self._aws_util.client('glue')
-        client.delete_table(
-            DatabaseName=database_name,
-            Name=table_name
-        )
-
-    def try_delete_table(self, database_name: str, table_name: str) -> None:
-        """
-        Delete an existing Glue table. If table does not exist ignore
-
-        :param database_name: Name of the Glue database.
-        :param table_name: Name of the table to delete.
-        """
-        client = self._aws_util.client('glue')
-        try:
-            client.delete_table(
-                DatabaseName=database_name,
-                Name=table_name
-            )
-        except client.exceptions.EntityNotFoundException:
-            print(f"Table {table_name} does not exist in database {database_name}")
-
-
[email protected](scope='function')
-def aws_metrics_utils(
-        request: pytest.fixture,
-        aws_utils: pytest.fixture):
-    """
-    Fixture for the AWS metrics util functions.
-    :param request:  _pytest.fixtures.SubRequest class that handles getting
-        a pytest fixture from a pytest function/fixture.
-    :param aws_utils: aws_utils fixture.
-    """
-    aws_utils_obj = AWSMetricsUtils(aws_utils)
-    return aws_utils_obj

+ 0 - 139
AutomatedTesting/Gem/PythonTests/AWS/aws_metrics/aws_metrics_waiters.py

@@ -1,139 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import botocore.client
-import logging
-
-from datetime import timedelta
-from AWS.common.custom_waiter import CustomWaiter, WaitState
-
-logging.getLogger('boto').setLevel(logging.CRITICAL)
-
-
-class KinesisAnalyticsApplicationUpdatedWaiter(CustomWaiter):
-    """
-    Subclass of the base custom waiter class.
-    Wait for the Kinesis analytics application being updated to a specific status.
-    """
-    def __init__(self, client: botocore.client, status: str):
-        """
-        Initialize the waiter.
-
-        :param client: Boto3 client to use.
-        :param status: Expected status.
-        """
-        super().__init__(
-            'KinesisAnalyticsApplicationUpdated',
-            'DescribeApplication',
-            'ApplicationDetail.ApplicationStatus',
-            {status: WaitState.SUCCESS},
-            client)
-
-    def wait(self, application_name: str):
-        """
-        Wait for the expected status.
-
-        :param application_name: Name of the Kinesis analytics application.
-        """
-        self._wait(ApplicationName=application_name)
-
-
-class GlueCrawlerReadyWaiter(CustomWaiter):
-    """
-    Subclass of the base custom waiter class.
-    Wait for the Glue crawler to finish its processing. Return when the crawler is in the "Stopping" status
-    to avoid wasting too much time in the automation tests on its shutdown process.
-    """
-    def __init__(self, client: botocore.client):
-        """
-        Initialize the waiter.
-
-        :param client: Boto3 client to use.
-        """
-        super().__init__(
-            'GlueCrawlerReady',
-            'GetCrawler',
-            'Crawler.State',
-            {'STOPPING': WaitState.SUCCESS},
-            client)
-
-    def wait(self, crawler_name):
-        """
-        Wait for the expected status.
-
-        :param crawler_name: Name of the Glue crawler.
-        """
-        self._wait(Name=crawler_name)
-
-
-class DataLakeMetricsDeliveredWaiter(CustomWaiter):
-    """
-    Subclass of the base custom waiter class.
-    Wait for the expected directory being created in the S3 bucket.
-    """
-    def __init__(self, client: botocore.client):
-        """
-        Initialize the waiter.
-
-        :param client: Boto3 client to use.
-        """
-        super().__init__(
-            'DataLakeMetricsDelivered',
-            'ListObjectsV2',
-            'KeyCount > `0`',
-            {True: WaitState.SUCCESS},
-            client)
-
-    def wait(self, bucket_name, prefix):
-        """
-        Wait for the expected directory being created.
-
-        :param bucket_name: Name of the S3 bucket.
-        :param prefix: Name of the expected directory prefix.
-        """
-        self._wait(Bucket=bucket_name, Prefix=prefix)
-
-
-class CloudWatchMetricsDeliveredWaiter(CustomWaiter):
-    """
-    Subclass of the base custom waiter class.
-    Wait for the expected metrics being delivered to CloudWatch.
-    """
-    def __init__(self, client: botocore.client):
-        """
-        Initialize the waiter.
-
-        :param client: Boto3 client to use.
-        """
-        super().__init__(
-            'CloudWatchMetricsDelivered',
-            'GetMetricStatistics',
-            'length(Datapoints) > `0`',
-            {True: WaitState.SUCCESS},
-            client)
-
-    def wait(self, namespace, metrics_name, dimensions, start_time):
-        """
-        Wait for the expected metrics being delivered.
-
-        :param namespace: Namespace of the metrics.
-        :param metrics_name: Name of the metrics.
-        :param dimensions: Dimensions of the metrics.
-        :param start_time: Start time for generating the metrics.
-        """
-        self._wait(
-            Namespace=namespace,
-            MetricName=metrics_name,
-            Dimensions=dimensions,
-            StartTime=start_time,
-            EndTime=start_time + timedelta(0, self.timeout),
-            Period=60,
-            Statistics=[
-                'SampleCount'
-            ],
-            Unit='Count'
-        )

+ 0 - 7
AutomatedTesting/Gem/PythonTests/AWS/client_auth/__init__.py

@@ -1,7 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-

+ 0 - 170
AutomatedTesting/Gem/PythonTests/AWS/client_auth/aws_client_auth_automation_test.py

@@ -1,170 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import logging
-import os
-import pytest
-
-import ly_test_tools.log.log_monitor
-
-from AWS.common import constants
-from AWS.common.resource_mappings import AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY
-
-# fixture imports
-from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
-
-AWS_CLIENT_AUTH_FEATURE_NAME = 'AWSClientAuth'
-
-logger = logging.getLogger(__name__)
-
-
[email protected]_awsi
[email protected]('asset_processor')
[email protected]('automatic_process_killer')
[email protected]('aws_utils')
[email protected]('workspace')
[email protected]('assume_role_arn', [constants.ASSUME_ROLE_ARN])
[email protected]('feature_name', [AWS_CLIENT_AUTH_FEATURE_NAME])
[email protected]('project', ['AutomatedTesting'])
[email protected]('resource_mappings')
[email protected]('resource_mappings_filename', [constants.AWS_RESOURCE_MAPPING_FILE_NAME])
[email protected]('region_name', [constants.AWS_REGION])
[email protected]('session_name', [constants.SESSION_NAME])
[email protected]('stacks', [[f'{constants.AWS_PROJECT_NAME}-{AWS_CLIENT_AUTH_FEATURE_NAME}-Stack-{constants.AWS_REGION}']])
-class TestAWSClientAuthWindows(object):
-    """
-    Test class to verify AWS Client Auth gem features on Windows.
-    """
-
-    @pytest.mark.parametrize('level', ['levels/aws/clientauth/clientauth.spawnable'])
-    def test_anonymous_credentials(self,
-                                   level: str,
-                                   launcher: pytest.fixture,
-                                   resource_mappings: pytest.fixture,
-                                   workspace: pytest.fixture,
-                                   asset_processor: pytest.fixture
-                                   ):
-        """
-        Test to verify AWS Cognito Identity pool anonymous authorization.
-
-        Setup: Updates resource mapping file using existing CloudFormation stacks.
-        Tests: Getting credentials when no credentials are configured
-        Verification: Log monitor looks for success credentials log.
-        """
-        asset_processor.start()
-        asset_processor.wait_for_idle()
-
-        file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), constants.GAME_LOG_NAME)
-        log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
-
-        launcher.args = ['+LoadLevel', level]
-        launcher.args.extend(['-rhi=null'])
-
-        with launcher.start(launch_ap=False):
-            result = log_monitor.monitor_log_for_lines(
-                expected_lines=['(Script) - Success anonymous credentials'],
-                unexpected_lines=['(Script) - Fail anonymous credentials'],
-                halt_on_unexpected=True,
-            )
-            assert result, 'Anonymous credentials fetched successfully.'
-    
-    @pytest.mark.parametrize('level', ['levels/aws/clientauth/clientauth.spawnable'])
-    def test_anonymous_credentials_no_global_accountid(self,
-                                                       level: str,
-                                                       launcher: pytest.fixture,
-                                                       resource_mappings: pytest.fixture,
-                                                       workspace: pytest.fixture,
-                                                       asset_processor: pytest.fixture
-                                                       ):
-        """
-        Test to verify AWS Cognito Identity pool anonymous authorization.
-
-        Setup: Updates resource mapping file using existing CloudFormation stacks.
-        Tests: Getting credentials when no credentials are configured
-        Verification: Log monitor looks for success credentials log.
-        """
-        # Remove top-level account ID from resource mappings
-        resource_mappings.clear_select_keys([AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY])
-        
-        asset_processor.start()
-        asset_processor.wait_for_idle()
-
-        file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), constants.GAME_LOG_NAME)
-        log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
-
-        launcher.args = ['+LoadLevel', level]
-        launcher.args.extend(['-rhi=null'])
-
-        with launcher.start(launch_ap=False):
-            result = log_monitor.monitor_log_for_lines(
-                expected_lines=['(Script) - Success anonymous credentials'],
-                unexpected_lines=['(Script) - Fail anonymous credentials'],
-                halt_on_unexpected=True,
-            )
-            assert result, 'Anonymous credentials fetched successfully.'
-
-    def test_password_signin_credentials(self,
-                                         launcher: pytest.fixture,
-                                         resource_mappings: pytest.fixture,
-                                         workspace: pytest.fixture,
-                                         asset_processor: pytest.fixture,
-                                         aws_utils: pytest.fixture
-                                         ):
-        """
-        Test to verify AWS Cognito IDP Password sign in and Cognito Identity pool authenticated authorization.
-
-        Setup: Updates resource mapping file using existing CloudFormation stacks.
-        Tests: Sign up new test user, admin confirm the user, sign in and get aws credentials.
-        Verification: Log monitor looks for success credentials log.
-        """
-        asset_processor.start()
-        asset_processor.wait_for_idle()
-
-        file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), constants.GAME_LOG_NAME)
-        log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
-
-        cognito_idp = aws_utils.client('cognito-idp')
-        user_pool_id = resource_mappings.get_resource_name_id(f'{AWS_CLIENT_AUTH_FEATURE_NAME}.CognitoUserPoolId')
-        logger.info(f'UserPoolId:{user_pool_id}')
-
-        # Remove the user if already exists
-        try:
-            cognito_idp.admin_delete_user(
-                UserPoolId=user_pool_id,
-                Username='test1'
-            )
-        except cognito_idp.exceptions.UserNotFoundException:
-            pass
-
-        launcher.args = ['+LoadLevel', 'levels/aws/clientauthpasswordsignup/clientauthpasswordsignup.spawnable']
-        launcher.args.extend(['-rhi=null'])
-
-        with launcher.start(launch_ap=False):
-            result = log_monitor.monitor_log_for_lines(
-                expected_lines=['(Script) - Signup Success'],
-                unexpected_lines=['(Script) - Signup Fail'],
-                halt_on_unexpected=True,
-            )
-            assert result, 'Sign Up Success.'
-
-        launcher.stop()
-
-        cognito_idp.admin_confirm_sign_up(
-            UserPoolId=user_pool_id,
-            Username='test1'
-        )
-
-        launcher.args = ['+LoadLevel', 'levels/aws/clientauthpasswordsignin/clientauthpasswordsignin.spawnable']
-        launcher.args.extend(['-rhi=null'])
-
-        with launcher.start(launch_ap=False):
-            result = log_monitor.monitor_log_for_lines(
-                expected_lines=['(Script) - SignIn Success', '(Script) - Success credentials'],
-                unexpected_lines=['(Script) - SignIn Fail', '(Script) - Fail credentials'],
-                halt_on_unexpected=True,
-            )
-            assert result, 'Sign in Success, fetched authenticated AWS temp credentials.'

+ 0 - 7
AutomatedTesting/Gem/PythonTests/AWS/common/__init__.py

@@ -1,7 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-

+ 0 - 114
AutomatedTesting/Gem/PythonTests/AWS/common/aws_credentials.py

@@ -1,114 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import boto3
-import configparser
-import logging
-import os
-import pytest
-import typing
-
-logger = logging.getLogger(__name__)
-logging.getLogger('boto').setLevel(logging.CRITICAL)
-
-
-class AwsCredentials:
-    def __init__(self, profile_name: str):
-        self._profile_name = profile_name
-
-        self._credentials_path = os.environ.get('AWS_SHARED_CREDENTIALS_FILE')
-        if not self._credentials_path:
-            # Home directory location varies based on the operating system, but is referred to using the environment
-            # variables %UserProfile% in Windows and $HOME or ~ (tilde) in Unix-based systems.
-            self._credentials_path = os.path.join(os.environ.get('UserProfile', os.path.expanduser('~')),
-                                                  '.aws', 'credentials')
-        self._credentials_file_exists = os.path.exists(self._credentials_path)
-
-        self._credentials = configparser.ConfigParser()
-        self._credentials.read(self._credentials_path)
-
-    def get_aws_credentials(self) -> typing.Tuple[str, str, str]:
-        """
-        Get aws credentials stored in the specific named profile.
-
-        :return AWS credentials.
-        """
-        access_key_id = self._get_aws_credential_attribute_value('aws_access_key_id')
-        secret_access_key = self._get_aws_credential_attribute_value('aws_secret_access_key')
-        session_token = self._get_aws_credential_attribute_value('aws_session_token')
-
-        return access_key_id, secret_access_key, session_token
-
-    def set_aws_credentials_by_session(self, session: boto3.Session) -> None:
-        """
-        Set AWS credentials stored in the specific named profile using an assumed role session.
-
-        :param session: assumed role session.
-        """
-        credentials = session.get_credentials().get_frozen_credentials()
-        self.set_aws_credentials(credentials.access_key, credentials.secret_key, credentials.token)
-
-    def set_aws_credentials(self, aws_access_key_id: str, aws_secret_access_key: str,
-                            aws_session_token: str) -> None:
-        """
-        Set AWS credentials stored in the specific named profile.
-
-        :param aws_access_key_id: AWS access key id.
-        :param aws_secret_access_key: AWS secrete access key.
-        :param aws_session_token: AWS assumed role session.
-        """
-        self._set_aws_credential_attribute_value('aws_access_key_id', aws_access_key_id)
-        self._set_aws_credential_attribute_value('aws_secret_access_key', aws_secret_access_key)
-        self._set_aws_credential_attribute_value('aws_session_token', aws_session_token)
-
-        if (len(self._credentials.sections()) == 0) and (not self._credentials_file_exists):
-            os.remove(self._credentials_path)
-            return
-        
-        credentials_file_dir = os.path.dirname(self._credentials_path)
-        if not os.path.isdir(credentials_file_dir):
-            os.makedirs(credentials_file_dir)
-
-        with open(self._credentials_path, 'w+') as credential_file:
-            self._credentials.write(credential_file)
-
-    def _get_aws_credential_attribute_value(self, attribute_name: str) -> str:
-        """
-        Get the value of an AWS credential attribute stored in the specific named profile.
-
-        :param attribute_name: Name of the AWS credential attribute.
-        :return Value of the AWS credential attribute.
-        """
-        try:
-            value = self._credentials.get(self._profile_name, attribute_name)
-        except configparser.NoSectionError:
-            # Named profile or key doesn't exist
-            value = None
-        except configparser.NoOptionError:
-            # Named profile doesn't have the specified attribute
-            value = None
-
-        return value
-
-    def _set_aws_credential_attribute_value(self, attribute_name: str, attribute_value: str) -> None:
-        """
-        Set the value of an AWS credential attribute stored in the specific named profile.
-
-        :param attribute_name: Name of the AWS credential attribute.
-        :param attribute_value: Value of the AWS credential attribute.
-        """
-        if self._profile_name not in self._credentials:
-            self._credentials[self._profile_name] = {}
-
-        if attribute_value is None:
-            self._credentials.remove_option(self._profile_name, attribute_name)
-            # Remove the named profile if it doesn't have any AWS credential attribute.
-            if len(self._credentials[self._profile_name]) == 0:
-                self._credentials.remove_section(self._profile_name)
-        else:
-            self._credentials[self._profile_name][attribute_name] = attribute_value
-

+ 0 - 63
AutomatedTesting/Gem/PythonTests/AWS/common/aws_utils.py

@@ -1,63 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-import boto3
-import logging
-
-logger = logging.getLogger(__name__)
-logging.getLogger('boto3').setLevel(logging.WARNING)
-logging.getLogger('botocore').setLevel(logging.WARNING)
-logging.getLogger('nose').setLevel(logging.WARNING)
-
-
-class AwsUtils:
-
-    def __init__(self, arn: str, session_name: str, region_name: str):
-        local_session = boto3.Session()
-        local_sts_client = local_session.client('sts')
-        self._local_account_id = local_sts_client.get_caller_identity()["Account"]
-        logger.info(f'Local Account Id: {self._local_account_id}')
-
-        response = local_sts_client.assume_role(RoleArn=arn, RoleSessionName=session_name)
-
-        self._assume_session = boto3.Session(aws_access_key_id=response['Credentials']['AccessKeyId'],
-                                             aws_secret_access_key=response['Credentials']['SecretAccessKey'],
-                                             aws_session_token=response['Credentials']['SessionToken'],
-                                             region_name=region_name)
-
-        assume_sts_client = self._assume_session.client('sts')
-        assume_account_id = assume_sts_client.get_caller_identity()["Account"]
-        logger.info(f'Assume Account Id: {assume_account_id}')
-        self._assume_account_id = assume_account_id
-
-    def client(self, service: str):
-        """
-        Get the client for a specific AWS service from configured session
-        :return: Client for the AWS service.
-        """
-        return self._assume_session.client(service)
-
-    def resource(self, service: str):
-        """
-        Get the resource for a specific AWS service from configured session
-        :return: Client for the AWS service.
-        """
-        return self._assume_session.resource(service)
-
-    def assume_session(self):
-        return self._assume_session
-
-    def local_account_id(self):
-        return self._local_account_id
-
-    def assume_account_id(self):
-        return self._assume_account_id
-
-    def destroy(self) -> None:
-        """
-        clears stored session
-        """
-        self._assume_session = None

+ 0 - 27
AutomatedTesting/Gem/PythonTests/AWS/common/constants.py

@@ -1,27 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import os
-import platform
-
-# To avoid resource name length issues, potentially verbose pipeline names are capped at 25 chars.
-# TODO: consolidate project name formulation for tests and deploy scripts to same place.
-MAX_PIPELINE_NAME_LENGTH = 25
-
-# ARN of the IAM role to assume for retrieving temporary AWS credentials
-ASSUME_ROLE_ARN = os.environ.get('ASSUME_ROLE_ARN', 'arn:aws:iam::645075835648:role/o3de-automation-tests')
-# Name of the AWS project deployed by the CDK applications
-AWS_PROJECT_NAME = os.environ.get('O3DE_AWS_PROJECT_NAME').upper() if os.environ.get('O3DE_AWS_PROJECT_NAME') else \
-    (os.environ.get('BRANCH_NAME', '') + '-' + os.environ.get('PIPELINE_NAME', '')[:MAX_PIPELINE_NAME_LENGTH] + '-' + platform.system()).upper()
-# Region for the existing CloudFormation stacks used by the automation tests
-AWS_REGION = os.environ.get('O3DE_AWS_DEPLOY_REGION', 'us-east-1')
-# Name of the default resource mapping config file used by the automation tests
-AWS_RESOURCE_MAPPING_FILE_NAME = 'default_aws_resource_mappings.json'
-# Name of the game launcher log
-GAME_LOG_NAME = 'Game.log'
-# Name of the IAM role session for retrieving temporary AWS credentials
-SESSION_NAME = 'o3de-Automation-session'

+ 0 - 87
AutomatedTesting/Gem/PythonTests/AWS/common/custom_waiter.py

@@ -1,87 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-from enum import Enum
-import botocore.client
-import botocore.waiter
-import logging
-
-logging.getLogger('boto').setLevel(logging.CRITICAL)
-
-
-class WaitState(Enum):
-    SUCCESS = 'success'
-    FAILURE = 'failure'
-
-
-class CustomWaiter:
-    """
-    Base class for a custom waiter.
-
-    Modified from:
-    https://docs.aws.amazon.com/code-samples/latest/catalog/python-demo_tools-custom_waiter.py.html
-    """
-    def __init__(
-            self, name: str, operation: str, argument: str,
-            acceptors: dict, client: botocore.client, delay: int = 30, max_tries: int = 10,
-            matcher='path'):
-        """
-        Subclasses should pass specific operations, arguments, and acceptors to
-        their superclass.
-
-        :param name: The name of the waiter. This can be any descriptive string.
-        :param operation: The operation to wait for. This must match the casing of
-                          the underlying operation model, which is typically in
-                          CamelCase.
-        :param argument: The dict keys used to access the result of the operation, in
-                         dot notation. For example, 'Job.Status' will access
-                         result['Job']['Status'].
-        :param acceptors: The list of acceptors that indicate the wait is over. These
-                          can indicate either success or failure. The acceptor values
-                          are compared to the result of the operation after the
-                          argument keys are applied.
-        :param client: The Boto3 client.
-        :param delay: The number of seconds to wait between each call to the operation. Default to 30 seconds.
-        :param max_tries: The maximum number of tries before exiting. Default to 10.
-        :param matcher: The kind of matcher to use. Default to 'path'.
-        """
-        self.name = name
-        self.operation = operation
-        self.argument = argument
-        self.client = client
-        self.waiter_model = botocore.waiter.WaiterModel({
-            'version': 2,
-            'waiters': {
-                name: {
-                    "delay": delay,
-                    "operation": operation,
-                    "maxAttempts": max_tries,
-                    "acceptors": [{
-                        "state": state.value,
-                        "matcher": matcher,
-                        "argument": argument,
-                        "expected": expected
-                    } for expected, state in acceptors.items()]
-                }}})
-        self.waiter = botocore.waiter.create_waiter_with_client(
-            self.name, self.waiter_model, self.client)
-
-        self._timeout = delay * max_tries
-
-    def _wait(self, **kwargs):
-        """
-        Starts the botocore wait loop.
-
-        :param kwargs: Keyword arguments that are passed to the operation being polled.
-        """
-        self.waiter.wait(**kwargs)
-
-    @property
-    def timeout(self):
-        return self._timeout
-
-

+ 0 - 118
AutomatedTesting/Gem/PythonTests/AWS/common/resource_mappings.py

@@ -1,118 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import os
-import json
-import logging
-from AWS.common import constants
-
-logger = logging.getLogger(__name__)
-
-AWS_RESOURCE_MAPPINGS_KEY = 'AWSResourceMappings'
-AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY = 'AccountId'
-AWS_RESOURCE_MAPPINGS_REGION_KEY = 'Region'
-
-
-class ResourceMappings:
-    """
-    ResourceMappings class that handles writing Cloud formation outputs to resource mappings json file in a project.
-    """
-
-    def __init__(self, file_path: str, region: str, feature_name: str, account_id: str, cloud_formation_client):
-        """
-        :param file_path: Path for the resource mapping file.
-        :param region: Region value for the resource mapping file.
-        :param feature_name: Feature gem name to use to append name to mappings key.
-        :param account_id: AWS account id value for the resource mapping file.
-        :param cloud_formation_client: AWS cloud formation client.
-        """
-        self._resource_mapping_file_path = file_path
-        self._region = region
-        self._feature_name = feature_name
-        self._account_id = account_id
-        self._resource_mappings = {}
-
-        assert os.path.exists(self._resource_mapping_file_path), \
-            f'Invalid resource mapping file path {self._resource_mapping_file_path}'
-        self._client = cloud_formation_client
-
-    def populate_output_keys(self, stacks=None) -> None:
-        """
-        Calls describe stacks on cloud formation service and persists outputs to resource mappings file.
-        :param stacks List of stack arns to describe and populate resource mappings with.
-        """
-        for stack_name in stacks:
-            response = self._client.describe_stacks(
-                StackName=stack_name
-            )
-            stacks = response.get('Stacks', [])
-            assert len(stacks) == 1, f'{stack_name} is invalid.'
-
-            self._write_resource_mappings(stacks[0].get('Outputs', []))
-
-    def _write_resource_mappings(self, outputs, append_feature_name=True) -> None:
-        with open(self._resource_mapping_file_path) as file_content:
-            resource_mappings = json.load(file_content)
-
-        resource_mappings[AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY] = self._account_id
-        resource_mappings[AWS_RESOURCE_MAPPINGS_REGION_KEY] = self._region
-
-        # Append new mappings.
-        resource_mappings[AWS_RESOURCE_MAPPINGS_KEY] = resource_mappings.get(AWS_RESOURCE_MAPPINGS_KEY, {})
-
-        for output in outputs:
-            if append_feature_name:
-                resource_key = f'{self._feature_name}.{output.get("OutputKey", "InvalidKey")}'
-            else:
-                resource_key = output.get("OutputKey", "InvalidKey")
-            resource_mappings[AWS_RESOURCE_MAPPINGS_KEY][resource_key] = resource_mappings[
-                AWS_RESOURCE_MAPPINGS_KEY].get(resource_key, {})
-            resource_mappings[AWS_RESOURCE_MAPPINGS_KEY][resource_key]['Type'] = 'AutomationTestType'
-            resource_mappings[AWS_RESOURCE_MAPPINGS_KEY][resource_key]['Name/ID'] = output.get('OutputValue',
-                                                                                               'InvalidId')
-
-        self._resource_mappings = resource_mappings
-        with open(self._resource_mapping_file_path, 'w') as file_content:
-            json.dump(resource_mappings, file_content, indent=4)
-
-    def clear_output_keys(self) -> None:
-        """
-        Clears values of all resource mapping keys. Sets region to default to us-west-2
-        """
-        with open(self._resource_mapping_file_path) as file_content:
-            resource_mappings = json.load(file_content)
-
-        resource_mappings[AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY] = ''
-        resource_mappings[AWS_RESOURCE_MAPPINGS_REGION_KEY] = constants.AWS_REGION
-
-        # Append new mappings.
-        resource_mappings[AWS_RESOURCE_MAPPINGS_KEY] = resource_mappings.get(AWS_RESOURCE_MAPPINGS_KEY, {})
-        resource_mappings[AWS_RESOURCE_MAPPINGS_KEY] = {}
-
-        with open(self._resource_mapping_file_path, 'w') as file_content:
-            json.dump(resource_mappings, file_content, indent=4)
-
-        self._resource_mapping_file_path = ''
-        self._region = ''
-        self._client = None
-
-    def get_resource_name_id(self, resource_key: str):
-        return self._resource_mappings[AWS_RESOURCE_MAPPINGS_KEY][resource_key]['Name/ID']
-
-    def clear_select_keys(self, resource_keys=None) -> None:
-        """
-        Clears values from select resource mapping keys.
-        :param resource_keys: list of keys to clear out
-        """
-        with open(self._resource_mapping_file_path) as file_content:
-            resource_mappings = json.load(file_content)
-
-        for key in resource_keys:
-            resource_mappings[key] = ''
-
-        with open(self._resource_mapping_file_path, 'w') as file_content:
-            json.dump(resource_mappings, file_content, indent=4)

+ 0 - 104
AutomatedTesting/Gem/PythonTests/AWS/conftest.py

@@ -1,104 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-import logging
-from os.path import abspath
-import pytest
-import typing
-
-from AWS.common.aws_utils import AwsUtils
-from AWS.common.aws_credentials import AwsCredentials
-from AWS.common.resource_mappings import ResourceMappings
-
-logger = logging.getLogger(__name__)
-
-
[email protected](scope='function')
-def aws_utils(
-        request: pytest.fixture,
-        assume_role_arn: str,
-        session_name: str,
-        region_name: str):
-    """
-    Fixture for AWS util functions
-    :param request: _pytest.fixtures.SubRequest class that handles getting
-        a pytest fixture from a pytest function/fixture.
-    :param assume_role_arn: Role used to fetch temporary aws credentials, configure service clients with obtained credentials.
-    :param session_name: Session name to set.
-    :param region_name: AWS account region to set for session.
-    :return AWSUtils class object.
-    """
-
-    aws_utils_obj = AwsUtils(assume_role_arn, session_name, region_name)
-
-    def teardown():
-        aws_utils_obj.destroy()
-
-    request.addfinalizer(teardown)
-
-    return aws_utils_obj
-
-# Set global pytest variable for cdk to avoid recreating instance
-pytest.cdk_obj = None
-
-
[email protected](scope='function')
-def resource_mappings(
-        request: pytest.fixture,
-        project: str,
-        feature_name: str,
-        resource_mappings_filename: str,
-        stacks: typing.List,
-        workspace: pytest.fixture,
-        aws_utils: pytest.fixture) -> ResourceMappings:
-    """
-    Fixture for setting up resource mappings file.
-    :param request: _pytest.fixtures.SubRequest class that handles getting
-        a pytest fixture from a pytest function/fixture.
-    :param project: Project to find resource mapping file.
-    :param feature_name: AWS Gem name that is prepended to resource mapping keys.
-    :param resource_mappings_filename: Name of resource mapping file.
-    :param stacks: List of stack names to describe and populate resource mappings with.
-    :param workspace: ly_test_tools workspace fixture.
-    :param aws_utils: AWS utils fixture.
-    :return: ResourceMappings class object.
-    """
-
-    path = f'{workspace.paths.engine_root()}/{project}/Config/{resource_mappings_filename}'
-    logger.info(f'Resource mapping path : {path}')
-    logger.info(f'Resource mapping resolved path : {abspath(path)}')
-    resource_mappings_obj = ResourceMappings(abspath(path), aws_utils.assume_session().region_name, feature_name,
-                                             aws_utils.assume_account_id(), aws_utils.client('cloudformation'))
-    resource_mappings_obj.populate_output_keys(stacks)
-
-    def teardown():
-        resource_mappings_obj.clear_output_keys()
-
-    request.addfinalizer(teardown)
-
-    return resource_mappings_obj
-
-
[email protected](scope='function')
-def aws_credentials(request: pytest.fixture, aws_utils: pytest.fixture, profile_name: str):
-    """
-    Fixture for setting up temporary AWS credentials from assume role.
-
-    :param request: _pytest.fixtures.SubRequest class that handles getting
-        a pytest fixture from a pytest function/fixture.
-    :param aws_utils: aws_utils fixture.
-    :param profile_name: Named AWS profile to store temporary credentials.
-    """
-    aws_credentials_obj = AwsCredentials(profile_name)
-    original_access_key, original_secret_access_key, original_token = aws_credentials_obj.get_aws_credentials()
-    aws_credentials_obj.set_aws_credentials_by_session(aws_utils.assume_session())
-
-    def teardown():
-        # Reset to the named profile using the original AWS credentials
-        aws_credentials_obj.set_aws_credentials(original_access_key, original_secret_access_key, original_token)
-    request.addfinalizer(teardown)
-
-    return aws_credentials_obj

+ 0 - 6
AutomatedTesting/Gem/PythonTests/AWS/core/__init__.py

@@ -1,6 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""

+ 0 - 192
AutomatedTesting/Gem/PythonTests/AWS/core/test_aws_resource_interaction.py

@@ -1,192 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import logging
-import os
-import shutil
-import typing
-from botocore.exceptions import ClientError
-
-import pytest
-import ly_test_tools
-import ly_test_tools.log.log_monitor
-import ly_test_tools.environment.process_utils as process_utils
-import ly_test_tools.o3de.asset_processor_utils as asset_processor_utils
-
-from AWS.common import constants
-from AWS.common.resource_mappings import AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY
-
-# fixture imports
-from assetpipeline.ap_fixtures.asset_processor_fixture import asset_processor
-
-AWS_CORE_FEATURE_NAME = 'AWSCore'
-
-process_utils.kill_processes_named("o3de", ignore_extensions=True)  # Kill ProjectManager windows
-
-logger = logging.getLogger(__name__)
-
-
-def _setup(launcher: pytest.fixture, asset_processor: pytest.fixture) -> typing.Tuple[pytest.fixture, str]:
-    """
-    Set up the resource mapping configuration and start the log monitor.
-    :param launcher: Client launcher for running the test level.
-    :param asset_processor: asset_processor fixture.
-    :return log monitor object, metrics file path and the metrics stack name.
-    """
-    # Create the temporary directory for downloading test file from S3.
-    user_dir = os.path.join(launcher.workspace.paths.project(), 'user')
-    s3_download_dir = os.path.join(user_dir, 's3_download')
-    if not os.path.exists(s3_download_dir):
-        os.makedirs(s3_download_dir)
-
-    asset_processor_utils.kill_asset_processor()
-    asset_processor.start()
-    asset_processor.wait_for_idle()
-
-    file_to_monitor = os.path.join(launcher.workspace.paths.project_log(), constants.GAME_LOG_NAME)
-    log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
-
-    return log_monitor, s3_download_dir
-
-
-def write_test_data_to_dynamodb_table(resource_mappings: pytest.fixture, aws_utils: pytest.fixture) -> None:
-    """
-    Write test data to the DynamoDB table created by the CDK application.
-    :param resource_mappings: resource_mappings fixture.
-    :param aws_utils: aws_utils fixture.
-    """
-    table_name = resource_mappings.get_resource_name_id(f'{AWS_CORE_FEATURE_NAME}.ExampleDynamoTableOutput')
-    try:
-        aws_utils.client('dynamodb').put_item(
-            TableName=table_name,
-            Item={
-                'id': {
-                    'S': 'Item1'
-                }
-            }
-        )
-        logger.info(f'Loaded data into table {table_name}')
-    except ClientError:
-        logger.exception(f'Failed to load data into table {table_name}')
-        raise
-
-
[email protected]_awsi
[email protected]('asset_processor')
[email protected]('automatic_process_killer')
[email protected]('feature_name', [AWS_CORE_FEATURE_NAME])
[email protected]('region_name', [constants.AWS_REGION])
[email protected]('assume_role_arn', [constants.ASSUME_ROLE_ARN])
[email protected]('session_name', [constants.SESSION_NAME])
[email protected]('workspace')
[email protected]('project', ['AutomatedTesting'])
[email protected]('level', ['levels/aws/core/core.spawnable'])
[email protected]('resource_mappings')
[email protected]('resource_mappings_filename', [constants.AWS_RESOURCE_MAPPING_FILE_NAME])
[email protected]('stacks', [[f'{constants.AWS_PROJECT_NAME}-{AWS_CORE_FEATURE_NAME}',
-                                     f'{constants.AWS_PROJECT_NAME}-{AWS_CORE_FEATURE_NAME}-Example-{constants.AWS_REGION}']])
[email protected]('aws_credentials')
[email protected]('profile_name', ['AWSAutomationTest'])
-class TestAWSCoreAWSResourceInteraction(object):
-    """
-    Test class to verify the scripting behavior for the AWSCore gem.
-    """
-
-    @pytest.mark.parametrize('expected_lines', [
-        ['(Script) - [S3] Head object request is done',
-         '(Script) - [S3] Head object success: Object example.txt is found.',
-         '(Script) - [S3] Get object success: Object example.txt is downloaded.',
-         '(Script) - [Lambda] Completed Invoke',
-         '(Script) - [Lambda] Invoke success: {"statusCode": 200, "body": {}}',
-         '(Script) - [DynamoDB] Results finished']])
-    @pytest.mark.parametrize('unexpected_lines', [
-        ['(Script) - [S3] Head object error: No response body.',
-         '(Script) - [S3] Get object error: Request validation failed, output file directory doesn\'t exist.',
-         '(Script) - Request validation failed, output file miss full path.',
-         '(Script) - ']])
-    def test_scripting_behavior(self,
-                                level: str,
-                                launcher: pytest.fixture,
-                                workspace: pytest.fixture,
-                                asset_processor: pytest.fixture,
-                                resource_mappings: pytest.fixture,
-                                aws_utils: pytest.fixture,
-                                expected_lines: typing.List[str],
-                                unexpected_lines: typing.List[str]):
-        """
-        Setup: Updates resource mapping file using existing CloudFormation stacks.
-        Tests: Interact with AWS S3, DynamoDB and Lambda services.
-        Verification: Script canvas nodes can communicate with AWS services successfully.
-        """
-
-        log_monitor, s3_download_dir = _setup(launcher=launcher, asset_processor=asset_processor)
-        write_test_data_to_dynamodb_table(resource_mappings, aws_utils)
-
-        launcher.args = ['+LoadLevel', level]
-        launcher.args.extend(['-rhi=null'])
-
-        with launcher.start(launch_ap=False):
-            result = log_monitor.monitor_log_for_lines(
-                expected_lines=expected_lines,
-                unexpected_lines=unexpected_lines,
-                halt_on_unexpected=True
-                )
-
-            assert result, "Expected lines weren't found."
-
-        assert os.path.exists(os.path.join(s3_download_dir, 'output.txt')), \
-            'The expected file wasn\'t successfully downloaded.'
-        # clean up the file directories.
-        shutil.rmtree(s3_download_dir)
-
-    @pytest.mark.parametrize('expected_lines', [
-        ['(Script) - [S3] Head object request is done',
-         '(Script) - [S3] Head object success: Object example.txt is found.',
-         '(Script) - [S3] Get object success: Object example.txt is downloaded.',
-         '(Script) - [Lambda] Completed Invoke',
-         '(Script) - [Lambda] Invoke success: {"statusCode": 200, "body": {}}',
-         '(Script) - [DynamoDB] Results finished']])
-    @pytest.mark.parametrize('unexpected_lines', [
-        ['(Script) - [S3] Head object error: No response body.',
-         '(Script) - [S3] Get object error: Request validation failed, output file directory doesn\'t exist.',
-         '(Script) - Request validation failed, output file miss full path.',
-         '(Script) - ']])
-    def test_scripting_behavior_no_global_accountid(self,
-                                                    level: str,
-                                                    launcher: pytest.fixture,
-                                                    workspace: pytest.fixture,
-                                                    asset_processor: pytest.fixture,
-                                                    resource_mappings: pytest.fixture,
-                                                    aws_utils: pytest.fixture,
-                                                    expected_lines: typing.List[str],
-                                                    unexpected_lines: typing.List[str]):
-        """
-        Setup: Updates resource mapping file using existing CloudFormation stacks.
-        Tests: Interact with AWS S3, DynamoDB and Lambda services.
-        Verification: Script canvas nodes can communicate with AWS services successfully.
-        """
-
-        resource_mappings.clear_select_keys([AWS_RESOURCE_MAPPINGS_ACCOUNT_ID_KEY])
-        log_monitor, s3_download_dir = _setup(launcher=launcher, asset_processor=asset_processor)
-        write_test_data_to_dynamodb_table(resource_mappings, aws_utils)
-
-        launcher.args = ['+LoadLevel', level]
-        launcher.args.extend(['-rhi=null'])
-
-        with launcher.start(launch_ap=False):
-            result = log_monitor.monitor_log_for_lines(
-                expected_lines=expected_lines,
-                unexpected_lines=unexpected_lines,
-                halt_on_unexpected=True
-                )
-
-            assert result, "Expected lines weren't found."
-
-        assert os.path.exists(os.path.join(s3_download_dir, 'output.txt')), \
-            'The expected file wasn\'t successfully downloaded.'
-        # clean up the file directories.
-        shutil.rmtree(s3_download_dir)

+ 0 - 3
AutomatedTesting/Gem/PythonTests/CMakeLists.txt

@@ -56,9 +56,6 @@ add_subdirectory(smoke)
 ## Terrain ##
 add_subdirectory(Terrain)
 
-## AWS ##
-add_subdirectory(AWS)
-
 ## Multiplayer ##
 add_subdirectory(Multiplayer)
 

+ 0 - 622
AutomatedTesting/Levels/AWS/ClientAuth/ClientAuth.prefab

@@ -1,622 +0,0 @@
-{
-    "ContainerEntity": {
-        "Id": "Entity_[1146574390643]",
-        "Name": "Level",
-        "Components": {
-            "Component_[10641544592923449938]": {
-                "$type": "EditorInspectorComponent",
-                "Id": 10641544592923449938
-            },
-            "Component_[12039882709170782873]": {
-                "$type": "EditorOnlyEntityComponent",
-                "Id": 12039882709170782873
-            },
-            "Component_[12265484671603697631]": {
-                "$type": "EditorPendingCompositionComponent",
-                "Id": 12265484671603697631
-            },
-            "Component_[14126657869720434043]": {
-                "$type": "EditorEntitySortComponent",
-                "Id": 14126657869720434043,
-                "Child Entity Order": [
-                    "Entity_[1176639161715]",
-                    "Entity_[2670735447885]"
-                ]
-            },
-            "Component_[15230859088967841193]": {
-                "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                "Id": 15230859088967841193,
-                "Parent Entity": ""
-            },
-            "Component_[16239496886950819870]": {
-                "$type": "EditorDisabledCompositionComponent",
-                "Id": 16239496886950819870
-            },
-            "Component_[5688118765544765547]": {
-                "$type": "EditorEntityIconComponent",
-                "Id": 5688118765544765547
-            },
-            "Component_[6545738857812235305]": {
-                "$type": "SelectionComponent",
-                "Id": 6545738857812235305
-            },
-            "Component_[7247035804068349658]": {
-                "$type": "EditorPrefabComponent",
-                "Id": 7247035804068349658
-            },
-            "Component_[9307224322037797205]": {
-                "$type": "EditorLockComponent",
-                "Id": 9307224322037797205
-            },
-            "Component_[9562516168917670048]": {
-                "$type": "EditorVisibilityComponent",
-                "Id": 9562516168917670048
-            }
-        }
-    },
-    "Entities": {
-        "Entity_[1155164325235]": {
-            "Id": "Entity_[1155164325235]",
-            "Name": "Sun",
-            "Components": {
-                "Component_[10440557478882592717]": {
-                    "$type": "SelectionComponent",
-                    "Id": 10440557478882592717
-                },
-                "Component_[13620450453324765907]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 13620450453324765907
-                },
-                "Component_[2134313378593666258]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 2134313378593666258
-                },
-                "Component_[234010807770404186]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 234010807770404186
-                },
-                "Component_[2970359110423865725]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 2970359110423865725
-                },
-                "Component_[3722854130373041803]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3722854130373041803
-                },
-                "Component_[5992533738676323195]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5992533738676323195
-                },
-                "Component_[7378860763541895402]": {
-                    "$type": "AZ::Render::EditorDirectionalLightComponent",
-                    "Id": 7378860763541895402,
-                    "Controller": {
-                        "Configuration": {
-                            "Intensity": 1.0,
-                            "CameraEntityId": "",
-                            "ShadowFilterMethod": 1
-                        }
-                    }
-                },
-                "Component_[7892834440890947578]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 7892834440890947578,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.0,
-                            13.487043380737305
-                        ],
-                        "Rotate": [
-                            -76.13099670410156,
-                            -0.847000002861023,
-                            -15.8100004196167
-                        ]
-                    }
-                },
-                "Component_[8599729549570828259]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 8599729549570828259
-                },
-                "Component_[952797371922080273]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 952797371922080273
-                }
-            }
-        },
-        "Entity_[1159459292531]": {
-            "Id": "Entity_[1159459292531]",
-            "Name": "Ground",
-            "Components": {
-                "Component_[11701138785793981042]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11701138785793981042
-                },
-                "Component_[12260880513256986252]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 12260880513256986252
-                },
-                "Component_[13711420870643673468]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 13711420870643673468
-                },
-                "Component_[138002849734991713]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 138002849734991713
-                },
-                "Component_[16578565737331764849]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 16578565737331764849,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[16919232076966545697]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 16919232076966545697
-                },
-                "Component_[5182430712893438093]": {
-                    "$type": "EditorMaterialComponent",
-                    "Id": 5182430712893438093
-                },
-                "Component_[5675108321710651991]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 5675108321710651991,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
-                                    "subId": 277889906
-                                },
-                                "assetHint": "objects/groudplane/groundplane_512x512m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[5681893399601237518]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5681893399601237518
-                },
-                "Component_[592692962543397545]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 592692962543397545
-                },
-                "Component_[7090012899106946164]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 7090012899106946164
-                },
-                "Component_[9410832619875640998]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 9410832619875640998
-                }
-            }
-        },
-        "Entity_[1163754259827]": {
-            "Id": "Entity_[1163754259827]",
-            "Name": "Camera",
-            "Components": {
-                "Component_[11895140916889160460]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11895140916889160460
-                },
-                "Component_[16880285896855930892]": {
-                    "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
-                    "Id": 16880285896855930892,
-                    "Controller": {
-                        "Configuration": {
-                            "Field of View": 55.0,
-                            "EditorEntityId": 6861302815203973165
-                        }
-                    }
-                },
-                "Component_[17187464423780271193]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 17187464423780271193
-                },
-                "Component_[17495696818315413311]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 17495696818315413311
-                },
-                "Component_[18086214374043522055]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 18086214374043522055,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            -2.3000001907348633,
-                            -3.9368600845336914,
-                            1.0
-                        ],
-                        "Rotate": [
-                            -2.050307512283325,
-                            1.9552897214889526,
-                            -43.623355865478516
-                        ]
-                    }
-                },
-                "Component_[18387556550380114975]": {
-                    "$type": "SelectionComponent",
-                    "Id": 18387556550380114975
-                },
-                "Component_[2654521436129313160]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 2654521436129313160
-                },
-                "Component_[5265045084611556958]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5265045084611556958
-                },
-                "Component_[7169798125182238623]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7169798125182238623
-                },
-                "Component_[7255796294953281766]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 7255796294953281766,
-                    "m_template": {
-                        "$type": "FlyCameraInputComponent"
-                    }
-                },
-                "Component_[8866210352157164042]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 8866210352157164042
-                },
-                "Component_[9129253381063760879]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 9129253381063760879
-                }
-            }
-        },
-        "Entity_[1168049227123]": {
-            "Id": "Entity_[1168049227123]",
-            "Name": "Grid",
-            "Components": {
-                "Component_[11443347433215807130]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11443347433215807130
-                },
-                "Component_[11779275529534764488]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11779275529534764488
-                },
-                "Component_[14249419413039427459]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14249419413039427459
-                },
-                "Component_[15448581635946161318]": {
-                    "$type": "AZ::Render::EditorGridComponent",
-                    "Id": 15448581635946161318,
-                    "Controller": {
-                        "Configuration": {
-                            "primarySpacing": 4.0,
-                            "primaryColor": [
-                                0.501960813999176,
-                                0.501960813999176,
-                                0.501960813999176
-                            ],
-                            "secondarySpacing": 0.5,
-                            "secondaryColor": [
-                                0.250980406999588,
-                                0.250980406999588,
-                                0.250980406999588
-                            ]
-                        }
-                    }
-                },
-                "Component_[1843303322527297409]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 1843303322527297409
-                },
-                "Component_[380249072065273654]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 380249072065273654,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[7476660583684339787]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7476660583684339787
-                },
-                "Component_[7557626501215118375]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 7557626501215118375
-                },
-                "Component_[7984048488947365511]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 7984048488947365511
-                },
-                "Component_[8118181039276487398]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 8118181039276487398
-                },
-                "Component_[9189909764215270515]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9189909764215270515
-                }
-            }
-        },
-        "Entity_[1172344194419]": {
-            "Id": "Entity_[1172344194419]",
-            "Name": "Shader Ball",
-            "Components": {
-                "Component_[10789351944715265527]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 10789351944715265527
-                },
-                "Component_[12037033284781049225]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 12037033284781049225
-                },
-                "Component_[13759153306105970079]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 13759153306105970079
-                },
-                "Component_[14135560884830586279]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14135560884830586279
-                },
-                "Component_[16247165675903986673]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 16247165675903986673
-                },
-                "Component_[18082433625958885247]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 18082433625958885247
-                },
-                "Component_[6472623349872972660]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6472623349872972660,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Rotate": [
-                            0.0,
-                            0.10000000149011612,
-                            180.0
-                        ]
-                    }
-                },
-                "Component_[6495255223970673916]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 6495255223970673916,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{FD340C30-755C-5911-92A3-19A3F7A77931}",
-                                    "subId": 281415304
-                                },
-                                "assetHint": "objects/shaderball/shaderball_default_1m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[8056625192494070973]": {
-                    "$type": "SelectionComponent",
-                    "Id": 8056625192494070973
-                },
-                "Component_[8550141614185782969]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 8550141614185782969
-                },
-                "Component_[9439770997198325425]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9439770997198325425
-                }
-            }
-        },
-        "Entity_[1176639161715]": {
-            "Id": "Entity_[1176639161715]",
-            "Name": "Atom Default Environment",
-            "Components": {
-                "Component_[10757302973393310045]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 10757302973393310045,
-                    "Parent Entity": "Entity_[1146574390643]"
-                },
-                "Component_[14505817420424255464]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14505817420424255464,
-                    "ComponentOrderEntryArray": [
-                        {
-                            "ComponentId": 10757302973393310045
-                        }
-                    ]
-                },
-                "Component_[14988041764659020032]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 14988041764659020032
-                },
-                "Component_[15808690248755038124]": {
-                    "$type": "SelectionComponent",
-                    "Id": 15808690248755038124
-                },
-                "Component_[15900837685796817138]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 15900837685796817138
-                },
-                "Component_[3298767348226484884]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3298767348226484884
-                },
-                "Component_[4076975109609220594]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 4076975109609220594
-                },
-                "Component_[5679760548946028854]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5679760548946028854
-                },
-                "Component_[5855590796136709437]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5855590796136709437,
-                    "Child Entity Order": [
-                        "Entity_[1155164325235]",
-                        "Entity_[1180934129011]",
-                        "Entity_[1172344194419]",
-                        "Entity_[1168049227123]",
-                        "Entity_[1163754259827]",
-                        "Entity_[1159459292531]"
-                    ]
-                },
-                "Component_[9277695270015777859]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 9277695270015777859
-                }
-            }
-        },
-        "Entity_[1180934129011]": {
-            "Id": "Entity_[1180934129011]",
-            "Name": "Global Sky",
-            "Components": {
-                "Component_[11231930600558681245]": {
-                    "$type": "AZ::Render::EditorHDRiSkyboxComponent",
-                    "Id": 11231930600558681245,
-                    "Controller": {
-                        "Configuration": {
-                            "CubemapAsset": {
-                                "assetId": {
-                                    "guid": "{215E47FD-D181-5832-B1AB-91673ABF6399}",
-                                    "subId": 1000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_skyboxcm.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[11980494120202836095]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11980494120202836095
-                },
-                "Component_[1428633914413949476]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 1428633914413949476
-                },
-                "Component_[14936200426671614999]": {
-                    "$type": "AZ::Render::EditorImageBasedLightComponent",
-                    "Id": 14936200426671614999,
-                    "Controller": {
-                        "Configuration": {
-                            "diffuseImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 3000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_ibldiffuse.exr.streamingimage"
-                            },
-                            "specularImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 2000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_iblspecular.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[14994774102579326069]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 14994774102579326069
-                },
-                "Component_[15417479889044493340]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 15417479889044493340
-                },
-                "Component_[15826613364991382688]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 15826613364991382688
-                },
-                "Component_[1665003113283562343]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 1665003113283562343
-                },
-                "Component_[3704934735944502280]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 3704934735944502280
-                },
-                "Component_[5698542331457326479]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 5698542331457326479
-                },
-                "Component_[6644513399057217122]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6644513399057217122,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[931091830724002070]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 931091830724002070
-                }
-            }
-        },
-        "Entity_[2670735447885]": {
-            "Id": "Entity_[2670735447885]",
-            "Name": "AnonymousAuthorization",
-            "Components": {
-                "Component_[11400228652398928245]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 11400228652398928245
-                },
-                "Component_[15542812360906781451]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 15542812360906781451,
-                    "Parent Entity": "Entity_[1146574390643]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.10000038146972656,
-                            4.005923748016357
-                        ]
-                    }
-                },
-                "Component_[16858205397479531670]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 16858205397479531670
-                },
-                "Component_[1921474395300693283]": {
-                    "$type": "EditorScriptCanvasComponent",
-                    "Id": 1921474395300693283,
-                    "configuration": {
-                        "sourceHandle": {
-                            "id": "{C0B0CEBA-064E-580F-AD81-CFE8CE0D61B1}",
-                            "path": "Levels/AWS/ClientAuth/ConitoAnonymousAuthorization.scriptcanvas"
-                        },
-                        "sourceName": "ConitoAnonymousAuthorization.scriptcanvas",
-                        "propertyOverrides": {
-                            "source": {
-                                "id": "{C0B0CEBA-064E-580F-AD81-CFE8CE0D61B1}",
-                                "path": "Levels/AWS/ClientAuth/ConitoAnonymousAuthorization.scriptcanvas"
-                            }
-                        }
-                    }
-                },
-                "Component_[2312432053711106201]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 2312432053711106201
-                },
-                "Component_[4066858233846929269]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 4066858233846929269
-                },
-                "Component_[6542133807409587028]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 6542133807409587028
-                },
-                "Component_[7002965736546436267]": {
-                    "$type": "SelectionComponent",
-                    "Id": 7002965736546436267
-                },
-                "Component_[7455250879152263787]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 7455250879152263787
-                },
-                "Component_[8081535907930415421]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 8081535907930415421
-                },
-                "Component_[9630473919092479415]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 9630473919092479415
-                }
-            }
-        }
-    }
-}

+ 0 - 1325
AutomatedTesting/Levels/AWS/ClientAuth/ConitoAnonymousAuthorization.scriptcanvas

@@ -1,1325 +0,0 @@
-{
-    "Type": "JsonSerialization",
-    "Version": 1,
-    "ClassName": "ScriptCanvasData",
-    "ClassData": {
-        "m_scriptCanvas": {
-            "Id": {
-                "id": 6706710049590
-            },
-            "Name": "ConitoAnonymousAuthorization",
-            "Components": {
-                "Component_[6686064357815538527]": {
-                    "$type": "EditorGraphVariableManagerComponent",
-                    "Id": 6686064357815538527,
-                    "m_variableData": {
-                        "m_nameVariableMap": [
-                            {
-                                "Key": {
-                                    "m_id": "{FED50699-DBFE-442D-BB6C-5B0030818690}"
-                                },
-                                "Value": {
-                                    "Datum": {
-                                        "isOverloadedStorage": false,
-                                        "scriptCanvasType": {
-                                            "m_type": 4,
-                                            "m_azType": "{02FB32C4-B94E-4084-9049-3DF32F87BD76}"
-                                        },
-                                        "isNullPointer": false,
-                                        "$type": "ClientAuthAWSCredentials",
-                                        "label": "Creds"
-                                    },
-                                    "VariableId": {
-                                        "m_id": "{FED50699-DBFE-442D-BB6C-5B0030818690}"
-                                    },
-                                    "VariableName": "Creds"
-                                }
-                            }
-                        ]
-                    }
-                },
-                "Component_[8229254966989441794]": {
-                    "$type": "{4D755CA9-AB92-462C-B24F-0B3376F19967} Graph",
-                    "Id": 8229254966989441794,
-                    "m_graphData": {
-                        "m_nodes": [
-                            {
-                                "Id": {
-                                    "id": 6732479853366
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[10018029241448660845]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 10018029241448660845,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{CA49F2CC-6D8D-4B79-A2EC-FC892B3080E0}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{8B77E1C8-36A3-4DD7-8D8C-384CFA02F904}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A3CF94A0-43D2-4E1A-B9D4-7D142E125868}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FD5B4E69-23D5-45CE-94A4-5B8ADC51E068}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FBF58831-798C-49AF-AFE4-B667AAAFB80F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{4318D470-DC34-4453-884A-CA7321A49DDC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Source",
-                                                "toolTip": "ID used to connect on a specific Event address (Type: EntityId)",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A968DBCB-4507-4155-94FD-7D86AE794FAB}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{154DF389-1BC0-440B-9D57-7C074EE8C94D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityActivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{96563FB8-2C6D-44CA-B9AA-5F07863BDE93}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{436B24D6-79C7-4DDF-A73B-71D5F1953C07}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityDeactivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 1
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "EntityId",
-                                                "value": {
-                                                    "id": 2901262558
-                                                },
-                                                "label": "Source"
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 245425936
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityActivated",
-                                                    "m_eventId": {
-                                                        "Value": 245425936
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{154DF389-1BC0-440B-9D57-7C074EE8C94D}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{A968DBCB-4507-4155-94FD-7D86AE794FAB}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4273369222
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityDeactivated",
-                                                    "m_eventId": {
-                                                        "Value": 4273369222
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{436B24D6-79C7-4DDF-A73B-71D5F1953C07}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{96563FB8-2C6D-44CA-B9AA-5F07863BDE93}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "EntityBus",
-                                        "m_busId": {
-                                            "Value": 3358774020
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6719594951478
-                                },
-                                "Name": "SC-Node(Initialize)",
-                                "Components": {
-                                    "Component_[11437183238486970293]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 11437183238486970293,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{2C1E3EE7-262F-418C-9861-7D459C415D3F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{CB95F6C6-6F1C-4E95-88FA-940EF78C1EC9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6520B85D-1E4C-4ECC-B9E4-E12B2A3FD071}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Result: Boolean",
-                                                "DisplayDataType": {
-                                                    "m_type": 0
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "Initialize",
-                                        "className": "AWSCognitoAuthorizationRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoAuthorizationRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6736774820662
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[17018320061093636088]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 17018320061093636088,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{785E4FD0-16C5-4DA7-997F-790EE825762E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{EBC33745-F120-44A7-B00E-BB33CC4A4C70}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B3F4FB70-C354-46BE-9807-9FC7BB2C622E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{9AEA64C0-1654-45C1-9E34-C685BA5192A4}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{2006558F-6EB5-4FD8-AAEC-B3207647E03D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1F864171-3BF2-41B9-B798-30841004A63A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ClientAuthAWSCredentials",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{02FB32C4-B94E-4084-9049-3DF32F87BD76}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{42CC05C3-381B-422B-81E6-0A67DF343611}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3F8CDA89-2FD1-438B-8874-A8F55A22BF5A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D4EA6ED9-60A0-4161-BDAC-734B83A2C360}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 3736070646
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 3736070646
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{42CC05C3-381B-422B-81E6-0A67DF343611}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{1F864171-3BF2-41B9-B798-30841004A63A}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4193877825
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsFail",
-                                                    "m_eventId": {
-                                                        "Value": 4193877825
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{D4EA6ED9-60A0-4161-BDAC-734B83A2C360}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{3F8CDA89-2FD1-438B-8874-A8F55A22BF5A}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSCognitoAuthorizationNotificationBus",
-                                        "m_busId": {
-                                            "Value": 1100345364
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6715299984182
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[285714280162783661]": {
-                                        "$type": "Print",
-                                        "Id": 285714280162783661,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{C667893C-CB0F-455C-A49B-61C717DAC23E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FEC13BF8-5A06-4962-953E-EB526BD14238}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "Fail anonymous credentials",
-                                        "m_unresolvedString": [
-                                            "Fail anonymous credentials"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6728184886070
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[285714280162783661]": {
-                                        "$type": "Print",
-                                        "Id": 285714280162783661,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{C667893C-CB0F-455C-A49B-61C717DAC23E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FEC13BF8-5A06-4962-953E-EB526BD14238}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "Success anonymous credentials",
-                                        "m_unresolvedString": [
-                                            "Success anonymous credentials"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6711005016886
-                                },
-                                "Name": "SC-Node(RequestAWSCredentialsAsync)",
-                                "Components": {
-                                    "Component_[3965816515223111262]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 3965816515223111262,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{0BB643D4-3989-499E-B997-E51370B8D72D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{2533A5E2-7A0D-429D-A970-FBF28240D574}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "RequestAWSCredentialsAsync",
-                                        "className": "AWSCognitoAuthorizationRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoAuthorizationRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6723889918774
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[7309023392789275534]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 7309023392789275534,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{5E6F6747-9B5E-4A7F-9278-161F310CD5AD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{604545A7-C650-4BF6-BA05-EA468CDC7731}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F0140D4D-2DF2-42D6-83A9-6CC51C8C1E52}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A1A40AD6-9AA5-4C50-91C2-78B274BA6895}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{BC5D0C52-CBDB-4778-9577-3CAD3F88B03B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{9EC2A72F-09F7-4DDE-8C5D-7EC489BA0401}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ClientAuthAWSCredentials",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{02FB32C4-B94E-4084-9049-3DF32F87BD76}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5E083227-4BC8-4DC0-A3D7-86F3C464FFCC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{60D8497E-6879-4379-BAC3-271D25816B72}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F4AF6BF6-2BBE-4B11-A548-C17935A41E46}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 3736070646
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 3736070646
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{5E083227-4BC8-4DC0-A3D7-86F3C464FFCC}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{9EC2A72F-09F7-4DDE-8C5D-7EC489BA0401}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4193877825
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsFail",
-                                                    "m_eventId": {
-                                                        "Value": 4193877825
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{F4AF6BF6-2BBE-4B11-A548-C17935A41E46}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{60D8497E-6879-4379-BAC3-271D25816B72}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSCognitoAuthorizationNotificationBus",
-                                        "m_busId": {
-                                            "Value": 1100345364
-                                        }
-                                    }
-                                }
-                            }
-                        ],
-                        "m_connections": [
-                            {
-                                "Id": {
-                                    "id": 6741069787958
-                                },
-                                "Name": "srcEndpoint=(Initialize: Out), destEndpoint=(RequestAWSCredentialsAsync: In)",
-                                "Components": {
-                                    "Component_[9874477978239191526]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 9874477978239191526,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 6719594951478
-                                            },
-                                            "slotId": {
-                                                "m_id": "{CB95F6C6-6F1C-4E95-88FA-940EF78C1EC9}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 6711005016886
-                                            },
-                                            "slotId": {
-                                                "m_id": "{0BB643D4-3989-499E-B997-E51370B8D72D}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6745364755254
-                                },
-                                "Name": "srcEndpoint=(AWSCognitoAuthorizationNotificationBus Handler: ExecutionSlot:OnRequestAWSCredentialsSuccess), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[7934553402512435877]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 7934553402512435877,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 6723889918774
-                                            },
-                                            "slotId": {
-                                                "m_id": "{5E083227-4BC8-4DC0-A3D7-86F3C464FFCC}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 6728184886070
-                                            },
-                                            "slotId": {
-                                                "m_id": "{C667893C-CB0F-455C-A49B-61C717DAC23E}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6749659722550
-                                },
-                                "Name": "srcEndpoint=(AWSCognitoAuthorizationNotificationBus Handler: ExecutionSlot:OnRequestAWSCredentialsFail), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[2125665954450546710]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 2125665954450546710,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 6736774820662
-                                            },
-                                            "slotId": {
-                                                "m_id": "{D4EA6ED9-60A0-4161-BDAC-734B83A2C360}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 6715299984182
-                                            },
-                                            "slotId": {
-                                                "m_id": "{C667893C-CB0F-455C-A49B-61C717DAC23E}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 6753954689846
-                                },
-                                "Name": "srcEndpoint=(EntityBus Handler: ExecutionSlot:OnEntityActivated), destEndpoint=(Initialize: In)",
-                                "Components": {
-                                    "Component_[4615127778717764315]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 4615127778717764315,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 6732479853366
-                                            },
-                                            "slotId": {
-                                                "m_id": "{154DF389-1BC0-440B-9D57-7C074EE8C94D}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 6719594951478
-                                            },
-                                            "slotId": {
-                                                "m_id": "{2C1E3EE7-262F-418C-9861-7D459C415D3F}"
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        ]
-                    },
-                    "m_assetType": "{3E2AC8CD-713F-453E-967F-29517F331784}",
-                    "versionData": {
-                        "_grammarVersion": 1,
-                        "_runtimeVersion": 1
-                    },
-                    "m_variableCounter": 1,
-                    "GraphCanvasData": [
-                        {
-                            "Key": {
-                                "id": 6706710049590
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{5F84B500-8C45-40D1-8EFC-A5306B241444}": {
-                                        "$type": "SceneComponentSaveData",
-                                        "ViewParams": {
-                                            "Scale": 1.0784334878464947,
-                                            "AnchorX": -170.6178436279297,
-                                            "AnchorY": -28.745397567749023
-                                        }
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 6711005016886
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            820.0,
-                                            180.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{912ACE5E-70F5-43A7-A375-D763B26712FE}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 6715299984182
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            600.0,
-                                            740.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{D2FFD8D1-A1C1-4C64-A87E-6A2366DC602C}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 6719594951478
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            420.0,
-                                            180.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{E8A1C3CF-FD12-4D8E-8FB9-F9B678487CF8}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 6723889918774
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            120.0,
-                                            460.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 3736070646
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{E6C8A974-2E4B-439F-94E2-FC9FB4A2ACD8}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 6728184886070
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            640.0,
-                                            500.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{47352093-20A0-4352-8BE4-20A995063E83}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 6732479853366
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            40.0,
-                                            140.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 245425936
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{24559DE7-5A79-40E8-BBAF-029A7D08F472}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 6736774820662
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            120.0,
-                                            740.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 4193877825
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{D1C91A31-0031-4FF8-8E93-B10F8586B366}"
-                                    }
-                                }
-                            }
-                        }
-                    ],
-                    "StatisticsHelper": {
-                        "InstanceCounter": [
-                            {
-                                "Key": 5842116761103598202,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117453459104876,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117453819001655,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 10684225535275896474,
-                                "Value": 2
-                            },
-                            {
-                                "Key": 13774516386968943251,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516392820282243,
-                                "Value": 1
-                            }
-                        ]
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 12
AutomatedTesting/Levels/AWS/ClientAuth/tags.txt

@@ -1,12 +0,0 @@
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0

+ 0 - 622
AutomatedTesting/Levels/AWS/ClientAuthPasswordSignIn/ClientAuthPasswordSignIn.prefab

@@ -1,622 +0,0 @@
-{
-    "ContainerEntity": {
-        "Id": "Entity_[1146574390643]",
-        "Name": "Level",
-        "Components": {
-            "Component_[10641544592923449938]": {
-                "$type": "EditorInspectorComponent",
-                "Id": 10641544592923449938
-            },
-            "Component_[12039882709170782873]": {
-                "$type": "EditorOnlyEntityComponent",
-                "Id": 12039882709170782873
-            },
-            "Component_[12265484671603697631]": {
-                "$type": "EditorPendingCompositionComponent",
-                "Id": 12265484671603697631
-            },
-            "Component_[14126657869720434043]": {
-                "$type": "EditorEntitySortComponent",
-                "Id": 14126657869720434043,
-                "Child Entity Order": [
-                    "Entity_[1176639161715]",
-                    "Entity_[3263440934733]"
-                ]
-            },
-            "Component_[15230859088967841193]": {
-                "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                "Id": 15230859088967841193,
-                "Parent Entity": ""
-            },
-            "Component_[16239496886950819870]": {
-                "$type": "EditorDisabledCompositionComponent",
-                "Id": 16239496886950819870
-            },
-            "Component_[5688118765544765547]": {
-                "$type": "EditorEntityIconComponent",
-                "Id": 5688118765544765547
-            },
-            "Component_[6545738857812235305]": {
-                "$type": "SelectionComponent",
-                "Id": 6545738857812235305
-            },
-            "Component_[7247035804068349658]": {
-                "$type": "EditorPrefabComponent",
-                "Id": 7247035804068349658
-            },
-            "Component_[9307224322037797205]": {
-                "$type": "EditorLockComponent",
-                "Id": 9307224322037797205
-            },
-            "Component_[9562516168917670048]": {
-                "$type": "EditorVisibilityComponent",
-                "Id": 9562516168917670048
-            }
-        }
-    },
-    "Entities": {
-        "Entity_[1155164325235]": {
-            "Id": "Entity_[1155164325235]",
-            "Name": "Sun",
-            "Components": {
-                "Component_[10440557478882592717]": {
-                    "$type": "SelectionComponent",
-                    "Id": 10440557478882592717
-                },
-                "Component_[13620450453324765907]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 13620450453324765907
-                },
-                "Component_[2134313378593666258]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 2134313378593666258
-                },
-                "Component_[234010807770404186]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 234010807770404186
-                },
-                "Component_[2970359110423865725]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 2970359110423865725
-                },
-                "Component_[3722854130373041803]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3722854130373041803
-                },
-                "Component_[5992533738676323195]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5992533738676323195
-                },
-                "Component_[7378860763541895402]": {
-                    "$type": "AZ::Render::EditorDirectionalLightComponent",
-                    "Id": 7378860763541895402,
-                    "Controller": {
-                        "Configuration": {
-                            "Intensity": 1.0,
-                            "CameraEntityId": "",
-                            "ShadowFilterMethod": 1
-                        }
-                    }
-                },
-                "Component_[7892834440890947578]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 7892834440890947578,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.0,
-                            13.487043380737305
-                        ],
-                        "Rotate": [
-                            -76.13099670410156,
-                            -0.847000002861023,
-                            -15.8100004196167
-                        ]
-                    }
-                },
-                "Component_[8599729549570828259]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 8599729549570828259
-                },
-                "Component_[952797371922080273]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 952797371922080273
-                }
-            }
-        },
-        "Entity_[1159459292531]": {
-            "Id": "Entity_[1159459292531]",
-            "Name": "Ground",
-            "Components": {
-                "Component_[11701138785793981042]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11701138785793981042
-                },
-                "Component_[12260880513256986252]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 12260880513256986252
-                },
-                "Component_[13711420870643673468]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 13711420870643673468
-                },
-                "Component_[138002849734991713]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 138002849734991713
-                },
-                "Component_[16578565737331764849]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 16578565737331764849,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[16919232076966545697]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 16919232076966545697
-                },
-                "Component_[5182430712893438093]": {
-                    "$type": "EditorMaterialComponent",
-                    "Id": 5182430712893438093
-                },
-                "Component_[5675108321710651991]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 5675108321710651991,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
-                                    "subId": 277889906
-                                },
-                                "assetHint": "objects/groudplane/groundplane_512x512m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[5681893399601237518]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5681893399601237518
-                },
-                "Component_[592692962543397545]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 592692962543397545
-                },
-                "Component_[7090012899106946164]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 7090012899106946164
-                },
-                "Component_[9410832619875640998]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 9410832619875640998
-                }
-            }
-        },
-        "Entity_[1163754259827]": {
-            "Id": "Entity_[1163754259827]",
-            "Name": "Camera",
-            "Components": {
-                "Component_[11895140916889160460]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11895140916889160460
-                },
-                "Component_[16880285896855930892]": {
-                    "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
-                    "Id": 16880285896855930892,
-                    "Controller": {
-                        "Configuration": {
-                            "Field of View": 55.0,
-                            "EditorEntityId": 6861302815203973165
-                        }
-                    }
-                },
-                "Component_[17187464423780271193]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 17187464423780271193
-                },
-                "Component_[17495696818315413311]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 17495696818315413311
-                },
-                "Component_[18086214374043522055]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 18086214374043522055,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            -2.3000001907348633,
-                            -3.9368600845336914,
-                            1.0
-                        ],
-                        "Rotate": [
-                            -2.050307512283325,
-                            1.9552897214889526,
-                            -43.623355865478516
-                        ]
-                    }
-                },
-                "Component_[18387556550380114975]": {
-                    "$type": "SelectionComponent",
-                    "Id": 18387556550380114975
-                },
-                "Component_[2654521436129313160]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 2654521436129313160
-                },
-                "Component_[5265045084611556958]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5265045084611556958
-                },
-                "Component_[7169798125182238623]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7169798125182238623
-                },
-                "Component_[7255796294953281766]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 7255796294953281766,
-                    "m_template": {
-                        "$type": "FlyCameraInputComponent"
-                    }
-                },
-                "Component_[8866210352157164042]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 8866210352157164042
-                },
-                "Component_[9129253381063760879]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 9129253381063760879
-                }
-            }
-        },
-        "Entity_[1168049227123]": {
-            "Id": "Entity_[1168049227123]",
-            "Name": "Grid",
-            "Components": {
-                "Component_[11443347433215807130]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11443347433215807130
-                },
-                "Component_[11779275529534764488]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11779275529534764488
-                },
-                "Component_[14249419413039427459]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14249419413039427459
-                },
-                "Component_[15448581635946161318]": {
-                    "$type": "AZ::Render::EditorGridComponent",
-                    "Id": 15448581635946161318,
-                    "Controller": {
-                        "Configuration": {
-                            "primarySpacing": 4.0,
-                            "primaryColor": [
-                                0.501960813999176,
-                                0.501960813999176,
-                                0.501960813999176
-                            ],
-                            "secondarySpacing": 0.5,
-                            "secondaryColor": [
-                                0.250980406999588,
-                                0.250980406999588,
-                                0.250980406999588
-                            ]
-                        }
-                    }
-                },
-                "Component_[1843303322527297409]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 1843303322527297409
-                },
-                "Component_[380249072065273654]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 380249072065273654,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[7476660583684339787]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7476660583684339787
-                },
-                "Component_[7557626501215118375]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 7557626501215118375
-                },
-                "Component_[7984048488947365511]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 7984048488947365511
-                },
-                "Component_[8118181039276487398]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 8118181039276487398
-                },
-                "Component_[9189909764215270515]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9189909764215270515
-                }
-            }
-        },
-        "Entity_[1172344194419]": {
-            "Id": "Entity_[1172344194419]",
-            "Name": "Shader Ball",
-            "Components": {
-                "Component_[10789351944715265527]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 10789351944715265527
-                },
-                "Component_[12037033284781049225]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 12037033284781049225
-                },
-                "Component_[13759153306105970079]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 13759153306105970079
-                },
-                "Component_[14135560884830586279]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14135560884830586279
-                },
-                "Component_[16247165675903986673]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 16247165675903986673
-                },
-                "Component_[18082433625958885247]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 18082433625958885247
-                },
-                "Component_[6472623349872972660]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6472623349872972660,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Rotate": [
-                            0.0,
-                            0.10000000149011612,
-                            180.0
-                        ]
-                    }
-                },
-                "Component_[6495255223970673916]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 6495255223970673916,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{FD340C30-755C-5911-92A3-19A3F7A77931}",
-                                    "subId": 281415304
-                                },
-                                "assetHint": "objects/shaderball/shaderball_default_1m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[8056625192494070973]": {
-                    "$type": "SelectionComponent",
-                    "Id": 8056625192494070973
-                },
-                "Component_[8550141614185782969]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 8550141614185782969
-                },
-                "Component_[9439770997198325425]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9439770997198325425
-                }
-            }
-        },
-        "Entity_[1176639161715]": {
-            "Id": "Entity_[1176639161715]",
-            "Name": "Atom Default Environment",
-            "Components": {
-                "Component_[10757302973393310045]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 10757302973393310045,
-                    "Parent Entity": "Entity_[1146574390643]"
-                },
-                "Component_[14505817420424255464]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14505817420424255464,
-                    "ComponentOrderEntryArray": [
-                        {
-                            "ComponentId": 10757302973393310045
-                        }
-                    ]
-                },
-                "Component_[14988041764659020032]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 14988041764659020032
-                },
-                "Component_[15808690248755038124]": {
-                    "$type": "SelectionComponent",
-                    "Id": 15808690248755038124
-                },
-                "Component_[15900837685796817138]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 15900837685796817138
-                },
-                "Component_[3298767348226484884]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3298767348226484884
-                },
-                "Component_[4076975109609220594]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 4076975109609220594
-                },
-                "Component_[5679760548946028854]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5679760548946028854
-                },
-                "Component_[5855590796136709437]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5855590796136709437,
-                    "Child Entity Order": [
-                        "Entity_[1155164325235]",
-                        "Entity_[1180934129011]",
-                        "Entity_[1172344194419]",
-                        "Entity_[1168049227123]",
-                        "Entity_[1163754259827]",
-                        "Entity_[1159459292531]"
-                    ]
-                },
-                "Component_[9277695270015777859]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 9277695270015777859
-                }
-            }
-        },
-        "Entity_[1180934129011]": {
-            "Id": "Entity_[1180934129011]",
-            "Name": "Global Sky",
-            "Components": {
-                "Component_[11231930600558681245]": {
-                    "$type": "AZ::Render::EditorHDRiSkyboxComponent",
-                    "Id": 11231930600558681245,
-                    "Controller": {
-                        "Configuration": {
-                            "CubemapAsset": {
-                                "assetId": {
-                                    "guid": "{215E47FD-D181-5832-B1AB-91673ABF6399}",
-                                    "subId": 1000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_skyboxcm.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[11980494120202836095]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11980494120202836095
-                },
-                "Component_[1428633914413949476]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 1428633914413949476
-                },
-                "Component_[14936200426671614999]": {
-                    "$type": "AZ::Render::EditorImageBasedLightComponent",
-                    "Id": 14936200426671614999,
-                    "Controller": {
-                        "Configuration": {
-                            "diffuseImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 3000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_ibldiffuse.exr.streamingimage"
-                            },
-                            "specularImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 2000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_iblspecular.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[14994774102579326069]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 14994774102579326069
-                },
-                "Component_[15417479889044493340]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 15417479889044493340
-                },
-                "Component_[15826613364991382688]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 15826613364991382688
-                },
-                "Component_[1665003113283562343]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 1665003113283562343
-                },
-                "Component_[3704934735944502280]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 3704934735944502280
-                },
-                "Component_[5698542331457326479]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 5698542331457326479
-                },
-                "Component_[6644513399057217122]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6644513399057217122,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[931091830724002070]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 931091830724002070
-                }
-            }
-        },
-        "Entity_[3263440934733]": {
-            "Id": "Entity_[3263440934733]",
-            "Name": "Auth",
-            "Components": {
-                "Component_[10677660472305013611]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 10677660472305013611
-                },
-                "Component_[12020966173483420539]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 12020966173483420539
-                },
-                "Component_[1395011275436594572]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 1395011275436594572
-                },
-                "Component_[14204408480276164321]": {
-                    "$type": "EditorScriptCanvasComponent",
-                    "Id": 14204408480276164321,
-                    "configuration": {
-                        "sourceHandle": {
-                            "id": "{DA0FCA2B-66E4-575B-802E-BA93F35690C1}",
-                            "path": "Levels/AWS/ClientAuthPasswordSignIn/PasswordSignIn.scriptcanvas"
-                        },
-                        "sourceName": "PasswordSignIn.scriptcanvas",
-                        "propertyOverrides": {
-                            "source": {
-                                "id": "{DA0FCA2B-66E4-575B-802E-BA93F35690C1}",
-                                "path": "Levels/AWS/ClientAuthPasswordSignIn/PasswordSignIn.scriptcanvas"
-                            }
-                        }
-                    }
-                },
-                "Component_[15510129631063791276]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 15510129631063791276
-                },
-                "Component_[2829815269827202953]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 2829815269827202953
-                },
-                "Component_[4152540778425032559]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 4152540778425032559,
-                    "Parent Entity": "Entity_[1146574390643]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.10000038146972656,
-                            4.005923748016357
-                        ]
-                    }
-                },
-                "Component_[4562090268412258507]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 4562090268412258507
-                },
-                "Component_[4826060551136971267]": {
-                    "$type": "SelectionComponent",
-                    "Id": 4826060551136971267
-                },
-                "Component_[8974703175361704047]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 8974703175361704047
-                },
-                "Component_[9513341577149946975]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 9513341577149946975
-                }
-            }
-        }
-    }
-}

+ 0 - 3675
AutomatedTesting/Levels/AWS/ClientAuthPasswordSignIn/PasswordSignIn.scriptcanvas

@@ -1,3675 +0,0 @@
-{
-    "Type": "JsonSerialization",
-    "Version": 1,
-    "ClassName": "ScriptCanvasData",
-    "ClassData": {
-        "m_scriptCanvas": {
-            "Id": {
-                "id": 22550844404534
-            },
-            "Name": "PasswordSignIn",
-            "Components": {
-                "Component_[6385465305444622263]": {
-                    "$type": "EditorGraphVariableManagerComponent",
-                    "Id": 6385465305444622263,
-                    "m_variableData": {
-                        "m_nameVariableMap": [
-                            {
-                                "Key": {
-                                    "m_id": "{9E6C4595-2633-4312-B9AA-F49A0B90D7A0}"
-                                },
-                                "Value": {
-                                    "Datum": {
-                                        "isOverloadedStorage": false,
-                                        "scriptCanvasType": {
-                                            "m_type": 4,
-                                            "m_azType": "{99DAD0BC-740E-5E82-826B-8FC7968CC02C}"
-                                        },
-                                        "isNullPointer": false,
-                                        "$type": "{99DAD0BC-740E-5E82-826B-8FC7968CC02C} AZStd::vector",
-                                        "value": [
-                                            "AWSCognitoIDP"
-                                        ],
-                                        "label": "Array<String>"
-                                    },
-                                    "VariableId": {
-                                        "m_id": "{9E6C4595-2633-4312-B9AA-F49A0B90D7A0}"
-                                    },
-                                    "VariableName": "AuthenticationProviders"
-                                }
-                            }
-                        ]
-                    }
-                },
-                "Component_[8710839917828649136]": {
-                    "$type": "{4D755CA9-AB92-462C-B24F-0B3376F19967} Graph",
-                    "Id": 8710839917828649136,
-                    "m_graphData": {
-                        "m_nodes": [
-                            {
-                                "Id": {
-                                    "id": 22606678979382
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[10817928006900121599]": {
-                                        "$type": "Print",
-                                        "Id": 10817928006900121599,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{269D4FDC-1137-45A3-8442-2A2DF98D6F6E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F5EE89C0-AB89-4D06-BD4C-72CA40AB075B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "SignIn Success",
-                                        "m_unresolvedString": [
-                                            "SignIn Success"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22610973946678
-                                },
-                                "Name": "SC-Node(Initialize)",
-                                "Components": {
-                                    "Component_[1153097947988754865]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 1153097947988754865,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{8C6FB06A-4A06-41E5-94E5-9D78671977C8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Array<String>: 0",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1,
-                                                "IsReference": true,
-                                                "VariableReference": {
-                                                    "m_id": "{9E6C4595-2633-4312-B9AA-F49A0B90D7A0}"
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F4ED50C1-0694-4E9F-A4E6-83565E517C1E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{4BB45954-74C5-4023-AFBE-C82638076FDD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F6930458-3515-45B6-BB6D-1217547A7401}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Result: Boolean",
-                                                "DisplayDataType": {
-                                                    "m_type": 0
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{99DAD0BC-740E-5E82-826B-8FC7968CC02C}"
-                                                },
-                                                "isNullPointer": true,
-                                                "label": "Array<String>: 0"
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "Initialize",
-                                        "className": "AuthenticationProviderRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AuthenticationProviderRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22559434339126
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[15120484156765471501]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 15120484156765471501,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{55723136-4724-4749-8A1E-A0829EC4CB54}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{01F5AE9F-BF74-41B1-A1F9-7782B707C013}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{2D449731-3E45-489D-B7EA-586D3E87738C}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{7FE6C340-B7A9-4ABD-B30E-FB78707A8042}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{174FBA70-D39B-4FAD-8595-52A63CE855F4}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B4E8FA2A-6833-43A2-BF8D-E021B7F24C6C}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Source",
-                                                "toolTip": "ID used to connect on a specific Event address (Type: EntityId)",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{808F793B-E283-4872-B0C9-3BDE44FB0372}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1E81F46E-80CF-4CF6-8499-04539BBF244E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityActivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{7977990A-4416-494A-94F1-F2670A6E920B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{AB5A3F2D-D553-49A8-98A5-F99375431668}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityDeactivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 1
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "EntityId",
-                                                "value": {
-                                                    "id": 2901262558
-                                                },
-                                                "label": "Source"
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 245425936
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityActivated",
-                                                    "m_eventId": {
-                                                        "Value": 245425936
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{1E81F46E-80CF-4CF6-8499-04539BBF244E}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{808F793B-E283-4872-B0C9-3BDE44FB0372}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4273369222
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityDeactivated",
-                                                    "m_eventId": {
-                                                        "Value": 4273369222
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{AB5A3F2D-D553-49A8-98A5-F99375431668}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{7977990A-4416-494A-94F1-F2670A6E920B}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "EntityBus",
-                                        "m_busId": {
-                                            "Value": 3358774020
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22580909175606
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[16042865177069512848]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 16042865177069512848,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{8503C0C0-DFA8-43AF-AE40-E2A48C9F77C5}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{EE5F8D3F-CC56-400F-91F6-835A2A843D3E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{35490A45-17F4-444E-B4EB-443B4AC61D07}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FCCA77C5-AB2A-4BE7-BC46-99B74FDBEC7B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F52BDF60-64FD-488B-8D5D-D996B9400986}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{8C19381E-B495-4B42-880C-86399A055392}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ClientAuthAWSCredentials",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{02FB32C4-B94E-4084-9049-3DF32F87BD76}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{BCA83F8F-E431-421D-8B01-A8B31C3C66B1}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{2EEBA254-1346-4866-80CA-3608BAF5B767}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{BB27DD72-E82E-4C67-8493-E3DF0AFCC093}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 3736070646
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 3736070646
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{BCA83F8F-E431-421D-8B01-A8B31C3C66B1}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{8C19381E-B495-4B42-880C-86399A055392}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4193877825
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsFail",
-                                                    "m_eventId": {
-                                                        "Value": 4193877825
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{BB27DD72-E82E-4C67-8493-E3DF0AFCC093}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{2EEBA254-1346-4866-80CA-3608BAF5B767}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSCognitoAuthorizationNotificationBus",
-                                        "m_busId": {
-                                            "Value": 1100345364
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22585204142902
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[16607172582241819113]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 16607172582241819113,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{E55A09C6-5B87-4F4F-9EC4-7F602A5C02AC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{AC007706-2035-4888-AD7C-3C9AF6650FEC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{809A2C05-FB97-4C59-B1D8-C29A22F69097}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E3E053B8-37B7-4094-8974-BF0E13919943}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5BB6420D-1016-49B8-AC48-3C5C1EE647F5}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D79F252C-3D2A-4CC1-9A51-18B7827EB4CA}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F3E407C4-9D91-4077-A730-C2463570A9FC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantSingleFactorSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5B6638B9-4F55-4CCB-A368-C83FED5C43F8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{282E0463-9A13-4681-B69C-B6B30CA7CD01}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantSingleFactorSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B088E163-C71A-417E-8D35-F0A29273F5D9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C2EBAEB4-5ECA-441C-8202-0D2A80F1A776}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{79F39D7A-BFC2-4749-9631-575A6C63714D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{0CC24B35-F3D6-4E7B-B9D1-98CEB36059AE}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3C544F9A-0137-4735-8484-0458246E4D52}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorConfirmSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{BEBDDB95-FBBA-4AE1-BA89-C3DAE042E9E1}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FA8FE256-A70A-475E-A724-0E70C1099213}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorConfirmSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{919E73F9-6A2B-437B-867D-6723FFF8D29E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B494FB65-9082-4826-84B4-E2E6DB1803D1}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{7F2FE508-FCDB-45E5-BBEB-8A25E9D09C41}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Number",
-                                                "DisplayDataType": {
-                                                    "m_type": 3
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E8BA420E-FF66-4B13-94B9-2D96448542B0}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{4694A0AC-A400-47D0-A050-8B6AEDF65748}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E03D10FB-C618-4260-870D-FA2B2B13FE0D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{031D9648-B03B-42E3-8E6B-BF5F6FEF1937}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{98B96DAE-EC45-4F36-B39A-F4C91C56FF95}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantConfirmSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6958B465-4D41-4325-8A66-011E5BA281F2}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{526EE051-CABD-415C-99D1-D55ED0032E5E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantConfirmSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A921FE09-C86A-4DE3-9976-0BCC3359CAF3}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{981C81CF-AED4-4535-A226-4BC19C718D73}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRefreshTokensSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1C060C05-4FE2-455A-BABA-4B86CE19F934}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F20A8880-B22D-4FAA-8779-F51DE7DB2D21}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRefreshTokensFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 962116424
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 962116424
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{E8BA420E-FF66-4B13-94B9-2D96448542B0}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{919E73F9-6A2B-437B-867D-6723FFF8D29E}"
-                                                        },
-                                                        {
-                                                            "m_id": "{B494FB65-9082-4826-84B4-E2E6DB1803D1}"
-                                                        },
-                                                        {
-                                                            "m_id": "{7F2FE508-FCDB-45E5-BBEB-8A25E9D09C41}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 3
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1026494196
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRefreshTokensFail",
-                                                    "m_eventId": {
-                                                        "Value": 1026494196
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{F20A8880-B22D-4FAA-8779-F51DE7DB2D21}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{1C060C05-4FE2-455A-BABA-4B86CE19F934}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1152314015
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRefreshTokensSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1152314015
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{981C81CF-AED4-4535-A226-4BC19C718D73}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{A921FE09-C86A-4DE3-9976-0BCC3359CAF3}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1203288733
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorConfirmSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1203288733
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{3C544F9A-0137-4735-8484-0458246E4D52}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{0CC24B35-F3D6-4E7B-B9D1-98CEB36059AE}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1293959492
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantSingleFactorSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 1293959492
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{282E0463-9A13-4681-B69C-B6B30CA7CD01}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{5B6638B9-4F55-4CCB-A368-C83FED5C43F8}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1722702500
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantSingleFactorSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1722702500
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{F3E407C4-9D91-4077-A730-C2463570A9FC}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{D79F252C-3D2A-4CC1-9A51-18B7827EB4CA}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1819337155
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorConfirmSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 1819337155
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{FA8FE256-A70A-475E-A724-0E70C1099213}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{BEBDDB95-FBBA-4AE1-BA89-C3DAE042E9E1}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1908852787
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 1908852787
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{79F39D7A-BFC2-4749-9631-575A6C63714D}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{C2EBAEB4-5ECA-441C-8202-0D2A80F1A776}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 2486714370
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 2486714370
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{B088E163-C71A-417E-8D35-F0A29273F5D9}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 3091702945
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 3091702945
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{E03D10FB-C618-4260-870D-FA2B2B13FE0D}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{4694A0AC-A400-47D0-A050-8B6AEDF65748}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 3973214553
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantConfirmSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 3973214553
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{526EE051-CABD-415C-99D1-D55ED0032E5E}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{6958B465-4D41-4325-8A66-011E5BA281F2}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4272279525
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantConfirmSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 4272279525
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{98B96DAE-EC45-4F36-B39A-F4C91C56FF95}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{031D9648-B03B-42E3-8E6B-BF5F6FEF1937}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AuthenticationProviderNotificationBus",
-                                        "m_busId": {
-                                            "Value": 3734230664
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22602384012086
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[17989474089224348440]": {
-                                        "$type": "Print",
-                                        "Id": 17989474089224348440,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{C0E7856E-AE8E-4151-9109-2E3B2A810054}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{36A6967B-AD9E-41C2-9BCC-2AF62F62C774}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "Fail credentials",
-                                        "m_unresolvedString": [
-                                            "Fail credentials"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22593794077494
-                                },
-                                "Name": "SC-Node(RequestAWSCredentialsAsync)",
-                                "Components": {
-                                    "Component_[3213338170673989286]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 3213338170673989286,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{EB37FB3D-48EB-4766-AD8C-7F03D100C7FA}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E1160157-4FDD-4720-9EF1-995D0380C53D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "RequestAWSCredentialsAsync",
-                                        "className": "AWSCognitoAuthorizationRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoAuthorizationRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22563729306422
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[3639374038291845020]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 3639374038291845020,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{2A8157B6-1A5A-464C-B1A1-CC5067AC8872}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{8DBCEE08-2A7F-4D3E-BF59-7FB3A34AD3B7}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D8FCBC44-E46B-4699-B1A2-AE2BFE61A132}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{9E6AE222-55CE-48F1-A844-7DB53C07AB50}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{0507AD01-1320-4210-9786-5F87063D301F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6772D7F9-08BE-4D59-B410-7E6EC0FFEF2B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{ED8A0C7D-9D75-45A7-BAE1-FD8B980DADE2}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantSingleFactorSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{64484918-D357-4B41-830D-CC9EEB6EC963}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C042D8B9-D834-4A5A-85E7-F9C775EF9784}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantSingleFactorSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FBBC04A8-2368-4B67-A48F-D7D33EDBC71F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5873E80A-4E48-4B52-AB91-ACE8DC42EC86}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{DC0B9782-C4BB-49C0-8DE3-06933347FA20}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{4EB602D7-C5D7-427C-B7D3-838CC4FFBA0D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B0F0A8E6-251E-4009-ADE7-8FA70422B1A3}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorConfirmSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{0E5E0F30-D4A3-4361-99DC-DFB03CDA26ED}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{DF4A4D97-D2A3-42C2-9F85-B79D0743B1DD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPasswordGrantMultiFactorConfirmSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{58B429CF-B818-4CCB-8E31-84B04B65B704}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{4564C0EF-B526-4AB6-9564-0AE22B473EE5}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6CD7C063-7118-4E55-AA6D-9EDF5B72F7E7}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Number",
-                                                "DisplayDataType": {
-                                                    "m_type": 3
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3F5A128D-5F74-4D09-9C12-425DCDDD8A71}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D49C27E1-B1F7-4A70-8872-B4E6337F0334}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E6EFD9E4-7CC8-4FBF-88DE-2FAAC4099AE2}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{92E26492-6278-4B46-8CD4-0B271B1BB21B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D39D72BA-6EC1-445C-93B7-CAD87B1ADC7D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantConfirmSignInSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{7D66C081-777B-451E-B626-0DAEB39ECA5A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{AE4AC27C-0EF0-4AFE-B8D2-80D6F1B35FAB}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnDeviceCodeGrantConfirmSignInFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A2BFBF6C-4E19-4294-BDB8-5A191048C9DB}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "AuthenticationTokens",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C2C30AB7-DACE-49FA-B7B3-04B9FFA5763F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRefreshTokensSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{9BD290CA-B00E-491D-855C-7BD084A0FF43}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6660546E-CC9B-4951-AE9F-C1D45E6098DD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRefreshTokensFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 962116424
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 962116424
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{3F5A128D-5F74-4D09-9C12-425DCDDD8A71}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{58B429CF-B818-4CCB-8E31-84B04B65B704}"
-                                                        },
-                                                        {
-                                                            "m_id": "{4564C0EF-B526-4AB6-9564-0AE22B473EE5}"
-                                                        },
-                                                        {
-                                                            "m_id": "{6CD7C063-7118-4E55-AA6D-9EDF5B72F7E7}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 3
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1026494196
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRefreshTokensFail",
-                                                    "m_eventId": {
-                                                        "Value": 1026494196
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{6660546E-CC9B-4951-AE9F-C1D45E6098DD}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{9BD290CA-B00E-491D-855C-7BD084A0FF43}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1152314015
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRefreshTokensSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1152314015
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{C2C30AB7-DACE-49FA-B7B3-04B9FFA5763F}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{A2BFBF6C-4E19-4294-BDB8-5A191048C9DB}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1203288733
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorConfirmSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1203288733
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{B0F0A8E6-251E-4009-ADE7-8FA70422B1A3}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{4EB602D7-C5D7-427C-B7D3-838CC4FFBA0D}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1293959492
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantSingleFactorSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 1293959492
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{C042D8B9-D834-4A5A-85E7-F9C775EF9784}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{64484918-D357-4B41-830D-CC9EEB6EC963}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1722702500
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantSingleFactorSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1722702500
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{ED8A0C7D-9D75-45A7-BAE1-FD8B980DADE2}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{6772D7F9-08BE-4D59-B410-7E6EC0FFEF2B}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1819337155
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorConfirmSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 1819337155
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{DF4A4D97-D2A3-42C2-9F85-B79D0743B1DD}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{0E5E0F30-D4A3-4361-99DC-DFB03CDA26ED}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1908852787
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 1908852787
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{DC0B9782-C4BB-49C0-8DE3-06933347FA20}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{5873E80A-4E48-4B52-AB91-ACE8DC42EC86}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 2486714370
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPasswordGrantMultiFactorSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 2486714370
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{FBBC04A8-2368-4B67-A48F-D7D33EDBC71F}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 3091702945
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 3091702945
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{E6EFD9E4-7CC8-4FBF-88DE-2FAAC4099AE2}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{D49C27E1-B1F7-4A70-8872-B4E6337F0334}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 3973214553
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantConfirmSignInFail",
-                                                    "m_eventId": {
-                                                        "Value": 3973214553
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{AE4AC27C-0EF0-4AFE-B8D2-80D6F1B35FAB}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{7D66C081-777B-451E-B626-0DAEB39ECA5A}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4272279525
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnDeviceCodeGrantConfirmSignInSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 4272279525
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{D39D72BA-6EC1-445C-93B7-CAD87B1ADC7D}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{92E26492-6278-4B46-8CD4-0B271B1BB21B}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AuthenticationProviderNotificationBus",
-                                        "m_busId": {
-                                            "Value": 3734230664
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22572319241014
-                                },
-                                "Name": "SC-Node(Initialize)",
-                                "Components": {
-                                    "Component_[7405312649373835200]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 7405312649373835200,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{FAF2B1D0-815D-476E-BE0A-3C5B0A7181E2}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{354BF6A8-150D-4A9A-A19F-1B92ADC44A43}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1F13C9EB-941B-4AF1-B8DF-7549F7D6304E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Result: Boolean",
-                                                "DisplayDataType": {
-                                                    "m_type": 0
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "Initialize",
-                                        "className": "AWSCognitoAuthorizationRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoAuthorizationRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22589499110198
-                                },
-                                "Name": "SC-Node(PasswordGrantSingleFactorSignInAsync)",
-                                "Components": {
-                                    "Component_[7750292952156679363]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 7750292952156679363,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{A5E60763-81A7-4A8A-B8DB-AF4F3DD7D044}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String: 0",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{CC3B7A6A-ABFF-4417-AB09-E010E9193CE0}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String: 1",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{ABB9039F-307D-4A8B-A4DC-2BAFADDF238B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String: 2",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F24D94B3-CD7D-4719-AEAB-58B6AA087480}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E8DC5B43-1CB4-489C-AD04-D67C59BD9719}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "AWSCognitoIDP",
-                                                "label": "String: 0"
-                                            },
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "test1",
-                                                "label": "String: 1"
-                                            },
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "Test1test1!",
-                                                "label": "String: 2"
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "PasswordGrantSingleFactorSignInAsync",
-                                        "className": "AuthenticationProviderRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AuthenticationProviderRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22598089044790
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[8044817584554102751]": {
-                                        "$type": "Print",
-                                        "Id": 8044817584554102751,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{D3247169-ACA4-42FF-9CD9-7FC5D2888197}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F520F3E3-70BF-43EE-B133-65093AA8CCA8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "Success credentials",
-                                        "m_unresolvedString": [
-                                            "Success credentials"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22576614208310
-                                },
-                                "Name": "SC-Node(Initialize)",
-                                "Components": {
-                                    "Component_[8692474017847050528]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 8692474017847050528,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{9EFCF33C-EFBB-44F8-BBD9-0E4AA96D45AF}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{04D08EB7-F20A-4CF7-8BB6-C79804F6EB59}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{2B827E49-A105-44B7-BF32-B0BB97AA0069}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Result: Boolean",
-                                                "DisplayDataType": {
-                                                    "m_type": 0
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "Initialize",
-                                        "className": "AWSCognitoUserManagementRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoUserManagementRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22555139371830
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[8900676182846034623]": {
-                                        "$type": "Print",
-                                        "Id": 8900676182846034623,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{9BB1F768-9D92-432C-9B8F-C99EB679CFB9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{880D8B51-8686-4D13-8AD3-0C9F43C9CC9F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "SignIn Fail",
-                                        "m_unresolvedString": [
-                                            "SignIn Fail"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22568024273718
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[954102115830395541]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 954102115830395541,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{7CC34F95-FB5B-43EB-AD4D-72E916B326C3}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{CF183A1F-260C-4BD6-8A1D-D1F1F6DA4D77}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B7010FF0-FFFF-401B-A97B-F64B6592D4AD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E4952C80-F90E-4B2D-894C-D42C88ECD33B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{9F16F58B-1942-4841-9E7C-E797DFA9967D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{29C614BD-C1B3-4EA3-B6E5-9147AED55BC8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ClientAuthAWSCredentials",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{02FB32C4-B94E-4084-9049-3DF32F87BD76}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C8DD4D15-0C2D-43BC-9158-2D7DD1A33BBC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F1BCDD2A-6F12-4E5F-A263-6237776FA727}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5EEFCA6E-8B52-43A0-BFAF-512FDAB89E58}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnRequestAWSCredentialsFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 3736070646
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 3736070646
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{C8DD4D15-0C2D-43BC-9158-2D7DD1A33BBC}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{29C614BD-C1B3-4EA3-B6E5-9147AED55BC8}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4193877825
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnRequestAWSCredentialsFail",
-                                                    "m_eventId": {
-                                                        "Value": 4193877825
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{5EEFCA6E-8B52-43A0-BFAF-512FDAB89E58}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{F1BCDD2A-6F12-4E5F-A263-6237776FA727}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSCognitoAuthorizationNotificationBus",
-                                        "m_busId": {
-                                            "Value": 1100345364
-                                        }
-                                    }
-                                }
-                            }
-                        ],
-                        "m_connections": [
-                            {
-                                "Id": {
-                                    "id": 22615268913974
-                                },
-                                "Name": "srcEndpoint=(Initialize: Out), destEndpoint=(Initialize: In)",
-                                "Components": {
-                                    "Component_[14399681979807032845]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 14399681979807032845,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22610973946678
-                                            },
-                                            "slotId": {
-                                                "m_id": "{4BB45954-74C5-4023-AFBE-C82638076FDD}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22576614208310
-                                            },
-                                            "slotId": {
-                                                "m_id": "{9EFCF33C-EFBB-44F8-BBD9-0E4AA96D45AF}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22619563881270
-                                },
-                                "Name": "srcEndpoint=(Initialize: Out), destEndpoint=(Initialize: In)",
-                                "Components": {
-                                    "Component_[17573298986849197839]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 17573298986849197839,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22576614208310
-                                            },
-                                            "slotId": {
-                                                "m_id": "{04D08EB7-F20A-4CF7-8BB6-C79804F6EB59}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22572319241014
-                                            },
-                                            "slotId": {
-                                                "m_id": "{FAF2B1D0-815D-476E-BE0A-3C5B0A7181E2}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22623858848566
-                                },
-                                "Name": "srcEndpoint=(Initialize: Out), destEndpoint=(PasswordGrantSingleFactorSignInAsync: In)",
-                                "Components": {
-                                    "Component_[9852640775697931695]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 9852640775697931695,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22572319241014
-                                            },
-                                            "slotId": {
-                                                "m_id": "{354BF6A8-150D-4A9A-A19F-1B92ADC44A43}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22589499110198
-                                            },
-                                            "slotId": {
-                                                "m_id": "{F24D94B3-CD7D-4719-AEAB-58B6AA087480}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22628153815862
-                                },
-                                "Name": "srcEndpoint=(Print: Out), destEndpoint=(RequestAWSCredentialsAsync: In)",
-                                "Components": {
-                                    "Component_[12044830313862012006]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 12044830313862012006,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22606678979382
-                                            },
-                                            "slotId": {
-                                                "m_id": "{F5EE89C0-AB89-4D06-BD4C-72CA40AB075B}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22593794077494
-                                            },
-                                            "slotId": {
-                                                "m_id": "{EB37FB3D-48EB-4766-AD8C-7F03D100C7FA}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22632448783158
-                                },
-                                "Name": "srcEndpoint=(AuthenticationProviderNotificationBus Handler: ExecutionSlot:OnPasswordGrantSingleFactorSignInSuccess), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[11544107396556720999]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 11544107396556720999,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22585204142902
-                                            },
-                                            "slotId": {
-                                                "m_id": "{F3E407C4-9D91-4077-A730-C2463570A9FC}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22606678979382
-                                            },
-                                            "slotId": {
-                                                "m_id": "{269D4FDC-1137-45A3-8442-2A2DF98D6F6E}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22636743750454
-                                },
-                                "Name": "srcEndpoint=(AWSCognitoAuthorizationNotificationBus Handler: ExecutionSlot:OnRequestAWSCredentialsSuccess), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[16101269355489066265]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 16101269355489066265,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22580909175606
-                                            },
-                                            "slotId": {
-                                                "m_id": "{BCA83F8F-E431-421D-8B01-A8B31C3C66B1}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22598089044790
-                                            },
-                                            "slotId": {
-                                                "m_id": "{D3247169-ACA4-42FF-9CD9-7FC5D2888197}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22641038717750
-                                },
-                                "Name": "srcEndpoint=(AWSCognitoAuthorizationNotificationBus Handler: ExecutionSlot:OnRequestAWSCredentialsFail), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[6840692313652679972]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 6840692313652679972,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22568024273718
-                                            },
-                                            "slotId": {
-                                                "m_id": "{5EEFCA6E-8B52-43A0-BFAF-512FDAB89E58}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22602384012086
-                                            },
-                                            "slotId": {
-                                                "m_id": "{C0E7856E-AE8E-4151-9109-2E3B2A810054}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22645333685046
-                                },
-                                "Name": "srcEndpoint=(AuthenticationProviderNotificationBus Handler: ExecutionSlot:OnPasswordGrantSingleFactorSignInFail), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[72000609721937697]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 72000609721937697,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22563729306422
-                                            },
-                                            "slotId": {
-                                                "m_id": "{C042D8B9-D834-4A5A-85E7-F9C775EF9784}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22555139371830
-                                            },
-                                            "slotId": {
-                                                "m_id": "{9BB1F768-9D92-432C-9B8F-C99EB679CFB9}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 22649628652342
-                                },
-                                "Name": "srcEndpoint=(EntityBus Handler: ExecutionSlot:OnEntityActivated), destEndpoint=(Initialize: In)",
-                                "Components": {
-                                    "Component_[15648358861411868133]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 15648358861411868133,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 22559434339126
-                                            },
-                                            "slotId": {
-                                                "m_id": "{1E81F46E-80CF-4CF6-8499-04539BBF244E}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 22610973946678
-                                            },
-                                            "slotId": {
-                                                "m_id": "{F4ED50C1-0694-4E9F-A4E6-83565E517C1E}"
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        ]
-                    },
-                    "m_assetType": "{3E2AC8CD-713F-453E-967F-29517F331784}",
-                    "versionData": {
-                        "_grammarVersion": 1,
-                        "_runtimeVersion": 1
-                    },
-                    "m_variableCounter": 1,
-                    "GraphCanvasData": [
-                        {
-                            "Key": {
-                                "id": 22550844404534
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{5F84B500-8C45-40D1-8EFC-A5306B241444}": {
-                                        "$type": "SceneComponentSaveData",
-                                        "ViewParams": {
-                                            "Scale": 1.4170998772559926,
-                                            "AnchorX": 224.40196228027344,
-                                            "AnchorY": 163.7146453857422
-                                        }
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22555139371830
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1720.0,
-                                            820.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{2B3195F2-1430-43F8-9E98-821F79AE9168}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22559434339126
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            340.0,
-                                            240.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 245425936
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{571D5EB6-761E-4961-A9A8-47CEC16F8549}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22563729306422
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1200.0,
-                                            820.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 1293959492
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{D64CFD59-5EB3-46F7-B778-B8C1B1BCE0F6}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22568024273718
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1200.0,
-                                            1360.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 4193877825
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{897D9E34-AB55-4C02-B7CF-707DF3026F7A}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22572319241014
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            300.0,
-                                            620.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{86D69109-1347-4874-B913-DD03618254AA}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22576614208310
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1200.0,
-                                            300.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{646FDAC6-AC92-436C-84D3-6C7C067F7662}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22580909175606
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1200.0,
-                                            1100.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 3736070646
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{A7E33C5C-1567-4ACF-AA26-07DCF02A0C31}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22585204142902
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1200.0,
-                                            540.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 1722702500
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{73A7B670-D516-477F-BAD2-AC948A0F30AF}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22589499110198
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            700.0,
-                                            620.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{8ED300CF-364B-4569-967D-2E1366510572}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22593794077494
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            280.0,
-                                            1120.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{59A81991-B4E6-48C4-9534-2DAF56ACE2EB}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22598089044790
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1720.0,
-                                            1100.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{1FB84C5F-E453-4160-947F-CF32F5E2628A}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22602384012086
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1720.0,
-                                            1360.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{3C3CA353-2C5F-4479-9FB5-BF089C18D90D}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22606678979382
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1720.0,
-                                            580.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{8766AD8F-F6D5-4DAD-B56D-7B1542B9E2EF}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 22610973946678
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            680.0,
-                                            300.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{FD8E5258-B0B2-47E4-AEC1-06E61DA50C70}"
-                                    }
-                                }
-                            }
-                        }
-                    ],
-                    "StatisticsHelper": {
-                        "InstanceCounter": [
-                            {
-                                "Key": 5842116761103598202,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117366976109617,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117367539594961,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117453459104876,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117453819001655,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 10684225535275896474,
-                                "Value": 4
-                            },
-                            {
-                                "Key": 13774516282682374181,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516283013331095,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516352051377806,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516386968943251,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516392820282243,
-                                "Value": 1
-                            }
-                        ]
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 12
AutomatedTesting/Levels/AWS/ClientAuthPasswordSignIn/tags.txt

@@ -1,12 +0,0 @@
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0

+ 0 - 622
AutomatedTesting/Levels/AWS/ClientAuthPasswordSignUp/ClientAuthPasswordSignUp.prefab

@@ -1,622 +0,0 @@
-{
-    "ContainerEntity": {
-        "Id": "Entity_[1146574390643]",
-        "Name": "Level",
-        "Components": {
-            "Component_[10641544592923449938]": {
-                "$type": "EditorInspectorComponent",
-                "Id": 10641544592923449938
-            },
-            "Component_[12039882709170782873]": {
-                "$type": "EditorOnlyEntityComponent",
-                "Id": 12039882709170782873
-            },
-            "Component_[12265484671603697631]": {
-                "$type": "EditorPendingCompositionComponent",
-                "Id": 12265484671603697631
-            },
-            "Component_[14126657869720434043]": {
-                "$type": "EditorEntitySortComponent",
-                "Id": 14126657869720434043,
-                "Child Entity Order": [
-                    "Entity_[1176639161715]",
-                    "Entity_[3851851454285]"
-                ]
-            },
-            "Component_[15230859088967841193]": {
-                "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                "Id": 15230859088967841193,
-                "Parent Entity": ""
-            },
-            "Component_[16239496886950819870]": {
-                "$type": "EditorDisabledCompositionComponent",
-                "Id": 16239496886950819870
-            },
-            "Component_[5688118765544765547]": {
-                "$type": "EditorEntityIconComponent",
-                "Id": 5688118765544765547
-            },
-            "Component_[6545738857812235305]": {
-                "$type": "SelectionComponent",
-                "Id": 6545738857812235305
-            },
-            "Component_[7247035804068349658]": {
-                "$type": "EditorPrefabComponent",
-                "Id": 7247035804068349658
-            },
-            "Component_[9307224322037797205]": {
-                "$type": "EditorLockComponent",
-                "Id": 9307224322037797205
-            },
-            "Component_[9562516168917670048]": {
-                "$type": "EditorVisibilityComponent",
-                "Id": 9562516168917670048
-            }
-        }
-    },
-    "Entities": {
-        "Entity_[1155164325235]": {
-            "Id": "Entity_[1155164325235]",
-            "Name": "Sun",
-            "Components": {
-                "Component_[10440557478882592717]": {
-                    "$type": "SelectionComponent",
-                    "Id": 10440557478882592717
-                },
-                "Component_[13620450453324765907]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 13620450453324765907
-                },
-                "Component_[2134313378593666258]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 2134313378593666258
-                },
-                "Component_[234010807770404186]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 234010807770404186
-                },
-                "Component_[2970359110423865725]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 2970359110423865725
-                },
-                "Component_[3722854130373041803]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3722854130373041803
-                },
-                "Component_[5992533738676323195]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5992533738676323195
-                },
-                "Component_[7378860763541895402]": {
-                    "$type": "AZ::Render::EditorDirectionalLightComponent",
-                    "Id": 7378860763541895402,
-                    "Controller": {
-                        "Configuration": {
-                            "Intensity": 1.0,
-                            "CameraEntityId": "",
-                            "ShadowFilterMethod": 1
-                        }
-                    }
-                },
-                "Component_[7892834440890947578]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 7892834440890947578,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.0,
-                            13.487043380737305
-                        ],
-                        "Rotate": [
-                            -76.13099670410156,
-                            -0.847000002861023,
-                            -15.8100004196167
-                        ]
-                    }
-                },
-                "Component_[8599729549570828259]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 8599729549570828259
-                },
-                "Component_[952797371922080273]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 952797371922080273
-                }
-            }
-        },
-        "Entity_[1159459292531]": {
-            "Id": "Entity_[1159459292531]",
-            "Name": "Ground",
-            "Components": {
-                "Component_[11701138785793981042]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11701138785793981042
-                },
-                "Component_[12260880513256986252]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 12260880513256986252
-                },
-                "Component_[13711420870643673468]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 13711420870643673468
-                },
-                "Component_[138002849734991713]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 138002849734991713
-                },
-                "Component_[16578565737331764849]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 16578565737331764849,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[16919232076966545697]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 16919232076966545697
-                },
-                "Component_[5182430712893438093]": {
-                    "$type": "EditorMaterialComponent",
-                    "Id": 5182430712893438093
-                },
-                "Component_[5675108321710651991]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 5675108321710651991,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
-                                    "subId": 277889906
-                                },
-                                "assetHint": "objects/groudplane/groundplane_512x512m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[5681893399601237518]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5681893399601237518
-                },
-                "Component_[592692962543397545]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 592692962543397545
-                },
-                "Component_[7090012899106946164]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 7090012899106946164
-                },
-                "Component_[9410832619875640998]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 9410832619875640998
-                }
-            }
-        },
-        "Entity_[1163754259827]": {
-            "Id": "Entity_[1163754259827]",
-            "Name": "Camera",
-            "Components": {
-                "Component_[11895140916889160460]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11895140916889160460
-                },
-                "Component_[16880285896855930892]": {
-                    "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
-                    "Id": 16880285896855930892,
-                    "Controller": {
-                        "Configuration": {
-                            "Field of View": 55.0,
-                            "EditorEntityId": 6861302815203973165
-                        }
-                    }
-                },
-                "Component_[17187464423780271193]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 17187464423780271193
-                },
-                "Component_[17495696818315413311]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 17495696818315413311
-                },
-                "Component_[18086214374043522055]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 18086214374043522055,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            -2.3000001907348633,
-                            -3.9368600845336914,
-                            1.0
-                        ],
-                        "Rotate": [
-                            -2.050307512283325,
-                            1.9552897214889526,
-                            -43.623355865478516
-                        ]
-                    }
-                },
-                "Component_[18387556550380114975]": {
-                    "$type": "SelectionComponent",
-                    "Id": 18387556550380114975
-                },
-                "Component_[2654521436129313160]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 2654521436129313160
-                },
-                "Component_[5265045084611556958]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5265045084611556958
-                },
-                "Component_[7169798125182238623]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7169798125182238623
-                },
-                "Component_[7255796294953281766]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 7255796294953281766,
-                    "m_template": {
-                        "$type": "FlyCameraInputComponent"
-                    }
-                },
-                "Component_[8866210352157164042]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 8866210352157164042
-                },
-                "Component_[9129253381063760879]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 9129253381063760879
-                }
-            }
-        },
-        "Entity_[1168049227123]": {
-            "Id": "Entity_[1168049227123]",
-            "Name": "Grid",
-            "Components": {
-                "Component_[11443347433215807130]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11443347433215807130
-                },
-                "Component_[11779275529534764488]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11779275529534764488
-                },
-                "Component_[14249419413039427459]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14249419413039427459
-                },
-                "Component_[15448581635946161318]": {
-                    "$type": "AZ::Render::EditorGridComponent",
-                    "Id": 15448581635946161318,
-                    "Controller": {
-                        "Configuration": {
-                            "primarySpacing": 4.0,
-                            "primaryColor": [
-                                0.501960813999176,
-                                0.501960813999176,
-                                0.501960813999176
-                            ],
-                            "secondarySpacing": 0.5,
-                            "secondaryColor": [
-                                0.250980406999588,
-                                0.250980406999588,
-                                0.250980406999588
-                            ]
-                        }
-                    }
-                },
-                "Component_[1843303322527297409]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 1843303322527297409
-                },
-                "Component_[380249072065273654]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 380249072065273654,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[7476660583684339787]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7476660583684339787
-                },
-                "Component_[7557626501215118375]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 7557626501215118375
-                },
-                "Component_[7984048488947365511]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 7984048488947365511
-                },
-                "Component_[8118181039276487398]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 8118181039276487398
-                },
-                "Component_[9189909764215270515]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9189909764215270515
-                }
-            }
-        },
-        "Entity_[1172344194419]": {
-            "Id": "Entity_[1172344194419]",
-            "Name": "Shader Ball",
-            "Components": {
-                "Component_[10789351944715265527]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 10789351944715265527
-                },
-                "Component_[12037033284781049225]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 12037033284781049225
-                },
-                "Component_[13759153306105970079]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 13759153306105970079
-                },
-                "Component_[14135560884830586279]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14135560884830586279
-                },
-                "Component_[16247165675903986673]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 16247165675903986673
-                },
-                "Component_[18082433625958885247]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 18082433625958885247
-                },
-                "Component_[6472623349872972660]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6472623349872972660,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Rotate": [
-                            0.0,
-                            0.10000000149011612,
-                            180.0
-                        ]
-                    }
-                },
-                "Component_[6495255223970673916]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 6495255223970673916,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{FD340C30-755C-5911-92A3-19A3F7A77931}",
-                                    "subId": 281415304
-                                },
-                                "assetHint": "objects/shaderball/shaderball_default_1m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[8056625192494070973]": {
-                    "$type": "SelectionComponent",
-                    "Id": 8056625192494070973
-                },
-                "Component_[8550141614185782969]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 8550141614185782969
-                },
-                "Component_[9439770997198325425]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9439770997198325425
-                }
-            }
-        },
-        "Entity_[1176639161715]": {
-            "Id": "Entity_[1176639161715]",
-            "Name": "Atom Default Environment",
-            "Components": {
-                "Component_[10757302973393310045]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 10757302973393310045,
-                    "Parent Entity": "Entity_[1146574390643]"
-                },
-                "Component_[14505817420424255464]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14505817420424255464,
-                    "ComponentOrderEntryArray": [
-                        {
-                            "ComponentId": 10757302973393310045
-                        }
-                    ]
-                },
-                "Component_[14988041764659020032]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 14988041764659020032
-                },
-                "Component_[15808690248755038124]": {
-                    "$type": "SelectionComponent",
-                    "Id": 15808690248755038124
-                },
-                "Component_[15900837685796817138]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 15900837685796817138
-                },
-                "Component_[3298767348226484884]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3298767348226484884
-                },
-                "Component_[4076975109609220594]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 4076975109609220594
-                },
-                "Component_[5679760548946028854]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5679760548946028854
-                },
-                "Component_[5855590796136709437]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5855590796136709437,
-                    "Child Entity Order": [
-                        "Entity_[1155164325235]",
-                        "Entity_[1180934129011]",
-                        "Entity_[1172344194419]",
-                        "Entity_[1168049227123]",
-                        "Entity_[1163754259827]",
-                        "Entity_[1159459292531]"
-                    ]
-                },
-                "Component_[9277695270015777859]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 9277695270015777859
-                }
-            }
-        },
-        "Entity_[1180934129011]": {
-            "Id": "Entity_[1180934129011]",
-            "Name": "Global Sky",
-            "Components": {
-                "Component_[11231930600558681245]": {
-                    "$type": "AZ::Render::EditorHDRiSkyboxComponent",
-                    "Id": 11231930600558681245,
-                    "Controller": {
-                        "Configuration": {
-                            "CubemapAsset": {
-                                "assetId": {
-                                    "guid": "{215E47FD-D181-5832-B1AB-91673ABF6399}",
-                                    "subId": 1000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_skyboxcm.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[11980494120202836095]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11980494120202836095
-                },
-                "Component_[1428633914413949476]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 1428633914413949476
-                },
-                "Component_[14936200426671614999]": {
-                    "$type": "AZ::Render::EditorImageBasedLightComponent",
-                    "Id": 14936200426671614999,
-                    "Controller": {
-                        "Configuration": {
-                            "diffuseImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 3000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_ibldiffuse.exr.streamingimage"
-                            },
-                            "specularImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 2000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_iblspecular.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[14994774102579326069]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 14994774102579326069
-                },
-                "Component_[15417479889044493340]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 15417479889044493340
-                },
-                "Component_[15826613364991382688]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 15826613364991382688
-                },
-                "Component_[1665003113283562343]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 1665003113283562343
-                },
-                "Component_[3704934735944502280]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 3704934735944502280
-                },
-                "Component_[5698542331457326479]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 5698542331457326479
-                },
-                "Component_[6644513399057217122]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6644513399057217122,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[931091830724002070]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 931091830724002070
-                }
-            }
-        },
-        "Entity_[3851851454285]": {
-            "Id": "Entity_[3851851454285]",
-            "Name": "Auth",
-            "Components": {
-                "Component_[10199578265902796701]": {
-                    "$type": "EditorScriptCanvasComponent",
-                    "Id": 10199578265902796701,
-                    "configuration": {
-                        "sourceHandle": {
-                            "id": "{367CEE66-3A7D-549E-BD69-C63612B3F12D}",
-                            "path": "Levels/AWS/ClientAuthPasswordSignUp/PasswordSignUp.scriptcanvas"
-                        },
-                        "sourceName": "PasswordSignUp.scriptcanvas",
-                        "propertyOverrides": {
-                            "source": {
-                                "id": "{367CEE66-3A7D-549E-BD69-C63612B3F12D}",
-                                "path": "Levels/AWS/ClientAuthPasswordSignUp/PasswordSignUp.scriptcanvas"
-                            }
-                        }
-                    }
-                },
-                "Component_[10665743855533689275]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 10665743855533689275
-                },
-                "Component_[15982638153420818774]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 15982638153420818774,
-                    "Parent Entity": "Entity_[1146574390643]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.10000038146972656,
-                            4.005923748016357
-                        ]
-                    }
-                },
-                "Component_[17743308263820862394]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 17743308263820862394
-                },
-                "Component_[18074634570765223479]": {
-                    "$type": "SelectionComponent",
-                    "Id": 18074634570765223479
-                },
-                "Component_[3471158028107369345]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 3471158028107369345
-                },
-                "Component_[376079292001997684]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 376079292001997684
-                },
-                "Component_[4387781728620577034]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 4387781728620577034
-                },
-                "Component_[8591645353763910598]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 8591645353763910598
-                },
-                "Component_[9373910525775599099]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 9373910525775599099
-                },
-                "Component_[9394316863271268125]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 9394316863271268125
-                }
-            }
-        }
-    }
-}

+ 0 - 2442
AutomatedTesting/Levels/AWS/ClientAuthPasswordSignUp/PasswordSignUp.scriptcanvas

@@ -1,2442 +0,0 @@
-{
-    "Type": "JsonSerialization",
-    "Version": 1,
-    "ClassName": "ScriptCanvasData",
-    "ClassData": {
-        "m_scriptCanvas": {
-            "Id": {
-                "id": 40366368748342
-            },
-            "Name": "PasswordSignUp",
-            "Components": {
-                "Component_[15293771356940612577]": {
-                    "$type": "{4D755CA9-AB92-462C-B24F-0B3376F19967} Graph",
-                    "Id": 15293771356940612577,
-                    "m_graphData": {
-                        "m_nodes": [
-                            {
-                                "Id": {
-                                    "id": 40392138552118
-                                },
-                                "Name": "SC-Node(Initialize)",
-                                "Components": {
-                                    "Component_[10218083367428942849]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 10218083367428942849,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{399A9DE3-F888-4941-95ED-51DAA3577806}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{7E46FB7B-9FFF-49BE-8A8B-59A6144BB567}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A3A7AA49-0362-4F3C-81D9-C673BDC4CB9D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Result: Boolean",
-                                                "DisplayDataType": {
-                                                    "m_type": 0
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "Initialize",
-                                        "className": "AWSCognitoAuthorizationRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoAuthorizationRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40387843584822
-                                },
-                                "Name": "SC-Node(Initialize)",
-                                "Components": {
-                                    "Component_[1064784280691017359]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 1064784280691017359,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{3D4180D8-264F-40A6-B651-8AD9968800CD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{12154F8B-6329-44B2-B220-25BBB4F4DA8C}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{65D3D1AD-0D98-48D0-9E6E-742535E78E15}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Result: Boolean",
-                                                "DisplayDataType": {
-                                                    "m_type": 0
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "Initialize",
-                                        "className": "AWSCognitoUserManagementRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoUserManagementRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40379253650230
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[17066281136316039638]": {
-                                        "$type": "Print",
-                                        "Id": 17066281136316039638,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{CE1EC1C9-479F-451E-BC7B-CF9A76C141B8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6BFF8DF8-6D3B-47AD-8A6A-CCEAAC7B0B26}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "Signup Fail",
-                                        "m_unresolvedString": [
-                                            "Signup Fail"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40370663715638
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[17066281136316039638]": {
-                                        "$type": "Print",
-                                        "Id": 17066281136316039638,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{CE1EC1C9-479F-451E-BC7B-CF9A76C141B8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6BFF8DF8-6D3B-47AD-8A6A-CCEAAC7B0B26}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "Signup Success",
-                                        "m_unresolvedString": [
-                                            "Signup Success"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40400728486710
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[3253175345351481273]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 3253175345351481273,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{1C7259B4-0505-48A2-B942-55CFBAE0F40D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{274A7EFC-3117-4533-9F4D-814BB5E3A28C}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{37273EA1-C478-455A-8D8A-49BA9311B3D8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F66434BA-1E32-412A-9045-A4331871112B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{69CD56BC-D598-4D76-83E1-1F1A9B6A9058}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1D2D3BD0-1165-45A6-8310-3AB4E58513F5}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6AA62561-DA82-4797-9DC4-615AB767F828}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEmailSignUpSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6C1ECF44-14DE-4A96-A8BD-E317C80438C6}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{373F06F3-3019-469D-9668-B312D3E29617}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEmailSignUpFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{526BB736-AF73-4874-AB1F-5A31E32599E0}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B156FBD5-F8D1-4856-9ED4-B39C0C2F1FBE}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPhoneSignUpSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1CABB198-AE36-4929-A562-2C87F7A90946}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{BF5D1487-52AB-484E-B3A8-254126BCFBC8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPhoneSignUpFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E1E14BF9-5FC4-46F7-9284-BD971D6FBC7B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmSignUpSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B3E9DEFA-DD55-495C-BCBD-BBB64C2F40E6}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E8B771CC-6CB6-4A6F-9642-123E6A62BC39}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmSignUpFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{52C45020-B7A6-452C-9624-0BA2CE4675A8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnForgotPasswordSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{61352C5D-E634-4E36-86AE-95B0AA0C67F1}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C4F9C1F5-8CE0-4FAB-8068-2CDACDFBC7FB}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnForgotPasswordFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5AB5FB72-2D60-45C6-B2F2-6509AF91DCAF}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmForgotPasswordSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{AA2660EA-141C-43E0-9B05-E233CF7637B9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6FF2A7E9-1716-47BC-97D6-77E7B108058A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmForgotPasswordFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D50F225E-0251-4E45-B261-D66E11F8E259}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEnableMFASuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6926905E-56CF-424A-BD39-07CAC731CEE2}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D8F3BE2B-E240-4AA3-BD3F-AECE3BA146B0}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEnableMFAFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 91595643
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEnableMFAFail",
-                                                    "m_eventId": {
-                                                        "Value": 91595643
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{D8F3BE2B-E240-4AA3-BD3F-AECE3BA146B0}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{6926905E-56CF-424A-BD39-07CAC731CEE2}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 263629761
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPhoneSignUpSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 263629761
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{B156FBD5-F8D1-4856-9ED4-B39C0C2F1FBE}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{526BB736-AF73-4874-AB1F-5A31E32599E0}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 545635257
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmForgotPasswordFail",
-                                                    "m_eventId": {
-                                                        "Value": 545635257
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{6FF2A7E9-1716-47BC-97D6-77E7B108058A}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{AA2660EA-141C-43E0-9B05-E233CF7637B9}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 613710915
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEmailSignUpSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 613710915
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{6AA62561-DA82-4797-9DC4-615AB767F828}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{1D2D3BD0-1165-45A6-8310-3AB4E58513F5}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 885366379
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnForgotPasswordSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 885366379
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{52C45020-B7A6-452C-9624-0BA2CE4675A8}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1053871188
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEnableMFASuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1053871188
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{D50F225E-0251-4E45-B261-D66E11F8E259}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1936419598
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmSignUpFail",
-                                                    "m_eventId": {
-                                                        "Value": 1936419598
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{E8B771CC-6CB6-4A6F-9642-123E6A62BC39}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{B3E9DEFA-DD55-495C-BCBD-BBB64C2F40E6}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 2472403994
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmForgotPasswordSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 2472403994
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{5AB5FB72-2D60-45C6-B2F2-6509AF91DCAF}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 2512783036
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmSignUpSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 2512783036
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{E1E14BF9-5FC4-46F7-9284-BD971D6FBC7B}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 3917632075
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnForgotPasswordFail",
-                                                    "m_eventId": {
-                                                        "Value": 3917632075
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{C4F9C1F5-8CE0-4FAB-8068-2CDACDFBC7FB}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{61352C5D-E634-4E36-86AE-95B0AA0C67F1}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4207060091
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEmailSignUpFail",
-                                                    "m_eventId": {
-                                                        "Value": 4207060091
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{373F06F3-3019-469D-9668-B312D3E29617}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{6C1ECF44-14DE-4A96-A8BD-E317C80438C6}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4239863912
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPhoneSignUpFail",
-                                                    "m_eventId": {
-                                                        "Value": 4239863912
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{BF5D1487-52AB-484E-B3A8-254126BCFBC8}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{1CABB198-AE36-4929-A562-2C87F7A90946}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSCognitoUserManagementNotificationBus",
-                                        "m_busId": {
-                                            "Value": 447348268
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40383548617526
-                                },
-                                "Name": "SC-Node(EmailSignUpAsync)",
-                                "Components": {
-                                    "Component_[3828998640319414642]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 3828998640319414642,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{E27599AA-ECCC-479A-98BF-48AEE61B2555}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "String: 0",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{402E454D-087A-4B52-8559-0B4094339424}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "String: 1",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{37232683-A75B-40D3-BD2C-ACBF718622AC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "String: 2",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A0AF5A68-C8DD-4219-894A-4D7AF713FDFE}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{49E3F422-E17F-4540-8C55-CDDB3F8AB04D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "test1",
-                                                "label": "String: 0"
-                                            },
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "Test1test1!",
-                                                "label": "String: 1"
-                                            },
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "[email protected]",
-                                                "label": "String: 2"
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "EmailSignUpAsync",
-                                        "className": "AWSCognitoUserManagementRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSCognitoUserManagementRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40374958682934
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[6190924263230371473]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 6190924263230371473,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{0D5A6F1C-B9DA-4B49-8A54-1E6C2A959643}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6F93EEBD-6EE6-4204-8B56-4D3F17FC74AD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{41DFB9B0-EDFA-4DE6-B0EB-E6C8F6A9ED89}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{556C7487-6211-4173-8284-51479E4C8EF7}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FC800E36-B7D5-46AE-920A-0A18A2D17EB2}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5F4DB496-438B-4ED5-96A0-904FE5FAC305}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B24F20EF-0119-4BF3-86DF-AD101B534F6C}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEmailSignUpSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{BA735BFB-DE2B-429A-BEE9-59BA712F5F9F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{7EC15743-5DA5-4F9F-BF26-318CFAD73C48}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEmailSignUpFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{4A63B81E-A64D-448A-AAC5-F232393F3239}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{694A22A4-0218-40EB-BC46-91F14C7A5691}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPhoneSignUpSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E5EA8BAC-6706-4E56-868A-60EB944EEF59}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F1DA9F8C-99A5-4604-A2EF-36AA7E2F29D8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnPhoneSignUpFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{2A9AD20F-7C0F-4BCD-AE49-59763368ADF3}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmSignUpSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{708EA595-441A-4BED-B753-D612F9D8D48C}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{7AA88F7B-82B5-4EB6-BD6F-67C7662A5E53}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmSignUpFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{2E3F658E-D482-49EA-9F96-C7421D85E490}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnForgotPasswordSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{72F9D996-4A42-4740-A1F1-40CF2A922558}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{16098C3C-67EF-456D-8CEC-3E447D25FBE9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnForgotPasswordFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3DA27A98-45AF-4A95-87CE-65D7A2C415A5}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmForgotPasswordSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{593C97CF-5549-4E7B-8303-4FC61575BDD8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{CE9ED266-ACD3-4182-A63A-D989B204781B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnConfirmForgotPasswordFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C1BC60F1-4BE6-425D-AB01-B500171F095D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEnableMFASuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B884A8B1-7037-46A9-8C62-0E2D46737C90}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1A8274FB-20C8-42B3-B220-098EBEBCA53B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEnableMFAFail",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 91595643
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEnableMFAFail",
-                                                    "m_eventId": {
-                                                        "Value": 91595643
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{1A8274FB-20C8-42B3-B220-098EBEBCA53B}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{B884A8B1-7037-46A9-8C62-0E2D46737C90}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 263629761
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPhoneSignUpSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 263629761
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{694A22A4-0218-40EB-BC46-91F14C7A5691}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{4A63B81E-A64D-448A-AAC5-F232393F3239}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 545635257
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmForgotPasswordFail",
-                                                    "m_eventId": {
-                                                        "Value": 545635257
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{CE9ED266-ACD3-4182-A63A-D989B204781B}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{593C97CF-5549-4E7B-8303-4FC61575BDD8}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 613710915
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEmailSignUpSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 613710915
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{B24F20EF-0119-4BF3-86DF-AD101B534F6C}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{5F4DB496-438B-4ED5-96A0-904FE5FAC305}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 885366379
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnForgotPasswordSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 885366379
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{2E3F658E-D482-49EA-9F96-C7421D85E490}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1053871188
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEnableMFASuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1053871188
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{C1BC60F1-4BE6-425D-AB01-B500171F095D}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1936419598
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmSignUpFail",
-                                                    "m_eventId": {
-                                                        "Value": 1936419598
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{7AA88F7B-82B5-4EB6-BD6F-67C7662A5E53}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{708EA595-441A-4BED-B753-D612F9D8D48C}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 2472403994
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmForgotPasswordSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 2472403994
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{3DA27A98-45AF-4A95-87CE-65D7A2C415A5}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 2512783036
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnConfirmSignUpSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 2512783036
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{2A9AD20F-7C0F-4BCD-AE49-59763368ADF3}"
-                                                    }
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 3917632075
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnForgotPasswordFail",
-                                                    "m_eventId": {
-                                                        "Value": 3917632075
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{16098C3C-67EF-456D-8CEC-3E447D25FBE9}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{72F9D996-4A42-4740-A1F1-40CF2A922558}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4207060091
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEmailSignUpFail",
-                                                    "m_eventId": {
-                                                        "Value": 4207060091
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{7EC15743-5DA5-4F9F-BF26-318CFAD73C48}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{BA735BFB-DE2B-429A-BEE9-59BA712F5F9F}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4239863912
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnPhoneSignUpFail",
-                                                    "m_eventId": {
-                                                        "Value": 4239863912
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{F1DA9F8C-99A5-4604-A2EF-36AA7E2F29D8}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{E5EA8BAC-6706-4E56-868A-60EB944EEF59}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSCognitoUserManagementNotificationBus",
-                                        "m_busId": {
-                                            "Value": 447348268
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40396433519414
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[9562653061197598154]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 9562653061197598154,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{C7C58DC9-B78B-42B9-B2B5-478782DF46CC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{FA026675-B1BE-491C-8EBF-E69CC1DE4C55}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3C98E6EB-3C18-4068-B823-DB58C576DD78}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{57A45446-FFB1-4C50-8AAE-B8ECA6972D6E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A58F08C9-B5EF-4B7B-9CA0-D7971A0433F8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{725CF674-BE9B-46C9-97A9-F479446C0229}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Source",
-                                                "toolTip": "ID used to connect on a specific Event address (Type: EntityId)",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3CBA71E9-D536-4236-9663-EB756D317B5C}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{69BC10FD-BF05-4377-91D0-88540202AEAB}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityActivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B715798E-51A1-4A13-8597-D0FED7A84D64}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{0D15697C-1B42-4F19-BD0D-3A19CB516B61}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityDeactivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 1
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "EntityId",
-                                                "value": {
-                                                    "id": 2901262558
-                                                },
-                                                "label": "Source"
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 245425936
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityActivated",
-                                                    "m_eventId": {
-                                                        "Value": 245425936
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{69BC10FD-BF05-4377-91D0-88540202AEAB}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{3CBA71E9-D536-4236-9663-EB756D317B5C}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4273369222
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityDeactivated",
-                                                    "m_eventId": {
-                                                        "Value": 4273369222
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{0D15697C-1B42-4F19-BD0D-3A19CB516B61}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{B715798E-51A1-4A13-8597-D0FED7A84D64}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "EntityBus",
-                                        "m_busId": {
-                                            "Value": 3358774020
-                                        }
-                                    }
-                                }
-                            }
-                        ],
-                        "m_connections": [
-                            {
-                                "Id": {
-                                    "id": 40405023454006
-                                },
-                                "Name": "srcEndpoint=(Initialize: Out), destEndpoint=(Initialize: In)",
-                                "Components": {
-                                    "Component_[2481873747935739489]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 2481873747935739489,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 40387843584822
-                                            },
-                                            "slotId": {
-                                                "m_id": "{12154F8B-6329-44B2-B220-25BBB4F4DA8C}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 40392138552118
-                                            },
-                                            "slotId": {
-                                                "m_id": "{399A9DE3-F888-4941-95ED-51DAA3577806}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40409318421302
-                                },
-                                "Name": "srcEndpoint=(Initialize: Out), destEndpoint=(EmailSignUpAsync: In)",
-                                "Components": {
-                                    "Component_[7194362106206674212]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 7194362106206674212,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 40392138552118
-                                            },
-                                            "slotId": {
-                                                "m_id": "{7E46FB7B-9FFF-49BE-8A8B-59A6144BB567}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 40383548617526
-                                            },
-                                            "slotId": {
-                                                "m_id": "{A0AF5A68-C8DD-4219-894A-4D7AF713FDFE}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40413613388598
-                                },
-                                "Name": "srcEndpoint=(AWSCognitoUserManagementNotificationBus Handler: ExecutionSlot:OnEmailSignUpSuccess), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[16780678604896909105]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 16780678604896909105,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 40400728486710
-                                            },
-                                            "slotId": {
-                                                "m_id": "{6AA62561-DA82-4797-9DC4-615AB767F828}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 40370663715638
-                                            },
-                                            "slotId": {
-                                                "m_id": "{CE1EC1C9-479F-451E-BC7B-CF9A76C141B8}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40417908355894
-                                },
-                                "Name": "srcEndpoint=(AWSCognitoUserManagementNotificationBus Handler: ExecutionSlot:OnEmailSignUpFail), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[10089558926172181947]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 10089558926172181947,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 40374958682934
-                                            },
-                                            "slotId": {
-                                                "m_id": "{7EC15743-5DA5-4F9F-BF26-318CFAD73C48}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 40379253650230
-                                            },
-                                            "slotId": {
-                                                "m_id": "{CE1EC1C9-479F-451E-BC7B-CF9A76C141B8}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 40422203323190
-                                },
-                                "Name": "srcEndpoint=(EntityBus Handler: ExecutionSlot:OnEntityActivated), destEndpoint=(Initialize: In)",
-                                "Components": {
-                                    "Component_[4722263728953193176]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 4722263728953193176,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 40396433519414
-                                            },
-                                            "slotId": {
-                                                "m_id": "{69BC10FD-BF05-4377-91D0-88540202AEAB}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 40387843584822
-                                            },
-                                            "slotId": {
-                                                "m_id": "{3D4180D8-264F-40A6-B651-8AD9968800CD}"
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        ]
-                    },
-                    "m_assetType": "{3E2AC8CD-713F-453E-967F-29517F331784}",
-                    "versionData": {
-                        "_grammarVersion": 1,
-                        "_runtimeVersion": 1
-                    },
-                    "m_variableCounter": 1,
-                    "GraphCanvasData": [
-                        {
-                            "Key": {
-                                "id": 40366368748342
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{5F84B500-8C45-40D1-8EFC-A5306B241444}": {
-                                        "$type": "SceneComponentSaveData",
-                                        "ViewParams": {
-                                            "Scale": 1.6678291666562495,
-                                            "AnchorX": -1140.404541015625,
-                                            "AnchorY": -510.2441101074219
-                                        }
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40370663715638
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            360.0,
-                                            -100.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{EE80C02E-C46C-4F8B-9ED1-F455EAA1A180}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40374958682934
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -140.0,
-                                            120.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 4207060091
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{0CF6BEC2-1C77-4588-9E0D-46E669A885D2}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40379253650230
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            360.0,
-                                            120.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{7D65DC37-A004-4B96-B546-3AA21955B483}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40383548617526
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -480.0,
-                                            -20.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{0A62049A-7A6F-49C4-8941-2FFE8C3C3D64}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40387843584822
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -520.0,
-                                            -360.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{F194EF69-4648-4E48-8E09-0BA9D7CFEFAB}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40392138552118
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -880.0,
-                                            -20.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{64AC1AA7-3D00-49C8-B721-FD8FA1F12974}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40396433519414
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -840.0,
-                                            -420.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 245425936
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{BE098530-CD45-403F-A8E6-19B1AF955998}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 40400728486710
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -140.0,
-                                            -120.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 613710915
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{30CAA4F3-6D33-487A-AA24-5A0FDB7E44F7}"
-                                    }
-                                }
-                            }
-                        }
-                    ],
-                    "StatisticsHelper": {
-                        "InstanceCounter": [
-                            {
-                                "Key": 5842116761103598202,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117047185225035,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842117058899013251,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 10684225535275896474,
-                                "Value": 2
-                            },
-                            {
-                                "Key": 13774516312719521631,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516352051377806,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516392820282243,
-                                "Value": 1
-                            }
-                        ]
-                    }
-                },
-                "Component_[2611898449683772344]": {
-                    "$type": "EditorGraphVariableManagerComponent",
-                    "Id": 2611898449683772344,
-                    "m_variableData": {
-                        "m_nameVariableMap": [
-                            {
-                                "Key": {
-                                    "m_id": "{B26AAA33-F9F0-4CC4-81B2-E7D666AD6AD7}"
-                                },
-                                "Value": {
-                                    "Datum": {
-                                        "isOverloadedStorage": false,
-                                        "scriptCanvasType": {
-                                            "m_type": 4,
-                                            "m_azType": "{99DAD0BC-740E-5E82-826B-8FC7968CC02C}"
-                                        },
-                                        "isNullPointer": false,
-                                        "$type": "{99DAD0BC-740E-5E82-826B-8FC7968CC02C} AZStd::vector",
-                                        "value": [
-                                            "AWSCognitoIDP"
-                                        ],
-                                        "label": "Array<String>"
-                                    },
-                                    "VariableId": {
-                                        "m_id": "{B26AAA33-F9F0-4CC4-81B2-E7D666AD6AD7}"
-                                    },
-                                    "VariableName": "AuthenitcationProviders"
-                                }
-                            }
-                        ]
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 12
AutomatedTesting/Levels/AWS/ClientAuthPasswordSignUp/tags.txt

@@ -1,12 +0,0 @@
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0

+ 0 - 727
AutomatedTesting/Levels/AWS/Core/Core.prefab

@@ -1,727 +0,0 @@
-{
-    "ContainerEntity": {
-        "Id": "Entity_[1146574390643]",
-        "Name": "Level",
-        "Components": {
-            "Component_[10641544592923449938]": {
-                "$type": "EditorInspectorComponent",
-                "Id": 10641544592923449938
-            },
-            "Component_[12039882709170782873]": {
-                "$type": "EditorOnlyEntityComponent",
-                "Id": 12039882709170782873
-            },
-            "Component_[12265484671603697631]": {
-                "$type": "EditorPendingCompositionComponent",
-                "Id": 12265484671603697631
-            },
-            "Component_[14126657869720434043]": {
-                "$type": "EditorEntitySortComponent",
-                "Id": 14126657869720434043,
-                "Child Entity Order": [
-                    "Entity_[1176639161715]",
-                    "Entity_[1386540226381]",
-                    "Entity_[1390835193677]",
-                    "Entity_[1395130160973]"
-                ]
-            },
-            "Component_[15230859088967841193]": {
-                "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                "Id": 15230859088967841193,
-                "Parent Entity": ""
-            },
-            "Component_[16239496886950819870]": {
-                "$type": "EditorDisabledCompositionComponent",
-                "Id": 16239496886950819870
-            },
-            "Component_[5688118765544765547]": {
-                "$type": "EditorEntityIconComponent",
-                "Id": 5688118765544765547
-            },
-            "Component_[6193509537440135612]": {
-                "$type": "LocalViewBookmarkComponent",
-                "Id": 6193509537440135612,
-                "LocalBookmarkFileName": "Core_16782990514934211.setreg"
-            },
-            "Component_[7247035804068349658]": {
-                "$type": "EditorPrefabComponent",
-                "Id": 7247035804068349658
-            },
-            "Component_[9307224322037797205]": {
-                "$type": "EditorLockComponent",
-                "Id": 9307224322037797205
-            },
-            "Component_[9562516168917670048]": {
-                "$type": "EditorVisibilityComponent",
-                "Id": 9562516168917670048
-            }
-        }
-    },
-    "Entities": {
-        "Entity_[1155164325235]": {
-            "Id": "Entity_[1155164325235]",
-            "Name": "Sun",
-            "Components": {
-                "Component_[13620450453324765907]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 13620450453324765907
-                },
-                "Component_[2134313378593666258]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 2134313378593666258
-                },
-                "Component_[234010807770404186]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 234010807770404186
-                },
-                "Component_[2970359110423865725]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 2970359110423865725
-                },
-                "Component_[3722854130373041803]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3722854130373041803
-                },
-                "Component_[5992533738676323195]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5992533738676323195
-                },
-                "Component_[7378860763541895402]": {
-                    "$type": "AZ::Render::EditorDirectionalLightComponent",
-                    "Id": 7378860763541895402,
-                    "Controller": {
-                        "Configuration": {
-                            "Intensity": 1.0,
-                            "CameraEntityId": "",
-                            "ShadowFilterMethod": 1
-                        }
-                    }
-                },
-                "Component_[7892834440890947578]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 7892834440890947578,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.0,
-                            13.487043380737305
-                        ],
-                        "Rotate": [
-                            -76.13099670410156,
-                            -0.847000002861023,
-                            -15.8100004196167
-                        ]
-                    }
-                },
-                "Component_[8599729549570828259]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 8599729549570828259
-                },
-                "Component_[952797371922080273]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 952797371922080273
-                }
-            }
-        },
-        "Entity_[1159459292531]": {
-            "Id": "Entity_[1159459292531]",
-            "Name": "Ground",
-            "Components": {
-                "Component_[12260880513256986252]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 12260880513256986252
-                },
-                "Component_[13711420870643673468]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 13711420870643673468
-                },
-                "Component_[138002849734991713]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 138002849734991713
-                },
-                "Component_[16578565737331764849]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 16578565737331764849,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[16919232076966545697]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 16919232076966545697
-                },
-                "Component_[5182430712893438093]": {
-                    "$type": "EditorMaterialComponent",
-                    "Id": 5182430712893438093
-                },
-                "Component_[5675108321710651991]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 5675108321710651991,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
-                                    "subId": 277889906
-                                },
-                                "assetHint": "objects/groudplane/groundplane_512x512m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[5681893399601237518]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5681893399601237518
-                },
-                "Component_[592692962543397545]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 592692962543397545
-                },
-                "Component_[7090012899106946164]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 7090012899106946164
-                },
-                "Component_[9410832619875640998]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 9410832619875640998
-                }
-            }
-        },
-        "Entity_[1163754259827]": {
-            "Id": "Entity_[1163754259827]",
-            "Name": "Camera",
-            "Components": {
-                "Component_[11895140916889160460]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11895140916889160460
-                },
-                "Component_[16880285896855930892]": {
-                    "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
-                    "Id": 16880285896855930892,
-                    "Controller": {
-                        "Configuration": {
-                            "Field of View": 55.0,
-                            "EditorEntityId": 6861302815203973165
-                        }
-                    }
-                },
-                "Component_[17187464423780271193]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 17187464423780271193
-                },
-                "Component_[17495696818315413311]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 17495696818315413311
-                },
-                "Component_[18086214374043522055]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 18086214374043522055,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            -2.3000001907348633,
-                            -3.9368600845336914,
-                            1.0
-                        ],
-                        "Rotate": [
-                            -2.050307512283325,
-                            1.9552897214889526,
-                            -43.623355865478516
-                        ]
-                    }
-                },
-                "Component_[2654521436129313160]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 2654521436129313160
-                },
-                "Component_[5265045084611556958]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5265045084611556958
-                },
-                "Component_[7169798125182238623]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7169798125182238623
-                },
-                "Component_[7255796294953281766]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 7255796294953281766,
-                    "m_template": {
-                        "$type": "FlyCameraInputComponent"
-                    }
-                },
-                "Component_[8866210352157164042]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 8866210352157164042
-                },
-                "Component_[9129253381063760879]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 9129253381063760879
-                }
-            }
-        },
-        "Entity_[1168049227123]": {
-            "Id": "Entity_[1168049227123]",
-            "Name": "Grid",
-            "Components": {
-                "Component_[11443347433215807130]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11443347433215807130
-                },
-                "Component_[14249419413039427459]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14249419413039427459
-                },
-                "Component_[15448581635946161318]": {
-                    "$type": "AZ::Render::EditorGridComponent",
-                    "Id": 15448581635946161318,
-                    "Controller": {
-                        "Configuration": {
-                            "primarySpacing": 4.0,
-                            "primaryColor": [
-                                0.501960813999176,
-                                0.501960813999176,
-                                0.501960813999176
-                            ],
-                            "secondarySpacing": 0.5,
-                            "secondaryColor": [
-                                0.250980406999588,
-                                0.250980406999588,
-                                0.250980406999588
-                            ]
-                        }
-                    }
-                },
-                "Component_[1843303322527297409]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 1843303322527297409
-                },
-                "Component_[380249072065273654]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 380249072065273654,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[7476660583684339787]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7476660583684339787
-                },
-                "Component_[7557626501215118375]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 7557626501215118375
-                },
-                "Component_[7984048488947365511]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 7984048488947365511
-                },
-                "Component_[8118181039276487398]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 8118181039276487398
-                },
-                "Component_[9189909764215270515]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9189909764215270515
-                }
-            }
-        },
-        "Entity_[1172344194419]": {
-            "Id": "Entity_[1172344194419]",
-            "Name": "Shader Ball",
-            "Components": {
-                "Component_[10789351944715265527]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 10789351944715265527
-                },
-                "Component_[12037033284781049225]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 12037033284781049225
-                },
-                "Component_[13759153306105970079]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 13759153306105970079
-                },
-                "Component_[14135560884830586279]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14135560884830586279
-                },
-                "Component_[16247165675903986673]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 16247165675903986673
-                },
-                "Component_[18082433625958885247]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 18082433625958885247
-                },
-                "Component_[6472623349872972660]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6472623349872972660,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Rotate": [
-                            0.0,
-                            0.10000000149011612,
-                            180.0
-                        ]
-                    }
-                },
-                "Component_[6495255223970673916]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 6495255223970673916,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{FD340C30-755C-5911-92A3-19A3F7A77931}",
-                                    "subId": 281415304
-                                },
-                                "assetHint": "objects/shaderball/shaderball_default_1m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[8550141614185782969]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 8550141614185782969
-                },
-                "Component_[9439770997198325425]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9439770997198325425
-                }
-            }
-        },
-        "Entity_[1176639161715]": {
-            "Id": "Entity_[1176639161715]",
-            "Name": "Atom Default Environment",
-            "Components": {
-                "Component_[10757302973393310045]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 10757302973393310045,
-                    "Parent Entity": "Entity_[1146574390643]"
-                },
-                "Component_[14505817420424255464]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14505817420424255464,
-                    "ComponentOrderEntryArray": [
-                        {
-                            "ComponentId": 10757302973393310045
-                        }
-                    ]
-                },
-                "Component_[14988041764659020032]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 14988041764659020032
-                },
-                "Component_[15900837685796817138]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 15900837685796817138
-                },
-                "Component_[3298767348226484884]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3298767348226484884
-                },
-                "Component_[4076975109609220594]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 4076975109609220594
-                },
-                "Component_[5679760548946028854]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5679760548946028854
-                },
-                "Component_[5855590796136709437]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5855590796136709437,
-                    "Child Entity Order": [
-                        "Entity_[1155164325235]",
-                        "Entity_[1180934129011]",
-                        "Entity_[1172344194419]",
-                        "Entity_[1168049227123]",
-                        "Entity_[1163754259827]",
-                        "Entity_[1159459292531]"
-                    ]
-                },
-                "Component_[9277695270015777859]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 9277695270015777859
-                }
-            }
-        },
-        "Entity_[1180934129011]": {
-            "Id": "Entity_[1180934129011]",
-            "Name": "Global Sky",
-            "Components": {
-                "Component_[11231930600558681245]": {
-                    "$type": "AZ::Render::EditorHDRiSkyboxComponent",
-                    "Id": 11231930600558681245,
-                    "Controller": {
-                        "Configuration": {
-                            "CubemapAsset": {
-                                "assetId": {
-                                    "guid": "{215E47FD-D181-5832-B1AB-91673ABF6399}",
-                                    "subId": 1000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_skyboxcm.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[1428633914413949476]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 1428633914413949476
-                },
-                "Component_[14936200426671614999]": {
-                    "$type": "AZ::Render::EditorImageBasedLightComponent",
-                    "Id": 14936200426671614999,
-                    "Controller": {
-                        "Configuration": {
-                            "diffuseImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 3000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_ibldiffuse.exr.streamingimage"
-                            },
-                            "specularImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 2000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_iblspecular.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[14994774102579326069]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 14994774102579326069
-                },
-                "Component_[15417479889044493340]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 15417479889044493340
-                },
-                "Component_[15826613364991382688]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 15826613364991382688
-                },
-                "Component_[1665003113283562343]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 1665003113283562343
-                },
-                "Component_[3704934735944502280]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 3704934735944502280
-                },
-                "Component_[5698542331457326479]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 5698542331457326479
-                },
-                "Component_[6644513399057217122]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6644513399057217122,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[931091830724002070]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 931091830724002070
-                }
-            }
-        },
-        "Entity_[1386540226381]": {
-            "Id": "Entity_[1386540226381]",
-            "Name": "s3",
-            "Components": {
-                "Component_[11158492000035348927]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 11158492000035348927
-                },
-                "Component_[13101294672800983417]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 13101294672800983417
-                },
-                "Component_[13312594438559441372]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 13312594438559441372
-                },
-                "Component_[14532086496432860950]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 14532086496432860950
-                },
-                "Component_[15284288439796123368]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 15284288439796123368
-                },
-                "Component_[17553238493971510581]": {
-                    "$type": "EditorScriptCanvasComponent",
-                    "Id": 17553238493971510581,
-                    "configuration": {
-                        "sourceHandle": {
-                            "id": "{D72821C5-1C31-5AE5-891D-30371C49B9E0}",
-                            "path": "ScriptCanvas/s3demo.scriptcanvas"
-                        },
-                        "sourceName": "s3demo.scriptcanvas",
-                        "propertyOverrides": {
-                            "source": {
-                                "id": "{D72821C5-1C31-5AE5-891D-30371C49B9E0}",
-                                "path": "ScriptCanvas/s3demo.scriptcanvas"
-                            }
-                        }
-                    }
-                },
-                "Component_[17621265899133139471]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 17621265899133139471
-                },
-                "Component_[2763569637558196086]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 2763569637558196086,
-                    "Parent Entity": "Entity_[1146574390643]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.10000038146972656,
-                            4.005923748016357
-                        ]
-                    }
-                },
-                "Component_[4521094551057628689]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 4521094551057628689
-                },
-                "Component_[5378520857609165944]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 5378520857609165944
-                }
-            }
-        },
-        "Entity_[1390835193677]": {
-            "Id": "Entity_[1390835193677]",
-            "Name": "dynamodb",
-            "Components": {
-                "Component_[13579073750136791325]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 13579073750136791325
-                },
-                "Component_[14581079376974874313]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 14581079376974874313
-                },
-                "Component_[15913971829919706180]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 15913971829919706180
-                },
-                "Component_[17308449372189366987]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 17308449372189366987
-                },
-                "Component_[17741852956994822371]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 17741852956994822371
-                },
-                "Component_[4363122368868820254]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 4363122368868820254
-                },
-                "Component_[4890242568951925088]": {
-                    "$type": "EditorScriptCanvasComponent",
-                    "Id": 4890242568951925088,
-                    "configuration": {
-                        "sourceHandle": {
-                            "id": "{004B97C6-75F3-5B95-ADA4-EBF751EEF697}",
-                            "path": "ScriptCanvas/dynamodbdemo.scriptcanvas"
-                        },
-                        "sourceName": "dynamodbdemo.scriptcanvas",
-                        "propertyOverrides": {
-                            "source": {
-                                "id": "{004B97C6-75F3-5B95-ADA4-EBF751EEF697}",
-                                "path": "ScriptCanvas/dynamodbdemo.scriptcanvas"
-                            }
-                        }
-                    }
-                },
-                "Component_[7140725680315799866]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 7140725680315799866
-                },
-                "Component_[8431133659360426398]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 8431133659360426398,
-                    "Parent Entity": "Entity_[1146574390643]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.10000038146972656,
-                            4.005923748016357
-                        ]
-                    }
-                },
-                "Component_[9486500593077263666]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 9486500593077263666
-                }
-            }
-        },
-        "Entity_[1395130160973]": {
-            "Id": "Entity_[1395130160973]",
-            "Name": "lambda",
-            "Components": {
-                "Component_[14532864313352417822]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14532864313352417822
-                },
-                "Component_[14621438229914413040]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 14621438229914413040
-                },
-                "Component_[15642112885025274607]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 15642112885025274607
-                },
-                "Component_[16340039184260739086]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 16340039184260739086
-                },
-                "Component_[17170806711467412600]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 17170806711467412600,
-                    "Parent Entity": "Entity_[1146574390643]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.10000038146972656,
-                            4.005923748016357
-                        ]
-                    }
-                },
-                "Component_[18080677632538463069]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 18080677632538463069
-                },
-                "Component_[2663457305102263144]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 2663457305102263144
-                },
-                "Component_[4954526281430171003]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 4954526281430171003
-                },
-                "Component_[6251151424244415885]": {
-                    "$type": "EditorScriptCanvasComponent",
-                    "Id": 6251151424244415885,
-                    "configuration": {
-                        "sourceHandle": {
-                            "id": "{3DCA213D-534E-5C86-9308-2F7675A08029}",
-                            "path": "ScriptCanvas/lambdademo.scriptcanvas"
-                        },
-                        "sourceName": "lambdademo.scriptcanvas",
-                        "propertyOverrides": {
-                            "source": {
-                                "id": "{3DCA213D-534E-5C86-9308-2F7675A08029}",
-                                "path": "ScriptCanvas/lambdademo.scriptcanvas"
-                            }
-                        }
-                    }
-                },
-                "Component_[6526999075003995619]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 6526999075003995619
-                }
-            }
-        }
-    }
-}

+ 0 - 12
AutomatedTesting/Levels/AWS/Core/tags.txt

@@ -1,12 +0,0 @@
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0

+ 0 - 627
AutomatedTesting/Levels/AWS/Metrics/Metrics.prefab

@@ -1,627 +0,0 @@
-{
-    "ContainerEntity": {
-        "Id": "Entity_[1146574390643]",
-        "Name": "Level",
-        "Components": {
-            "Component_[10641544592923449938]": {
-                "$type": "EditorInspectorComponent",
-                "Id": 10641544592923449938
-            },
-            "Component_[12039882709170782873]": {
-                "$type": "EditorOnlyEntityComponent",
-                "Id": 12039882709170782873
-            },
-            "Component_[12265484671603697631]": {
-                "$type": "EditorPendingCompositionComponent",
-                "Id": 12265484671603697631
-            },
-            "Component_[14126657869720434043]": {
-                "$type": "EditorEntitySortComponent",
-                "Id": 14126657869720434043,
-                "Child Entity Order": [
-                    "Entity_[1176639161715]",
-                    "Entity_[2086619895629]",
-                    "Entity_[2086619895629]"
-                ]
-            },
-            "Component_[15230859088967841193]": {
-                "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                "Id": 15230859088967841193,
-                "Parent Entity": ""
-            },
-            "Component_[16239496886950819870]": {
-                "$type": "EditorDisabledCompositionComponent",
-                "Id": 16239496886950819870
-            },
-            "Component_[5688118765544765547]": {
-                "$type": "EditorEntityIconComponent",
-                "Id": 5688118765544765547
-            },
-            "Component_[6545738857812235305]": {
-                "$type": "SelectionComponent",
-                "Id": 6545738857812235305
-            },
-            "Component_[7247035804068349658]": {
-                "$type": "EditorPrefabComponent",
-                "Id": 7247035804068349658
-            },
-            "Component_[9307224322037797205]": {
-                "$type": "EditorLockComponent",
-                "Id": 9307224322037797205
-            },
-            "Component_[9562516168917670048]": {
-                "$type": "EditorVisibilityComponent",
-                "Id": 9562516168917670048
-            }
-        }
-    },
-    "Entities": {
-        "Entity_[1155164325235]": {
-            "Id": "Entity_[1155164325235]",
-            "Name": "Sun",
-            "Components": {
-                "Component_[10440557478882592717]": {
-                    "$type": "SelectionComponent",
-                    "Id": 10440557478882592717
-                },
-                "Component_[13620450453324765907]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 13620450453324765907
-                },
-                "Component_[2134313378593666258]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 2134313378593666258
-                },
-                "Component_[234010807770404186]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 234010807770404186
-                },
-                "Component_[2970359110423865725]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 2970359110423865725
-                },
-                "Component_[3722854130373041803]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3722854130373041803
-                },
-                "Component_[5992533738676323195]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5992533738676323195
-                },
-                "Component_[7378860763541895402]": {
-                    "$type": "AZ::Render::EditorDirectionalLightComponent",
-                    "Id": 7378860763541895402,
-                    "Controller": {
-                        "Configuration": {
-                            "Intensity": 1.0,
-                            "CameraEntityId": "",
-                            "ShadowFilterMethod": 1
-                        }
-                    }
-                },
-                "Component_[7892834440890947578]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 7892834440890947578,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.0,
-                            13.487043380737305
-                        ],
-                        "Rotate": [
-                            -76.13099670410156,
-                            -0.847000002861023,
-                            -15.8100004196167
-                        ]
-                    }
-                },
-                "Component_[8599729549570828259]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 8599729549570828259
-                },
-                "Component_[952797371922080273]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 952797371922080273
-                }
-            }
-        },
-        "Entity_[1159459292531]": {
-            "Id": "Entity_[1159459292531]",
-            "Name": "Ground",
-            "Components": {
-                "Component_[11701138785793981042]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11701138785793981042
-                },
-                "Component_[12260880513256986252]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 12260880513256986252
-                },
-                "Component_[13711420870643673468]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 13711420870643673468
-                },
-                "Component_[138002849734991713]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 138002849734991713
-                },
-                "Component_[16578565737331764849]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 16578565737331764849,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[16919232076966545697]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 16919232076966545697
-                },
-                "Component_[5182430712893438093]": {
-                    "$type": "EditorMaterialComponent",
-                    "Id": 5182430712893438093
-                },
-                "Component_[5675108321710651991]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 5675108321710651991,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
-                                    "subId": 277889906
-                                },
-                                "assetHint": "objects/groudplane/groundplane_512x512m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[5681893399601237518]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5681893399601237518
-                },
-                "Component_[592692962543397545]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 592692962543397545
-                },
-                "Component_[7090012899106946164]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 7090012899106946164
-                },
-                "Component_[9410832619875640998]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 9410832619875640998
-                }
-            }
-        },
-        "Entity_[1163754259827]": {
-            "Id": "Entity_[1163754259827]",
-            "Name": "Camera",
-            "Components": {
-                "Component_[11895140916889160460]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11895140916889160460
-                },
-                "Component_[16880285896855930892]": {
-                    "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
-                    "Id": 16880285896855930892,
-                    "Controller": {
-                        "Configuration": {
-                            "Field of View": 55.0,
-                            "EditorEntityId": 6861302815203973165
-                        }
-                    }
-                },
-                "Component_[17187464423780271193]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 17187464423780271193
-                },
-                "Component_[17495696818315413311]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 17495696818315413311
-                },
-                "Component_[18086214374043522055]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 18086214374043522055,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Translate": [
-                            -2.3000001907348633,
-                            -3.9368600845336914,
-                            1.0
-                        ],
-                        "Rotate": [
-                            -2.050307512283325,
-                            1.9552897214889526,
-                            -43.623355865478516
-                        ]
-                    }
-                },
-                "Component_[18387556550380114975]": {
-                    "$type": "SelectionComponent",
-                    "Id": 18387556550380114975
-                },
-                "Component_[2654521436129313160]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 2654521436129313160
-                },
-                "Component_[5265045084611556958]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5265045084611556958
-                },
-                "Component_[7169798125182238623]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7169798125182238623
-                },
-                "Component_[7255796294953281766]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 7255796294953281766,
-                    "m_template": {
-                        "$type": "FlyCameraInputComponent"
-                    }
-                },
-                "Component_[8866210352157164042]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 8866210352157164042
-                },
-                "Component_[9129253381063760879]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 9129253381063760879
-                }
-            }
-        },
-        "Entity_[1168049227123]": {
-            "Id": "Entity_[1168049227123]",
-            "Name": "Grid",
-            "Components": {
-                "Component_[11443347433215807130]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 11443347433215807130
-                },
-                "Component_[11779275529534764488]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11779275529534764488
-                },
-                "Component_[14249419413039427459]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14249419413039427459
-                },
-                "Component_[15448581635946161318]": {
-                    "$type": "AZ::Render::EditorGridComponent",
-                    "Id": 15448581635946161318,
-                    "Controller": {
-                        "Configuration": {
-                            "primarySpacing": 4.0,
-                            "primaryColor": [
-                                0.501960813999176,
-                                0.501960813999176,
-                                0.501960813999176
-                            ],
-                            "secondarySpacing": 0.5,
-                            "secondaryColor": [
-                                0.250980406999588,
-                                0.250980406999588,
-                                0.250980406999588
-                            ]
-                        }
-                    }
-                },
-                "Component_[1843303322527297409]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 1843303322527297409
-                },
-                "Component_[380249072065273654]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 380249072065273654,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[7476660583684339787]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 7476660583684339787
-                },
-                "Component_[7557626501215118375]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 7557626501215118375
-                },
-                "Component_[7984048488947365511]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 7984048488947365511
-                },
-                "Component_[8118181039276487398]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 8118181039276487398
-                },
-                "Component_[9189909764215270515]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9189909764215270515
-                }
-            }
-        },
-        "Entity_[1172344194419]": {
-            "Id": "Entity_[1172344194419]",
-            "Name": "Shader Ball",
-            "Components": {
-                "Component_[10789351944715265527]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 10789351944715265527
-                },
-                "Component_[12037033284781049225]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 12037033284781049225
-                },
-                "Component_[13759153306105970079]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 13759153306105970079
-                },
-                "Component_[14135560884830586279]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14135560884830586279
-                },
-                "Component_[16247165675903986673]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 16247165675903986673
-                },
-                "Component_[18082433625958885247]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 18082433625958885247
-                },
-                "Component_[6472623349872972660]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6472623349872972660,
-                    "Parent Entity": "Entity_[1176639161715]",
-                    "Transform Data": {
-                        "Rotate": [
-                            0.0,
-                            0.10000000149011612,
-                            180.0
-                        ]
-                    }
-                },
-                "Component_[6495255223970673916]": {
-                    "$type": "AZ::Render::EditorMeshComponent",
-                    "Id": 6495255223970673916,
-                    "Controller": {
-                        "Configuration": {
-                            "ModelAsset": {
-                                "assetId": {
-                                    "guid": "{FD340C30-755C-5911-92A3-19A3F7A77931}",
-                                    "subId": 281415304
-                                },
-                                "assetHint": "objects/shaderball/shaderball_default_1m.azmodel"
-                            }
-                        }
-                    }
-                },
-                "Component_[8056625192494070973]": {
-                    "$type": "SelectionComponent",
-                    "Id": 8056625192494070973
-                },
-                "Component_[8550141614185782969]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 8550141614185782969
-                },
-                "Component_[9439770997198325425]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 9439770997198325425
-                }
-            }
-        },
-        "Entity_[1176639161715]": {
-            "Id": "Entity_[1176639161715]",
-            "Name": "Atom Default Environment",
-            "Components": {
-                "Component_[10757302973393310045]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 10757302973393310045,
-                    "Parent Entity": "Entity_[1146574390643]"
-                },
-                "Component_[14505817420424255464]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14505817420424255464,
-                    "ComponentOrderEntryArray": [
-                        {
-                            "ComponentId": 10757302973393310045
-                        }
-                    ]
-                },
-                "Component_[14988041764659020032]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 14988041764659020032
-                },
-                "Component_[15808690248755038124]": {
-                    "$type": "SelectionComponent",
-                    "Id": 15808690248755038124
-                },
-                "Component_[15900837685796817138]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 15900837685796817138
-                },
-                "Component_[3298767348226484884]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 3298767348226484884
-                },
-                "Component_[4076975109609220594]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 4076975109609220594
-                },
-                "Component_[5679760548946028854]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 5679760548946028854
-                },
-                "Component_[5855590796136709437]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 5855590796136709437,
-                    "Child Entity Order": [
-                        "Entity_[1155164325235]",
-                        "Entity_[1180934129011]",
-                        "Entity_[1172344194419]",
-                        "Entity_[1168049227123]",
-                        "Entity_[1163754259827]",
-                        "Entity_[1159459292531]"
-                    ]
-                },
-                "Component_[9277695270015777859]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 9277695270015777859
-                }
-            }
-        },
-        "Entity_[1180934129011]": {
-            "Id": "Entity_[1180934129011]",
-            "Name": "Global Sky",
-            "Components": {
-                "Component_[11231930600558681245]": {
-                    "$type": "AZ::Render::EditorHDRiSkyboxComponent",
-                    "Id": 11231930600558681245,
-                    "Controller": {
-                        "Configuration": {
-                            "CubemapAsset": {
-                                "assetId": {
-                                    "guid": "{215E47FD-D181-5832-B1AB-91673ABF6399}",
-                                    "subId": 1000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_skyboxcm.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[11980494120202836095]": {
-                    "$type": "SelectionComponent",
-                    "Id": 11980494120202836095
-                },
-                "Component_[1428633914413949476]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 1428633914413949476
-                },
-                "Component_[14936200426671614999]": {
-                    "$type": "AZ::Render::EditorImageBasedLightComponent",
-                    "Id": 14936200426671614999,
-                    "Controller": {
-                        "Configuration": {
-                            "diffuseImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 3000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_ibldiffuse.exr.streamingimage"
-                            },
-                            "specularImageAsset": {
-                                "assetId": {
-                                    "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
-                                    "subId": 2000
-                                },
-                                "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_iblspecular.exr.streamingimage"
-                            }
-                        }
-                    }
-                },
-                "Component_[14994774102579326069]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 14994774102579326069
-                },
-                "Component_[15417479889044493340]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 15417479889044493340
-                },
-                "Component_[15826613364991382688]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 15826613364991382688
-                },
-                "Component_[1665003113283562343]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 1665003113283562343
-                },
-                "Component_[3704934735944502280]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 3704934735944502280
-                },
-                "Component_[5698542331457326479]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 5698542331457326479
-                },
-                "Component_[6644513399057217122]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6644513399057217122,
-                    "Parent Entity": "Entity_[1176639161715]"
-                },
-                "Component_[931091830724002070]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 931091830724002070
-                }
-            }
-        },
-        "Entity_[2086619895629]": {
-            "Id": "Entity_[2086619895629]",
-            "Name": "metrics",
-            "Components": {
-                "Component_[10664937239001700943]": {
-                    "$type": "SelectionComponent",
-                    "Id": 10664937239001700943
-                },
-                "Component_[12411100785613400502]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 12411100785613400502
-                },
-                "Component_[13461617945403887462]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 13461617945403887462
-                },
-                "Component_[1398528805938487915]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 1398528805938487915
-                },
-                "Component_[15586634767575159325]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 15586634767575159325
-                },
-                "Component_[1737734807882912852]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 1737734807882912852
-                },
-                "Component_[2398400563175352537]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 2398400563175352537
-                },
-                "Component_[3845542252660517302]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 3845542252660517302
-                },
-                "Component_[3873433240186817282]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 3873433240186817282
-                },
-                "Component_[4474288881478318615]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 4474288881478318615,
-                    "Parent Entity": "Entity_[1146574390643]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.0,
-                            0.10000038146972656,
-                            4.005923748016357
-                        ]
-                    }
-                },
-                "Component_[5865591669658426602]": {
-                    "$type": "ScriptEditorComponent",
-                    "Id": 5865591669658426602,
-                    "ScriptComponent": {
-                        "Script": {
-                            "assetId": {
-                                "guid": "{50D66834-9277-5469-892E-DAD087FF4C0E}",
-                                "subId": 1
-                            },
-                            "loadBehavior": "QueueLoad",
-                            "assetHint": "levels/aws/metrics/script/metrics.luac"
-                        }
-                    },
-                    "ScriptAsset": {
-                        "assetId": {
-                            "guid": "{50D66834-9277-5469-892E-DAD087FF4C0E}",
-                            "subId": 1
-                        },
-                        "assetHint": "levels/aws/metrics/script/metrics.luac"
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 76
AutomatedTesting/Levels/AWS/Metrics/Script/Metrics.lua

@@ -1,76 +0,0 @@
-----------------------------------------------------------------------------------------------------
---
--- Copyright (c) Contributors to the Open 3D Engine Project.
--- For complete copyright and license terms please see the LICENSE at the root of this distribution.
---
--- SPDX-License-Identifier: Apache-2.0 OR MIT
---
---
---
-----------------------------------------------------------------------------------------------------
-local metrics = {
-}
-
-function metrics:OnActivate()
-    self.tickTime = 0
-    self.numSubmittedMetricsEvents = 0
-
-    self.tickBusHandler = TickBus.Connect(self,self.entityId)
-    self.metricsNotificationHandler = AWSMetricsNotificationBus.Connect(self, self.entityId)
-
-    LyShineLua.ShowMouseCursor(true)
-end
-
-function metrics:OnSendMetricsSuccess(requestId)
-    Debug.Log("Metrics is sent successfully.")
-end
-
-function metrics:OnSendMetricsFailure(requestId, errorMessage)
-    Debug.Log("Failed to send metrics.")
-end
-
-function metrics:OnDeactivate()
-    self.tickBusHandler:Disconnect()
-    self.metricsNotificationHandler:Disconnect()
-end
-
-function metrics:OnTick(deltaTime, timePoint)
-    self.tickTime = self.tickTime + deltaTime
-
-    if self.tickTime > 5.0 then
-        defaultAttribute = AWSMetrics_MetricsAttribute()
-        defaultAttribute:SetName("event_name")
-        defaultAttribute:SetStrValue("login")
-
-        customAttribute = AWSMetrics_MetricsAttribute()
-        customAttribute:SetName("custom_attribute")
-        customAttribute:SetStrValue("value")
-
-        attributeList = AWSMetrics_AttributesSubmissionList()
-        attributeList.attributes:push_back(defaultAttribute)
-        attributeList.attributes:push_back(customAttribute)
-
-
-        if self.numSubmittedMetricsEvents % 2 == 0 then
-            if AWSMetricsRequestBus.Broadcast.SubmitMetrics(attributeList.attributes, 0, "lua", false) then
-                Debug.Log("Submitted metrics without buffer.")
-
-                AWSMetricsRequestBus.Broadcast.FlushMetrics()
-                Debug.Log("Flushed the buffered metrics.")
-            else
-                Debug.Log("Failed to Submit metrics without buffer.")
-            end
-        else
-            if AWSMetricsRequestBus.Broadcast.SubmitMetrics(attributeList.attributes, 0, "lua", true) then
-                Debug.Log("Submitted metrics with buffer.")
-            else
-                Debug.Log("Failed to Submit metrics with buffer.")
-            end
-        end
-
-        self.numSubmittedMetricsEvents = self.numSubmittedMetricsEvents + 1
-        self.tickTime = 0
-    end
-end
-
-return metrics

+ 0 - 12
AutomatedTesting/Levels/AWS/Metrics/tags.txt

@@ -1,12 +0,0 @@
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0
-0,0,0,0,0,0

+ 0 - 5
AutomatedTesting/Registry/authenticationProvider.setreg

@@ -1,5 +0,0 @@
-{
-    "AWS": 
-    {
-    } 
-}

+ 0 - 10
AutomatedTesting/Registry/awscoreconfiguration.setreg

@@ -1,10 +0,0 @@
-{
-    "Amazon": 
-    {
-        "AWSCore": 
-        {
-            "ProfileName": "AWSAutomationTest",
-            "ResourceMappingConfigFileName": "default_aws_resource_mappings.json"
-        }
-    } 
-}

+ 0 - 2296
AutomatedTesting/ScriptCanvas/dynamodbdemo.scriptcanvas

@@ -1,2296 +0,0 @@
-{
-    "Type": "JsonSerialization",
-    "Version": 1,
-    "ClassName": "ScriptCanvasData",
-    "ClassData": {
-        "m_scriptCanvas": {
-            "Id": {
-                "id": 25003641416736
-            },
-            "Name": "dynamodbdemo",
-            "Components": {
-                "Component_[12786284990698687901]": {
-                    "$type": "EditorGraphVariableManagerComponent",
-                    "Id": 12786284990698687901,
-                    "m_variableData": {
-                        "m_nameVariableMap": [
-                            {
-                                "Key": {
-                                    "m_id": "{2B4769A0-AA75-4F68-8D20-0AD04D6A1BA9}"
-                                },
-                                "Value": {
-                                    "Datum": {
-                                        "isOverloadedStorage": false,
-                                        "scriptCanvasType": {
-                                            "m_type": 5
-                                        },
-                                        "isNullPointer": false,
-                                        "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                        "value": "AWSCore.ExampleDynamoTableOutput",
-                                        "label": "String"
-                                    },
-                                    "VariableId": {
-                                        "m_id": "{2B4769A0-AA75-4F68-8D20-0AD04D6A1BA9}"
-                                    },
-                                    "VariableName": "table_name_key"
-                                }
-                            },
-                            {
-                                "Key": {
-                                    "m_id": "{DEACAA6F-08F8-4938-A260-434B5A54B410}"
-                                },
-                                "Value": {
-                                    "Datum": {
-                                        "isOverloadedStorage": false,
-                                        "scriptCanvasType": {
-                                            "m_type": 4,
-                                            "m_azType": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}"
-                                        },
-                                        "isNullPointer": false,
-                                        "$type": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E} AZStd::unordered_map",
-                                        "value": {
-                                            "id": "{\"S\":\"Item1\"}"
-                                        },
-                                        "label": "Map<String, String>"
-                                    },
-                                    "VariableId": {
-                                        "m_id": "{DEACAA6F-08F8-4938-A260-434B5A54B410}"
-                                    },
-                                    "VariableName": "key_map"
-                                }
-                            }
-                        ]
-                    }
-                },
-                "Component_[7996788827269998313]": {
-                    "$type": "{4D755CA9-AB92-462C-B24F-0B3376F19967} Graph",
-                    "Id": 7996788827269998313,
-                    "m_graphData": {
-                        "m_nodes": [
-                            {
-                                "Id": {
-                                    "id": 25025116253216
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[10578822574531029496]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 10578822574531029496,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{0DFB0301-EE5F-48AC-BBD2-25837DA49111}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{79098ED5-37E6-4C63-B1A5-D78083283A20}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{EE099D12-FC92-4A08-87E2-02D818FD52E2}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{92B219B0-ADC0-4461-A355-0DC9166961A8}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{63FEE16A-8E8B-4A66-AC05-39AC3B68CA70}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{96E24F07-C49C-47FD-8933-77A4DD3782D6}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Map<String, String>",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{34979410-5B6E-4BEF-9A46-48FF67F4D19D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnGetItemSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{00E8811F-BC79-4E6A-A324-813F7BF2ECE9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{ADCC15B8-DAA0-4640-8B18-B8F2A20902F4}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnGetItemError",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 1385231939
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnGetItemSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1385231939
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{34979410-5B6E-4BEF-9A46-48FF67F4D19D}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{96E24F07-C49C-47FD-8933-77A4DD3782D6}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1405981398
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnGetItemError",
-                                                    "m_eventId": {
-                                                        "Value": 1405981398
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{ADCC15B8-DAA0-4640-8B18-B8F2A20902F4}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{00E8811F-BC79-4E6A-A324-813F7BF2ECE9}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSDynamoDBBehaviorNotificationBus",
-                                        "m_busId": {
-                                            "Value": 3574293420
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25046591089696
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[12835504459049783614]": {
-                                        "$type": "Print",
-                                        "Id": 12835504459049783614,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{4AC9E45B-5710-46B1-9255-DAC034603396}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{8EB7444E-C872-45C0-A1C4-6D40B0DE58FC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "[DynamoDB] Results finished",
-                                        "m_unresolvedString": [
-                                            "[DynamoDB] Results finished"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25033706187808
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[13226838068173099848]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 13226838068173099848,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{9AE4F6B5-2537-4CB0-A138-EFEBF3E686BB}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{69F56189-B639-4B3F-8007-10E06B25306B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{BFC17F2C-0B66-4CE8-9333-EDD20AD25AAE}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{CB2E6E03-4D7C-43F4-87E0-A4B859C7F9BD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{B165F16F-AE65-4FB3-B59E-5D76A116DF17}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{8C1C768C-177A-4145-B28C-8992C3AF567A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Map<String, String>",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6C1B44FB-914A-48F0-8A51-16260B1FF1AC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnGetItemSuccess",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C2325175-BC9A-4015-994F-708E943FD08A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{ED0836C9-1CE1-4F90-9515-AEA304BA439D}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnGetItemError",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 1385231939
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnGetItemSuccess",
-                                                    "m_eventId": {
-                                                        "Value": 1385231939
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{6C1B44FB-914A-48F0-8A51-16260B1FF1AC}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{8C1C768C-177A-4145-B28C-8992C3AF567A}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 1405981398
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnGetItemError",
-                                                    "m_eventId": {
-                                                        "Value": 1405981398
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{ED0836C9-1CE1-4F90-9515-AEA304BA439D}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{C2325175-BC9A-4015-994F-708E943FD08A}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "AWSDynamoDBBehaviorNotificationBus",
-                                        "m_busId": {
-                                            "Value": 3574293420
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25029411220512
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[13444839192692766618]": {
-                                        "$type": "Print",
-                                        "Id": 13444839192692766618,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{725A6880-59C3-4965-9BEA-713C21960C6E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{6156DD7F-94E1-410B-8580-673E865DF025}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_format": "[DynamoDB] Get item completed",
-                                        "m_unresolvedString": [
-                                            "[DynamoDB] Get item completed"
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25038001155104
-                                },
-                                "Name": "SC Node(GetVariable)",
-                                "Components": {
-                                    "Component_[17700179894112153065]": {
-                                        "$type": "GetVariableNode",
-                                        "Id": 17700179894112153065,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{E50EF36D-58B3-4C76-AB5D-D25703D5E820}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "When signaled sends the property referenced by this node to a Data Output slot",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{9A669D64-DA34-4D0C-8BF1-D898D5943023}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "toolTip": "Signaled after the referenced property has been pushed to the Data Output slot",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{360DF30D-C247-4E89-80B0-8E1D6D5350A9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Map<String, String>",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "m_variableId": {
-                                            "m_id": "{DEACAA6F-08F8-4938-A260-434B5A54B410}"
-                                        },
-                                        "m_variableDataOutSlotId": {
-                                            "m_id": "{360DF30D-C247-4E89-80B0-8E1D6D5350A9}"
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25050886056992
-                                },
-                                "Name": "SC-Node(GetItem)",
-                                "Components": {
-                                    "Component_[2045201123947147066]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 2045201123947147066,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{B432784A-0BFF-4407-BA12-03331DBC5D25}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "Table Resource KeyName",
-                                                "toolTip": "The name of the table containing the requested item.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1,
-                                                "IsReference": true,
-                                                "VariableReference": {
-                                                    "m_id": "{2B4769A0-AA75-4F68-8D20-0AD04D6A1BA9}"
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{DCFA66C5-6976-41ED-BE3D-5691B925F0EB}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "Key Map",
-                                                "toolTip": "A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{92E2E9A5-2605-45DA-9058-5616BF32649F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{CEF34783-6020-4ABF-B10B-758CF1576805}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "ExampleDynamoTableOutput",
-                                                "label": "Table Resource KeyName"
-                                            },
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}"
-                                                },
-                                                "isNullPointer": true,
-                                                "label": "Key Map"
-                                            }
-                                        ],
-                                        "methodType": 2,
-                                        "methodName": "GetItem",
-                                        "className": "AWSScriptBehaviorDynamoDB",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSScriptBehaviorDynamoDB"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25016526318624
-                                },
-                                "Name": "SC-Node(ReloadConfigFile)",
-                                "Components": {
-                                    "Component_[4821100336024757285]": {
-                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
-                                        "Id": 4821100336024757285,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{25D3CEFF-AFA5-4275-BCD2-893A6D0C285B}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "Is Reloading Config FileName",
-                                                "toolTip": "Whether reload resource mapping config file name from AWS core configuration settings registry file.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1AA65429-3605-41C6-99A4-829A11D859D7}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{5D5F5BE8-68D5-4533-8D40-FA5F3D2F4A0E}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 0
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "bool",
-                                                "value": true,
-                                                "label": "Is Reloading Config FileName"
-                                            }
-                                        ],
-                                        "methodType": 0,
-                                        "methodName": "ReloadConfigFile",
-                                        "className": "AWSResourceMappingRequestBus",
-                                        "resultSlotIDs": [
-                                            {}
-                                        ],
-                                        "prettyClassName": "AWSResourceMappingRequestBus"
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25020821285920
-                                },
-                                "Name": "SC-Node(ForEach)",
-                                "Components": {
-                                    "Component_[8848962104837464421]": {
-                                        "$type": "ForEach",
-                                        "Id": 8848962104837464421,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{D76E259C-CE63-478B-ACF8-83018378034E}"
-                                                },
-                                                "DynamicTypeOverride": 2,
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "Source",
-                                                "DisplayDataType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}"
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DynamicGroup": {
-                                                    "Value": 3089028177
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{1AC44C40-E18B-4297-B6BF-13A5CB07AFDD}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Signaled upon node entry",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{4A657F68-4B8B-48DE-808F-D2040FB2E314}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Break",
-                                                "toolTip": "Stops the iteration when signaled",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{EE086437-7A08-4369-8E38-83866AD22DAE}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Each",
-                                                "toolTip": "Signalled after each element of the container",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E6CD3DE4-70BB-4876-B944-5255E997A2C0}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Finished",
-                                                "toolTip": "The container has been fully iterated over",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{67F86833-7B8B-4EB8-952B-33BA2E99F17F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{831A40AE-767D-45B8-BE36-4FB432D37A02}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "String",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 4,
-                                                    "m_azType": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}"
-                                                },
-                                                "isNullPointer": true,
-                                                "label": "Source"
-                                            }
-                                        ],
-                                        "m_sourceSlot": {
-                                            "m_id": "{D76E259C-CE63-478B-ACF8-83018378034E}"
-                                        },
-                                        "m_previousTypeId": "{F8A7460C-2CC2-5755-AFDA-49B1109A751E}",
-                                        "m_propertySlots": [
-                                            {
-                                                "m_propertySlotId": {
-                                                    "m_id": "{67F86833-7B8B-4EB8-952B-33BA2E99F17F}"
-                                                },
-                                                "m_propertyType": {
-                                                    "m_type": 5
-                                                },
-                                                "m_propertyName": "String"
-                                            },
-                                            {
-                                                "m_propertySlotId": {
-                                                    "m_id": "{831A40AE-767D-45B8-BE36-4FB432D37A02}"
-                                                },
-                                                "m_propertyType": {
-                                                    "m_type": 5
-                                                },
-                                                "m_propertyName": "String"
-                                            }
-                                        ]
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25012231351328
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[9330046059516327092]": {
-                                        "$type": "Print",
-                                        "Id": 9330046059516327092,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{DF1E0DDB-6E1C-49E1-833C-D77642B634B9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                                },
-                                                "DynamicTypeOverride": 3,
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "Value",
-                                                "toolTip": "Value which replaces instances of {Value} in the resulting string.",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "DisplayGroup": {
-                                                    "Value": 1015031923
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3753E1B8-D99A-4F25-8C3A-899A9E84742A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "",
-                                                "label": "Value"
-                                            }
-                                        ],
-                                        "m_format": "[DynamoDB] Error: {Value}",
-                                        "m_arrayBindingMap": [
-                                            {
-                                                "Key": 1,
-                                                "Value": {
-                                                    "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                                }
-                                            }
-                                        ],
-                                        "m_unresolvedString": [
-                                            "[DynamoDB] Error: ",
-                                            {}
-                                        ],
-                                        "m_formatSlotMap": {
-                                            "Value": {
-                                                "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25007936384032
-                                },
-                                "Name": "SC-Node(Print)",
-                                "Components": {
-                                    "Component_[9330046059516327092]": {
-                                        "$type": "Print",
-                                        "Id": 9330046059516327092,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{DF1E0DDB-6E1C-49E1-833C-D77642B634B9}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "In",
-                                                "toolTip": "Input signal",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                                },
-                                                "DynamicTypeOverride": 3,
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "Value",
-                                                "toolTip": "Value which replaces instances of {Value} in the resulting string.",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "DisplayGroup": {
-                                                    "Value": 1015031923
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{D725EFD5-970D-4182-8913-F8BD005843FF}"
-                                                },
-                                                "DynamicTypeOverride": 3,
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    },
-                                                    null
-                                                ],
-                                                "slotName": "Value_1",
-                                                "toolTip": "Value which replaces instances of {Value_1} in the resulting string.",
-                                                "DisplayDataType": {
-                                                    "m_type": 5
-                                                },
-                                                "DisplayGroup": {
-                                                    "Value": 1015031923
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{3753E1B8-D99A-4F25-8C3A-899A9E84742A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Out",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "",
-                                                "label": "Value"
-                                            },
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 5
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
-                                                "value": "",
-                                                "label": "Value_1"
-                                            }
-                                        ],
-                                        "m_format": "{Value}: {Value_1}",
-                                        "m_arrayBindingMap": [
-                                            {
-                                                "Key": 1,
-                                                "Value": {
-                                                    "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                                }
-                                            },
-                                            {
-                                                "Key": 3,
-                                                "Value": {
-                                                    "m_id": "{D725EFD5-970D-4182-8913-F8BD005843FF}"
-                                                }
-                                            }
-                                        ],
-                                        "m_unresolvedString": [
-                                            {},
-                                            {},
-                                            ": ",
-                                            {}
-                                        ],
-                                        "m_formatSlotMap": {
-                                            "Value": {
-                                                "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                            },
-                                            "Value_1": {
-                                                "m_id": "{D725EFD5-970D-4182-8913-F8BD005843FF}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25042296122400
-                                },
-                                "Name": "EBusEventHandler",
-                                "Components": {
-                                    "Component_[9609589719561271825]": {
-                                        "$type": "EBusEventHandler",
-                                        "Id": 9609589719561271825,
-                                        "Slots": [
-                                            {
-                                                "id": {
-                                                    "m_id": "{B93CBA9F-469B-4C6F-BD79-50375AD3C27F}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Connect",
-                                                "toolTip": "Connect this event handler to the specified entity.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{610D578A-D6C6-43E0-944F-719383606327}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Disconnect",
-                                                "toolTip": "Disconnect this event handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{CD898A2F-56E2-40E5-B3EA-EAB098334C08}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnConnected",
-                                                "toolTip": "Signaled when a connection has taken place.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{F8727284-7903-4074-935E-36F7885A0248}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnDisconnected",
-                                                "toolTip": "Signaled when this event handler is disconnected.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{E93B874F-2AE3-4E1D-AA68-59B1C1EE4933}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "OnFailure",
-                                                "toolTip": "Signaled when it is not possible to connect this handler.",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                }
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{C4CAFE95-89EB-401F-89EF-C25307ACF59A}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "Source",
-                                                "toolTip": "ID used to connect on a specific Event address (Type: EntityId)",
-                                                "Descriptor": {
-                                                    "ConnectionType": 1,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{462005BF-42CE-433D-ADC6-8B5699DEFD82}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{A8CD4D6B-660C-4D19-9498-D802AB4AD958}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityActivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{132B287B-5DB7-4D1F-B98E-D22D000474CC}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "EntityID",
-                                                "DisplayDataType": {
-                                                    "m_type": 1
-                                                },
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 2
-                                                },
-                                                "DataType": 1
-                                            },
-                                            {
-                                                "id": {
-                                                    "m_id": "{979491D8-D45E-4477-9728-2F8EC559BAE4}"
-                                                },
-                                                "contracts": [
-                                                    {
-                                                        "$type": "SlotTypeContract"
-                                                    }
-                                                ],
-                                                "slotName": "ExecutionSlot:OnEntityDeactivated",
-                                                "Descriptor": {
-                                                    "ConnectionType": 2,
-                                                    "SlotType": 1
-                                                },
-                                                "IsLatent": true
-                                            }
-                                        ],
-                                        "Datums": [
-                                            {
-                                                "isOverloadedStorage": false,
-                                                "scriptCanvasType": {
-                                                    "m_type": 1
-                                                },
-                                                "isNullPointer": false,
-                                                "$type": "EntityId",
-                                                "value": {
-                                                    "id": 2901262558
-                                                },
-                                                "label": "Source"
-                                            }
-                                        ],
-                                        "m_eventMap": [
-                                            {
-                                                "Key": {
-                                                    "Value": 245425936
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityActivated",
-                                                    "m_eventId": {
-                                                        "Value": 245425936
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{A8CD4D6B-660C-4D19-9498-D802AB4AD958}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{462005BF-42CE-433D-ADC6-8B5699DEFD82}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            },
-                                            {
-                                                "Key": {
-                                                    "Value": 4273369222
-                                                },
-                                                "Value": {
-                                                    "m_eventName": "OnEntityDeactivated",
-                                                    "m_eventId": {
-                                                        "Value": 4273369222
-                                                    },
-                                                    "m_eventSlotId": {
-                                                        "m_id": "{979491D8-D45E-4477-9728-2F8EC559BAE4}"
-                                                    },
-                                                    "m_parameterSlotIds": [
-                                                        {
-                                                            "m_id": "{132B287B-5DB7-4D1F-B98E-D22D000474CC}"
-                                                        }
-                                                    ],
-                                                    "m_numExpectedArguments": 1
-                                                }
-                                            }
-                                        ],
-                                        "m_ebusName": "EntityBus",
-                                        "m_busId": {
-                                            "Value": 3358774020
-                                        }
-                                    }
-                                }
-                            }
-                        ],
-                        "m_connections": [
-                            {
-                                "Id": {
-                                    "id": 25055181024288
-                                },
-                                "Name": "srcEndpoint=(For Each: Each), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[5981589240511962073]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 5981589240511962073,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25020821285920
-                                            },
-                                            "slotId": {
-                                                "m_id": "{EE086437-7A08-4369-8E38-83866AD22DAE}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25007936384032
-                                            },
-                                            "slotId": {
-                                                "m_id": "{DF1E0DDB-6E1C-49E1-833C-D77642B634B9}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25059475991584
-                                },
-                                "Name": "srcEndpoint=(AWSDynamoDBBehaviorNotificationBus Handler: Map<String, String>), destEndpoint=(For Each: Source)",
-                                "Components": {
-                                    "Component_[5561798385961633452]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 5561798385961633452,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25025116253216
-                                            },
-                                            "slotId": {
-                                                "m_id": "{96E24F07-C49C-47FD-8933-77A4DD3782D6}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25020821285920
-                                            },
-                                            "slotId": {
-                                                "m_id": "{D76E259C-CE63-478B-ACF8-83018378034E}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25063770958880
-                                },
-                                "Name": "srcEndpoint=(AWSDynamoDBBehaviorNotificationBus Handler: ExecutionSlot:OnGetItemSuccess), destEndpoint=(For Each: In)",
-                                "Components": {
-                                    "Component_[4777785631376877414]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 4777785631376877414,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25025116253216
-                                            },
-                                            "slotId": {
-                                                "m_id": "{34979410-5B6E-4BEF-9A46-48FF67F4D19D}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25020821285920
-                                            },
-                                            "slotId": {
-                                                "m_id": "{1AC44C40-E18B-4297-B6BF-13A5CB07AFDD}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25068065926176
-                                },
-                                "Name": "srcEndpoint=(For Each: String), destEndpoint=(Print: Value)",
-                                "Components": {
-                                    "Component_[4288056568853910529]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 4288056568853910529,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25020821285920
-                                            },
-                                            "slotId": {
-                                                "m_id": "{67F86833-7B8B-4EB8-952B-33BA2E99F17F}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25007936384032
-                                            },
-                                            "slotId": {
-                                                "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25072360893472
-                                },
-                                "Name": "srcEndpoint=(For Each: Finished), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[6176670532939452292]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 6176670532939452292,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25020821285920
-                                            },
-                                            "slotId": {
-                                                "m_id": "{E6CD3DE4-70BB-4876-B944-5255E997A2C0}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25046591089696
-                                            },
-                                            "slotId": {
-                                                "m_id": "{4AC9E45B-5710-46B1-9255-DAC034603396}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25076655860768
-                                },
-                                "Name": "srcEndpoint=(AWSDynamoDBBehaviorNotificationBus Handler: ExecutionSlot:OnGetItemError), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[16360665037994631473]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 16360665037994631473,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25033706187808
-                                            },
-                                            "slotId": {
-                                                "m_id": "{ED0836C9-1CE1-4F90-9515-AEA304BA439D}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25012231351328
-                                            },
-                                            "slotId": {
-                                                "m_id": "{DF1E0DDB-6E1C-49E1-833C-D77642B634B9}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25080950828064
-                                },
-                                "Name": "srcEndpoint=(AWSDynamoDBBehaviorNotificationBus Handler: String), destEndpoint=(Print: Value)",
-                                "Components": {
-                                    "Component_[10819323363841801505]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 10819323363841801505,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25033706187808
-                                            },
-                                            "slotId": {
-                                                "m_id": "{C2325175-BC9A-4015-994F-708E943FD08A}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25012231351328
-                                            },
-                                            "slotId": {
-                                                "m_id": "{886F934E-F03B-458C-9624-27948F9BE968}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25085245795360
-                                },
-                                "Name": "srcEndpoint=(For Each: String), destEndpoint=(Print: Value_1)",
-                                "Components": {
-                                    "Component_[13063015828816681184]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 13063015828816681184,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25020821285920
-                                            },
-                                            "slotId": {
-                                                "m_id": "{831A40AE-767D-45B8-BE36-4FB432D37A02}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25007936384032
-                                            },
-                                            "slotId": {
-                                                "m_id": "{D725EFD5-970D-4182-8913-F8BD005843FF}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25089540762656
-                                },
-                                "Name": "srcEndpoint=(ReloadConfigFile: Out), destEndpoint=(Get Variable: In)",
-                                "Components": {
-                                    "Component_[18422701704926868421]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 18422701704926868421,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25016526318624
-                                            },
-                                            "slotId": {
-                                                "m_id": "{5D5F5BE8-68D5-4533-8D40-FA5F3D2F4A0E}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25038001155104
-                                            },
-                                            "slotId": {
-                                                "m_id": "{E50EF36D-58B3-4C76-AB5D-D25703D5E820}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25093835729952
-                                },
-                                "Name": "srcEndpoint=(GetItem: Out), destEndpoint=(Print: In)",
-                                "Components": {
-                                    "Component_[11329868553246834497]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 11329868553246834497,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25050886056992
-                                            },
-                                            "slotId": {
-                                                "m_id": "{CEF34783-6020-4ABF-B10B-758CF1576805}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25029411220512
-                                            },
-                                            "slotId": {
-                                                "m_id": "{725A6880-59C3-4965-9BEA-713C21960C6E}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25098130697248
-                                },
-                                "Name": "srcEndpoint=(Get Variable: Out), destEndpoint=(GetItem: In)",
-                                "Components": {
-                                    "Component_[296789729353182089]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 296789729353182089,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25038001155104
-                                            },
-                                            "slotId": {
-                                                "m_id": "{9A669D64-DA34-4D0C-8BF1-D898D5943023}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25050886056992
-                                            },
-                                            "slotId": {
-                                                "m_id": "{92E2E9A5-2605-45DA-9058-5616BF32649F}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25102425664544
-                                },
-                                "Name": "srcEndpoint=(Get Variable: Map<String, String>), destEndpoint=(GetItem: Key Map)",
-                                "Components": {
-                                    "Component_[10402484137467106144]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 10402484137467106144,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25038001155104
-                                            },
-                                            "slotId": {
-                                                "m_id": "{360DF30D-C247-4E89-80B0-8E1D6D5350A9}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25050886056992
-                                            },
-                                            "slotId": {
-                                                "m_id": "{DCFA66C5-6976-41ED-BE3D-5691B925F0EB}"
-                                            }
-                                        }
-                                    }
-                                }
-                            },
-                            {
-                                "Id": {
-                                    "id": 25106720631840
-                                },
-                                "Name": "srcEndpoint=(EntityBus Handler: ExecutionSlot:OnEntityActivated), destEndpoint=(ReloadConfigFile: In)",
-                                "Components": {
-                                    "Component_[16720125412018333818]": {
-                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
-                                        "Id": 16720125412018333818,
-                                        "sourceEndpoint": {
-                                            "nodeId": {
-                                                "id": 25042296122400
-                                            },
-                                            "slotId": {
-                                                "m_id": "{A8CD4D6B-660C-4D19-9498-D802AB4AD958}"
-                                            }
-                                        },
-                                        "targetEndpoint": {
-                                            "nodeId": {
-                                                "id": 25016526318624
-                                            },
-                                            "slotId": {
-                                                "m_id": "{1AA65429-3605-41C6-99A4-829A11D859D7}"
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        ]
-                    },
-                    "m_assetType": "{3E2AC8CD-713F-453E-967F-29517F331784}",
-                    "versionData": {
-                        "_grammarVersion": 1,
-                        "_runtimeVersion": 1
-                    },
-                    "m_variableCounter": 5,
-                    "GraphCanvasData": [
-                        {
-                            "Key": {
-                                "id": 25003641416736
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{5F84B500-8C45-40D1-8EFC-A5306B241444}": {
-                                        "$type": "SceneComponentSaveData",
-                                        "ViewParams": {
-                                            "Scale": 0.7826294,
-                                            "AnchorX": -546.8744506835938,
-                                            "AnchorY": -167.38446044921875
-                                        }
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25007936384032
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            480.0,
-                                            680.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{C481D523-9BFE-4FEB-ADFC-5EE73734E510}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25012231351328
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            160.0,
-                                            400.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{A1019F85-E1ED-4A76-A5F2-D18B69A3F7C8}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25016526318624
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -20.0,
-                                            160.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{BCD5F6D2-6A82-47D9-8C02-D02C298C22A5}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25020821285920
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "DefaultNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            160.0,
-                                            680.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{13F6FDDB-D161-4587-9F30-F617D012A062}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25025116253216
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -140.0,
-                                            640.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 1385231939
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{21DC5FA5-0109-4A1B-8350-50A25A09290A}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25029411220512
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            1120.0,
-                                            80.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{7F310716-7DCD-4C1F-8B62-88E907179D89}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25033706187808
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -140.0,
-                                            380.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 1405981398
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{4AC68669-891A-48EA-93D3-1C210C117298}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25038001155104
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "GetVariableNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            320.0,
-                                            120.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".getVariable"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{B6D7974B-646A-4089-A530-7F6EB3C28328}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25042296122400
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            -360.0,
-                                            100.0
-                                        ]
-                                    },
-                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
-                                        "$type": "EBusHandlerNodeDescriptorSaveData",
-                                        "EventIds": [
-                                            {
-                                                "Value": 245425936
-                                            }
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{9D1121A0-707F-47A8-A1D9-6C3FF54ED9F8}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25046591089696
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "StringNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            480.0,
-                                            960.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{58E0C332-FAA1-419E-8F67-A0D057D90EF3}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "Key": {
-                                "id": 25050886056992
-                            },
-                            "Value": {
-                                "ComponentData": {
-                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
-                                        "$type": "NodeSaveData"
-                                    },
-                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
-                                        "$type": "GeneralNodeTitleComponentSaveData",
-                                        "PaletteOverride": "MethodNodeTitlePalette"
-                                    },
-                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
-                                        "$type": "GeometrySaveData",
-                                        "Position": [
-                                            660.0,
-                                            80.0
-                                        ]
-                                    },
-                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
-                                        "$type": "StylingComponentSaveData",
-                                        "SubStyle": ".method"
-                                    },
-                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
-                                        "$type": "PersistentIdComponentSaveData",
-                                        "PersistentId": "{4238CE68-6891-45AF-880D-C6D8317A5506}"
-                                    }
-                                }
-                            }
-                        }
-                    ],
-                    "StatisticsHelper": {
-                        "InstanceCounter": [
-                            {
-                                "Key": 5842116704362436814,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842116704509535651,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 5842116761103598202,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 10181512461692697578,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 10684225535275896474,
-                                "Value": 4
-                            },
-                            {
-                                "Key": 12348245020530250771,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 13774516555319876501,
-                                "Value": 1
-                            },
-                            {
-                                "Key": 16512335735722000926,
-                                "Value": 1
-                            }
-                        ]
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 5
AutomatedTesting/project.json

@@ -11,9 +11,6 @@
         "Gem"
     ],
     "gem_names": [
-        "AWSClientAuth",
-        "AWSCore",
-        "AWSMetrics",
         "Archive",
         "Atom",
         "AtomTressFX",
@@ -36,7 +33,6 @@
         "GradientSignal",
         "GraphCanvas",
         "GraphModel",
-        "HttpRequestor",
         "ImGui",
         "InAppPurchases",
         "LandscapeCanvas",
@@ -44,7 +40,6 @@
         "LyShine",
         "LyShineExamples",
         "Maestro",
-        "Metastream",
         "Multiplayer",
         "NvCloth",
         "PhysX",

+ 0 - 16
Gems/AWSClientAuth/CMakeLists.txt

@@ -1,16 +0,0 @@
-#
-# Copyright (c) Contributors to the Open 3D Engine Project.
-# For complete copyright and license terms please see the LICENSE at the root of this distribution.
-#
-# SPDX-License-Identifier: Apache-2.0 OR MIT
-#
-#
-
-o3de_gem_setup("AWSClientAuth")
-
-ly_add_external_target_path(${CMAKE_CURRENT_SOURCE_DIR}/3rdParty)
-
-add_subdirectory(Code)
-
-
-ly_install_directory(DIRECTORIES cdk)

+ 0 - 170
Gems/AWSClientAuth/Code/CMakeLists.txt

@@ -1,170 +0,0 @@
-#
-# Copyright (c) Contributors to the Open 3D Engine Project.
-# For complete copyright and license terms please see the LICENSE at the root of this distribution.
-#
-# SPDX-License-Identifier: Apache-2.0 OR MIT
-#
-#
-
-o3de_pal_dir(pal_source_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/${PAL_PLATFORM_NAME} "${gem_restricted_path}" "${gem_path}" "${gem_parent_relative_path}")
-
-ly_add_target(
-    NAME ${gem_name}.Static STATIC
-    NAMESPACE Gem
-    FILES_CMAKE
-        awsclientauth_files.cmake
-    INCLUDE_DIRECTORIES
-        PUBLIC
-            Include
-        PRIVATE
-            Source
-    BUILD_DEPENDENCIES
-        PRIVATE
-            AZ::AzCore
-            AZ::AzFramework
-            Gem::AWSCore
-            Gem::HttpRequestor
-            3rdParty::AWSNativeSDK::AWSClientAuth
-            3rdParty::AWSNativeSDK::Core
-)
-
-ly_add_target( 
-    NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
-    NAMESPACE Gem
-    FILES_CMAKE
-        awsclientauth_shared_files.cmake
-    INCLUDE_DIRECTORIES
-        PRIVATE
-            Source
-    BUILD_DEPENDENCIES
-        PRIVATE
-            AZ::AzCore
-            AZ::AzFramework
-            Gem::AWSCore
-            3rdParty::AWSNativeSDK::AWSClientAuth
-            3rdParty::AWSNativeSDK::Core
-        PUBLIC
-            Gem::${gem_name}.Static
-)
-
-# Inject the gem name into the Module source file
-ly_add_source_properties(
-    SOURCES
-        Source/AWSClientAuthModule.cpp
-    PROPERTY COMPILE_DEFINITIONS
-        VALUES
-            O3DE_GEM_NAME=${gem_name}
-            O3DE_GEM_VERSION=${gem_version})
-
-if(PAL_TRAIT_BUILD_HOST_TOOLS)
-
-ly_add_target( 
-    NAME ${gem_name}.Editor ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
-    NAMESPACE Gem
-    FILES_CMAKE
-        awsclientauth_editor_files.cmake
-        awsclientauth_shared_files.cmake
-    INCLUDE_DIRECTORIES
-        PRIVATE
-            Include
-            Source
-    COMPILE_DEFINITIONS
-        PRIVATE
-            AWSCLIENTAUTH_EDITOR
-    BUILD_DEPENDENCIES
-        PRIVATE
-            AZ::AzCore
-            AZ::AzFramework
-            AZ::AzToolsFramework
-            Gem::AWSCore
-            Gem::HttpRequestor
-            3rdParty::AWSNativeSDK::AWSClientAuth
-            3rdParty::AWSNativeSDK::Core
-    RUNTIME_DEPENDENCIES
-        Gem::${gem_name}
-)
-
-endif()
-
-
-# Load the "Gem::${gem_name}" module in all types of applications.
-ly_create_alias(
-    NAME ${gem_name}.Servers
-    NAMESPACE Gem
-    TARGETS
-        Gem::${gem_name}
-        Gem::AWSCore.Servers
-        Gem::HttpRequestor.Servers
-)
-
-ly_create_alias(
-    NAME ${gem_name}.Clients
-    NAMESPACE Gem
-    TARGETS
-        Gem::${gem_name}
-        Gem::AWSCore.Clients
-        Gem::HttpRequestor.Clients
-)
-
-ly_create_alias(
-    NAME ${gem_name}.Unified
-    NAMESPACE Gem
-    TARGETS
-        Gem::${gem_name}
-        Gem::AWSCore.Unified
-        Gem::HttpRequestor.Unified
-)
-
-if (PAL_TRAIT_BUILD_HOST_TOOLS)
-    ly_create_alias(
-        NAME ${gem_name}.Tools
-        NAMESPACE Gem
-        TARGETS
-            Gem::${gem_name}.Editor
-            Gem::AWSCore.Tools
-            Gem::HttpRequestor.Tools
-    )
-
-    ly_create_alias(
-        NAME ${gem_name}.Builders
-        NAMESPACE Gem
-        TARGETS
-            Gem::${gem_name}
-            Gem::AWSCore.Builders
-            Gem::HttpRequestor.Builders
-    )
-endif()
-
-################################################################################
-# Tests
-################################################################################
-if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
-    ly_add_target(
-        NAME ${gem_name}.Tests MODULE
-        NAMESPACE Gem
-        FILES_CMAKE
-            awsclientauth_test_files.cmake
-        INCLUDE_DIRECTORIES
-            PRIVATE
-                Source
-                Include
-                Tests
-        BUILD_DEPENDENCIES
-            PRIVATE
-                AZ::AzTest
-                3rdParty::AWSNativeSDK::AWSClientAuth
-                AZ::AzCore
-                AZ::AzFramework
-                AZ::AWSNativeSDKTestLibs
-                Gem::${gem_name}.Static
-                Gem::AWSCore
-                Gem::HttpRequestor
-        RUNTIME_DEPENDENCIES
-            Gem::AWSCore
-            Gem::HttpRequestor
-   )
-   ly_add_googletest(
-        NAME Gem::${gem_name}.Tests
-        LABELS REQUIRES_tiaf
-    )
-endif()

+ 0 - 214
Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationProviderBus.h

@@ -1,214 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/EBus/EBus.h>
-#include <Authentication/AuthenticationTokens.h>
-
-namespace AWSClientAuth
-{
-    //! Abstract class for authentication provider requests.
-    class IAuthenticationProviderRequests
-    {
-    public:
-        AZ_TYPE_INFO(IAuthenticationProviderRequests, "{4A8017C4-2742-48C4-AF07-1177CBF5E6E9}");
-
-        //! Parse the settings file for required settings for authentication providers. Instantiate and initialize authentication providers
-        //! @param providerNames List of provider names to instantiate and initialize for Authentication.
-        //! @return bool True: if all providers initialized successfully. False: If any provider fails initialization.
-        virtual bool Initialize(const AZStd::vector<ProviderNameEnum>& providerNames) = 0;
-
-        //! Checks if user is signed in.
-        //! If access tokens are available and not expired.
-        //! @param providerName Provider to check signed in for
-        //! @return bool True if valid access token available, else False
-        virtual bool IsSignedIn(const ProviderNameEnum& providerName) = 0;
-
-        //! [Deprecated] Get cached tokens from last successful sign-in for the provider.
-        //! To enhance security, only the refresh token is cached and will be returned by this function.
-        //! If you need the access or ID tokens, all authentication tokens (access token, ID token and refresh token)
-        //! can be retrieved by implementing custom handlers for AuthenticationProviderNotifications in your project code.
-        //! @param providerName Provider to get authentication tokens.
-        //! @return AuthenticationTokens tokens from successful authentication.
-        virtual AuthenticationTokens GetAuthenticationTokens(const ProviderNameEnum& providerName) = 0;
-
-        // Below methods have corresponding notifications for success and failures.
-
-        //! Call sign in endpoint for provider password grant flow.
-        //! @param providerName Provider to call sign in.
-        //! @param username Username to use to for sign in.
-        //! @param password Password to use to for sign in.
-        virtual void PasswordGrantSingleFactorSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& password) = 0;
-
-        //! Call sign in endpoint for provider password grant multi factor authentication flow.
-        //! @param providerName Provider to call MFA sign in.
-        //! @param username Username to use for MFA sign in.
-        //! @param password Password to use for MFA sign in.
-        virtual void PasswordGrantMultiFactorSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& password) = 0;
-
-        //! Call confirm endpoint for provider password grant multi factor authentication flow .
-        //! @param providerName Provider to call MFA confirm sign in.
-        //! @param username Username to use for MFA confirm.
-        //! @param confirmationCode Confirmation code (sent to email/text) to use for MFA confirm.
-        virtual void PasswordGrantMultiFactorConfirmSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& confirmationCode) = 0;
-
-        //! Call code-pair endpoint for provider device grant flow.
-        //! @param providerName Provider to call device sign in.
-        virtual void DeviceCodeGrantSignInAsync(const ProviderNameEnum& providerName) = 0;
-
-        //! Call tokens endpoint for provider device grant flow.
-        //! @param providerName Provider to call device confirm sign in.
-        virtual void DeviceCodeGrantConfirmSignInAsync(const ProviderNameEnum& providerName) = 0;
-
-        //! Call refresh endpoint for provider refresh grant flow.
-        //! @param providerName Provider to call refresh tokens.
-        virtual void RefreshTokensAsync(const ProviderNameEnum& providerName) = 0;
-
-        //! Call refresh token if token not valid. If token valid, fires corresponding event.
-        //! @param providerName Provider to get access token for.
-        //! events: OnRefreshTokensSuccess, OnRefreshTokensFail
-        virtual void GetTokensWithRefreshAsync(const ProviderNameEnum& providerName) = 0;
-
-        //! Signs user out.
-        //! Clears all cached tokens.
-        //! @param providerName Provider to sign out.
-        //! @return bool True: Successfully sign out.
-        virtual bool SignOut(const ProviderNameEnum& providerName) = 0;
-
-        //////////////////////////////////////////////////////////////////////////
-    };
-
-    //! Authentication Request bus for different supported providers.
-    class AuthenticationProviderRequests
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        using MutexType = AZ::NullMutex;
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-    };
-    using AuthenticationProviderRequestBus = AZ::EBus<IAuthenticationProviderRequests, AuthenticationProviderRequests>;
-
-
-    //! Notification bus for Authentication Request bus.
-    class AuthenticationProviderNotifications
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-
-        ////////////////////////////ss//////////////////////////////////////////////
-        // Notifications interface
-
-        //! Event for PasswordGrantSingleFactorSignIn success.
-        //! @param authenticationToken Tokens on successful sign in.
-        virtual void OnPasswordGrantSingleFactorSignInSuccess(const AuthenticationTokens& authenticationToken)
-        {
-            AZ_UNUSED(authenticationToken);
-        }
-
-        //! Event for PasswordGrantSingleFactorSignIn fail.
-        //! @param error Error message
-        virtual void OnPasswordGrantSingleFactorSignInFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for PasswordGrantMultiFactorSignIn success.
-        //! Event use to notify user to take corresponding challenge action.
-        virtual void OnPasswordGrantMultiFactorSignInSuccess()
-        {
-        }
-
-        //! Event for PasswordGrantMultiFactorSignIn fail.
-        //! @param error Error message
-        virtual void OnPasswordGrantMultiFactorSignInFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for PasswordGrantMultiFactorConfirm success.
-        //! @param authenticationToken Tokens on successful sign in.
-        virtual void OnPasswordGrantMultiFactorConfirmSignInSuccess(const AuthenticationTokens& authenticationToken)
-        {
-            AZ_UNUSED(authenticationToken);
-        }
-
-        //! Event for PasswordGrantMultiFactorConfirm fail.
-        //! @param error Error message
-        virtual void OnPasswordGrantMultiFactorConfirmSignInFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for DeviceCodeGrantSignIn success.
-        //! Event use to notify user to take open verification url and enter displayed code.
-        //! @param userCode Unique code generated for user for the session.
-        //! @param verificationUrl Verification URL to enter user code in after signing in for the provider.
-        //! @param codeExpiresInSeconds Code expiry in seconds.
-        virtual void OnDeviceCodeGrantSignInSuccess(const AZStd::string& userCode, const AZStd::string& verificationUrl, int codeExpiresInSeconds)
-        {
-            AZ_UNUSED(userCode);
-            AZ_UNUSED(verificationUrl);
-            AZ_UNUSED(codeExpiresInSeconds);
-        }
-
-        //! Event for DeviceCodeGrantSignIn fail.
-        //! @param error Error message
-        virtual void OnDeviceCodeGrantSignInFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for DeviceCodeGrantConfirmSignIn success.
-        //! @param authenticationToken Tokens on successful sign in..
-        virtual void OnDeviceCodeGrantConfirmSignInSuccess(const AuthenticationTokens& authenticationToken)
-        {
-            AZ_UNUSED(authenticationToken);
-        }
-
-        //! Event for DeviceCodeGrantConfirmSignIn fail.
-        //! @param error Error message
-        virtual void OnDeviceCodeGrantConfirmSignInFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for RequestAccessTokenWithRefresh success.
-        //! @param authenticationToken Tokens on successful sign in.
-        virtual void OnRefreshTokensSuccess(const AuthenticationTokens& authenticationToken)
-        {
-            AZ_UNUSED(authenticationToken);
-        }
-
-        //! Event for RequestAccessTokenWithRefresh fail.
-        //! @param error Error message
-        virtual void OnRefreshTokensFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for Sing out.
-        //! @param providerName provider that signed out.
-        virtual void OnSignOut(const ProviderNameEnum& provideName)
-        {
-            AZ_UNUSED(provideName);
-        }
-
-        //////////////////////////////////////////////////////////////////////////
-
-    };
-    using AuthenticationProviderNotificationBus = AZ::EBus<AuthenticationProviderNotifications>;
-} // namespace AWSClientAuth

+ 0 - 59
Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationTokens.h

@@ -1,59 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/Preprocessor/Enum.h>
-#include <AzCore/std/string/string.h>
-#include <AzCore/std/chrono/chrono.h>
-#include <AzCore/RTTI/BehaviorContext.h>
-#include <AzCore/Serialization/EditContext.h>
-
-namespace AWSClientAuth
-{
-    AZ_ENUM_CLASS(ProviderNameEnum, None, AWSCognitoIDP, LoginWithAmazon, Twitch, Google, Apple, Facebook);
-
-    //! Used to share authentication tokens to caller and to AWSCognitoAuthorizationController.
-    class AuthenticationTokens
-    {
-    public:
-        AZ_TYPE_INFO(AuthenticationTokens, "{F965D1B2-9DE3-4900-B44B-E58D9F083ACB}");
-        AuthenticationTokens();
-        AuthenticationTokens(const AuthenticationTokens& other);
-        AuthenticationTokens(const AZStd::string& accessToken, const AZStd::string& refreshToken, const AZStd::string& openIdToken
-            , const ProviderNameEnum& providerName, int tokensExpireTimeSeconds);
-
-        //! Compares current time stamp to expired time stamp.
-        //! @return True if current TS less than expiry TS.
-        bool AreTokensValid() const;
-
-        //! @return Open id token from authentication.
-        AZStd::string GetOpenIdToken() const;
-
-        //! @return Access token from authentication.
-        AZStd::string GetAccessToken() const;
-
-        //! @return Refresh token from authentication.
-        AZStd::string GetRefreshToken() const;
-
-        //! @return Provide name for the tokens.
-        ProviderNameEnum GetProviderName() const;
-
-        //! @return Expiration time in seconds.
-        int GetTokensExpireTimeSeconds() const;
-
-        static void Reflect(AZ::ReflectContext* context);
-
-    private:
-        int m_tokensExpireTimeSeconds = 0;
-        AZStd::string m_accessToken;
-        AZStd::string m_refreshToken;
-        AZStd::string m_openIdToken;
-        ProviderNameEnum m_providerName;
-        AZStd::chrono::steady_clock::time_point m_tokensExpireTimeStamp;
-    };
-} // namespace AWSClientAuth

+ 0 - 101
Gems/AWSClientAuth/Code/Include/Authorization/AWSCognitoAuthorizationBus.h

@@ -1,101 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/EBus/EBus.h>
-#include <AzCore/std/string/string.h>
-#include <Authorization/ClientAuthAWSCredentials.h>
-
-#include <aws/core/auth/AWSCredentialsProvider.h>
-
-namespace AWSClientAuth
-{
-    //! Abstract class for AWS Cognito authorization requests.
-    class IAWSCognitoAuthorizationRequests
-    {
-    public:
-        AZ_TYPE_INFO(IAWSCognitoAuthorizationRequests, "{F60A2C40-48F5-49A1-ABFA-A08D0DD4ECCC}");
-
-        //! Initializes settings for Cognito identity pool from settings registry.
-        //! @param settingsRegistryPath Path for the settings registry file to use.
-        virtual bool Initialize() = 0;
-
-        //! Once credentials provider are set they cannot be reset. So recreates new Cognito credentials provider on reset.
-        //! Service clients need to be created with the new AWSCredentialsProvider after reset.
-        virtual void Reset() = 0;
-
-        //! Get cached Cognito identity id from last successful GetId call to Cognito.
-        //! @return Cognito identity id
-        virtual AZStd::string GetIdentityId() = 0;
-
-        //! Checks if logins are persisted.
-        //! @return True if logins persists else false.
-        virtual bool HasPersistedLogins() = 0;
-
-        //! Returns AWSCredentialsProvider to initialize up AWS Native SDK clients.
-        //! std::shared_ptr to allow sharing ownership with AWS Native SDK.
-        //! @return std::shared_ptr for Aws::Auth::AWSCredentialProvider.
-        virtual std::shared_ptr<Aws::Auth::AWSCredentialsProvider> GetCognitoCredentialsProvider() = 0;
-
-        //! Returns anonymous AWSCredentialsProvider to initialize up AWS Native SDK clients.
-        //! std::shared_ptr to allow sharing ownership with AWS Native SDK.
-        //! @return std::shared_ptr for Aws::Auth::AWSCredentialProvider.
-        virtual std::shared_ptr<Aws::Auth::AWSCredentialsProvider> GetAnonymousCognitoCredentialsProvider() = 0;
-
-        //! Get cached AWS credentials or fetch credentials from Cognito.
-        //! Will fetch authenticated role credentials if login are cached else fetches unauthenticated role credentials if enabled in Cognito Identity pool.
-        //! If multiple logins are persisted and no cached credentials found, GetId call to Cognito will link the login provider to same identity.
-        virtual void RequestAWSCredentialsAsync() = 0;
-    };
-
-    //! Request bus to handle AWS Cognito Identity pool authorization.
-    class AWSCognitoAuthorizationRequests
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        using MutexType = AZ::NullMutex;
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-    };
-    using AWSCognitoAuthorizationRequestBus = AZ::EBus<IAWSCognitoAuthorizationRequests, AWSCognitoAuthorizationRequests>;
-
-    //! Notification bus for corresponding Authorization Request bus.
-    class AWSCognitoAuthorizationNotifications
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-
-        //////////////////////////////////////////////////////////////////////////
-        // Notifications interface
-
-        //! Event called on request AWS credentials success.
-        //! @param awsCredentials Credentials for authenticated role associated with Cognito identity pool.
-        virtual void OnRequestAWSCredentialsSuccess(const ClientAuthAWSCredentials& awsCredentials)
-        {
-            AZ_UNUSED(awsCredentials);
-        }
-
-        //! Event called on request AWS credentials fail.
-        //! @param error Error message
-        virtual void OnRequestAWSCredentialsFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-        //////////////////////////////////////////////////////////////////////////
-
-    };
-    using AWSCognitoAuthorizationNotificationBus = AZ::EBus<AWSCognitoAuthorizationNotifications>;
-} // namespace AWSClientAuth

+ 0 - 69
Gems/AWSClientAuth/Code/Include/Authorization/ClientAuthAWSCredentials.h

@@ -1,69 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <AzCore/std/string/string.h>
-
-#include <aws/core/auth/AWSCredentialsProvider.h>
-
-namespace AZ
-{
-    class ReflectContext;
-}
-
-namespace AWSClientAuth
-{
-    //! Client auth AWS Credentials object for serialization.
-    class ClientAuthAWSCredentials
-    {
-    public:
-        AZ_TYPE_INFO(ClientAuthAWSCredentials, "{02FB32C4-B94E-4084-9049-3DF32F87BD76}");
-        ClientAuthAWSCredentials() = default;
-        ClientAuthAWSCredentials(const ClientAuthAWSCredentials& other)
-            : m_accessKeyId(other.m_accessKeyId)
-            , m_secretKey(other.m_secretKey)
-            , m_sessionToken(other.m_sessionToken)
-
-        {
-        }
-
-        ClientAuthAWSCredentials(const AZStd::string& accessKeyId, const AZStd::string& secretKey, const AZStd::string& sessionToken)
-            : m_accessKeyId(accessKeyId)
-            , m_secretKey(secretKey)
-            , m_sessionToken(sessionToken)
-        {
-        }
-
-        //! Gets the access key
-        inline const AZStd::string& GetAWSAccessKeyId() const
-        {
-            return m_accessKeyId;
-        }
-
-        //! Gets the secret key
-        inline const AZStd::string& GetAWSSecretKey() const
-        {
-            return m_secretKey;
-        }
-
-        //! Gets the session token
-        inline const AZStd::string& GetSessionToken() const
-        {
-            return m_sessionToken;
-        }
-
-        static void Reflect(AZ::ReflectContext* context);
-
-
-    private:
-        AZStd::string m_accessKeyId;
-        AZStd::string m_secretKey;
-        AZStd::string m_sessionToken;
-    };
-} // namespace AWSClientAuth

+ 0 - 164
Gems/AWSClientAuth/Code/Include/UserManagement/AWSCognitoUserManagementBus.h

@@ -1,164 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/EBus/EBus.h>
-#include <AzCore/Settings/SettingsRegistryImpl.h>
-
-namespace AWSClientAuth
-{
-    //! Abstract class for AWS Cognito user management requests.
-    class IAWSCognitoUserManagementRequests
-    {
-    public:
-        AZ_TYPE_INFO(IAWSCognitoUserManagementRequests, "{A4C90F21-7056-4827-8C6B-401E6945697D}");
-
-        //! Initialize Cognito User pool using settings from resource mappings.
-        //! @param settingsRegistryPath settingsRegistryPath Path for the settings registry file to use.
-        virtual bool Initialize() = 0;
-
-        // Requests interface
-
-        //! Cognito user pool email sign up start.
-        //! @param username User name to use for sign up.
-        //! @param password Password to use for sign up.
-        //! @param email Email used to send confirmation code.
-        virtual void EmailSignUpAsync(const AZStd::string& userName, const AZStd::string& password, const AZStd::string& email) = 0;
-
-        //! Cognito user pool phone sign up start.
-        //! @param username User name to use for sign up.
-        //! @param password Password to use for sign up.
-        //! @param phoneNumber Phone number used to send confirmation code.
-        virtual void PhoneSignUpAsync(const AZStd::string& userName, const AZStd::string& password, const AZStd::string& phoneNumber) = 0;
-
-        //! Cognito user pool confirm sign up with confirmation code. Used to confirm email or phone sign up.
-        //! @param username User name to use to confirm sign up.
-        //! @param confirmationCode Code sent to email/phone from sign up call.
-        virtual void ConfirmSignUpAsync(const AZStd::string& userName, const AZStd::string& confirmationCode) = 0;
-
-        //! Cognito user forgot password start
-        //! @param username User name to use to reset password for.
-        virtual void ForgotPasswordAsync(const AZStd::string& userName) = 0;
-
-        //! Cognito user pool confirm forgot password with confirmation code.
-        //! @param username User name to use to confirm reset password for.
-        //! @param confirmationCode Code sent to email/phone for forgot password step.
-        //! @param newPassword New password to set the changed value to.
-        virtual void ConfirmForgotPasswordAsync(const AZStd::string& userName, const AZStd::string& confirmationCode, const AZStd::string& newPassword) = 0;
-
-        //! Cognito user pool enable multi factor authentication for signed in user.
-        //! @param accessToken Access token from successful sign in.
-        virtual void EnableMFAAsync(const AZStd::string& accessToken) = 0;
-    };
-
-    //! Implements AWS Cognito user pool user management requests.
-    class AWSCognitoUserManagementRequests
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        using MutexType = AZ::NullMutex;
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-    };
-    using AWSCognitoUserManagementRequestBus = AZ::EBus<IAWSCognitoUserManagementRequests, AWSCognitoUserManagementRequests>;
-
-
-    class AWSCognitoUserManagementNotifications
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-
-        ////////////////////////////ss//////////////////////////////////////////////
-        // Notifications interface
-        //! Event for Cognito user pool email sign up success
-        //! @param uuid Unique identified from Cognito User pool for new user
-        virtual void OnEmailSignUpSuccess(const AZStd::string& uuid)
-        {
-            AZ_UNUSED(uuid);
-        }
-
-        //! Event for Cognito user pool email sign up fail
-        //! @param error Error message
-        virtual void OnEmailSignUpFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for Cognito user pool phone sign up success
-        //! @param error Error message
-        virtual void OnPhoneSignUpSuccess(const AZStd::string& uuid)
-        {
-            AZ_UNUSED(uuid);
-        }
-
-        //! Event for Cognito user pool phone sign up fail
-        //! @param error Error message
-        virtual void OnPhoneSignUpFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for Cognito confirm sign up success
-        virtual void OnConfirmSignUpSuccess()
-        {
-        }
-
-        //! Event for Cognito confirm sign up fail
-        //! @param error Error message
-        virtual void OnConfirmSignUpFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for Cognito forgot password success
-        virtual void OnForgotPasswordSuccess()
-        {
-        }
-
-        //! Event for Cognito forgot password fail
-        //! @param error Error message
-        virtual void OnForgotPasswordFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for Cognito confirm forgot password success
-        virtual void OnConfirmForgotPasswordSuccess()
-        {
-        }
-
-        //! Event for Cognito confirm forgot password fail
-        //! @param error Error message
-        virtual void OnConfirmForgotPasswordFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-
-        //! Event for Cognito enable mfa success
-        virtual void OnEnableMFASuccess()
-        {
-        }
-
-        //! Event for Cognito enable mfa fail
-        //! @param error Error message
-        virtual void OnEnableMFAFail(const AZStd::string& error)
-        {
-            AZ_UNUSED(error);
-        }
-        //////////////////////////////////////////////////////////////////////////
-    };
-    using AWSCognitoUserManagementNotificationBus = AZ::EBus<AWSCognitoUserManagementNotifications>;
-} // namespace AWSClientAuth

+ 0 - 64
Gems/AWSClientAuth/Code/Source/AWSClientAuthBus.h

@@ -1,64 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/EBus/EBus.h>
-
-#include <memory>
-
-namespace Aws
-{
-    namespace CognitoIdentityProvider
-    {
-        class CognitoIdentityProviderClient;
-    }
-
-    namespace CognitoIdentity
-    {
-        class CognitoIdentityClient;
-    }
-}
-
-namespace AWSClientAuth
-{
-    //! Abstract class for AWS client auth requests.
-    class IAWSClientAuthRequests
-    {
-    public:
-        AZ_TYPE_INFO(IAWSClientAuthRequests, "{1798CB8B-A334-40BD-913A-4739BF939201}");
-
-        //! std shared_ptr as the ownership has to be shared with AWS Native SDK.
-        //! @return AWS Native SDK Cognito IDP client
-        virtual std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> GetCognitoIDPClient() = 0;
-
-        //! std shared_ptr as the ownership has to be shared with AWS Native SDK.
-        //! @return AWS Native SDK Cognito Identity client
-        virtual std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient> GetCognitoIdentityClient() = 0;
-
-        //! Sanity check for Cognito identity and user controllers to see if they have been configured. Gem will skip set up of controllers
-        //! when configuration is missing to avoid making calls to Cognito that are guaranteed to fail.
-        //! @return True, the controllers configured to support user and identify management have been initialized.
-        //! If False, then either user pool or identity pool configuration is missing. Refer to the Gem documentation about how to provide this configuration.
-        virtual bool HasCognitoControllers() const = 0;
-    };
-
-    //! Responsible for fetching AWS Cognito IDP and Identity service client objects.
-    class AWSClientAuthRequests
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        using MutexType = AZ::NullMutex;
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-    };
-    using AWSClientAuthRequestBus = AZ::EBus<IAWSClientAuthRequests, AWSClientAuthRequests>;
-
-} // namespace AWSClientAuth

+ 0 - 149
Gems/AWSClientAuth/Code/Source/AWSClientAuthEditorSystemComponent.cpp

@@ -1,149 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AWSClientAuthEditorSystemComponent.h>
-
-#include <ActionManager/Action/ActionManagerInterface.h>
-
-#include <AWSCoreBus.h>
-
-namespace AWSClientAuth
-{
-    void AWSClientAuthEditorSystemComponent::Reflect(AZ::ReflectContext* context)
-    {
-        AZ::SerializeContext* serialize = azrtti_cast<AZ::SerializeContext*>(context);
-        if (serialize)
-        {
-            serialize->Class<AWSClientAuthEditorSystemComponent, AZ::Component>()
-                ;
-
-            if (AZ::EditContext* ec = serialize->GetEditContext())
-            {
-                ec->Class<AWSClientAuthEditorSystemComponent>("AWSClientAuthEditor", "Provides Client Authentication and Authorization implementations")
-                    ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
-                    ->Attribute(AZ::Edit::Attributes::AutoExpand, true);
-            }
-        }
-    }
-
-    void AWSClientAuthEditorSystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
-    {
-        provided.push_back(AZ_CRC_CE("AWSClientAuthEditorService"));
-    }
-
-    void AWSClientAuthEditorSystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible)
-    {
-        incompatible.push_back(AZ_CRC_CE("AWSClientAuthEditorService"));
-    }
-
-    void AWSClientAuthEditorSystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required)
-    {
-        required.push_back(AZ_CRC_CE("AWSCoreService"));
-    }
-
-    void AWSClientAuthEditorSystemComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType&)
-    {
-    }
-
-    void AWSClientAuthEditorSystemComponent::Activate()
-    {
-        AzToolsFramework::ActionManagerRegistrationNotificationBus::Handler::BusConnect();
-    }
-
-    void AWSClientAuthEditorSystemComponent::Deactivate()
-    {
-        AzToolsFramework::ActionManagerRegistrationNotificationBus::Handler::BusDisconnect();
-    }
-
-    void AWSClientAuthEditorSystemComponent::OnMenuBindingHook()
-    {
-        constexpr const char* AWSClientAuth[] =
-        {
-             "Client Auth Gem" ,
-             "client_auth_gem" ,
-             ":/Notifications/download.svg",
-             ""
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::CreateSubMenu, AWSCore::AWSMenuIdentifier, AWSClientAuth, 100);
-
-        const auto& submenuIdentifier = AWSClientAuth[1];
-
-        constexpr const char* AWSClientAuthGemOverview[] =
-        {
-             "Client Auth Gem overview" ,
-             "client_auth_gem_overview" ,
-             ":/Notifications/link.svg",
-             "https://o3de.org/docs/user-guide/gems/reference/aws/aws-client-auth/"
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::AddExternalLinkAction, submenuIdentifier, AWSClientAuthGemOverview, 0);
-
-        constexpr const char* AWSSetupClientAuthGem[] =
-        {
-             "Setup Client Auth Gem",
-             "setup_client_auth_gem",
-             ":/Notifications/link.svg",
-             "https://o3de.org/docs/user-guide/gems/reference/aws/aws-client-auth/setup/"
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::AddExternalLinkAction, submenuIdentifier, AWSSetupClientAuthGem, 0);
-
-        constexpr const char* AWSClientAuthCDKAndResourcesUrl[] =
-        {
-             "CDK application and resource mappings",
-             "cdk_application_and_resource_mappings",
-             ":/Notifications/link.svg",
-             "https://o3de.org/docs/user-guide/gems/reference/aws/aws-client-auth/setup/#3-deploy-the-cdk-application"
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::AddExternalLinkAction, submenuIdentifier, AWSClientAuthCDKAndResourcesUrl, 0);
-
-        constexpr const char* AWSClientAuthScriptCanvasAndLua[] =
-        {
-             "Scripting reference",
-             "scripting_reference",
-             ":/Notifications/link.svg",
-             "https://o3de.org/docs/user-guide/gems/reference/aws/aws-client-auth/scripting/"
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::AddExternalLinkAction, submenuIdentifier, AWSClientAuthScriptCanvasAndLua, 0);
-
-        constexpr const char* AWSClientAuth3rdPartyAuthProvider[] =
-        {
-             "3rd Party developer authentication provider support",
-             "3rd_party_developer_authentication_provider_support",
-             ":/Notifications/link.svg",
-             "https://o3de.org/docs/user-guide/gems/reference/aws/aws-client-auth/authentication-providers/#using-a-custom-provider"
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::AddExternalLinkAction, submenuIdentifier, AWSClientAuth3rdPartyAuthProvider, 0);
-
-        constexpr const char* AWSClientAuthCustomAuthProvider[] =
-        {
-             "Custom developer authentication provider support",
-             "custom_developer_authentication_provider_support",
-             ":/Notifications/link.svg",
-             "https://o3de.org/docs/user-guide/gems/reference/aws/aws-client-auth/authentication-providers/#using-a-custom-provider"
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::AddExternalLinkAction, submenuIdentifier, AWSClientAuthCustomAuthProvider, 0);
-
-        constexpr const char* AWSClientAuthAPI[] =
-        {
-             "API reference",
-             "api_reference",
-             ":/Notifications/link.svg",
-             "https://o3de.org/docs/user-guide/gems/reference/aws/aws-client-auth/cpp-api/"
-        };
-
-        AWSCore::AWSCoreEditorRequestBus::Broadcast(&AWSCore::AWSCoreEditorRequests::AddExternalLinkAction, submenuIdentifier, AWSClientAuthAPI, 0);
-
-    }
-
-} // namespace AWSClientAuth

+ 0 - 51
Gems/AWSClientAuth/Code/Source/AWSClientAuthEditorSystemComponent.h

@@ -1,51 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <AzCore/Component/Component.h>
-#include <Authorization/AWSCognitoAuthorizationController.h>
-#include <Authentication/AuthenticationProviderManager.h>
-#include <UserManagement/AWSCognitoUserManagementController.h>
-#include <AWSClientAuthBus.h>
-#include <AWSCoreBus.h>
-
-#include <AWSClientAuthSystemComponent.h>
-
-#include <AzToolsFramework/ActionManager/ActionManagerRegistrationNotificationBus.h>
-
-namespace AWSClientAuth
-{
-    //! Gem System Component. Responsible for instantiating and managing Authentication and Authorization Controller
-    class AWSClientAuthEditorSystemComponent
-        : public AZ::Component
-        , private AzToolsFramework::ActionManagerRegistrationNotificationBus::Handler
-    {
-    public:
-        ~AWSClientAuthEditorSystemComponent() override = default;
-
-        AZ_COMPONENT(AWSClientAuthEditorSystemComponent, "{4483B6C0-6D9C-425A-B6D8-21AA54561937}");
-
-        static void Reflect(AZ::ReflectContext* context);
-
-        static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
-        static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
-        static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
-        static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType&);
-
-    protected:
-        // AZ::Component interface implementation
-        void Activate() override;
-        void Deactivate() override;
-
-        // ActionManagerRegistrationNotificationBus implementation
-        void OnMenuBindingHook() override;
-
-    };
-
-} // namespace AWSClientAuth

+ 0 - 51
Gems/AWSClientAuth/Code/Source/AWSClientAuthModule.cpp

@@ -1,51 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#include <AWSClientAuthModule.h>
-#include <AWSClientAuthSystemComponent.h>
-
-#if AWSCLIENTAUTH_EDITOR
-#include <AWSClientAuthEditorSystemComponent.h>
-#endif
-
-namespace AWSClientAuth
-{
-
-    AWSClientAuthModule::AWSClientAuthModule()
-            : AZ::Module()
-    {
-        // Push results of [MyComponent]::CreateDescriptor() into m_descriptors here.
-        m_descriptors.insert(m_descriptors.end(), {
-#if defined(AWSCLIENTAUTH_EDITOR)
-                        AWSClientAuthEditorSystemComponent::CreateDescriptor()
-#else
-                        AWSClientAuthSystemComponent::CreateDescriptor()
-#endif
-        });
-    }
-
-    /**
-    * Add required SystemComponents to the SystemEntity.
-    */
-    AZ::ComponentTypeList AWSClientAuthModule::GetRequiredSystemComponents() const
-    {
-        return AZ::ComponentTypeList{
-#if defined(AWSCLIENTAUTH_EDITOR)
-            azrtti_typeid<AWSClientAuthEditorSystemComponent>(),
-#else
-            azrtti_typeid<AWSClientAuthSystemComponent>(),
-#endif
-        };
-    }
-
-}
-
-#if defined(O3DE_GEM_NAME)
-AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME), AWSClientAuth::AWSClientAuthModule)
-#else
-AZ_DECLARE_MODULE_CLASS(Gem_AWSClientAuth, AWSClientAuth::AWSClientAuthModule)
-#endif

+ 0 - 25
Gems/AWSClientAuth/Code/Source/AWSClientAuthModule.h

@@ -1,25 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/Module/Module.h>
-
-namespace AWSClientAuth
-{
-    //! Entry point for the Gem.
-    class AWSClientAuthModule
-        : public AZ::Module
-    {
-    public:
-        AZ_RTTI(AWSClientAuthModule, "{85AD4C5F-A40A-4503-9202-4B8BE6AF0DCD}", AZ::Module);
-
-        AWSClientAuthModule();
-        virtual ~AWSClientAuthModule() override = default;
-        virtual AZ::ComponentTypeList GetRequiredSystemComponents() const override;
-    };
-}

+ 0 - 12
Gems/AWSClientAuth/Code/Source/AWSClientAuthResourceMappingConstants.h

@@ -1,12 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-constexpr char CognitoUserPoolIdResourceMappingKey[] = "AWSClientAuth.CognitoUserPoolId";
-constexpr char CognitoAppClientIdResourceMappingKey[] = "AWSClientAuth.CognitoUserPoolAppClientId";
-constexpr char CognitoIdentityPoolIdResourceMappingKey[] = "AWSClientAuth.CognitoIdentityPoolId";

+ 0 - 256
Gems/AWSClientAuth/Code/Source/AWSClientAuthSystemComponent.cpp

@@ -1,256 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AWSClientAuthSystemComponent.h>
-#include <AWSClientAuthResourceMappingConstants.h>
-
-#include <Authentication/AuthenticationProviderTypes.h>
-#include <Authentication/AuthenticationNotificationBusBehaviorHandler.h>
-#include <Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h>
-#include <Authorization/AWSCognitoAuthorizationController.h>
-
-#include <Framework/AWSApiJobConfig.h>
-
-#include <ResourceMapping/AWSResourceMappingBus.h>
-#include <ResourceMapping/AWSResourceMappingBus.h>
-#include <UserManagement/UserManagementNotificationBusBehaviorHandler.h>
-
-#include <aws/cognito-identity/CognitoIdentityClient.h>
-#include <aws/cognito-idp/CognitoIdentityProviderClient.h>
-
-#include <AWSCoreBus.h>
-
-namespace AZ
-{
-    AZ_TYPE_INFO_SPECIALIZE(AWSClientAuth::ProviderNameEnum, "{FB34B23A-B249-47A2-B1F1-C05284B50CCC}");
-}
-
-namespace AWSClientAuth
-{
-    constexpr char SerializeComponentName[] = "AWSClientAuth";
-
-    void AWSClientAuthSystemComponent::Reflect(AZ::ReflectContext* context)
-    {
-        AZ::SerializeContext* serialize = azrtti_cast<AZ::SerializeContext*>(context);
-        if (serialize)
-        {
-            serialize->Class<AWSClientAuthSystemComponent, AZ::Component>()->Version(2);
-
-            if (AZ::EditContext* ec = serialize->GetEditContext())
-            {
-                ec->Class<AWSClientAuthSystemComponent>("AWSClientAuth", "Provides Client Authentication and Authorization implementations")
-                    ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
-                    ->Attribute(AZ::Edit::Attributes::AutoExpand, true);
-            }
-            AWSClientAuth::LWAProviderSetting::Reflect(*serialize);
-            AWSClientAuth::GoogleProviderSetting::Reflect(*serialize);
-        }
-
-        AWSClientAuth::AuthenticationTokens::Reflect(context);
-        AWSClientAuth::ClientAuthAWSCredentials::Reflect(context);
-
-        if (AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
-        {
-            behaviorContext->Enum<(int)ProviderNameEnum::None>("ProviderNameEnum_None")
-                ->Enum<(int)ProviderNameEnum::AWSCognitoIDP>("ProviderNameEnum_AWSCognitoIDP")
-                ->Enum<(int)ProviderNameEnum::LoginWithAmazon>("ProviderNameEnum_LoginWithAmazon")
-                ->Enum<(int)ProviderNameEnum::Google>("ProviderNameEnum_Google");
-            behaviorContext->EBus<AuthenticationProviderScriptCanvasRequestBus>("AuthenticationProviderRequestBus")
-                ->Attribute(AZ::Script::Attributes::Category, SerializeComponentName)
-                ->Event("Initialize", &AuthenticationProviderScriptCanvasRequestBus::Events::Initialize)
-                ->Event("IsSignedIn", &AuthenticationProviderScriptCanvasRequestBus::Events::IsSignedIn,
-                    { { { "Provider name", "The identity provider name" } } })
-                ->Event("GetAuthenticationTokens", &AuthenticationProviderScriptCanvasRequestBus::Events::GetAuthenticationTokens,
-                    { { { "Provider name", "The identity provider name" } } })
-                ->Event(
-                    "PasswordGrantSingleFactorSignInAsync",
-                    &AuthenticationProviderScriptCanvasRequestBus::Events::PasswordGrantSingleFactorSignInAsync,
-                    { { { "Provider name", "The identity provider" }, { "Username", "The client's username" }, { "Password", "The client's password" } } })
-                ->Event(
-                    "PasswordGrantMultiFactorSignInAsync",
-                    &AuthenticationProviderScriptCanvasRequestBus::Events::PasswordGrantMultiFactorSignInAsync,
-                    { { { "Provider name", "The identity provider name" },
-                        { "Username", "The client's username" },
-                        { "Password", "The client's password" } } })
-                ->Event(
-                    "PasswordGrantMultiFactorConfirmSignInAsync",
-                    &AuthenticationProviderScriptCanvasRequestBus::Events::PasswordGrantMultiFactorConfirmSignInAsync,
-                    { { { "Provider name", "The identity provider name" },
-                        { "Username", "The client's username" },
-                        { "Confirmation code", "The client's confirmation code" } } })
-                ->Event(
-                    "DeviceCodeGrantSignInAsync", &AuthenticationProviderScriptCanvasRequestBus::Events::DeviceCodeGrantSignInAsync,
-                    { { { "Provider name", "The identity provider name" } } })
-                ->Event(
-                    "DeviceCodeGrantConfirmSignInAsync",
-                    &AuthenticationProviderScriptCanvasRequestBus::Events::DeviceCodeGrantConfirmSignInAsync,
-                    { { { "Provider name", "The identity provider name" } } })
-                ->Event(
-                    "RefreshTokensAsync", &AuthenticationProviderScriptCanvasRequestBus::Events::RefreshTokensAsync,
-                    { { { "Provider name", "The identity provider name" } } })
-                ->Event("GetTokensWithRefreshAsync", &AuthenticationProviderScriptCanvasRequestBus::Events::GetTokensWithRefreshAsync,
-                    { { { "Provider name", "The identity provider name" } } })
-                ->Event(
-                    "SignOut", &AuthenticationProviderScriptCanvasRequestBus::Events::SignOut,
-                    { { { "Provider name", "The identity provider name" } } });
-
-            behaviorContext->EBus<AWSCognitoAuthorizationRequestBus>("AWSCognitoAuthorizationRequestBus")
-                ->Attribute(AZ::Script::Attributes::Category, SerializeComponentName)
-                ->Event("Initialize", &AWSCognitoAuthorizationRequestBus::Events::Initialize)
-                ->Event("Reset", &AWSCognitoAuthorizationRequestBus::Events::Reset)
-                ->Event("GetIdentityId", &AWSCognitoAuthorizationRequestBus::Events::GetIdentityId)
-                ->Event("HasPersistedLogins", &AWSCognitoAuthorizationRequestBus::Events::HasPersistedLogins)
-                ->Event("RequestAWSCredentialsAsync", &AWSCognitoAuthorizationRequestBus::Events::RequestAWSCredentialsAsync);
-
-            behaviorContext->EBus<AWSCognitoUserManagementRequestBus>("AWSCognitoUserManagementRequestBus")
-                ->Attribute(AZ::Script::Attributes::Category, SerializeComponentName)
-                ->Event("Initialize", &AWSCognitoUserManagementRequestBus::Events::Initialize)
-                ->Event(
-                    "EmailSignUpAsync", &AWSCognitoUserManagementRequestBus::Events::EmailSignUpAsync,
-                    { { { "Username", "The client's username" }, { "Password", "The client's password" }, { "Email", "The email address used to sign up" } } })
-                ->Event(
-                    "PhoneSignUpAsync", &AWSCognitoUserManagementRequestBus::Events::PhoneSignUpAsync,
-                    { { { "Username", "The client's username" }, { "Password", "The client's password" }, { "Phone number", "The phone number used to sign up" } } })
-                ->Event(
-                    "ConfirmSignUpAsync", &AWSCognitoUserManagementRequestBus::Events::ConfirmSignUpAsync,
-                    { { { "Username", "The client's username" }, { "Confirmation code", "The client's confirmation code" } } })
-                ->Event(
-                    "ForgotPasswordAsync", &AWSCognitoUserManagementRequestBus::Events::ForgotPasswordAsync,
-                    { { { "Username", "The client's username" } } })
-                ->Event(
-                    "ConfirmForgotPasswordAsync", &AWSCognitoUserManagementRequestBus::Events::ConfirmForgotPasswordAsync,
-                    { { { "Username", "The client's username" }, { "Confirmation code", "The client's confirmation code" }, { "New password", "The new password for the client" } } })
-                ->Event("EnableMFAAsync", &AWSCognitoUserManagementRequestBus::Events::EnableMFAAsync, { { { "Access token", "The MFA access token" } } });
-
-
-            behaviorContext->EBus<AuthenticationProviderNotificationBus>("AuthenticationProviderNotificationBus")
-                ->Attribute(AZ::Script::Attributes::Category, SerializeComponentName)
-                ->Handler<AuthenticationNotificationBusBehaviorHandler>();
-            behaviorContext->EBus<AWSCognitoUserManagementNotificationBus>("AWSCognitoUserManagementNotificationBus")
-                ->Attribute(AZ::Script::Attributes::Category, SerializeComponentName)
-                ->Handler<UserManagementNotificationBusBehaviorHandler>();
-            behaviorContext->EBus<AWSCognitoAuthorizationNotificationBus>("AWSCognitoAuthorizationNotificationBus")
-                ->Attribute(AZ::Script::Attributes::Category, SerializeComponentName)
-                ->Handler<AWSCognitoAuthorizationNotificationBusBehaviorHandler>();
-        }
-    }
-
-    void AWSClientAuthSystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
-    {
-        provided.push_back(AZ_CRC_CE("AWSClientAuthService"));
-    }
-
-    void AWSClientAuthSystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible)
-    {
-        incompatible.push_back(AZ_CRC_CE("AWSClientAuthService"));
-    }
-
-    void AWSClientAuthSystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required)
-    {
-        required.push_back(AZ_CRC_CE("AWSCoreService"));
-    }
-
-    void AWSClientAuthSystemComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent)
-    {
-        AZ_UNUSED(dependent);
-    }
-
-    void AWSClientAuthSystemComponent::Init()
-    {
-        m_enabledProviderNames.push_back(ProviderNameEnum::AWSCognitoIDP);
-
-        // As this Gem depends on AWSCore, AWSCoreSystemComponent gets activated before AWSClientAuth and will miss the OnSDKInitialized
-        // notification if BusConnect is not in Init.
-        AWSCore::AWSCoreNotificationsBus::Handler::BusConnect();
-    }
-
-    void AWSClientAuthSystemComponent::Activate()
-    {
-        AZ::Interface<IAWSClientAuthRequests>::Register(this);
-        AWSClientAuthRequestBus::Handler::BusConnect();
-
-        m_authenticationProviderManager = AZStd::make_unique<AuthenticationProviderManager>();
-
-        // Sanity check if code should setup Cognito user and autorization controllers.
-        // Only set up if Cognito settings appear to be provided in resource mapping file.
-        // Cognito User Pools and Cognito Identity Pools are not dependent on one another, but we need at least one.
-        // Create a controller for user pools and identity pools.
-        bool awsCognitoUserPoolDefined = false;
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            awsCognitoUserPoolDefined, &AWSCore::AWSResourceMappingRequests::HasResource, CognitoUserPoolIdResourceMappingKey);
-        if (awsCognitoUserPoolDefined)
-        {
-            m_awsCognitoUserManagementController = AZStd::make_unique<AWSCognitoUserManagementController>();
-        }
-
-        bool awsCognitoIdentityPoolDefined = false;
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            awsCognitoIdentityPoolDefined, &AWSCore::AWSResourceMappingRequests::HasResource, CognitoIdentityPoolIdResourceMappingKey);
-        if (awsCognitoIdentityPoolDefined)
-        {
-            m_awsCognitoAuthorizationController = AZStd::make_unique<AWSCognitoAuthorizationController>();
-        }
-
-        if (!awsCognitoUserPoolDefined && !awsCognitoIdentityPoolDefined)
-        {
-            AZ_Warning("AWSClientAuthSystemComponent",  false,
-                "Missing Cognito settings in resource mappings. Skipping set up of Cognito controllers.");
-        }
-    }
-
-    void AWSClientAuthSystemComponent::Deactivate()
-    {
-        m_authenticationProviderManager.reset();
-        m_awsCognitoUserManagementController.reset();
-        m_awsCognitoAuthorizationController.reset();
-        
-        AWSClientAuthRequestBus::Handler::BusDisconnect();
-        AWSCore::AWSCoreNotificationsBus::Handler::BusDisconnect();
-        AZ::Interface<IAWSClientAuthRequests>::Unregister(this);
-
-        m_cognitoIdentityProviderClient.reset();
-        m_cognitoIdentityClient.reset();
-    }
-
-    void AWSClientAuthSystemComponent::OnSDKInitialized()
-    {
-        AWSCore::AwsApiJobConfig* defaultConfig;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(defaultConfig, &AWSCore::AWSCoreRequests::GetDefaultConfig);
-        Aws::Client::ClientConfiguration clientConfiguration =
-            defaultConfig ? defaultConfig->GetClientConfiguration() : Aws::Client::ClientConfiguration();
-
-        AZStd::string region;
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(region, &AWSCore::AWSResourceMappingRequests::GetDefaultRegion);
-
-        clientConfiguration.region = "us-west-2";
-        if (!region.empty())
-        {
-            clientConfiguration.region = region.c_str();
-        }
-
-        m_cognitoIdentityProviderClient =
-            std::make_shared<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient>(Aws::Auth::AWSCredentials(), clientConfiguration);
-        m_cognitoIdentityClient = std::make_shared<Aws::CognitoIdentity::CognitoIdentityClient>(Aws::Auth::AWSCredentials(), clientConfiguration);
-    }
-
-    std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> AWSClientAuthSystemComponent::GetCognitoIDPClient()
-    {
-        return m_cognitoIdentityProviderClient;
-    }
-
-    std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient> AWSClientAuthSystemComponent::GetCognitoIdentityClient()
-    {
-        return m_cognitoIdentityClient;
-    }
-
-    bool AWSClientAuthSystemComponent::HasCognitoControllers() const
-    {
-        return (m_awsCognitoUserManagementController != nullptr) || (m_awsCognitoAuthorizationController != nullptr);
-    }
-
-} // namespace AWSClientAuth

+ 0 - 63
Gems/AWSClientAuth/Code/Source/AWSClientAuthSystemComponent.h

@@ -1,63 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <AzCore/Component/Component.h>
-#include <Authorization/AWSCognitoAuthorizationController.h>
-#include <Authentication/AuthenticationProviderManager.h>
-#include <UserManagement/AWSCognitoUserManagementController.h>
-#include <AWSClientAuthBus.h>
-#include <AWSCoreBus.h>
-
-namespace AWSClientAuth
-{
-    //! Gem System Component. Responsible for instantiating and managing Authentication and Authorization Controller
-    class AWSClientAuthSystemComponent
-        : public AZ::Component
-        , public AWSCore::AWSCoreNotificationsBus::Handler
-        , public AWSClientAuthRequestBus::Handler
-    {
-    public:
-        ~AWSClientAuthSystemComponent() override = default;
-
-        AZ_COMPONENT(AWSClientAuthSystemComponent, "{0C2660C8-1B4A-4474-BE65-B487E2DE8649}");
-
-        static void Reflect(AZ::ReflectContext* context);
-
-        static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
-        static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
-        static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
-        static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent);
-
-    protected:
-        // AZ::Component interface implementation
-        void Init() override;
-        void Activate() override;
-        void Deactivate() override;
-
-        // AWSCoreNotification interface
-        void OnSDKInitialized() override;
-        void OnSDKShutdownStarted() override {}
-
-        // AWSClientAuthRequests interface
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> GetCognitoIDPClient() override;
-        std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient> GetCognitoIdentityClient() override;
-        bool HasCognitoControllers() const override;
-
-        AZStd::vector<ProviderNameEnum> m_enabledProviderNames;
-        AZStd::unique_ptr<AuthenticationProviderManager> m_authenticationProviderManager;
-        AZStd::unique_ptr<AWSCognitoUserManagementController> m_awsCognitoUserManagementController;
-        AZStd::unique_ptr<AWSCognitoAuthorizationController> m_awsCognitoAuthorizationController;
-
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> m_cognitoIdentityProviderClient;
-        std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient> m_cognitoIdentityClient;
-
-    };
-
-} // namespace AWSClientAuth

+ 0 - 250
Gems/AWSClientAuth/Code/Source/Authentication/AWSCognitoAuthenticationProvider.cpp

@@ -1,250 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzCore/std/smart_ptr/weak_ptr.h>
-#include <AzCore/Jobs/JobFunction.h>
-
-#include <Authentication/AWSCognitoAuthenticationProvider.h>
-#include <Authentication/AuthenticationProviderTypes.h>
-#include <Authentication/AuthenticationProviderBus.h>
-#include <AWSClientAuthBus.h>
-#include <AWSCoreBus.h>
-#include <ResourceMapping/AWSResourceMappingBus.h>
-#include <AWSClientAuthResourceMappingConstants.h>
-
-#include <aws/cognito-idp/model/InitiateAuthRequest.h>
-#include <aws/cognito-idp/model/InitiateAuthResult.h>
-#include <aws/cognito-idp/model/RespondToAuthChallengeRequest.h>
-#include <aws/cognito-idp/model/RespondToAuthChallengeResult.h>
-#include <aws/cognito-idp/CognitoIdentityProviderClient.h>
-#include <aws/cognito-idp/CognitoIdentityProviderErrors.h>
-
-namespace AWSClientAuth
-{
-    constexpr char CognitoUsernameKey[] = "USERNAME";
-    constexpr char CognitoPasswordKey[] = "PASSWORD";
-    constexpr char CognitoRefreshTokenAuthParamKey[] = "REFRESH_TOKEN";
-    constexpr char CognitoSmsMfaCodeKey[] = "SMS_MFA_CODE";
-
-    bool AWSCognitoAuthenticationProvider::Initialize()
-    {
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            m_cognitoAppClientId, &AWSCore::AWSResourceMappingRequests::GetResourceNameId, CognitoAppClientIdResourceMappingKey);
-        AZ_Warning("AWSCognitoAuthenticationProvider", !m_cognitoAppClientId.empty(), "Missing Cognito App Client Id from resource mappings. Calls to Cognito will fail.");
-        return !m_cognitoAppClientId.empty();
-    }
-
-
-    void AWSCognitoAuthenticationProvider::PasswordGrantSingleFactorSignInAsync(const AZStd::string& username, const AZStd::string& password)
-    {
-        InitiateAuthInternalAsync(username, password, [this](Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome initiateAuthOutcome)
-        {
-            if (initiateAuthOutcome.IsSuccess())
-            {
-                Aws::CognitoIdentityProvider::Model::InitiateAuthResult initiateAuthResult{ initiateAuthOutcome.GetResult() };
-                if (initiateAuthResult.GetChallengeName() == Aws::CognitoIdentityProvider::Model::ChallengeNameType::NOT_SET)
-                {
-                    Aws::CognitoIdentityProvider::Model::AuthenticationResultType authenticationResult = initiateAuthResult.GetAuthenticationResult();
-                    UpdateTokens(authenticationResult);
-
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess,
-                        AuthenticationTokens(authenticationResult.GetAccessToken().c_str(),
-                            authenticationResult.GetRefreshToken().c_str(), authenticationResult.GetIdToken().c_str(),
-                            ProviderNameEnum::AWSCognitoIDP, authenticationResult.GetExpiresIn()));
-                }
-                else
-                {
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInFail
-                        , AZStd::string::format("Unexpected Challenge type: %s"
-                            , Aws::CognitoIdentityProvider::Model::ChallengeNameTypeMapper::GetNameForChallengeNameType(initiateAuthResult.GetChallengeName()).c_str()));
-                }
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = initiateAuthOutcome.GetError();
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInFail, error.GetMessage().c_str());
-            }
-        });
-    }
-
-    void AWSCognitoAuthenticationProvider::PasswordGrantMultiFactorSignInAsync(const AZStd::string& username, const AZStd::string& password)
-    {
-        InitiateAuthInternalAsync(username, password, [this](Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome initiateAuthOutcome)
-        {
-            if (initiateAuthOutcome.IsSuccess())
-            {
-                Aws::CognitoIdentityProvider::Model::InitiateAuthResult initiateAuthResult{ initiateAuthOutcome.GetResult() };
-                if (initiateAuthResult.GetChallengeName() == Aws::CognitoIdentityProvider::Model::ChallengeNameType::SMS_MFA)
-                {
-                    Aws::CognitoIdentityProvider::Model::AuthenticationResultType authenticationResult = initiateAuthResult.GetAuthenticationResult();
-                    // Call on sign in success for MFA
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantMultiFactorSignInSuccess);
-                    m_session = initiateAuthResult.GetSession().c_str();
-                }
-                else
-                {
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantMultiFactorSignInFail
-                        , AZStd::string::format("Unexpected Challenge type: %s"
-                            , Aws::CognitoIdentityProvider::Model::ChallengeNameTypeMapper::GetNameForChallengeNameType(initiateAuthResult.GetChallengeName()).c_str()));
-                }
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = initiateAuthOutcome.GetError();
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantMultiFactorSignInFail, error.GetMessage().c_str());
-            }
-        });
-    }
-
-    // Call RespondToAuthChallenge for Cognito authentication flow.
-    // Refer https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html.
-    void AWSCognitoAuthenticationProvider::PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& username, const AZStd::string& confirmationCode)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-        AZ::Job* confirmSignInJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient, confirmationCode, username]()
-        {
-            // Set Request parameters for SMS Multi factor authentication.
-            // Note: Email MFA is no longer supported by Cognito, use SMS as MFA
-            Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeRequest respondToAuthChallengeRequest;
-            respondToAuthChallengeRequest.SetClientId(m_cognitoAppClientId.c_str());
-            respondToAuthChallengeRequest.AddChallengeResponses(CognitoSmsMfaCodeKey, confirmationCode.c_str());
-            respondToAuthChallengeRequest.AddChallengeResponses(CognitoUsernameKey, username.c_str());
-            respondToAuthChallengeRequest.SetChallengeName(Aws::CognitoIdentityProvider::Model::ChallengeNameType::SMS_MFA);
-            respondToAuthChallengeRequest.SetSession(m_session.c_str());
-
-            Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeOutcome respondToAuthChallengeOutcome{ cognitoIdentityProviderClient->RespondToAuthChallenge(respondToAuthChallengeRequest) };
-            if (respondToAuthChallengeOutcome.IsSuccess())
-            {
-                Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeResult respondToAuthChallengeResult{ respondToAuthChallengeOutcome.GetResult() };
-                if (respondToAuthChallengeResult.GetChallengeName() == Aws::CognitoIdentityProvider::Model::ChallengeNameType::NOT_SET)
-                {
-                    Aws::CognitoIdentityProvider::Model::AuthenticationResultType authenticationResult = respondToAuthChallengeResult.GetAuthenticationResult();
-                    UpdateTokens(authenticationResult);
-
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantMultiFactorConfirmSignInSuccess,
-                        AuthenticationTokens(authenticationResult.GetAccessToken().c_str(),
-                            authenticationResult.GetRefreshToken().c_str(), authenticationResult.GetIdToken().c_str(),
-                            ProviderNameEnum::AWSCognitoIDP, authenticationResult.GetExpiresIn()));
-                }
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = respondToAuthChallengeOutcome.GetError();
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnPasswordGrantMultiFactorConfirmSignInFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        confirmSignInJob->Start();
-    }
-
-    void AWSCognitoAuthenticationProvider::DeviceCodeGrantSignInAsync()
-    {
-        AZ_Assert(false, "Not supported");
-    }
-
-    void AWSCognitoAuthenticationProvider::DeviceCodeGrantConfirmSignInAsync()
-    {
-        AZ_Assert(false, "Not supported");
-    }
-
-    void AWSCognitoAuthenticationProvider::RefreshTokensAsync()
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* initiateAuthJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient]()
-        {
-            // Set Request parameters.
-            Aws::CognitoIdentityProvider::Model::InitiateAuthRequest initiateAuthRequest;
-            initiateAuthRequest.SetClientId(m_cognitoAppClientId.c_str());
-            initiateAuthRequest.SetAuthFlow(Aws::CognitoIdentityProvider::Model::AuthFlowType::REFRESH_TOKEN_AUTH);
-
-            // Set username and password for Password grant/ Initiate Auth flow.
-            Aws::Map<Aws::String, Aws::String> authParameters
-            {
-                {CognitoRefreshTokenAuthParamKey, GetAuthenticationTokens().GetRefreshToken().c_str()}
-            };
-            initiateAuthRequest.SetAuthParameters(authParameters);
-
-            Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome initiateAuthOutcome{ cognitoIdentityProviderClient->InitiateAuth(initiateAuthRequest) };
-            if (initiateAuthOutcome.IsSuccess())
-            {
-                Aws::CognitoIdentityProvider::Model::InitiateAuthResult initiateAuthResult{ initiateAuthOutcome.GetResult() };
-                if (initiateAuthResult.GetChallengeName() == Aws::CognitoIdentityProvider::Model::ChallengeNameType::NOT_SET)
-                {
-                    Aws::CognitoIdentityProvider::Model::AuthenticationResultType authenticationResult = initiateAuthResult.GetAuthenticationResult();
-                    UpdateTokens(authenticationResult);
-
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensSuccess,
-                        AuthenticationTokens(authenticationResult.GetAccessToken().c_str(),
-                            authenticationResult.GetRefreshToken().c_str(), authenticationResult.GetIdToken().c_str(),
-                            ProviderNameEnum::AWSCognitoIDP, authenticationResult.GetExpiresIn()));
-                }
-                else
-                {
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensFail
-                        , AZStd::string::format("Unexpected Challenge type: %s"
-                            , Aws::CognitoIdentityProvider::Model::ChallengeNameTypeMapper::GetNameForChallengeNameType(initiateAuthResult.GetChallengeName()).c_str()));
-                }
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = initiateAuthOutcome.GetError();
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        initiateAuthJob->Start();
-    }
-
-    // Call InitiateAuth for Cognito authentication flow.
-    // Refer https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html.
-    void AWSCognitoAuthenticationProvider::InitiateAuthInternalAsync(const AZStd::string& username, const AZStd::string& password
-        , AZStd::function<void(Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome)> outcomeCallback)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* initiateAuthJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient, username, password, outcomeCallback]()
-        {
-            // Set Request parameters.
-            Aws::CognitoIdentityProvider::Model::InitiateAuthRequest initiateAuthRequest;
-            initiateAuthRequest.SetClientId(m_cognitoAppClientId.c_str());
-            initiateAuthRequest.SetAuthFlow(Aws::CognitoIdentityProvider::Model::AuthFlowType::USER_PASSWORD_AUTH);
-
-            // Set username and password for Password grant/ Initiate Auth flow.
-            Aws::Map<Aws::String, Aws::String> authParameters
-            {
-                {CognitoUsernameKey, username.c_str()},
-                {CognitoPasswordKey, password.c_str()}
-            };
-            initiateAuthRequest.SetAuthParameters(authParameters);
-
-            Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome initiateAuthOutcome{ cognitoIdentityProviderClient->InitiateAuth(initiateAuthRequest) };
-            outcomeCallback(initiateAuthOutcome);
-        }, true, jobContext);
-        initiateAuthJob->Start();
-    }
-
-    void AWSCognitoAuthenticationProvider::UpdateTokens(const Aws::CognitoIdentityProvider::Model::AuthenticationResultType& authenticationResult)
-    {
-        // Storing authentication tokens in memory can be a security concern. The access token and id token are not actually in use by
-        // the authentication provider and shouldn't be stored in the member variable.
-        m_authenticationTokens = AuthenticationTokens("", authenticationResult.GetRefreshToken().c_str(),
-            "", ProviderNameEnum::AWSCognitoIDP,
-            authenticationResult.GetExpiresIn());
-    }
-} // namespace AWSClientAuth

+ 0 - 44
Gems/AWSClientAuth/Code/Source/Authentication/AWSCognitoAuthenticationProvider.h

@@ -1,44 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <Authentication/AuthenticationProviderInterface.h>
-#include <Authentication/AuthenticationProviderTypes.h>
-#include <aws/core/utils/Outcome.h>
-#include <aws/cognito-idp/CognitoIdentityProviderClient.h>
-
-namespace AWSClientAuth
-{
-    //! Implements AWS Cognito User pool authentication
-    class AWSCognitoAuthenticationProvider
-        : public AuthenticationProviderInterface
-    {
-    public:
-        AWSCognitoAuthenticationProvider() = default;
-        virtual ~AWSCognitoAuthenticationProvider() = default;
-
-       // AuthenticationProviderInterface overrides
-       bool Initialize() override;
-       void PasswordGrantSingleFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) override;
-       void PasswordGrantMultiFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) override;
-       void PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& username, const AZStd::string& confirmationCode) override;
-       void DeviceCodeGrantSignInAsync() override;
-       void DeviceCodeGrantConfirmSignInAsync() override;
-       void RefreshTokensAsync() override;
-
-    private:
-        void InitiateAuthInternalAsync(const AZStd::string& username, const AZStd::string& password
-            , AZStd::function<void(Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome)> outcomeCallback);
-        void UpdateTokens(const Aws::CognitoIdentityProvider::Model::AuthenticationResultType& authenticationResult);
-
-    protected:
-        AZStd::string m_session;
-        AZStd::string m_cognitoAppClientId;
-    };
-
-} // namespace AWSClientAuth

+ 0 - 128
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationNotificationBusBehaviorHandler.h

@@ -1,128 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <Authentication/AuthenticationProviderBus.h>
-#include <AzCore/Component/TickBus.h>
-
-namespace AWSClientAuth
-{
-    //! Authentication behavior EBus handler
-    class AuthenticationNotificationBusBehaviorHandler
-        : public AuthenticationProviderNotificationBus::Handler
-        , public AZ::BehaviorEBusHandler
-    {
-    public:
-        AZ_EBUS_BEHAVIOR_BINDER(
-            AuthenticationNotificationBusBehaviorHandler, "{221D74E0-B55A-4086-8B83-B52070A57217}", AZ::SystemAllocator,
-                OnPasswordGrantSingleFactorSignInSuccess, OnPasswordGrantSingleFactorSignInFail,
-                OnPasswordGrantMultiFactorSignInSuccess, OnPasswordGrantMultiFactorSignInFail,
-                OnPasswordGrantMultiFactorConfirmSignInSuccess, OnPasswordGrantMultiFactorConfirmSignInFail,
-                OnDeviceCodeGrantSignInSuccess, OnDeviceCodeGrantSignInFail,
-                OnDeviceCodeGrantConfirmSignInSuccess, OnDeviceCodeGrantConfirmSignInFail,
-                OnRefreshTokensSuccess, OnRefreshTokensFail
-            );
-
-        void OnPasswordGrantSingleFactorSignInSuccess(const AuthenticationTokens& authenticationToken) override
-        {
-            AZ::TickBus::QueueFunction([authenticationToken, this]()
-            {
-                Call(FN_OnPasswordGrantSingleFactorSignInSuccess, authenticationToken);
-            });
-        }
-
-        void OnPasswordGrantSingleFactorSignInFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]()
-            {
-                Call(FN_OnPasswordGrantSingleFactorSignInFail, error);
-            });
-        }
-
-        void OnPasswordGrantMultiFactorSignInSuccess() override
-        {
-            AZ::TickBus::QueueFunction([this]()
-            {
-                Call(FN_OnPasswordGrantMultiFactorSignInSuccess);
-            });
-        }
-
-        void OnPasswordGrantMultiFactorSignInFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]()
-            {
-                Call(FN_OnPasswordGrantMultiFactorSignInFail, error);
-            });
-        }
-
-        void OnPasswordGrantMultiFactorConfirmSignInSuccess(const AuthenticationTokens& authenticationToken) override
-        {
-            AZ::TickBus::QueueFunction([authenticationToken, this]()
-            {
-                Call(FN_OnPasswordGrantMultiFactorConfirmSignInSuccess, authenticationToken);
-            });
-        }
-
-        void OnPasswordGrantMultiFactorConfirmSignInFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]()
-            {
-                Call(FN_OnPasswordGrantMultiFactorConfirmSignInFail, error);
-            });
-        }
-
-        void OnDeviceCodeGrantSignInSuccess(
-            const AZStd::string& userCode, const AZStd::string& verificationUrl, const int codeExpiresInSeconds) override
-        {
-            AZ::TickBus::QueueFunction([userCode, verificationUrl, codeExpiresInSeconds, this]()
-            {
-                Call(FN_OnDeviceCodeGrantSignInSuccess, userCode, verificationUrl, codeExpiresInSeconds);
-            });
-        }
-
-        void OnDeviceCodeGrantSignInFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]()
-            {
-                Call(FN_OnDeviceCodeGrantSignInFail, error);
-            });
-        }
-
-        void OnDeviceCodeGrantConfirmSignInSuccess(const AuthenticationTokens& authenticationToken) override
-        {
-            AZ::TickBus::QueueFunction([authenticationToken, this]()
-            {
-                Call(FN_OnDeviceCodeGrantConfirmSignInSuccess, authenticationToken);
-            });
-        }
-
-        void OnDeviceCodeGrantConfirmSignInFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]()
-            {
-                Call(FN_OnDeviceCodeGrantConfirmSignInFail, error);
-            });
-        }
-
-        void OnRefreshTokensSuccess(const AuthenticationTokens& authenticationToken) override
-        {
-            AZ::TickBus::QueueFunction([authenticationToken, this]()
-            {
-                Call(FN_OnRefreshTokensSuccess, authenticationToken);
-            });
-        }
-
-        void OnRefreshTokensFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]()
-            {
-                Call(FN_OnRefreshTokensFail, error);
-            });
-        }
-    };
-} // namespace AWSClientAuth

+ 0 - 24
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderInterface.cpp

@@ -1,24 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <Authentication/AuthenticationProviderInterface.h>
-
-namespace AWSClientAuth
-{  
-    AuthenticationTokens AuthenticationProviderInterface::GetAuthenticationTokens()
-    {
-        return m_authenticationTokens;
-    }
-
-    void AuthenticationProviderInterface::SignOut()
-    {
-        m_authenticationTokens = AuthenticationTokens();
-    }
-
-   
-} // namespace AWSClientAuth

+ 0 - 62
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderInterface.h

@@ -1,62 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/Settings/SettingsRegistry.h>
-#include <AzCore/std/smart_ptr/weak_ptr.h>
-#include <Authentication/AuthenticationTokens.h>
-
-namespace AWSClientAuth
-{
-
-    //! Interface to be implemented by AuthenticationProviders to interact with AuthenticationManager.
-    //! Follows grant types for password and device from following: https://oauth.net/2/grant-types/
-    class AuthenticationProviderInterface
-    {
-    public:
-        AuthenticationProviderInterface() = default;
-        virtual ~AuthenticationProviderInterface() = default;
-      
-        //! Extract required settings for the provider from setting registry.
-        //! @return bool True: if provider can parse required settings and validate. False: fails to parse required settings.
-        virtual bool Initialize() = 0;
-
-        //! Call sign in endpoint for provider password grant flow.
-        //! @param username Username to use to for sign in.
-        //! @param password Password to use to for sign in.
-        virtual void PasswordGrantSingleFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) = 0;
-
-        //! Call sign in endpoint for provider password grant multi factor authentication flow.
-        //! @param username Username to use for MFA sign in.
-        //! @param password Password to use for MFA sign in.
-        virtual void PasswordGrantMultiFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) = 0;
-
-        //! Call confirm endpoint for provider password grant multi factor authentication flow .
-        //! @param username Username to use for MFA confirm.
-        //! @param confirmationCode Confirmation code (sent to email/text) to use for MFA confirm.
-        virtual void PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& username, const AZStd::string& confirmationCode) = 0;
-
-        //! Call code-pair endpoint for provider device grant flow.
-        virtual void DeviceCodeGrantSignInAsync() = 0;
-
-        //! Call tokens endpoint for provider device grant flow.
-        virtual void DeviceCodeGrantConfirmSignInAsync() = 0;
-
-        //! Call refresh endpoint for provider refresh grant flow.
-        virtual void RefreshTokensAsync() = 0;
-
-        //! @return Authentication tokens from last successful sign in.
-        virtual AuthenticationTokens GetAuthenticationTokens();
-
-        //! Clears all cached tokens and expiry
-        virtual void SignOut();
-
-    protected:
-        AuthenticationTokens m_authenticationTokens;
-    };
-} // namespace AWSClientAuth

+ 0 - 247
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderManager.cpp

@@ -1,247 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <AzCore/IO/FileIO.h>
-
-#include <Authentication/AuthenticationProviderTypes.h>
-#include <Authentication/AWSCognitoAuthenticationProvider.h>
-#include <Authentication/LWAAuthenticationProvider.h>
-#include <Authentication/GoogleAuthenticationProvider.h>
-#include <Authentication/AuthenticationProviderManager.h>
-
-namespace AWSClientAuth
-{
-    AuthenticationProviderManager::AuthenticationProviderManager()
-    {
-        AZ::Interface<IAuthenticationProviderRequests>::Register(this);
-        AuthenticationProviderRequestBus::Handler::BusConnect();
-        AuthenticationProviderScriptCanvasRequestBus::Handler::BusConnect();
-    }
-
-    AuthenticationProviderManager::~AuthenticationProviderManager()
-    {
-        ResetProviders();
-        AuthenticationProviderScriptCanvasRequestBus::Handler::BusDisconnect();
-        AuthenticationProviderRequestBus::Handler::BusDisconnect();
-        AZ::Interface<IAuthenticationProviderRequests>::Unregister(this);
-    }
-
-    bool AuthenticationProviderManager::Initialize(const AZStd::vector<ProviderNameEnum>& providerNames)
-    {
-        ResetProviders();
-
-        bool initializeSuccess = true;
-
-        for (auto providerName : providerNames)
-        {
-            m_authenticationProvidersMap[providerName] = CreateAuthenticationProviderObject(providerName);
-            initializeSuccess = initializeSuccess && m_authenticationProvidersMap[providerName]->Initialize();
-        }
-
-        return initializeSuccess;
-    }
-
-    void AuthenticationProviderManager::PasswordGrantSingleFactorSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& password)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            m_authenticationProvidersMap[providerName]->PasswordGrantSingleFactorSignInAsync(username, password);
-        }
-    }
-
-    void AuthenticationProviderManager::PasswordGrantMultiFactorSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& password)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            m_authenticationProvidersMap[providerName]->PasswordGrantMultiFactorSignInAsync(username, password);
-        }
-    }
-
-    void AuthenticationProviderManager::PasswordGrantMultiFactorConfirmSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& confirmationCode)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            m_authenticationProvidersMap[providerName]->PasswordGrantMultiFactorConfirmSignInAsync(username, confirmationCode);
-        }
-    }
-
-    void AuthenticationProviderManager::DeviceCodeGrantSignInAsync(const ProviderNameEnum& providerName)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            m_authenticationProvidersMap[providerName]->DeviceCodeGrantSignInAsync();
-        }
-    }
-
-    void AuthenticationProviderManager::DeviceCodeGrantConfirmSignInAsync(const ProviderNameEnum& providerName)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            m_authenticationProvidersMap[providerName]->DeviceCodeGrantConfirmSignInAsync();
-        }
-    }
-
-    void AuthenticationProviderManager::RefreshTokensAsync(const ProviderNameEnum& providerName)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            m_authenticationProvidersMap[providerName]->RefreshTokensAsync();
-        }
-    }
-
-    void AuthenticationProviderManager::GetTokensWithRefreshAsync(const ProviderNameEnum& providerName)
-    {
-        if (!IsProviderInitialized(providerName))
-        {
-            AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensFail
-                , "Provider is not initialized");
-                return;
-        }
-
-        AuthenticationTokens tokens = m_authenticationProvidersMap[providerName]->GetAuthenticationTokens();
-        if (tokens.AreTokensValid())
-        {
-            AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensSuccess, tokens);
-        }
-        else
-        {
-            m_authenticationProvidersMap[providerName]->RefreshTokensAsync();
-        }
-    }
-
-    bool AuthenticationProviderManager::IsSignedIn(const ProviderNameEnum& providerName)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            return m_authenticationProvidersMap[providerName]->GetAuthenticationTokens().AreTokensValid();
-        }
-        return false;
-    }
-
-    bool AuthenticationProviderManager::SignOut(const ProviderNameEnum& providerName)
-    {
-        if (IsProviderInitialized(providerName))
-        {
-            m_authenticationProvidersMap[providerName]->SignOut();
-            AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnSignOut, providerName);
-            return true;
-        }
-        return false;
-    }
-
-    AuthenticationTokens AuthenticationProviderManager::GetAuthenticationTokens(const ProviderNameEnum& providerName)
-    {
-        return m_authenticationProvidersMap[providerName]->GetAuthenticationTokens();
-    }
-
-    AZStd::unique_ptr<AuthenticationProviderInterface> AuthenticationProviderManager::CreateAuthenticationProviderObject(const ProviderNameEnum& providerName)
-    {
-        switch (providerName)
-        {
-        case ProviderNameEnum::AWSCognitoIDP:
-            return AZStd::make_unique<AWSCognitoAuthenticationProvider>();
-        case ProviderNameEnum::LoginWithAmazon:
-            return AZStd::make_unique<LWAAuthenticationProvider>();
-        case ProviderNameEnum::Google:
-            return AZStd::make_unique<GoogleAuthenticationProvider>();
-        default:
-            return nullptr;
-
-        }
-    }
-
-    bool AuthenticationProviderManager::IsProviderInitialized(const ProviderNameEnum& providerName)
-    {
-        bool ret = m_authenticationProvidersMap.contains(providerName);
-        AZ_Assert(ret, "ProviderName enum %i not initialized. Please call initialize first");
-        return ret;
-    }
-
-    void AuthenticationProviderManager::ResetProviders()
-    {
-        for (auto& [providerName, providerInterface] : m_authenticationProvidersMap)
-        {
-            providerInterface.reset();
-        }
-    }
-
-    ProviderNameEnum AuthenticationProviderManager::GetProviderNameEnum(AZStd::string name)
-    {
-        auto enumValue = ProviderNameEnumNamespace::FromStringToProviderNameEnum(name);
-        if (enumValue.has_value())
-        {
-            return enumValue.value();
-        }
-        AZ_Warning("AuthenticationProviderManager", false, "Incorrect string value for enum: %s", name.c_str());
-        return ProviderNameEnum::None;
-    }
-
-    bool AuthenticationProviderManager::Initialize(
-        const AZStd::vector<AZStd::string>& providerNames)
-    {
-        AZStd::vector<ProviderNameEnum> providerNamesEnum;
-        for (auto name : providerNames)
-        {
-            providerNamesEnum.push_back(GetProviderNameEnum(name));
-        }
-        return Initialize(providerNamesEnum);
-    }
-
-    void AuthenticationProviderManager::PasswordGrantSingleFactorSignInAsync(const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& password)
-    {
-        PasswordGrantSingleFactorSignInAsync(GetProviderNameEnum(providerName), username, password);
-    }
-
-    void AuthenticationProviderManager::PasswordGrantMultiFactorSignInAsync(const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& password)
-    {
-        PasswordGrantMultiFactorSignInAsync(GetProviderNameEnum(providerName), username, password);
-    }
-
-    void AuthenticationProviderManager::PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& confirmationCode)
-    {
-        PasswordGrantMultiFactorConfirmSignInAsync(GetProviderNameEnum(providerName), username, confirmationCode);
-    }
-
-    void AuthenticationProviderManager::DeviceCodeGrantSignInAsync(const AZStd::string& providerName)
-    {
-        DeviceCodeGrantSignInAsync(GetProviderNameEnum(providerName));
-    }
-
-    void AuthenticationProviderManager::DeviceCodeGrantConfirmSignInAsync(const AZStd::string& providerName)
-    {
-        DeviceCodeGrantConfirmSignInAsync(GetProviderNameEnum(providerName));
-    }
-
-    void AuthenticationProviderManager::RefreshTokensAsync(const AZStd::string& providerName)
-    {
-        RefreshTokensAsync(GetProviderNameEnum(providerName));
-    }
-
-    void AuthenticationProviderManager::GetTokensWithRefreshAsync(const AZStd::string& providerName)
-    {
-        GetTokensWithRefreshAsync(GetProviderNameEnum(providerName));
-    }
-
-    bool AuthenticationProviderManager::IsSignedIn(const AZStd::string& providerName)
-    {
-        return IsSignedIn(GetProviderNameEnum(providerName));
-    }
-
-    bool AuthenticationProviderManager::SignOut(const AZStd::string& providerName)
-    {
-        return SignOut(GetProviderNameEnum(providerName));
-    }
-
-    AuthenticationTokens AuthenticationProviderManager::GetAuthenticationTokens(const AZStd::string& providerName)
-    {
-        return GetAuthenticationTokens(GetProviderNameEnum(providerName));
-    }
-
-} // namespace AWSClientAuth
-

+ 0 - 70
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderManager.h

@@ -1,70 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <AzCore/std/smart_ptr/unique_ptr.h>
-#include <AzCore/std/containers/map.h>
-#include <AzCore/std/containers/vector.h>
-#include <Authentication/AuthenticationProviderBus.h>
-#include <Authentication/AuthenticationProviderScriptCanvasBus.h>
-#include <Authentication/AuthenticationProviderInterface.h>
-#include <Authentication/AuthenticationTokens.h>
-
-namespace AWSClientAuth
-{
-     //! Manages various authentication provider implementations and implements AuthenticationProvider Request bus.
-    class AuthenticationProviderManager
-        : public AuthenticationProviderRequestBus::Handler
-        , public AuthenticationProviderScriptCanvasRequestBus::Handler
-    {
-    public:
-        AZ_RTTI(AuthenticationProviderManager, "{45813BA5-9A46-4A2A-A923-C79CFBA0E63D}", IAuthenticationProviderRequests);
-        AuthenticationProviderManager();
-        virtual ~AuthenticationProviderManager();
-
-    protected:
-        // AuthenticationProviderRequestsBus Interface
-        bool Initialize(const AZStd::vector<ProviderNameEnum>& providerNames) override;
-        void PasswordGrantSingleFactorSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorConfirmSignInAsync(const ProviderNameEnum& providerName, const AZStd::string& username, const AZStd::string& confirmationCode) override;
-        void DeviceCodeGrantSignInAsync(const ProviderNameEnum& providerName) override;
-        void DeviceCodeGrantConfirmSignInAsync(const ProviderNameEnum& providerName) override;
-        void RefreshTokensAsync(const ProviderNameEnum& providerName) override;
-        void GetTokensWithRefreshAsync(const ProviderNameEnum& providerName) override;
-        bool IsSignedIn(const ProviderNameEnum& providerName) override;
-        bool SignOut(const ProviderNameEnum& providerName) override;
-        AuthenticationTokens GetAuthenticationTokens(const ProviderNameEnum& providerName) override;
-        
-        // AuthenticationProviderScriptCanvasRequest interface
-        bool Initialize(const AZStd::vector<AZStd::string>& providerNames) override;
-        void PasswordGrantSingleFactorSignInAsync(
-            const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorSignInAsync(
-            const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorConfirmSignInAsync(
-            const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& confirmationCode) override;
-        void DeviceCodeGrantSignInAsync(const AZStd::string& providerName) override;
-        void DeviceCodeGrantConfirmSignInAsync(const AZStd::string& providerName) override;
-        void RefreshTokensAsync(const AZStd::string& providerName) override;
-        void GetTokensWithRefreshAsync(const AZStd::string& providerName) override;
-        bool IsSignedIn(const AZStd::string& providerName) override;
-        bool SignOut(const AZStd::string& providerName) override;
-        AuthenticationTokens GetAuthenticationTokens(const AZStd::string& providerName) override;
-
-        virtual AZStd::unique_ptr<AuthenticationProviderInterface> CreateAuthenticationProviderObject(const ProviderNameEnum& providerName);
-        AZStd::map<ProviderNameEnum, AZStd::unique_ptr<AuthenticationProviderInterface>> m_authenticationProvidersMap;
-
-    private:
-        bool IsProviderInitialized(const ProviderNameEnum& providerName);
-        void ResetProviders();
-        ProviderNameEnum GetProviderNameEnum(AZStd::string name);
-    };
-
-} // namespace AWSClientAuth

+ 0 - 98
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderScriptCanvasBus.h

@@ -1,98 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/EBus/EBus.h>
-#include <Authentication/AuthenticationTokens.h>
-
-namespace AWSClientAuth
-{
-    //! Abstract class for authentication provider script canvas requests.
-    //! Private class to allow provide names to be string type instead of an enum as behavior context does not work well with enum's.
-    class IAuthenticationProviderScriptCanvasRequests
-    {
-    public:
-        AZ_TYPE_INFO(IAuthenticationProviderScriptCanvasRequests, "{A8FD915F-9FF2-4BA3-8AA0-8CF7A94A323B}");
-
-        //! Parse the settings file for required settings for authentication providers. Instantiate and initialize authentication providers
-        //! @param providerNames List of provider names to instantiate and initialize for Authentication.
-        //! @return bool True: if all providers initialized successfully. False: If any provider fails initialization.
-        virtual bool Initialize(const AZStd::vector<AZStd::string>& providerNames) = 0;
-
-        //! Checks if user is signed in.
-        //! If access tokens are available and not expired.
-        //! @param providerName Provider to check signed in for
-        //! @return bool True if valid access token available, else False
-        virtual bool IsSignedIn(const AZStd::string& providerName) = 0;
-
-        //! Get cached tokens from last last successful sign-in for the provider.
-        //! @param providerName Provider to get authentication tokens
-        //! @return AuthenticationTokens tokens from successful authentication.
-        virtual AuthenticationTokens GetAuthenticationTokens(const AZStd::string& providerName) = 0;
-
-        // Below methods have corresponding notifications for success and failures.
-
-        //! Call sign in endpoint for provider password grant flow.
-        //! @param providerName Provider to call sign in.
-        //! @param username Username to use to for sign in.
-        //! @param password Password to use to for sign in.
-        virtual void PasswordGrantSingleFactorSignInAsync(const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& password) = 0;
-
-        //! Call sign in endpoint for provider password grant multi factor authentication flow.
-        //! @param providerName Provider to call MFA sign in.
-        //! @param username Username to use for MFA sign in.
-        //! @param password Password to use for MFA sign in.
-        virtual void PasswordGrantMultiFactorSignInAsync(const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& password) = 0;
-
-        //! Call confirm endpoint for provider password grant multi factor authentication flow .
-        //! @param providerName Provider to call MFA confirm sign in.
-        //! @param username Username to use for MFA confirm.
-        //! @param confirmationCode Confirmation code (sent to email/text) to use for MFA confirm.
-        virtual void PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& providerName, const AZStd::string& username, const AZStd::string& confirmationCode) = 0;
-
-        //! Call code-pair endpoint for provider device grant flow.
-        //! @param providerName Provider to call device sign in.
-        virtual void DeviceCodeGrantSignInAsync(const AZStd::string& providerName) = 0;
-
-        //! Call tokens endpoint for provider device grant flow.
-        //! @param providerName Provider to call device confirm sign in.
-        virtual void DeviceCodeGrantConfirmSignInAsync(const AZStd::string& providerName) = 0;
-
-        //! Call refresh endpoint for provider refresh grant flow.
-        //! @param providerName Provider to call refresh tokens.
-        virtual void RefreshTokensAsync(const AZStd::string& providerName) = 0;
-
-        //! Call refresh token if token not valid. If token valid, fires corresponding event.
-        //! @param providerName Provider to get access token for.
-        //! events: OnRefreshTokensSuccess, OnRefreshTokensFail
-        virtual void GetTokensWithRefreshAsync(const AZStd::string& providerName) = 0;
-
-        //! Signs user out.
-        //! Clears all cached tokens.
-        //! @param providerName Provider to sign out.
-        //! @return bool True: Successfully sign out.
-        virtual bool SignOut(const AZStd::string& providerName) = 0;
-
-        //////////////////////////////////////////////////////////////////////////
-    };
-
-    //! Authentication Request bus for different supported providers.
-    class AuthenticationProviderScriptCanvasRequests
-        : public AZ::EBusTraits
-    {
-    public:
-        //////////////////////////////////////////////////////////////////////////
-        // EBusTraits overrides
-        using MutexType = AZ::NullMutex;
-        static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
-        static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-        //////////////////////////////////////////////////////////////////////////
-    };
-    using AuthenticationProviderScriptCanvasRequestBus = AZ::EBus<IAuthenticationProviderScriptCanvasRequests, AuthenticationProviderScriptCanvasRequests>;
-
-} // namespace AWSClientAuth

+ 0 - 75
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderTypes.h

@@ -1,75 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <AzCore/Serialization/EditContext.h>
-
-namespace AWSClientAuth
-{
-    constexpr char ProvideNameEnumStringNone[] = "None";
-    constexpr char ProvideNameEnumStringAWSCognitoIDP[] = "AWSCognitoIDP";
-    constexpr char ProvideNameEnumStringLoginWithAmazon[] = "LoginWithAmazon";
-    constexpr char ProvideNameEnumStringGoogle[] = "Google";
-    constexpr char ProvideNameEnumStringApple[] = "Apple";
-    constexpr char ProvideNameEnumStringFacebook[] = "Facebook";
-    constexpr char ProvideNameEnumStringTwitch[] = "Twitch";
-    
-    //! Holds Login with Amazon provider serialized settings
-    class LWAProviderSetting
-    {
-    public:
-        LWAProviderSetting() = default;
-
-        ~LWAProviderSetting() = default;
-
-        AZ_TYPE_INFO(LWAProviderSetting, "{AA7A0B0E-626B-4D87-B862-8961BA0C843E}");
-
-        AZStd::string m_appClientId;
-        AZStd::string m_responseType;
-        AZStd::string m_grantType;
-        AZStd::string m_oAuthCodeURL;
-        AZStd::string m_oAuthTokensURL;
-
-        static void Reflect(AZ::SerializeContext& context)
-        {
-            context.Class<LWAProviderSetting>()
-                ->Field("AppClientId", &LWAProviderSetting::m_appClientId)
-                ->Field("ResponseType", &LWAProviderSetting::m_responseType)
-                ->Field("GrantType", &LWAProviderSetting::m_grantType)
-                ->Field("OAuthCodeURL", &LWAProviderSetting::m_oAuthCodeURL)
-                ->Field("OAuthTokensURL", &LWAProviderSetting::m_oAuthTokensURL);
-        }
-    };
-
-    //! Holds Google provider serialized settings
-    class GoogleProviderSetting
-    {
-    public:
-        GoogleProviderSetting() = default;
-
-        ~GoogleProviderSetting() = default;
-
-        AZ_TYPE_INFO(GoogleProviderSetting, "{C501E0DB-EEA5-4BC9-8E2E-CAE037AEE95F}");
-
-        AZStd::string m_appClientId;
-        AZStd::string m_clientSecret;
-        AZStd::string m_grantType;
-        AZStd::string m_oAuthCodeURL;
-        AZStd::string m_oAuthTokensURL;
-
-        static void Reflect(AZ::SerializeContext& context)
-        {
-            context.Class<GoogleProviderSetting>()
-                ->Field("AppClientId", &GoogleProviderSetting::m_appClientId)
-                ->Field("ClientSecret", &GoogleProviderSetting::m_clientSecret)
-                ->Field("GrantType", &GoogleProviderSetting::m_grantType)
-                ->Field("OAuthCodeURL", &GoogleProviderSetting::m_oAuthCodeURL)
-                ->Field("OAuthTokensURL", &GoogleProviderSetting::m_oAuthTokensURL);
-        }
-    };
-} // namespace AWSClientAuth

+ 0 - 104
Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationTokens.cpp

@@ -1,104 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <Authentication/AuthenticationTokens.h>
-
-namespace AWSClientAuth
-{
-    //! Used to share authentication tokens to caller and to AWSCognitoAuthorizationController.
-
-    AuthenticationTokens::AuthenticationTokens()
-    {
-        m_tokensExpireTimeStamp = AZStd::chrono::steady_clock::time_point::min();
-        m_providerName = ProviderNameEnum::None;
-    }
-
-    AuthenticationTokens::AuthenticationTokens(const AuthenticationTokens& other)
-        : m_accessToken(other.m_accessToken)
-        , m_refreshToken(other.m_refreshToken)
-        , m_openIdToken(other.m_openIdToken)
-        , m_providerName(other.m_providerName)
-        , m_tokensExpireTimeSeconds(other.m_tokensExpireTimeSeconds)
-        , m_tokensExpireTimeStamp(other.m_tokensExpireTimeStamp)
-    {
-    }
-
-    AuthenticationTokens::AuthenticationTokens(
-        const AZStd::string& accessToken, const AZStd::string& refreshToken, const AZStd::string& openIdToken, const ProviderNameEnum& providerName, int tokensExpireTimeSeconds)
-        : m_accessToken(accessToken)
-        , m_refreshToken(refreshToken)
-        , m_openIdToken(openIdToken)
-        , m_providerName(providerName)
-        , m_tokensExpireTimeSeconds(tokensExpireTimeSeconds)
-        , m_tokensExpireTimeStamp(AZStd::chrono::steady_clock::now() + AZStd::chrono::seconds(tokensExpireTimeSeconds))
-    {
-    }
-
-    //! Compares current time stamp to expired time stamp.
-    //! @return True if current TS less than expiry TS.
-    bool AuthenticationTokens::AreTokensValid() const
-    {
-        return AZStd::chrono::steady_clock::now() < m_tokensExpireTimeStamp;
-    }
-
-    //! @return Open id token from authentication.
-    AZStd::string AuthenticationTokens::GetOpenIdToken() const
-    {
-        return m_openIdToken;
-    }
-
-    //! @return Access token from authentication.
-    AZStd::string AuthenticationTokens::GetAccessToken() const
-    {
-        return m_accessToken;
-    }
-
-    //! @return Refresh token from authentication.
-    AZStd::string AuthenticationTokens::GetRefreshToken() const
-    {
-        return m_refreshToken;
-    }
-
-    //! @return Provide name for the tokens.
-    ProviderNameEnum AuthenticationTokens::GetProviderName() const
-    {
-        return m_providerName;
-    }
-
-    //! @return Expiration time in seconds.
-    int AuthenticationTokens::GetTokensExpireTimeSeconds() const
-    {
-        return m_tokensExpireTimeSeconds;
-    }
-
-    void AuthenticationTokens::Reflect(AZ::ReflectContext* context)
-    {
-        auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context);
-        if (serializeContext)
-        {
-            serializeContext->Class<AuthenticationTokens>()
-                ->Field("AccessToken", &AuthenticationTokens::m_accessToken)
-                ->Field("OpenIdToken", &AuthenticationTokens::m_openIdToken)
-                ->Field("RefreshToken", &AuthenticationTokens::m_refreshToken);
-        }
-
-        AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context);
-        if (behaviorContext)
-        {
-            behaviorContext->Class<AuthenticationTokens>()
-                ->Attribute(AZ::Script::Attributes::Category, "AWSClientAuth")
-                ->Attribute(AZ::Script::Attributes::Storage, AZ::Script::Attributes::StorageType::Value)
-                ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
-                ->Constructor()
-                ->Constructor<const AuthenticationTokens&>()
-                ->Property("AccessToken", BehaviorValueGetter(&AuthenticationTokens::m_accessToken), BehaviorValueSetter(&AuthenticationTokens::m_accessToken))
-                ->Property("OpenIdToken", BehaviorValueGetter(&AuthenticationTokens::m_openIdToken), BehaviorValueSetter(&AuthenticationTokens::m_accessToken))
-                ->Property("RefreshToken", BehaviorValueGetter(&AuthenticationTokens::m_refreshToken), BehaviorValueSetter(&AuthenticationTokens::m_accessToken));
-        }
-    }
-} // namespace AWSClientAuth

+ 0 - 184
Gems/AWSClientAuth/Code/Source/Authentication/GoogleAuthenticationProvider.cpp

@@ -1,184 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <Authentication/GoogleAuthenticationProvider.h>
-#include <Authentication/AuthenticationProviderBus.h>
-#include <Authentication/OAuthConstants.h>
-#include <HttpRequestor/HttpRequestorBus.h>
-#include <HttpRequestor/HttpTypes.h>
-
-#include <aws/core/http/HttpResponse.h>
-
-namespace AWSClientAuth
-{
-
-    constexpr char GoogleSettingsPath[] = "/AWS/Google";
-    constexpr char GoogleVerificationUrlResponseKey[] = "verification_url";
-
-    GoogleAuthenticationProvider::GoogleAuthenticationProvider()
-    {
-        m_settings = AZStd::make_unique<GoogleProviderSetting>();
-    }
-
-    GoogleAuthenticationProvider::~GoogleAuthenticationProvider()
-    {
-        m_settings.reset();
-    }
-
-    bool GoogleAuthenticationProvider::Initialize()
-    {
-        AZ::SettingsRegistryInterface* settingsRegistry = AZ::SettingsRegistry::Get();
-        if (!settingsRegistry)
-        {
-            AZ_Warning("AWSCognitoAuthenticationProvider", false, "Failed to load the setting registry");
-            return false;
-        }
-
-        if (!settingsRegistry->GetObject(m_settings.get(), azrtti_typeid(m_settings.get()), GoogleSettingsPath))
-        {
-            AZ_Warning("AWSCognitoAuthenticationProvider", false, "Failed to get Google settings object for path %s", GoogleSettingsPath);
-            return false;
-        }
-        return true;
-    }
-
-    void GoogleAuthenticationProvider::PasswordGrantSingleFactorSignInAsync(const AZStd::string& username, const AZStd::string& password)
-    {
-        AZ_UNUSED(username);
-        AZ_UNUSED(password);
-        AZ_Assert(false, "Not supported");
-    }
-
-    void GoogleAuthenticationProvider::PasswordGrantMultiFactorSignInAsync(const AZStd::string& username, const AZStd::string& password)
-    {
-        AZ_UNUSED(username);
-        AZ_UNUSED(password);
-        AZ_Assert(false, "Not supported");
-    }
-
-    void GoogleAuthenticationProvider::PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& username, const AZStd::string& confirmationCode)
-    {
-        AZ_UNUSED(username);
-        AZ_UNUSED(confirmationCode);
-        AZ_Assert(false, "Not supported");
-    }
-
-    // Call Google authentication provider device code end point.
-    // Refer https://developers.google.com/identity/protocols/oauth2/limited-input-device#step-1:-request-device-and-user-codes.
-    void GoogleAuthenticationProvider::DeviceCodeGrantSignInAsync()
-    {
-        AZStd::string body = AZStd::string::format("%s=%s&%s=%s", OAuthClientIdBodyKey, m_settings->m_appClientId.c_str()
-            , OAuthScopeBodyKey, OAuthScopeBodyValue);
-
-        // Set headers and body for device sign in http requests.
-        AZStd::map<AZStd::string, AZStd::string> headers;
-        headers[OAuthContentTypeHeaderKey] = OAuthContentTypeHeaderValue;
-        headers[OAuthContentLengthHeaderKey] = AZStd::to_string(body.length());
-
-        HttpRequestor::HttpRequestorRequestBus::Broadcast(&HttpRequestor::HttpRequestorRequests::AddRequestWithHeadersAndBody, m_settings->m_oAuthCodeURL
-            , Aws::Http::HttpMethod::HTTP_POST, headers, body
-            , [this](const Aws::Utils::Json::JsonView& jsonView, Aws::Http::HttpResponseCode responseCode)
-            {
-                if (responseCode == Aws::Http::HttpResponseCode::OK)
-                {
-                    m_cachedDeviceCode = jsonView.GetString(OAuthDeviceCodeBodyKey).c_str();
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnDeviceCodeGrantSignInSuccess
-                        , jsonView.GetString(OAuthUserCodeResponseKey).c_str(), jsonView.GetString(GoogleVerificationUrlResponseKey).c_str()
-                        , jsonView.GetInteger(OAuthExpiresInResponseKey));
-                }
-                else
-                {
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnDeviceCodeGrantSignInFail
-                        , jsonView.GetString(OAuthErrorResponseKey).c_str());
-                }
-            }
-        );
-    }
-
-
-    // Call Google authentication provider OAuth tokens endpoint
-    // Refer https://developers.google.com/identity/protocols/oauth2/limited-input-device#step-4:-poll-googles-authorization-server.
-    void GoogleAuthenticationProvider::DeviceCodeGrantConfirmSignInAsync()
-    {
-        // Set headers and body for device confirm sign in http requests.
-        AZStd::map<AZStd::string, AZStd::string> headers;
-        AZStd::string body = AZStd::string::format("%s=%s&%s=%s&%s=%s&%s=%s", OAuthClientIdBodyKey, m_settings->m_appClientId.c_str()
-            , OAuthClientSecretBodyKey, m_settings->m_clientSecret.c_str(), OAuthDeviceCodeBodyKey, m_cachedDeviceCode.c_str()
-            , OAuthGrantTypeBodyKey, m_settings->m_grantType.c_str());
- 
-        headers[OAuthContentTypeHeaderKey] = OAuthContentTypeHeaderValue;
-        headers[OAuthContentLengthHeaderKey] = AZStd::to_string(body.length());
-
-        HttpRequestor::HttpRequestorRequestBus::Broadcast(&HttpRequestor::HttpRequestorRequests::AddRequestWithHeadersAndBody, m_settings->m_oAuthTokensURL
-            , Aws::Http::HttpMethod::HTTP_POST, headers, body
-            , [this](const Aws::Utils::Json::JsonView& jsonView, Aws::Http::HttpResponseCode responseCode)
-            {
-                if (responseCode == Aws::Http::HttpResponseCode::OK)
-                {
-                    UpdateTokens(jsonView);
-
-                    AuthenticationProviderNotificationBus::Broadcast(
-                        &AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInSuccess,
-                        AuthenticationTokens(jsonView.GetString(OAuthAccessTokenResponseKey).c_str(),
-                            jsonView.GetString(OAuthRefreshTokenResponseKey).c_str(), jsonView.GetString(OAuthIdTokenResponseKey).c_str(),
-                            ProviderNameEnum::Google, jsonView.GetInteger(OAuthExpiresInResponseKey)));
-                }
-                else
-                {
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInFail
-                        , jsonView.GetString(OAuthErrorResponseKey).c_str());
-                }
-            }
-        );
-    }
-
-    // Call Google authentication provider OAuth tokens endpoint
-    // Refer https://developers.google.com/identity/protocols/oauth2/limited-input-device#offline.
-    void GoogleAuthenticationProvider::RefreshTokensAsync()
-    {
-        AZStd::map<AZStd::string, AZStd::string> headers;
-        AZStd::string body = AZStd::string::format("%s=%s&%s=%s&%s=%s&%s=%s", OAuthClientIdBodyKey, m_settings->m_appClientId.c_str()
-            , OAuthClientSecretBodyKey, m_settings->m_clientSecret.c_str()
-            , OAuthGrantTypeBodyKey, OAuthRefreshTokenBodyValue, OAuthRefreshTokenBodyKey, m_authenticationTokens.GetRefreshToken().c_str());
-
-        headers[OAuthContentTypeHeaderKey] = OAuthContentTypeHeaderValue;
-        headers[OAuthContentLengthHeaderKey] = AZStd::to_string(body.length());
-
-        HttpRequestor::HttpRequestorRequestBus::Broadcast(&HttpRequestor::HttpRequestorRequests::AddRequestWithHeadersAndBody, m_settings->m_oAuthTokensURL
-            , Aws::Http::HttpMethod::HTTP_POST, headers, body
-            , [this](const Aws::Utils::Json::JsonView& jsonView, Aws::Http::HttpResponseCode responseCode)
-        {
-            if (responseCode == Aws::Http::HttpResponseCode::OK)
-            {
-                UpdateTokens(jsonView);
-
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensSuccess,
-                    AuthenticationTokens(jsonView.GetString(OAuthAccessTokenResponseKey).c_str(),
-                        jsonView.GetString(OAuthRefreshTokenResponseKey).c_str() ,jsonView.GetString(OAuthIdTokenResponseKey).c_str(),
-                        ProviderNameEnum::Google, jsonView.GetInteger(OAuthExpiresInResponseKey)));
-            }
-            else
-            {
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensFail
-                    , jsonView.GetString(OAuthErrorResponseKey).c_str());
-            }
-        }
-        );
-    }
-
-    void GoogleAuthenticationProvider::UpdateTokens(const Aws::Utils::Json::JsonView& jsonView)
-    {
-        // Storing authentication tokens in memory can be a security concern. The access token and id token are not actually in use by
-        // the authentication provider and shouldn't be stored in the member variable.
-        m_authenticationTokens = AuthenticationTokens("",
-            jsonView.GetString(OAuthRefreshTokenResponseKey).c_str() ,"", ProviderNameEnum::Google
-            , jsonView.GetInteger(OAuthExpiresInResponseKey));
-    }
-
-} // namespace AWSClientAuth

+ 0 - 42
Gems/AWSClientAuth/Code/Source/Authentication/GoogleAuthenticationProvider.h

@@ -1,42 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <Authentication/AuthenticationProviderInterface.h>
-#include <Authentication/AuthenticationProviderTypes.h>
-#include <aws/core/utils/json/JsonSerializer.h>
-
-namespace AWSClientAuth
-{
-    //! Implements OAuth2.0 device flow for Google authentication service.
-    class GoogleAuthenticationProvider
-        : public AuthenticationProviderInterface
-    {
-    public:
-        GoogleAuthenticationProvider();
-        virtual ~GoogleAuthenticationProvider();
-
-        // AuthenticationProviderInterface overrides
-        bool Initialize() override;
-        void PasswordGrantSingleFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& username, const AZStd::string& confirmationCode) override;
-        void DeviceCodeGrantSignInAsync() override;
-        void DeviceCodeGrantConfirmSignInAsync() override;
-        void RefreshTokensAsync() override;
-
-    private:
-        void UpdateTokens(const Aws::Utils::Json::JsonView& jsonView);
-
-    protected:
-        AZStd::unique_ptr<GoogleProviderSetting> m_settings;
-
-    private:
-        AZStd::string m_cachedDeviceCode;
-    };
-} // namespace AWSClientAuth

+ 0 - 184
Gems/AWSClientAuth/Code/Source/Authentication/LWAAuthenticationProvider.cpp

@@ -1,184 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <Authentication/LWAAuthenticationProvider.h>
-#include <Authentication/AuthenticationProviderBus.h>
-#include <Authentication/OAuthConstants.h>
-#include <HttpRequestor/HttpRequestorBus.h>
-#include <HttpRequestor/HttpTypes.h>
-
-#include <aws/core/http/HttpResponse.h>
-
-namespace AWSClientAuth
-{
-    constexpr char LwaSettingsPath[] = "/AWS/LoginWithAmazon";    
-    constexpr char LwaVerificationUrlResponseKey[] = "verification_uri";
-
-    LWAAuthenticationProvider::LWAAuthenticationProvider()
-    {
-        m_settings = AZStd::make_unique<LWAProviderSetting>();
-    }
-
-    LWAAuthenticationProvider::~LWAAuthenticationProvider()
-    {
-        m_settings.reset();
-    }
-
-    bool LWAAuthenticationProvider::Initialize()
-    {
-        AZ::SettingsRegistryInterface* settingsRegistry = AZ::SettingsRegistry::Get();
-        if (!settingsRegistry)
-        {
-            AZ_Warning("AWSCognitoAuthenticationProvider", false, "Failed to load the setting registry");
-            return false;
-        }
-
-        if (!settingsRegistry->GetObject(m_settings.get(), azrtti_typeid(m_settings.get()), LwaSettingsPath))
-        {
-            AZ_Warning("AWSCognitoAuthenticationProvider", false, "Failed to get login with Amazon settings object for path %s", LwaSettingsPath);
-            return false;
-        }
-        return true;
-    }
-
-    void LWAAuthenticationProvider::PasswordGrantSingleFactorSignInAsync(const AZStd::string& username, const AZStd::string& password)
-    {
-        AZ_UNUSED(username);
-        AZ_UNUSED(password);
-        AZ_Assert(false, "Not supported");
-    }
-
-    void LWAAuthenticationProvider::PasswordGrantMultiFactorSignInAsync(const AZStd::string& username, const AZStd::string& password)
-    {
-        AZ_UNUSED(username);
-        AZ_UNUSED(password);
-        AZ_Assert(false, "Not supported");
-    }
-
-    void LWAAuthenticationProvider::PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& username, const AZStd::string& confirmationCode)
-    {
-        AZ_UNUSED(username);
-        AZ_UNUSED(confirmationCode);
-        AZ_Assert(false, "Not supported");
-    }
-
-    // Call LWA authentication provider device code end point.
-    // Refer https://developer.amazon.com/docs/login-with-amazon/retrieve-code-other-platforms-cbl-docs.html.
-    void LWAAuthenticationProvider::DeviceCodeGrantSignInAsync()
-    {
-        // Set headers and body for device sign in http requests.
-        AZStd::string body = AZStd::string::format("%s=%s&%s=%s&%s=%s", OAuthResponseTypeBodyKey, m_settings->m_responseType.c_str()
-            , OAuthClientIdBodyKey, m_settings->m_appClientId.c_str(), OAuthScopeBodyKey, OAuthScopeBodyValue);
-
-        AZStd::map<AZStd::string, AZStd::string> headers;
-        headers[OAuthContentTypeHeaderKey] = OAuthContentTypeHeaderValue;
-        headers[OAuthContentLengthHeaderKey] = AZStd::to_string(body.length());
-        
-        HttpRequestor::HttpRequestorRequestBus::Broadcast(&HttpRequestor::HttpRequestorRequests::AddRequestWithHeadersAndBody, m_settings->m_oAuthCodeURL
-            , Aws::Http::HttpMethod::HTTP_POST, headers, body
-            , [this](const Aws::Utils::Json::JsonView& jsonView, Aws::Http::HttpResponseCode responseCode)
-            {
-                if (responseCode == Aws::Http::HttpResponseCode::OK)
-                {
-                    m_cachedUserCode = jsonView.GetString(OAuthUserCodeResponseKey).c_str();
-                    m_cachedDeviceCode = jsonView.GetString(OAuthDeviceCodeBodyKey).c_str();
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnDeviceCodeGrantSignInSuccess
-                        , jsonView.GetString(OAuthUserCodeResponseKey).c_str()
-                        , jsonView.GetString(LwaVerificationUrlResponseKey).c_str()
-                        , jsonView.GetInteger(OAuthExpiresInResponseKey));
-                }
-                else
-                {
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnDeviceCodeGrantSignInFail
-                        , jsonView.GetString(OAuthErrorResponseKey).c_str());
-                }
-            }
-        );
-    }
-
-    // Call LWA authentication provider OAuth tokens endpoint
-    // Refer https://developer.amazon.com/docs/login-with-amazon/retrieve-token-other-platforms-cbl-docs.html
-    void LWAAuthenticationProvider::DeviceCodeGrantConfirmSignInAsync()
-    {
-        // Set headers and body for device confirm sign in http requests.
-        AZStd::string body = AZStd::string::format("%s=%s&%s=%s&%s=%s", OAuthUserCodeResponseKey, m_cachedUserCode.c_str()
-            , OAuthGrantTypeBodyKey, m_settings->m_grantType.c_str(), OAuthDeviceCodeBodyKey, m_cachedDeviceCode.c_str());
-
-        AZStd::map<AZStd::string, AZStd::string> headers;
-        headers[OAuthContentTypeHeaderKey] = OAuthContentTypeHeaderValue;
-        headers[OAuthContentLengthHeaderKey] = AZStd::to_string(body.length());
-
-        HttpRequestor::HttpRequestorRequestBus::Broadcast(&HttpRequestor::HttpRequestorRequests::AddRequestWithHeadersAndBody, m_settings->m_oAuthTokensURL
-            , Aws::Http::HttpMethod::HTTP_POST, headers, body
-            , [this](const Aws::Utils::Json::JsonView& jsonView, Aws::Http::HttpResponseCode responseCode)
-            {
-                if (responseCode == Aws::Http::HttpResponseCode::OK)
-                {
-                    // Id and access token are the same.
-                    UpdateTokens(jsonView);
-
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInSuccess,
-                        AuthenticationTokens(jsonView.GetString(OAuthAccessTokenResponseKey).c_str(),
-                            jsonView.GetString(OAuthRefreshTokenResponseKey).c_str(), jsonView.GetString(OAuthAccessTokenResponseKey).c_str(),
-                            ProviderNameEnum::LoginWithAmazon, jsonView.GetInteger(OAuthExpiresInResponseKey)));
-                    m_cachedUserCode = "";
-                    m_cachedDeviceCode = "";
-                }
-                else
-                {
-                    AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInFail
-                        , jsonView.GetString("error").c_str());
-                }
-            }
-        );
-    }
-
-    void LWAAuthenticationProvider::RefreshTokensAsync()
-    {
-        // Set headers and body for device confirm sign in http requests.
-        AZStd::string body = AZStd::string::format("%s=%s&%s=%s&%s=%s", OAuthClientIdBodyKey, m_settings->m_appClientId.c_str(), OAuthGrantTypeBodyKey,
-            OAuthRefreshTokenBodyValue, OAuthRefreshTokenBodyKey, m_authenticationTokens.GetRefreshToken().c_str());
-
-        AZStd::map<AZStd::string, AZStd::string> headers;
-        headers[OAuthContentTypeHeaderKey] = OAuthContentTypeHeaderValue;
-        headers[OAuthContentLengthHeaderKey] = AZStd::to_string(body.length());
-
-        HttpRequestor::HttpRequestorRequestBus::Broadcast(&HttpRequestor::HttpRequestorRequests::AddRequestWithHeadersAndBody, m_settings->m_oAuthTokensURL
-            , Aws::Http::HttpMethod::HTTP_POST, headers, body
-            , [this](const Aws::Utils::Json::JsonView& jsonView, Aws::Http::HttpResponseCode responseCode)
-        {
-            if (responseCode == Aws::Http::HttpResponseCode::OK)
-            {
-                // Id and access token are the same.
-                UpdateTokens(jsonView);
-
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensSuccess,
-                    AuthenticationTokens(jsonView.GetString(OAuthAccessTokenResponseKey).c_str(),
-                        jsonView.GetString(OAuthRefreshTokenResponseKey).c_str(), jsonView.GetString(OAuthAccessTokenResponseKey).c_str(),
-                        ProviderNameEnum::LoginWithAmazon, jsonView.GetInteger(OAuthExpiresInResponseKey)));
-            }
-            else
-            {
-                AuthenticationProviderNotificationBus::Broadcast(&AuthenticationProviderNotifications::OnRefreshTokensFail
-                    , jsonView.GetString("error").c_str());
-            }
-        }
-        );
-    }
-
-    void LWAAuthenticationProvider::UpdateTokens(const Aws::Utils::Json::JsonView& jsonView)
-    {
-        // Storing authentication tokens in memory can be a security concern. The access token and id token are not actually in use by
-        // the authentication provider and shouldn't be stored in the member variable.
-        m_authenticationTokens = AuthenticationTokens("", jsonView.GetString(OAuthRefreshTokenResponseKey).c_str(),
-            "", ProviderNameEnum::LoginWithAmazon
-            , jsonView.GetInteger(OAuthExpiresInResponseKey));
-    }
-
-} // namespace AWSClientAuth

+ 0 - 43
Gems/AWSClientAuth/Code/Source/Authentication/LWAAuthenticationProvider.h

@@ -1,43 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <Authentication/AuthenticationProviderInterface.h>
-#include <Authentication/AuthenticationProviderTypes.h>
-#include <aws/core/utils/json/JsonSerializer.h>
-
-namespace AWSClientAuth
-{
-    //! Implements OAuth2.0 device flow for Login with Amazon authentication service.
-    class LWAAuthenticationProvider
-        : public AuthenticationProviderInterface
-    {
-    public:
-        LWAAuthenticationProvider();
-        virtual ~LWAAuthenticationProvider();
-
-        // AuthenticationProviderInterface overrides
-        bool Initialize() override;
-        void PasswordGrantSingleFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorSignInAsync(const AZStd::string& username, const AZStd::string& password) override;
-        void PasswordGrantMultiFactorConfirmSignInAsync(const AZStd::string& username, const AZStd::string& confirmationCode) override;
-        void DeviceCodeGrantSignInAsync() override;
-        void DeviceCodeGrantConfirmSignInAsync() override;
-        void RefreshTokensAsync() override;
-
-    private:
-        void UpdateTokens(const Aws::Utils::Json::JsonView& jsonView);
-
-    protected:
-        AZStd::unique_ptr<LWAProviderSetting> m_settings;
-
-    private:
-        AZStd::string m_cachedUserCode;
-        AZStd::string m_cachedDeviceCode;
-    };
-} // namespace AWSClientAuth

+ 0 - 34
Gems/AWSClientAuth/Code/Source/Authentication/OAuthConstants.h

@@ -1,34 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-
-namespace AWSClientAuth
-{
-    constexpr char OAuthClientIdBodyKey[] = "client_id";
-    constexpr char OAuthClientSecretBodyKey[] = "client_secret";
-    constexpr char OAuthDeviceCodeBodyKey[] = "device_code";
-    constexpr char OAuthScopeBodyKey[] = "scope";
-    constexpr char OAuthScopeBodyValue[] = "profile";
-    constexpr char OAuthGrantTypeBodyKey[] = "grant_type";
-    constexpr char OAuthRefreshTokenBodyKey[] = "refresh_token";
-    constexpr char OAuthRefreshTokenBodyValue[] = "refresh_token";
-    constexpr char OAuthResponseTypeBodyKey[] = "response_type";
-
-    constexpr char OAuthContentTypeHeaderKey[] = "Content-Type";
-    constexpr char OAuthContentTypeHeaderValue[] = "application/x-www-form-urlencoded";
-    constexpr char OAuthContentLengthHeaderKey[] = "Content-Length";
-
-    constexpr char OAuthUserCodeResponseKey[] = "user_code";
-    constexpr char OAuthIdTokenResponseKey[] = "id_token";
-    constexpr char OAuthAccessTokenResponseKey[] = "access_token";
-    constexpr char OAuthRefreshTokenResponseKey[] = "refresh_token";
-    constexpr char OAuthExpiresInResponseKey[] = "expires_in";
-    constexpr char OAuthErrorResponseKey[] = "error";
-
-} // namespace AWSClientAuth

+ 0 - 129
Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.cpp

@@ -1,129 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h>
-
-#include <AzCore/Debug/Trace.h>
-
-#include <aws/cognito-identity/CognitoIdentityClient.h>
-#include <aws/cognito-identity/model/GetCredentialsForIdentityRequest.h>
-#include <aws/cognito-identity/model/GetIdRequest.h>
-#include <aws/core/utils/Outcome.h>
-#include <aws/core/utils/logging/LogMacros.h>
-#include <aws/identity-management/auth/CognitoCachingCredentialsProvider.h>
-#include <aws/identity-management/auth/PersistentCognitoIdentityProvider.h>
-
-
-namespace AWSClientAuth
-{
-    static const char* AUTH_LOG_TAG = "AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider";
-    static const char* ANON_LOG_TAG = "AWSClientAuthCachingAnonymousCredsProvider";
-
-    // Modification of https://github.com/aws/aws-sdk-cpp/blob/main/aws-cpp-sdk-identity-management/source/auth/CognitoCachingCredentialsProvider.cpp#L92
-    // to work around account ID requirement. Account id is not required for call to succeed and is not set unless provided.
-    // see: https://github.com/aws/aws-sdk-cpp/issues/1448
-    Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome FetchCredsFromCognito(
-        const Aws::CognitoIdentity::CognitoIdentityClient& cognitoIdentityClient,
-        Aws::Auth::PersistentCognitoIdentityProvider& identityRepository,
-        const char* logTag,
-        bool includeLogins)
-    {
-        auto logins = identityRepository.GetLogins();
-        Aws::Map<Aws::String, Aws::String> cognitoLogins;
-        for (auto& login : logins)
-        {
-            cognitoLogins[login.first] = login.second.accessToken;
-        }
-
-        if (!identityRepository.HasIdentityId())
-        {
-            Aws::CognitoIdentity::Model::GetIdRequest getIdRequest;
-
-            // Only call SetIdentityPoolId if there's actually a pool id.
-            // SetIdentityPoolId will cause AWS to think there's an id even if it's empty.
-            // This leads AWS API calls to pass back a warning about an "invalid" pool id,
-            //     rather than (properly) passing back an error about not having a pool id.
-            const Aws::String identityPoolId = identityRepository.GetIdentityPoolId();
-            if (!identityPoolId.empty())
-            {
-                getIdRequest.SetIdentityPoolId(identityPoolId);
-            }
-
-            auto accountId = identityRepository.GetAccountId();
-            if (!accountId.empty())
-            {
-                getIdRequest.SetAccountId(accountId);
-                AWS_LOGSTREAM_INFO(logTag, "Identity not found, requesting an id for accountId "
-                    << accountId << " identity pool id "
-                    << identityPoolId << " with logins.");
-            }
-            else
-            {
-                AWS_LOGSTREAM_INFO(
-                    logTag, "Identity not found, requesting an id for identity pool id %s" << identityPoolId << " with logins.");
-            }
-            if (includeLogins)
-            {
-                getIdRequest.SetLogins(cognitoLogins);
-            }
-
-            auto getIdOutcome = cognitoIdentityClient.GetId(getIdRequest);
-            if (getIdOutcome.IsSuccess())
-            {
-                auto identityId = getIdOutcome.GetResult().GetIdentityId();
-                AWS_LOGSTREAM_INFO(logTag, "Successfully retrieved identity: " << identityId);
-                identityRepository.PersistIdentityId(identityId);
-            }
-            else
-            {
-                AWS_LOGSTREAM_ERROR(
-                    logTag,
-                    "Failed to retrieve identity. Error: " << getIdOutcome.GetError().GetExceptionName() << " "
-                                                           << getIdOutcome.GetError().GetMessage());
-                return Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome(getIdOutcome.GetError());
-            }
-        }
-
-        Aws::CognitoIdentity::Model::GetCredentialsForIdentityRequest getCredentialsForIdentityRequest;
-        getCredentialsForIdentityRequest.SetIdentityId(identityRepository.GetIdentityId());
-        if (includeLogins)
-        {
-            getCredentialsForIdentityRequest.SetLogins(cognitoLogins);
-        }
-
-        return cognitoIdentityClient.GetCredentialsForIdentity(getCredentialsForIdentityRequest);
-    }
-
-    AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider::AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider(
-        const std::shared_ptr<Aws::Auth::PersistentCognitoIdentityProvider>& identityRepository,
-        const std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient>& cognitoIdentityClient)
-        : CognitoCachingCredentialsProvider(identityRepository, cognitoIdentityClient)
-    {
-    }
-
-    Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome
-    AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider::GetCredentialsFromCognito() const
-    {
-        return FetchCredsFromCognito(*m_cognitoIdentityClient, *m_identityRepository, AUTH_LOG_TAG, true);
-    }
-
-    AWSClientAuthCachingAnonymousCredsProvider::AWSClientAuthCachingAnonymousCredsProvider(
-        const std::shared_ptr<Aws::Auth::PersistentCognitoIdentityProvider>& identityRepository,
-        const std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient>& cognitoIdentityClient)
-        : AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider(identityRepository, cognitoIdentityClient)
-    {
-    }
-
-    Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome AWSClientAuthCachingAnonymousCredsProvider::
-        GetCredentialsFromCognito() const
-    {
-        return FetchCredsFromCognito(*m_cognitoIdentityClient, *m_identityRepository, ANON_LOG_TAG, false);
-    }
-
-
-} // namespace AWSClientAuth

+ 0 - 44
Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h

@@ -1,44 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <aws/cognito-identity/CognitoIdentityClient.h>
-#include <aws/identity-management/auth/CognitoCachingCredentialsProvider.h>
-#include <aws/identity-management/auth/PersistentCognitoIdentityProvider.h>
-
-namespace AWSClientAuth
-{
-    //! Cognito Caching Credentials Provider implementation that is derived from AWS Native SDK.
-    //! For use with authenticated credentials.
-    class AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider
-        : public Aws::Auth::CognitoCachingCredentialsProvider
-    {
-    public:
-        AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider(
-            const std::shared_ptr<Aws::Auth::PersistentCognitoIdentityProvider>& identityRepository,
-            const std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient>& cognitoIdentityClient = nullptr);
-
-    protected:
-        Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome GetCredentialsFromCognito() const override;
-    };
-
-    //! Cognito Caching Credentials Provider implementation that is eventually derived from AWS Native SDK.
-    //! For use with anonymous credentials.
-    class AWSClientAuthCachingAnonymousCredsProvider : public AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider
-    {
-    public:
-        AWSClientAuthCachingAnonymousCredsProvider(
-            const std::shared_ptr<Aws::Auth::PersistentCognitoIdentityProvider>& identityRepository,
-            const std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient>& cognitoIdentityClient = nullptr);
-
-    protected:
-        Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome GetCredentialsFromCognito() const override;
-    };
-
-} // namespace AWSClientAuth

+ 0 - 86
Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.cpp

@@ -1,86 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h>
-
-namespace AWSClientAuth
-{
-    AWSClientAuthPersistentCognitoIdentityProvider::~AWSClientAuthPersistentCognitoIdentityProvider()
-    {
-        m_logins.clear();
-        m_awsAccountId = "";
-        m_identityPoolId = "";
-        m_identityId = "";
-        m_identityIdUpdatedCallback = nullptr;
-        m_loginsUpdatedCallback = nullptr;
-    }
-
-    void AWSClientAuthPersistentCognitoIdentityProvider::Initialize(const Aws::String& awsAccountId, const Aws::String& identityPoolId)
-    {
-        m_identityPoolId = identityPoolId;
-        m_awsAccountId = awsAccountId;
-    }
-
-    bool AWSClientAuthPersistentCognitoIdentityProvider::HasIdentityId() const
-    {
-        return !m_identityId.empty();
-    }
-
-    bool AWSClientAuthPersistentCognitoIdentityProvider::HasLogins() const
-    {
-        return m_logins.size() > 0;
-    }
-
-    Aws::String AWSClientAuthPersistentCognitoIdentityProvider::GetIdentityId() const
-    {
-        return m_identityId;
-    }
-
-    Aws::Map<Aws::String, Aws::Auth::LoginAccessTokens> AWSClientAuthPersistentCognitoIdentityProvider::GetLogins()
-    {
-        return m_logins;
-    }
-
-    Aws::String AWSClientAuthPersistentCognitoIdentityProvider::GetAccountId() const
-    {
-        return m_awsAccountId;
-    }
-
-    Aws::String AWSClientAuthPersistentCognitoIdentityProvider::GetIdentityPoolId() const
-    {
-        return m_identityPoolId;
-    }
-
-    void AWSClientAuthPersistentCognitoIdentityProvider::PersistIdentityId(const Aws::String& identityId)
-    {
-        m_identityId = identityId;
-        if (m_identityIdUpdatedCallback)
-        {
-            m_identityIdUpdatedCallback(*this);
-        }
-    }
-
-    void AWSClientAuthPersistentCognitoIdentityProvider::PersistLogins(const Aws::Map<Aws::String, Aws::Auth::LoginAccessTokens>& logins)
-    {
-       m_logins = logins;
-       if (m_loginsUpdatedCallback)
-       {
-           m_loginsUpdatedCallback(*this);
-       }       
-    }
-
-    void AWSClientAuthPersistentCognitoIdentityProvider::RemoveLogin(const Aws::String& key)
-    {
-        m_logins.erase(key);
-        if (m_loginsUpdatedCallback)
-        {
-            m_loginsUpdatedCallback(*this);
-        }
-    }
-
-} // namespace AWSClientAuth

+ 0 - 43
Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h

@@ -1,43 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <aws/identity-management/auth/PersistentCognitoIdentityProvider.h>
-
-namespace AWSClientAuth
-{
-    //! Persistent Cognito Identity provider implementation that is shared with AWS Native SDK client.
-    //! Use std::shared_ptr to create instance.
-    class AWSClientAuthPersistentCognitoIdentityProvider
-        : public Aws::Auth::PersistentCognitoIdentityProvider
-    {
-    public:
-        AWSClientAuthPersistentCognitoIdentityProvider() = default;
-        virtual ~AWSClientAuthPersistentCognitoIdentityProvider();
-        // PersistentCognitoIdentityProvider Interface
-        void Initialize(const Aws::String& awsAccountId, const Aws::String& identityPoolId);
-        bool HasIdentityId() const override;
-        bool HasLogins() const override;
-        Aws::String GetIdentityId() const override;
-        Aws::Map<Aws::String, Aws::Auth::LoginAccessTokens> GetLogins() override;
-        Aws::String GetAccountId() const override;
-        Aws::String GetIdentityPoolId() const override;
-        void PersistIdentityId(const Aws::String&) override;
-        void PersistLogins(const Aws::Map<Aws::String, Aws::Auth::LoginAccessTokens>&) override;
-
-        void RemoveLogin(const Aws::String&);
-
-    private:
-        Aws::Map<Aws::String, Aws::Auth::LoginAccessTokens> m_logins;
-        Aws::String m_identityId;
-        Aws::String m_awsAccountId;
-        Aws::String m_identityPoolId;
-    };
-
-} // namespace AWSClientAuth

+ 0 - 296
Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationController.cpp

@@ -1,296 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AWSClientAuthBus.h>
-#include <AWSCoreBus.h>
-#include <Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h>
-#include <Authorization/AWSCognitoAuthorizationController.h>
-#include <ResourceMapping/AWSResourceMappingBus.h>
-#include <AWSClientAuthResourceMappingConstants.h>
-
-#include <AzCore/EBus/Internal/BusContainer.h>
-#include <AzCore/Jobs/JobFunction.h>
-#include <AzCore/Interface/Interface.h>
-#include <AzCore/Settings/SettingsRegistryImpl.h>
-
-#include <aws/identity-management/auth/CognitoCachingCredentialsProvider.h>
-
-namespace AWSClientAuth
-{
-    constexpr char CognitoAmazonLoginsId[] = "www.amazon.com";
-    constexpr char CognitoGoogleLoginsId[] = "accounts.google.com";
-    constexpr char CognitoUserPoolIdFormat[] = "cognito-idp.%s.amazonaws.com/%s";
-
-    AWSCognitoAuthorizationController::AWSCognitoAuthorizationController()
-    {
-        AZ::Interface<IAWSCognitoAuthorizationRequests>::Register(this);
-        AWSCognitoAuthorizationRequestBus::Handler::BusConnect();
-        AuthenticationProviderNotificationBus::Handler::BusConnect();
-        AWSCore::AWSCredentialRequestBus::Handler::BusConnect();
-
-        m_persistentCognitoIdentityProvider = std::make_shared<AWSClientAuthPersistentCognitoIdentityProvider>();
-        m_persistentAnonymousCognitoIdentityProvider = std::make_shared<AWSClientAuthPersistentCognitoIdentityProvider>();
-
-        auto identityClient = AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIdentityClient();
-
-        m_cognitoCachingCredentialsProvider =
-            std::make_shared<AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider>(
-            m_persistentCognitoIdentityProvider, identityClient);
-
-        m_cognitoCachingAnonymousCredentialsProvider =
-            std::make_shared<AWSClientAuthCachingAnonymousCredsProvider>(
-            m_persistentAnonymousCognitoIdentityProvider, identityClient);
-    }
-
-    AWSCognitoAuthorizationController::~AWSCognitoAuthorizationController()
-    {
-        m_cognitoCachingCredentialsProvider.reset();
-        m_persistentAnonymousCognitoIdentityProvider.reset();
-        m_persistentCognitoIdentityProvider.reset();
-        m_persistentAnonymousCognitoIdentityProvider.reset();
-
-        AWSCore::AWSCredentialRequestBus::Handler::BusDisconnect();
-        AuthenticationProviderNotificationBus::Handler::BusDisconnect();
-        AWSCognitoAuthorizationRequestBus::Handler::BusDisconnect();
-        AZ::Interface<IAWSCognitoAuthorizationRequests>::Unregister(this);
-    }
-
-    bool AWSCognitoAuthorizationController::Initialize()
-    {
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            m_awsAccountId, &AWSCore::AWSResourceMappingRequests::GetDefaultAccountId);
-
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            m_cognitoIdentityPoolId, &AWSCore::AWSResourceMappingRequests::GetResourceNameId, CognitoIdentityPoolIdResourceMappingKey);
-
-        if (m_awsAccountId.empty())
-        {
-            AZ_TracePrintf("AWSCognitoAuthorizationController", "AWS account id not not configured. Proceeding without it.");
-        }
-
-        if (m_cognitoIdentityPoolId.empty())
-        {
-            AZ_Warning("AWSCognitoAuthorizationController", !m_cognitoIdentityPoolId.empty(), "Missing Cognito Identity pool id in resource mappings.");
-            return false;
-        }
-
-        AZStd::string userPoolId;
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            userPoolId, &AWSCore::AWSResourceMappingRequests::GetResourceNameId, CognitoUserPoolIdResourceMappingKey);
-        AZ_Warning("AWSCognitoAuthorizationController", !userPoolId.empty(), "Missing Cognito User pool id in resource mappings. Cognito IDP authenticated identities will not work.");
-
-        AZStd::string defaultRegion;
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            defaultRegion, &AWSCore::AWSResourceMappingRequests::GetDefaultRegion);
-        m_formattedCognitoUserPoolId = AZStd::string::format(CognitoUserPoolIdFormat, defaultRegion.c_str(), userPoolId.c_str());
-
-        m_persistentCognitoIdentityProvider->Initialize(m_awsAccountId.c_str(), m_cognitoIdentityPoolId.c_str());
-        m_persistentAnonymousCognitoIdentityProvider->Initialize(m_awsAccountId.c_str(), m_cognitoIdentityPoolId.c_str());
-
-        return true;
-    }
-
-    void AWSCognitoAuthorizationController::Reset()
-    {
-        // Brackets for lock guard scopes
-        {
-            AZStd::lock_guard<AZStd::mutex> lock(m_persistentAnonymousCognitoIdentityProviderMutex);
-            m_persistentAnonymousCognitoIdentityProvider->ClearLogins();
-            m_persistentAnonymousCognitoIdentityProvider->ClearIdentity();
-        }
-
-        {
-            AZStd::lock_guard<AZStd::mutex> lock(m_persistentCognitoIdentityProviderMutex);
-            m_persistentCognitoIdentityProvider->ClearLogins();
-            m_persistentCognitoIdentityProvider->ClearIdentity();
-        }
-    }
-
-    AZStd::string AWSCognitoAuthorizationController::GetIdentityId()
-    {   
-        // Give preference to authenticated credentials provider.
-        if (HasPersistedLogins())
-        {
-            AZStd::lock_guard<AZStd::mutex> lock(m_persistentCognitoIdentityProviderMutex);
-            return m_persistentCognitoIdentityProvider->GetIdentityId().c_str();
-        }
-        else
-        {
-            AZStd::lock_guard<AZStd::mutex> lock(m_persistentAnonymousCognitoIdentityProviderMutex);
-            return m_persistentAnonymousCognitoIdentityProvider->GetIdentityId().c_str();
-        }
-    }
-
-    bool AWSCognitoAuthorizationController::HasPersistedLogins()
-    {
-        AZStd::lock_guard<AZStd::mutex> lock(m_persistentCognitoIdentityProviderMutex);
-        return m_persistentCognitoIdentityProvider->HasLogins();
-    }
-
-    std::shared_ptr<Aws::Auth::AWSCredentialsProvider> AWSCognitoAuthorizationController::GetCognitoCredentialsProvider()
-    {
-        return m_cognitoCachingCredentialsProvider;
-    }
-
-    std::shared_ptr<Aws::Auth::AWSCredentialsProvider> AWSCognitoAuthorizationController::GetAnonymousCognitoCredentialsProvider()
-    {
-        return m_cognitoCachingAnonymousCredentialsProvider;
-    }
-
-    void AWSCognitoAuthorizationController::RequestAWSCredentialsAsync()
-    {
-        bool anonymous = true;
-        // Give preference to authenticated credentials provider.
-        if (m_persistentCognitoIdentityProvider->HasLogins())
-        {
-            anonymous = false;    
-        }
-        else
-        {
-            AZ_Warning("AWSCognitoAuthorizationController", false, "No logins found. Fetching anonymous/unauthenticated credentials");
-        }
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-        AZ::Job* job = AZ::CreateJobFunction(
-            [this, anonymous]() {
-                Aws::Auth::AWSCredentials credentials;
-                // GetAWSCredentials makes Cognito GetId and GetCredentialsForIdentity Cognito identity pool API request if no valid cached credentials found.
-                if (anonymous)
-                {
-                    AZStd::lock_guard<AZStd::mutex> lock(m_persistentAnonymousCognitoIdentityProviderMutex);
-                    credentials = m_cognitoCachingAnonymousCredentialsProvider->GetAWSCredentials();
-                }
-                else
-                {
-                    AZStd::lock_guard<AZStd::mutex> lock(m_persistentCognitoIdentityProviderMutex);
-                    credentials = m_cognitoCachingCredentialsProvider->GetAWSCredentials();
-                }
-                
-                if (!credentials.IsEmpty())
-                {
-                    ClientAuthAWSCredentials clientAuthAWSCrendentials(credentials.GetAWSAccessKeyId().c_str(), credentials.GetAWSSecretKey().c_str(), credentials.GetSessionToken().c_str());
-                    AWSClientAuth::AWSCognitoAuthorizationNotificationBus::Broadcast(
-                        &AWSClientAuth::AWSCognitoAuthorizationNotifications::OnRequestAWSCredentialsSuccess, clientAuthAWSCrendentials);
-                }
-                else
-                {
-                    AWSClientAuth::AWSCognitoAuthorizationNotificationBus::Broadcast(
-                        &AWSClientAuth::AWSCognitoAuthorizationNotifications::OnRequestAWSCredentialsFail,
-                        "Failed to get AWS credentials");
-                }
-            },
-            true, jobContext);
-        job->Start();
-    }
-
-    AZStd::string AWSCognitoAuthorizationController::GetAuthenticationProviderId(const ProviderNameEnum& providerName)
-    {
-        switch (providerName)
-        {
-        case ProviderNameEnum::AWSCognitoIDP:
-        {
-            return m_formattedCognitoUserPoolId;
-        }
-        case ProviderNameEnum::LoginWithAmazon:
-        {
-            return CognitoAmazonLoginsId;
-        }
-        case ProviderNameEnum::Google:
-        {
-            return CognitoGoogleLoginsId;
-        }
-        default:
-        {
-            return "";
-        }
-        }
-    }
-
-    void AWSCognitoAuthorizationController::PersistLoginsAndRefreshAWSCredentials(const AuthenticationTokens& authenticationTokens)
-    {
-        // lock to persist logins as the object is shared with Native SDK. Native SDK reads logins and persists identity id and expiry.
-        AZStd::lock_guard<AZStd::mutex> lock(m_persistentCognitoIdentityProviderMutex);
-
-        // Save logins to the shared persistent Cognito identity provider for authenticated authorization.
-        // Append logins to existing map.
-        Aws::Map<Aws::String, Aws::Auth::LoginAccessTokens> logins = m_persistentCognitoIdentityProvider->GetLogins();
-        Aws::Auth::LoginAccessTokens tokens;
-        tokens.accessToken = authenticationTokens.GetOpenIdToken().c_str();
-
-        logins[GetAuthenticationProviderId(authenticationTokens.GetProviderName()).c_str()] = tokens;
-        m_persistentCognitoIdentityProvider->PersistLogins(logins);
-    }
-
-    void AWSCognitoAuthorizationController::OnPasswordGrantSingleFactorSignInSuccess(const AWSClientAuth::AuthenticationTokens& authenticationTokens)
-    {
-        PersistLoginsAndRefreshAWSCredentials(authenticationTokens);
-    }
-
-    void AWSCognitoAuthorizationController::OnPasswordGrantMultiFactorConfirmSignInSuccess(
-        const AWSClientAuth::AuthenticationTokens& authenticationTokens)
-    {
-        PersistLoginsAndRefreshAWSCredentials(authenticationTokens);
-    }
-
-    void AWSCognitoAuthorizationController::OnDeviceCodeGrantConfirmSignInSuccess(
-        const AWSClientAuth::AuthenticationTokens& authenticationTokens)
-    {
-        PersistLoginsAndRefreshAWSCredentials(authenticationTokens);
-    }
-
-    void AWSCognitoAuthorizationController::OnRefreshTokensSuccess(const AWSClientAuth::AuthenticationTokens& authenticationTokens)
-    {
-        PersistLoginsAndRefreshAWSCredentials(authenticationTokens);
-    }
-
-    void AWSCognitoAuthorizationController::OnSignOut(const ProviderNameEnum& provideName)
-    {
-        // lock to persist logins as the object is shared with Native SDK.
-        AZStd::lock_guard<AZStd::mutex> lock(m_persistentCognitoIdentityProviderMutex);
-        m_persistentCognitoIdentityProvider->RemoveLogin(GetAuthenticationProviderId(provideName).c_str());
-    }
-
-    int AWSCognitoAuthorizationController::GetCredentialHandlerOrder() const
-    {
-        return AWSCore::CredentialHandlerOrder::COGNITO_IDENITY_POOL_CREDENTIAL_HANDLER;
-    }
-
-    std::shared_ptr<Aws::Auth::AWSCredentialsProvider> AWSCognitoAuthorizationController::GetCredentialsProvider()
-    {
-        // If logins are persisted default to using authenticated credentials provide.
-        // Check authenticated credentials to verify persisted logins are valid.
-        if (HasPersistedLogins())
-        {
-            // lock to protect logins being persisted.
-            AZStd::lock_guard<AZStd::mutex> lock(m_persistentCognitoIdentityProviderMutex);
-            if (!m_cognitoCachingCredentialsProvider->GetAWSCredentials().IsEmpty())
-            {
-                return m_cognitoCachingCredentialsProvider;
-            }
-        }
-
-        // Check anonymous credentials as they are optional settings in Cognito Identity pool.
-        if (m_cognitoIdentityPoolId.empty())
-        {
-            // If the identity pool isn't set, then the anonymous credential won't be found.
-            // Return null, instead of asking AWS for credentials to avoid failing AWS requests and AWS errors due to a null identity pool id.
-            return nullptr;
-        }
-
-        // Lock to protect getting identity id.
-        AZStd::lock_guard<AZStd::mutex> lock(m_persistentAnonymousCognitoIdentityProviderMutex);
-        if (!m_cognitoCachingAnonymousCredentialsProvider->GetAWSCredentials().IsEmpty())
-        {
-            AZ_Warning("AWSCognitoAuthorizationCredentialHandler", false, "No logins found. Using Anonymous credential provider");
-            return m_cognitoCachingAnonymousCredentialsProvider;
-        }
-
-        return nullptr;
-    }
- } // namespace AWSClientAuth

+ 0 - 70
Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationController.h

@@ -1,70 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <Authorization/AWSCognitoAuthorizationBus.h>
-#include <Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h>
-#include <Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h>
-#include <Authentication/AuthenticationProviderBus.h>
-#include <Credential/AWSCredentialBus.h>
-#include <aws/cognito-identity/CognitoIdentityClient.h>
-#include <aws/identity-management/auth/CognitoCachingCredentialsProvider.h>
-
-namespace AWSClientAuth
-{
-    //! Implements AWS Cognito Identity pool authorization.
-    class AWSCognitoAuthorizationController
-        : public AWSCognitoAuthorizationRequestBus::Handler
-        , public AuthenticationProviderNotificationBus::Handler
-        , public AWSCore::AWSCredentialRequestBus::Handler
-    {
-    public:
-        AZ_RTTI(AWSCognitoAuthorizationController, "{0E731ED1-2F08-4B3C-9282-D452700F58D1}", IAWSCognitoAuthorizationRequests);
-        AWSCognitoAuthorizationController();
-        virtual ~AWSCognitoAuthorizationController();
-
-        // AWSCognitoAuthorizationRequestsBus interface methods
-        bool Initialize() override;
-        void Reset() override;
-        AZStd::string GetIdentityId() override;
-        bool HasPersistedLogins() override;
-        std::shared_ptr<Aws::Auth::AWSCredentialsProvider> GetCognitoCredentialsProvider() override;
-        std::shared_ptr<Aws::Auth::AWSCredentialsProvider> GetAnonymousCognitoCredentialsProvider() override;
-        void RequestAWSCredentialsAsync() override;
-
-    protected:
-        // AuthenticationProviderNotificationsBus interface. Update persistent login tokens on successful sign in.
-        void OnPasswordGrantSingleFactorSignInSuccess(const AWSClientAuth::AuthenticationTokens& authenticationTokens) override;
-        void OnPasswordGrantMultiFactorConfirmSignInSuccess(const AWSClientAuth::AuthenticationTokens& authenticationTokens) override;
-        void OnDeviceCodeGrantConfirmSignInSuccess(const AWSClientAuth::AuthenticationTokens& authenticationTokens) override;
-        void OnRefreshTokensSuccess(const AWSClientAuth::AuthenticationTokens& authenticationTokens) override;
-        void OnSignOut(const ProviderNameEnum& provideName) override;
-
-        // AWSCredentialRequestBus interface implementation
-        int GetCredentialHandlerOrder() const override;
-        std::shared_ptr<Aws::Auth::AWSCredentialsProvider> GetCredentialsProvider() override;
-
-        std::shared_ptr<AWSClientAuthPersistentCognitoIdentityProvider> m_persistentCognitoIdentityProvider;
-        std::shared_ptr<AWSClientAuthPersistentCognitoIdentityProvider> m_persistentAnonymousCognitoIdentityProvider;
-        std::shared_ptr<AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider> m_cognitoCachingCredentialsProvider;
-        std::shared_ptr<AWSClientAuthCachingAnonymousCredsProvider> m_cognitoCachingAnonymousCredentialsProvider;
-
-        AZStd::string m_cognitoIdentityPoolId;
-        AZStd::string m_formattedCognitoUserPoolId;
-        AZStd::string m_awsAccountId;
-
-    private:
-        void PersistLoginsAndRefreshAWSCredentials(const AuthenticationTokens& authenticationTokens);
-
-        AZStd::string GetAuthenticationProviderId(const ProviderNameEnum& providerName);
-        AZStd::mutex m_persistentCognitoIdentityProviderMutex;
-        AZStd::mutex m_persistentAnonymousCognitoIdentityProviderMutex;
-    };
-
-} // namespace AWSClientAuth

+ 0 - 42
Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h

@@ -1,42 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <Authorization/AWSCognitoAuthorizationBus.h>
-#include <AzCore/Component/TickBus.h>
-#include <AzCore/RTTI/BehaviorContext.h>
-
-namespace AWSClientAuth
-{
-    //! Authorization behavior EBus handler
-    class AWSCognitoAuthorizationNotificationBusBehaviorHandler
-        : public AWSCognitoAuthorizationNotificationBus::Handler
-        , public AZ::BehaviorEBusHandler
-    {
-    public:
-        AZ_EBUS_BEHAVIOR_BINDER(AWSCognitoAuthorizationNotificationBusBehaviorHandler, "{F2BCAB42-97FD-41AC-AF7A-7E3BD64B7089}", AZ::SystemAllocator,
-            OnRequestAWSCredentialsSuccess, OnRequestAWSCredentialsFail
-        );
-
-        void OnRequestAWSCredentialsSuccess(const ClientAuthAWSCredentials& awsCredentials) override
-        {
-            AZ::TickBus::QueueFunction([awsCredentials, this]()
-            {
-                Call(FN_OnRequestAWSCredentialsSuccess, awsCredentials);
-            });
-        }
-
-        void OnRequestAWSCredentialsFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]()
-            {
-                Call(FN_OnRequestAWSCredentialsFail, error);
-            });
-        }
-    };
-} // namespace AWSClientAuth

+ 0 - 50
Gems/AWSClientAuth/Code/Source/Authorization/ClientAuthAWSCredentials.cpp

@@ -1,50 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <Authorization/ClientAuthAWSCredentials.h>
-
-#include <AzCore/Outcome/Outcome.h>
-#include <AzCore/RTTI/BehaviorContext.h>
-#include <AzCore/RTTI/AzStdOnDemandReflection.inl>
-#include <AzCore/Serialization/SerializeContext.h>
-#include <AzCore/Serialization/AZStdContainers.inl>
-
-namespace AWSClientAuth
-{
-    void ClientAuthAWSCredentials::Reflect(AZ::ReflectContext* context)
-    {
-        auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context);
-        if (serializeContext)
-        {
-            serializeContext->Class<ClientAuthAWSCredentials>()
-                ->Field("AWSAccessKeyId", &ClientAuthAWSCredentials::m_accessKeyId)
-                ->Field("AWSSecretKey", &ClientAuthAWSCredentials::m_secretKey)
-                ->Field("AWSSessionToken", &ClientAuthAWSCredentials::m_sessionToken);
-        }
-
-        AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context);
-        if (behaviorContext)
-        {
-            behaviorContext->Class<ClientAuthAWSCredentials>()
-                ->Attribute(AZ::Script::Attributes::Category, "AWSClientAuth")
-                ->Attribute(AZ::Script::Attributes::Storage, AZ::Script::Attributes::StorageType::Value)
-                ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
-                ->Constructor()
-                ->Constructor<const ClientAuthAWSCredentials&>()
-                ->Property(
-                    "AWSAccessKeyId", BehaviorValueGetter(&ClientAuthAWSCredentials::m_accessKeyId),
-                    BehaviorValueSetter(&ClientAuthAWSCredentials::m_accessKeyId))
-                ->Property(
-                    "AWSSecretKey", BehaviorValueGetter(&ClientAuthAWSCredentials::m_secretKey),
-                    BehaviorValueSetter(&ClientAuthAWSCredentials::m_secretKey))
-                ->Property(
-                    "AWSSessionToken", BehaviorValueGetter(&ClientAuthAWSCredentials::m_sessionToken),
-                    BehaviorValueSetter(&ClientAuthAWSCredentials::m_sessionToken));
-        }
-    }
-} // namespace AWSClientAuth

+ 0 - 254
Gems/AWSClientAuth/Code/Source/UserManagement/AWSCognitoUserManagementController.cpp

@@ -1,254 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzCore/Jobs/JobFunction.h>
-
-#include <UserManagement/AWSCognitoUserManagementController.h>
-#include <AWSClientAuthBus.h>
-#include <AWSClientAuthResourceMappingConstants.h>
-#include <AWSCoreBus.h>
-#include <ResourceMapping/AWSResourceMappingBus.h>
-
-#include <aws/core/utils/Outcome.h>
-#include <aws/core/utils/memory/stl/AWSVector.h>
-#include <aws/cognito-idp/model/SignUpRequest.h>
-#include <aws/cognito-idp/CognitoIdentityProviderClient.h>
-#include <aws/cognito-idp/model/SignUpResult.h>
-#include <aws/cognito-idp/model/ConfirmSignUpRequest.h>
-#include <aws/cognito-idp/model/ConfirmSignUpResult.h>
-#include <aws/cognito-idp/model/ConfirmSignUpRequest.h>
-#include <aws/cognito-idp/model/ConfirmSignUpResult.h>
-#include <aws/cognito-idp/model/AttributeType.h>
-#include <aws/cognito-idp/model/ForgotPasswordRequest.h>
-#include <aws/cognito-idp/model/ForgotPasswordResult.h>
-#include <aws/cognito-idp/model/ConfirmForgotPasswordRequest.h>
-#include <aws/cognito-idp/model/ConfirmForgotPasswordResult.h>
-#include <aws/cognito-idp/model/SetUserMFAPreferenceRequest.h>
-#include <aws/cognito-idp/model/SetUserMFAPreferenceResult.h>
-
-namespace AWSClientAuth
-{
-    AWSCognitoUserManagementController::AWSCognitoUserManagementController()
-    {
-        AZ::Interface<IAWSCognitoUserManagementRequests>::Register(this);
-        AWSCognitoUserManagementRequestBus::Handler::BusConnect();
-    }
-
-    AWSCognitoUserManagementController::~AWSCognitoUserManagementController()
-    {
-        AWSCognitoUserManagementRequestBus::Handler::BusDisconnect();
-        AZ::Interface<IAWSCognitoUserManagementRequests>::Unregister(this);
-    }
-
-    bool AWSCognitoUserManagementController::Initialize()
-    {
-        AWSCore::AWSResourceMappingRequestBus::BroadcastResult(
-            m_cognitoAppClientId, &AWSCore::AWSResourceMappingRequests::GetResourceNameId, CognitoAppClientIdResourceMappingKey);
-        AZ_Warning(
-            "AWSCognitoUserManagementController", !m_cognitoAppClientId.empty(), "Missing Cognito App Client Id from resource mappings. Calls to Cognito will fail.");
-        return !m_cognitoAppClientId.empty();
-    }
-
-    // Call Cognito user pool sign up using email. Confirmation code sent to the email set.
-    // Refer https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html
-    void AWSCognitoUserManagementController::EmailSignUpAsync(const AZStd::string& username, const AZStd::string& password, const AZStd::string& email)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-        
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* emailSignUpJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient, username, password, email]()
-        {
-            Aws::CognitoIdentityProvider::Model::SignUpRequest signUpRequest;
-            signUpRequest.SetClientId(m_cognitoAppClientId.c_str());
-            signUpRequest.SetUsername(username.c_str());
-            signUpRequest.SetPassword(password.c_str());
-
-            Aws::Vector<Aws::CognitoIdentityProvider::Model::AttributeType> attributes;
-            Aws::CognitoIdentityProvider::Model::AttributeType emailAttribute;
-            emailAttribute.SetName("email");
-            emailAttribute.SetValue(email.c_str());
-            attributes.push_back(emailAttribute);
-            signUpRequest.SetUserAttributes(attributes);
-
-            Aws::CognitoIdentityProvider::Model::SignUpOutcome signUpOutcome{ cognitoIdentityProviderClient->SignUp(signUpRequest) };
-            if (signUpOutcome.IsSuccess())
-            {
-                Aws::CognitoIdentityProvider::Model::SignUpResult signUpResult{ signUpOutcome.GetResult() };
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnEmailSignUpSuccess, signUpResult.GetUserSub().c_str());
-                
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = signUpOutcome.GetError();
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnEmailSignUpFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        emailSignUpJob->Start();
-    }
-
-    void AWSCognitoUserManagementController::PhoneSignUpAsync(const AZStd::string& username, const AZStd::string& password, const AZStd::string& phoneNumber)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* phoneSignUpJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient, username, password, phoneNumber]()
-        {
-            Aws::CognitoIdentityProvider::Model::SignUpRequest signUpRequest;
-            signUpRequest.SetClientId(m_cognitoAppClientId.c_str());
-            signUpRequest.SetUsername(username.c_str());
-            signUpRequest.SetPassword(password.c_str());
-
-            Aws::Vector<Aws::CognitoIdentityProvider::Model::AttributeType> attributes;
-            Aws::CognitoIdentityProvider::Model::AttributeType emailAttribute;
-            emailAttribute.SetName("phone_number");
-            emailAttribute.SetValue(phoneNumber.c_str());
-            attributes.push_back(emailAttribute);
-            signUpRequest.SetUserAttributes(attributes);
-
-            Aws::CognitoIdentityProvider::Model::SignUpOutcome signUpOutcome{ cognitoIdentityProviderClient->SignUp(signUpRequest) };
-            if (signUpOutcome.IsSuccess())
-            {
-                Aws::CognitoIdentityProvider::Model::SignUpResult signUpResult{ signUpOutcome.GetResult() };
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnPhoneSignUpSuccess, signUpResult.GetUserSub().c_str());
-
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = signUpOutcome.GetError();
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnPhoneSignUpFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        phoneSignUpJob->Start();
-    }
-
-    // Call Cognito user pool confirm sign up using code from email/phone.
-    // Refer https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html
-    void AWSCognitoUserManagementController::ConfirmSignUpAsync(const AZStd::string& username, const AZStd::string& confirmationCode)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
- 
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* confirmSignUpJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient, username, confirmationCode]()
-        {
-            Aws::CognitoIdentityProvider::Model::ConfirmSignUpRequest confirmSignupRequest;
-            confirmSignupRequest.SetClientId(m_cognitoAppClientId.c_str());
-            confirmSignupRequest.SetUsername(username.c_str());
-            confirmSignupRequest.SetConfirmationCode(confirmationCode.c_str());
-
-            Aws::CognitoIdentityProvider::Model::ConfirmSignUpOutcome confirmSignupOutcome{ cognitoIdentityProviderClient->ConfirmSignUp(confirmSignupRequest) };
-            if (confirmSignupOutcome.IsSuccess())
-            {
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnConfirmSignUpSuccess);
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = confirmSignupOutcome.GetError();
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnConfirmSignUpFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        confirmSignUpJob->Start();
-    }
-
-    void AWSCognitoUserManagementController::ForgotPasswordAsync(const AZStd::string& username)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* forgotPasswordJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient, username]()
-        {
-            Aws::CognitoIdentityProvider::Model::ForgotPasswordRequest forgotPasswordRequest;
-            forgotPasswordRequest.SetClientId(m_cognitoAppClientId.c_str());
-            forgotPasswordRequest.SetUsername(username.c_str());
-
-            Aws::CognitoIdentityProvider::Model::ForgotPasswordOutcome forgotPasswordOutcome{ cognitoIdentityProviderClient->ForgotPassword(forgotPasswordRequest) };
-            if (forgotPasswordOutcome.IsSuccess())
-            {
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnForgotPasswordSuccess);
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = forgotPasswordOutcome.GetError();
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnForgotPasswordFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        forgotPasswordJob->Start();
-    }
-
-    void AWSCognitoUserManagementController::ConfirmForgotPasswordAsync(const AZStd::string& username, const AZStd::string& confirmationCode, const AZStd::string& newPassword)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* confirmForgotPasswordJob = AZ::CreateJobFunction([this, cognitoIdentityProviderClient, username, confirmationCode, newPassword]()
-        {
-            Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordRequest confirmForgotPasswordRequest;
-            confirmForgotPasswordRequest.SetClientId(m_cognitoAppClientId.c_str());
-            confirmForgotPasswordRequest.SetUsername(username.c_str());
-            confirmForgotPasswordRequest.SetConfirmationCode(confirmationCode.c_str());
-            confirmForgotPasswordRequest.SetPassword(newPassword.c_str());
-
-            Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordOutcome confirmForgotPasswordOutcome{ cognitoIdentityProviderClient->ConfirmForgotPassword(confirmForgotPasswordRequest) };
-            if (confirmForgotPasswordOutcome.IsSuccess())
-            {
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnConfirmForgotPasswordSuccess);
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = confirmForgotPasswordOutcome.GetError();
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnConfirmForgotPasswordFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        confirmForgotPasswordJob->Start();
-    }
-
-    void AWSCognitoUserManagementController::EnableMFAAsync(const AZStd::string& accessToken)
-    {
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> cognitoIdentityProviderClient =
-            AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient();
-
-        AZ::JobContext* jobContext = nullptr;
-        AWSCore::AWSCoreRequestBus::BroadcastResult(jobContext, &AWSCore::AWSCoreRequests::GetDefaultJobContext);
-
-        AZ::Job* enableMFAJob = AZ::CreateJobFunction([cognitoIdentityProviderClient, accessToken]()
-        {
-            Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceRequest confirmForgotPasswordRequest;
-            Aws::CognitoIdentityProvider::Model::SMSMfaSettingsType settings;
-            settings.SetEnabled(true);
-            settings.SetPreferredMfa(true);
-            confirmForgotPasswordRequest.SetSMSMfaSettings(settings);
-            confirmForgotPasswordRequest.SetAccessToken(accessToken.c_str());
-
-            Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceOutcome setUserMFAPreferenceOutcome{ cognitoIdentityProviderClient->SetUserMFAPreference(confirmForgotPasswordRequest) };
-            if (setUserMFAPreferenceOutcome.IsSuccess())
-            {
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnEnableMFASuccess);
-            }
-            else
-            {
-                Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error = setUserMFAPreferenceOutcome.GetError();
-                AWSCognitoUserManagementNotificationBus::Broadcast(&AWSCognitoUserManagementNotifications::OnEnableMFAFail, error.GetMessage().c_str());
-            }
-        }, true, jobContext);
-        enableMFAJob->Start();
-    }
-} // namespace AWSClientAuth

+ 0 - 42
Gems/AWSClientAuth/Code/Source/UserManagement/AWSCognitoUserManagementController.h

@@ -1,42 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <UserManagement/AWSCognitoUserManagementBus.h>
-
-namespace AWSClientAuth
-{
-    //! Implements AWS Cognito User pool user management.
-    class AWSCognitoUserManagementController
-        : public AWSCognitoUserManagementRequestBus::Handler
-    {
-    public:
-        AZ_RTTI(AWSCognitoUserManagementController, "{2645D1CC-EB55-4A8D-8F45-5DFE94032813}", IAWSCognitoUserManagementRequests);
-        AWSCognitoUserManagementController();
-        ~AWSCognitoUserManagementController() override;
-
-        // AWSCognitoUserManagementRequestsBus interface methods
-        bool Initialize() override;
-        void EmailSignUpAsync(const AZStd::string& username, const AZStd::string& password, const AZStd::string& email) override;
-        void PhoneSignUpAsync(const AZStd::string& username, const AZStd::string& password, const AZStd::string& phoneNumber) override;
-        void ConfirmSignUpAsync(const AZStd::string& username, const AZStd::string& confirmationCode) override;
-        void ForgotPasswordAsync(const AZStd::string& username) override;
-        void ConfirmForgotPasswordAsync(const AZStd::string& userName, const AZStd::string& confirmationCode, const AZStd::string& newPassword) override;
-        void EnableMFAAsync(const AZStd::string& accessToken) override;
-
-        inline const AZStd::string& GetCognitoAppClientId() const
-        {
-            return m_cognitoAppClientId;
-        }
-
-    private:
-        AZStd::string m_cognitoAppClientId;
-    };
-
-} // namespace AWSClientAuth

+ 0 - 114
Gems/AWSClientAuth/Code/Source/UserManagement/UserManagementNotificationBusBehaviorHandler.h

@@ -1,114 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#include <UserManagement/AWSCognitoUserManagementBus.h>
-#include <AzCore/Component/TickBus.h>
-
-namespace AWSClientAuth
-{
-    //! User management behavior EBus handler
-    class UserManagementNotificationBusBehaviorHandler
-        : public AWSCognitoUserManagementNotificationBus::Handler
-        , public AZ::BehaviorEBusHandler
-    {
-    public:
-        AZ_EBUS_BEHAVIOR_BINDER(UserManagementNotificationBusBehaviorHandler, "{57289595-2CDC-4834-8017-4A96B983E028}", AZ::SystemAllocator,
-            OnEmailSignUpSuccess, OnEmailSignUpFail,
-            OnPhoneSignUpSuccess, OnPhoneSignUpFail,
-            OnConfirmSignUpSuccess, OnConfirmSignUpFail,
-            OnForgotPasswordSuccess, OnForgotPasswordFail,
-            OnConfirmForgotPasswordSuccess, OnConfirmForgotPasswordFail,
-            OnEnableMFASuccess, OnEnableMFAFail
-        );
-
-        void OnEmailSignUpSuccess(const AZStd::string& uuid) override
-        {
-            AZ::TickBus::QueueFunction([uuid, this]() {
-                Call(FN_OnEmailSignUpSuccess, uuid);
-            });
-        }
-
-        void OnEmailSignUpFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]() {
-                Call(FN_OnEmailSignUpFail, error);
-            });
-        }
-
-        void OnPhoneSignUpSuccess(const AZStd::string& uuid) override
-        {
-            AZ::TickBus::QueueFunction([uuid, this]() {
-                Call(FN_OnPhoneSignUpSuccess, uuid);
-            });
-        }
-
-        void OnPhoneSignUpFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]() {
-                Call(FN_OnPhoneSignUpFail, error);
-            });
-        }
-
-        void OnConfirmSignUpSuccess() override
-        {
-            AZ::TickBus::QueueFunction([this]() {
-                Call(FN_OnConfirmSignUpSuccess);
-            });
-        }
-
-        void OnConfirmSignUpFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]() {
-                Call(FN_OnConfirmSignUpFail, error);
-            });
-        }
-
-        void OnForgotPasswordSuccess() override
-        {
-            AZ::TickBus::QueueFunction([this]() {
-                Call(FN_OnForgotPasswordSuccess);
-            });
-        }
-
-        void OnForgotPasswordFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]() {
-                Call(FN_OnForgotPasswordFail, error);
-            });
-        }
-
-        void OnConfirmForgotPasswordSuccess() override
-        {
-            AZ::TickBus::QueueFunction([this]() {
-                Call(FN_OnConfirmForgotPasswordSuccess);
-            });
-        }
-
-        void OnConfirmForgotPasswordFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]() {
-                Call(FN_OnConfirmForgotPasswordFail, error);
-            });
-        }
-
-        void OnEnableMFASuccess() override
-        {
-            AZ::TickBus::QueueFunction([this]() {
-                Call(FN_OnEnableMFASuccess);
-            });
-        }
-
-        void OnEnableMFAFail(const AZStd::string& error) override
-        {
-            AZ::TickBus::QueueFunction([error, this]() {
-                Call(FN_OnEnableMFAFail, error);
-            });
-        }
-    };
-} // namespace AWSClientAuth

+ 0 - 867
Gems/AWSClientAuth/Code/Tests/AWSClientAuthGemMock.h

@@ -1,867 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <AzTest/AzTest.h>
-#include <AzTest/Utils.h>
-#include <AzFramework/IO/LocalFileIO.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <AzCore/Memory/PoolAllocator.h>
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <AzCore/Settings/SettingsRegistry.h>
-#include <AzCore/Settings/SettingsRegistryImpl.h>
-#include <AzCore/Serialization/Json/RegistrationContext.h>
-#include <AzCore/Serialization/Json/JsonSystemComponent.h>
-#include <AzCore/Component/ComponentBus.h>
-#include <AzCore/Jobs/JobManager.h>
-#include <AzCore/Jobs/JobManagerBus.h>
-#include <AzCore/Jobs/JobContext.h>
-#include <Authentication/AWSCognitoAuthenticationProvider.h>
-#include <Authentication/LWAAuthenticationProvider.h>
-#include <Authentication/AuthenticationProviderBus.h>
-#include <Authorization/AWSCognitoAuthorizationBus.h>
-#include <UserManagement/AWSCognitoUserManagementBus.h>
-#include <AWSCoreBus.h>
-#include <ResourceMapping/AWSResourceMappingBus.h>
-#include <AWSClientAuthBus.h>
-#include <AWSNativeSDKTestManager.h>
-#include <HttpRequestor/HttpRequestorBus.h>
-
-#include <aws/core/utils/Outcome.h>
-#include <aws/cognito-idp/model/InitiateAuthRequest.h>
-#include <aws/cognito-idp/model/InitiateAuthResult.h>
-#include <aws/cognito-idp/CognitoIdentityProviderClient.h>
-#include <aws/cognito-idp/model/SignUpRequest.h>
-#include <aws/cognito-idp/model/SignUpResult.h>
-#include <aws/cognito-idp/model/ConfirmSignUpRequest.h>
-#include <aws/cognito-idp/model/ConfirmSignUpResult.h>
-#include <aws/cognito-idp/model/RespondToAuthChallengeRequest.h>
-#include <aws/cognito-idp/model/RespondToAuthChallengeResult.h>
-#include <aws/cognito-idp/model/ForgotPasswordResult.h>
-#include <aws/cognito-idp/model/ForgotPasswordRequest.h>
-#include <aws/cognito-idp/model/ConfirmForgotPasswordRequest.h>
-#include <aws/cognito-idp/model/ConfirmForgotPasswordResult.h>
-#include <aws/cognito-idp/model/SetUserMFAPreferenceRequest.h>
-#include <aws/cognito-idp/model/SetUserMFAPreferenceResult.h>
-
-
-#include <aws/cognito-identity/CognitoIdentityClient.h>
-#include <aws/cognito-identity/model/GetCredentialsForIdentityRequest.h>
-#include <aws/cognito-identity/model/GetCredentialsForIdentityResult.h>
-#include <aws/cognito-identity/model/GetIdRequest.h>
-#include <aws/cognito-identity/model/GetIdResult.h>
-
-
-
-namespace AWSClientAuthUnitTest
-{
-    constexpr char TEST_USERNAME[] = "TestUsername";
-    constexpr char TEST_PASSWORD[] = "TestPassword";
-    constexpr char TEST_NEW_PASSWORD[] = "TestNewPassword";
-    constexpr char TEST_CODE[] = "TestCode";
-    constexpr char TEST_REGION[] = "us-east-1";
-    constexpr char TEST_EMAIL[] = "[email protected]";
-    constexpr char TEST_PHONE[] = "+11234567890";
-    constexpr char TEST_COGNITO_CLIENTID[] = "TestCognitoClientId";
-    constexpr char TEST_EXCEPTION[] = "TestException";
-    constexpr char TEST_SESSION[] = "TestSession";
-    constexpr char TEST_TOKEN[] = "TestToken";
-    constexpr char TEST_ACCOUNT_ID[] = "TestAccountId";
-    constexpr char TEST_IDENTITY_POOL_ID[] = "TestIdenitityPoolId";
-    constexpr char TEST_IDENTITY_ID[] = "TestIdenitityId";
-    constexpr char TEST_ACCESS_TOKEN[] = "TestAccessToken";
-    constexpr char TEST_REFRESH_TOKEN[] = "TestRefreshToken";
-    constexpr char TEST_ID_TOKEN[] = "TestIdToken";
-    constexpr char TEST_ACCESS_KEY_ID[] = "TestAccessKeyId";
-    constexpr char TEST_SECRET_KEY_ID[] = "TestSecretKeyId";
-    constexpr char TEST_RESOURCE_NAME_ID[] = "TestResourceNameId";
-
-    class AWSResourceMappingRequestBusMock
-        : public AWSCore::AWSResourceMappingRequestBus::Handler
-    {
-    public:
-        AWSResourceMappingRequestBusMock()
-        {
-            AWSCore::AWSResourceMappingRequestBus::Handler::BusConnect();
-
-            ON_CALL(*this, GetResourceRegion).WillByDefault(testing::Return(TEST_REGION));
-            ON_CALL(*this, GetDefaultAccountId).WillByDefault(testing::Return(TEST_ACCOUNT_ID));
-            ON_CALL(*this, HasResource).WillByDefault(testing::Return(true));
-            ON_CALL(*this, GetResourceAccountId).WillByDefault(testing::Return(TEST_ACCOUNT_ID));
-            ON_CALL(*this, GetResourceNameId).WillByDefault(testing::Return(TEST_RESOURCE_NAME_ID));
-            ON_CALL(*this, GetDefaultRegion).WillByDefault(testing::Return(TEST_REGION));
-        }
-
-        ~AWSResourceMappingRequestBusMock() override
-        {
-            AWSCore::AWSResourceMappingRequestBus::Handler::BusDisconnect();
-        }
-
-        MOCK_CONST_METHOD0(GetDefaultAccountId, AZStd::string());
-        MOCK_CONST_METHOD0(GetDefaultRegion, AZStd::string());
-        MOCK_CONST_METHOD1(HasResource, bool(const AZStd::string& resourceKeyName));
-        MOCK_CONST_METHOD1(GetResourceAccountId, AZStd::string(const AZStd::string& resourceKeyName));
-        MOCK_CONST_METHOD1(GetResourceNameId, AZStd::string(const AZStd::string& resourceKeyName));
-        MOCK_CONST_METHOD1(GetResourceRegion, AZStd::string(const AZStd::string& resourceKeyName));
-        MOCK_CONST_METHOD1(GetResourceType, AZStd::string(const AZStd::string& resourceKeyName));
-        MOCK_CONST_METHOD1(GetServiceUrlByServiceName, AZStd::string(const AZStd::string& serviceName));
-        MOCK_CONST_METHOD2(
-            GetServiceUrlByRESTApiIdAndStage,
-            AZStd::string(const AZStd::string& restApiIdKeyName, const AZStd::string& restApiStageKeyName));
-        MOCK_METHOD1(ReloadConfigFile, void(bool isReloadingConfigFileName));
-    };
-
-    class AWSCoreRequestBusMock
-        : public AWSCore::AWSCoreRequestBus::Handler
-    {
-    public:
-        AWSCoreRequestBusMock()
-        {
-            AWSCore::AWSCoreRequestBus::Handler::BusConnect();
-
-            ON_CALL(*this, GetDefaultJobContext).WillByDefault(testing::Return(nullptr));
-            ON_CALL(*this, GetDefaultConfig).WillByDefault(testing::Return(nullptr));
-        }
-
-        ~AWSCoreRequestBusMock() override
-        {
-            AWSCore::AWSCoreRequestBus::Handler::BusDisconnect();
-        }
-
-        MOCK_METHOD0(GetDefaultJobContext, AZ::JobContext*());
-        MOCK_METHOD0(GetDefaultConfig, AWSCore::AwsApiJobConfig*());
-    };
-
-    class HttpRequestorRequestBusMock
-        : public HttpRequestor::HttpRequestorRequestBus::Handler
-    {
-    public:
-        HttpRequestorRequestBusMock()
-        {
-            ON_CALL(*this, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_))
-                .WillByDefault(testing::Invoke(this, &HttpRequestorRequestBusMock::AddRequestWithHeadersAndBodyMock));
-            HttpRequestor::HttpRequestorRequestBus::Handler::BusConnect();
-        }
-
-        ~HttpRequestorRequestBusMock() override
-        {
-            HttpRequestor::HttpRequestorRequestBus::Handler::BusDisconnect();
-        }
-
-        MOCK_METHOD5(AddRequestWithHeadersAndBody, void(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::Headers& headers, const AZStd::string& body, const HttpRequestor::Callback& callback));
-
-        void AddRequestWithHeadersAndBodyError(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::Headers& headers, const AZStd::string& body, const HttpRequestor::Callback& callback)
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(body);
-
-            Aws::Utils::Json::JsonValue jsonValue;
-            jsonValue.WithString("error", "TestError");
-            Aws::Utils::Json::JsonView jsonView(jsonValue);
-            Aws::Http::HttpResponseCode code = Aws::Http::HttpResponseCode::INTERNAL_SERVER_ERROR;
-            callback(jsonView, code);
-        }
-
-        void AddRequest(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::Callback& callback) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(callback);
-        }
-
-        void AddRequestWithClientConfiguration(
-            const AZStd::string& URI,
-            Aws::Http::HttpMethod method,
-            const HttpRequestor::Callback& callback,
-            const Aws::Client::ClientConfiguration clientConfiguration) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(clientConfiguration);
-            AZ_UNUSED(callback);
-        }
-
-        void AddRequestWithHeaders(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::Headers& headers, const HttpRequestor::Callback& callback) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(callback);
-        }
-
-        void AddRequestWithHeadersAndClientConfiguration(
-            const AZStd::string& URI,
-            Aws::Http::HttpMethod method,
-            const HttpRequestor::Headers& headers,
-            const HttpRequestor::Callback& callback,
-            const Aws::Client::ClientConfiguration clientConfiguration) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(clientConfiguration);
-            AZ_UNUSED(callback);
-        }
-
-        void AddRequestWithHeadersAndBodyMock(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::Headers& headers, const AZStd::string& body, const HttpRequestor::Callback& callback)
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(body);
-
-            Aws::Utils::Json::JsonValue jsonValue;
-            jsonValue.WithString("user_code", "TestCode");
-            jsonValue.WithString("device_code", "TestDeviceCode");
-            jsonValue.WithString("verification_uri", "TestVerificationURI");
-            jsonValue.WithString("access_token", TEST_ACCESS_TOKEN);
-            jsonValue.WithString("refresh_token", TEST_REFRESH_TOKEN);
-            jsonValue.WithString("id_token", TEST_ID_TOKEN);
-            jsonValue.WithInteger("expires_in", 600);
-            Aws::Utils::Json::JsonView jsonView(jsonValue);
-            Aws::Http::HttpResponseCode code = Aws::Http::HttpResponseCode::OK;
-            callback(jsonView, code);
-        }
-
-        void AddRequestWithHeadersBodyAndClientConfiguration(
-            const AZStd::string& URI,
-            Aws::Http::HttpMethod method,
-            const HttpRequestor::Headers& headers,
-            const AZStd::string& body,
-            const HttpRequestor::Callback& callback,
-            const Aws::Client::ClientConfiguration clientConfiguration) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(body);
-            AZ_UNUSED(clientConfiguration);
-            AZ_UNUSED(callback);
-        }
-
-        void AddTextRequest(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::TextCallback& callback) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(callback);
-        }
-
-        void AddTextRequestWithClientConfiguration(
-            const AZStd::string& URI,
-            Aws::Http::HttpMethod method,
-            const HttpRequestor::TextCallback& callback,
-            Aws::Client::ClientConfiguration clientConfiguration) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(clientConfiguration);
-            AZ_UNUSED(callback);
-        }
-
-        void AddTextRequestWithHeaders(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::Headers& headers, const HttpRequestor::TextCallback& callback) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(callback);
-        }
-
-        void AddTextRequestWithHeadersAndClientConfiguration(
-            const AZStd::string& URI,
-            Aws::Http::HttpMethod method,
-            const HttpRequestor::Headers& headers,
-            const HttpRequestor::TextCallback& callback,
-            const Aws::Client::ClientConfiguration clientConfiguration) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(clientConfiguration);
-            AZ_UNUSED(callback);
-        }
-
-        void AddTextRequestWithHeadersAndBody(const AZStd::string& URI, Aws::Http::HttpMethod method, const HttpRequestor::Headers& headers, const AZStd::string& body, const HttpRequestor::TextCallback& callback) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(body);
-            AZ_UNUSED(callback);
-        }
-
-        void AddTextRequestWithHeadersBodyAndClientConfiguration(
-            const AZStd::string& URI,
-            Aws::Http::HttpMethod method,
-            const HttpRequestor::Headers& headers,
-            const AZStd::string& body,
-            const HttpRequestor::TextCallback& callback,
-            const Aws::Client::ClientConfiguration clientConfiguration) override
-        {
-            AZ_UNUSED(URI);
-            AZ_UNUSED(method);
-            AZ_UNUSED(headers);
-            AZ_UNUSED(body);
-            AZ_UNUSED(clientConfiguration);
-            AZ_UNUSED(callback);
-        }
-
-        AZStd::chrono::milliseconds GetLastRoundTripTime() const override
-        {
-            return {};
-        }
-    };
-
-    class CognitoIdentityProviderClientMock
-        : public Aws::CognitoIdentityProvider::CognitoIdentityProviderClient
-    {
-    public:
-        CognitoIdentityProviderClientMock()
-            : Aws::CognitoIdentityProvider::CognitoIdentityProviderClient(Aws::Auth::AWSCredentials())
-        {
-            ON_CALL(*this, InitiateAuth(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityProviderClientMock::InitiateAuthMock));
-            ON_CALL(*this, SignUp(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityProviderClientMock::SignUpMock));
-            ON_CALL(*this, ConfirmSignUp(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityProviderClientMock::ConfirmSignUpMock));
-            ON_CALL(*this, RespondToAuthChallenge(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityProviderClientMock::RespondToAuthChallengeMock));
-            ON_CALL(*this, ForgotPassword(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityProviderClientMock::ForgotPasswordMock));
-            ON_CALL(*this, ConfirmForgotPassword(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityProviderClientMock::ConfirmForgotPasswordMock));
-            ON_CALL(*this, SetUserMFAPreference(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityProviderClientMock::SetUserMFAPreferenceMock));
-        }
-
-        MOCK_CONST_METHOD1(
-            InitiateAuth,
-            Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome(const Aws::CognitoIdentityProvider::Model::InitiateAuthRequest& request));
-        MOCK_CONST_METHOD1(
-            RespondToAuthChallenge,
-            Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeOutcome(const Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeRequest& request));
-        MOCK_CONST_METHOD1(
-            SignUp,
-            Aws::CognitoIdentityProvider::Model::SignUpOutcome(const Aws::CognitoIdentityProvider::Model::SignUpRequest& request));
-        MOCK_CONST_METHOD1(
-            ConfirmSignUp,
-            Aws::CognitoIdentityProvider::Model::ConfirmSignUpOutcome(const Aws::CognitoIdentityProvider::Model::ConfirmSignUpRequest& request));
-        MOCK_CONST_METHOD1(
-            ForgotPassword,
-            Aws::CognitoIdentityProvider::Model::ForgotPasswordOutcome(const Aws::CognitoIdentityProvider::Model::ForgotPasswordRequest& request));
-        MOCK_CONST_METHOD1(
-            ConfirmForgotPassword,
-            Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordOutcome(const Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordRequest& request));
-        MOCK_CONST_METHOD1(
-            SetUserMFAPreference,
-            Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceOutcome(const Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceRequest& request));
-
-        Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome InitiateAuthMock(const Aws::CognitoIdentityProvider::Model::InitiateAuthRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentityProvider::Model::AuthenticationResultType authenticationResult;
-            authenticationResult.SetAccessToken(TEST_ACCESS_TOKEN);
-            authenticationResult.SetRefreshToken(TEST_REFRESH_TOKEN);
-            authenticationResult.SetIdToken(TEST_ID_TOKEN);
-            authenticationResult.SetExpiresIn(5);
-            Aws::CognitoIdentityProvider::Model::InitiateAuthResult result;
-            result.SetChallengeName(Aws::CognitoIdentityProvider::Model::ChallengeNameType::NOT_SET);
-            result.SetAuthenticationResult(authenticationResult);
-            Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(result);
-            return outcome;
-        }
-
-        Aws::CognitoIdentityProvider::Model::SignUpOutcome SignUpMock(const Aws::CognitoIdentityProvider::Model::SignUpRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentityProvider::Model::SignUpResult result;
-            result.SetUserSub("TestUserUUID");
-            Aws::CognitoIdentityProvider::Model::SignUpOutcome outcome(result);
-            return outcome;
-        }
-
-        Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeOutcome RespondToAuthChallengeMock(const Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeResult result;
-            Aws::CognitoIdentityProvider::Model::AuthenticationResultType authenticationResult;
-            authenticationResult.SetAccessToken(TEST_ACCESS_TOKEN);
-            authenticationResult.SetRefreshToken(TEST_REFRESH_TOKEN);
-            authenticationResult.SetIdToken(TEST_ID_TOKEN);
-            authenticationResult.SetExpiresIn(30);
-            result.SetAuthenticationResult(authenticationResult);
-            Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeOutcome outcome(result);
-            return outcome;
-        }
-
-        Aws::CognitoIdentityProvider::Model::ConfirmSignUpOutcome ConfirmSignUpMock(const Aws::CognitoIdentityProvider::Model::ConfirmSignUpRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentityProvider::Model::ConfirmSignUpResult result;
-            Aws::CognitoIdentityProvider::Model::ConfirmSignUpOutcome outcome(result);
-            return outcome;
-        }
-
-        Aws::CognitoIdentityProvider::Model::ForgotPasswordOutcome ForgotPasswordMock(const Aws::CognitoIdentityProvider::Model::ForgotPasswordRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentityProvider::Model::ForgotPasswordResult result;
-            Aws::CognitoIdentityProvider::Model::ForgotPasswordOutcome outcome(result);
-            return outcome;
-        }
-
-        Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordOutcome ConfirmForgotPasswordMock(const Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordResult result;
-            Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordOutcome outcome(result);
-            return outcome;
-        }
-
-        Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceOutcome SetUserMFAPreferenceMock(const Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceResult result;
-            Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceOutcome outcome(result);
-            return outcome;
-        }
-    };
-
-    class CognitoIdentityClientMock
-        : public Aws::CognitoIdentity::CognitoIdentityClient
-    {
-    public:
-        CognitoIdentityClientMock()
-            : Aws::CognitoIdentity::CognitoIdentityClient(Aws::Auth::AWSCredentials())
-        {
-            ON_CALL(*this, GetId(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityClientMock::GetIdMock));
-            ON_CALL(*this, GetCredentialsForIdentity(testing::_)).WillByDefault(testing::Invoke(this, &CognitoIdentityClientMock::GetCredentialsForIdentityMock));
-        }
-
-        MOCK_CONST_METHOD1(GetId, Aws::CognitoIdentity::Model::GetIdOutcome(const Aws::CognitoIdentity::Model::GetIdRequest& request));
-        MOCK_CONST_METHOD1(
-            GetCredentialsForIdentity,
-            Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome(const Aws::CognitoIdentity::Model::GetCredentialsForIdentityRequest& request));
-
-        Aws::CognitoIdentity::Model::GetIdOutcome GetIdMock(const Aws::CognitoIdentity::Model::GetIdRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentity::Model::GetIdResult result;
-            result.SetIdentityId(TEST_IDENTITY_ID);
-            Aws::CognitoIdentity::Model::GetIdOutcome outcome(result);
-            return outcome;
-        }
-
-        Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome GetCredentialsForIdentityMock(const Aws::CognitoIdentity::Model::GetCredentialsForIdentityRequest& request)
-        {
-            AZ_UNUSED(request);
-            Aws::CognitoIdentity::Model::Credentials creds;
-            creds.SetAccessKeyId(TEST_ACCESS_KEY_ID);
-            creds.SetSecretKey(TEST_SECRET_KEY_ID);
-            creds.SetExpiration(Aws::Utils::DateTime(std::chrono::system_clock::now() + std::chrono::seconds(600)));
-            Aws::CognitoIdentity::Model::GetCredentialsForIdentityResult result;
-            result.SetIdentityId(TEST_IDENTITY_ID);
-            result.SetCredentials(creds);
-            Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome outcome(result);
-            return outcome;
-        }
-    };
-
-    class AuthenticationProviderMock
-        : public AWSClientAuth::AuthenticationProviderInterface
-    {
-    public:
-        AuthenticationProviderMock()
-        {
-            ON_CALL(*this, Initialize()).WillByDefault(testing::Return(true));
-        }
-
-        ~AuthenticationProviderMock() override = default;
-
-        MOCK_METHOD0(Initialize, bool());
-        MOCK_METHOD2(PasswordGrantSingleFactorSignInAsync, void(const AZStd::string& username, const AZStd::string& password));
-        MOCK_METHOD2(PasswordGrantMultiFactorSignInAsync, void(const AZStd::string& username, const AZStd::string& password));
-        MOCK_METHOD2(PasswordGrantMultiFactorConfirmSignInAsync, void(const AZStd::string& username, const AZStd::string& confirmationCode));
-        MOCK_METHOD0(DeviceCodeGrantSignInAsync, void());
-        MOCK_METHOD0(DeviceCodeGrantConfirmSignInAsync, void());
-        MOCK_METHOD0(RefreshTokensAsync, void());
-        MOCK_METHOD0(GetAuthenticationTokens, AWSClientAuth::AuthenticationTokens());
-        MOCK_METHOD0(SignOut, void());
-    };
-
-    class AuthenticationProviderNotificationsBusMock
-        : public AWSClientAuth::AuthenticationProviderNotificationBus::Handler
-    {
-    public:
-        AuthenticationProviderNotificationsBusMock()
-        {
-            ON_CALL(*this, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).WillByDefault(testing::Invoke(this, &AuthenticationProviderNotificationsBusMock::AssertAuthenticationTokensPopulated));
-            ON_CALL(*this, OnPasswordGrantMultiFactorConfirmSignInSuccess(testing::_)).WillByDefault(testing::Invoke(this, &AuthenticationProviderNotificationsBusMock::AssertAuthenticationTokensPopulated));
-            ON_CALL(*this, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).WillByDefault(testing::Invoke(this, &AuthenticationProviderNotificationsBusMock::AssertAuthenticationTokensPopulated));
-            ON_CALL(*this, OnRefreshTokensSuccess(testing::_)).WillByDefault(testing::Invoke(this, &AuthenticationProviderNotificationsBusMock::AssertAuthenticationTokensPopulated));
-
-            AWSClientAuth::AuthenticationProviderNotificationBus::Handler::BusConnect();
-        }
-
-        ~AuthenticationProviderNotificationsBusMock() override
-        {
-            AWSClientAuth::AuthenticationProviderNotificationBus::Handler::BusDisconnect();
-        }
-
-        MOCK_METHOD1(OnPasswordGrantSingleFactorSignInSuccess, void(const AWSClientAuth::AuthenticationTokens& authenticationToken));
-        MOCK_METHOD1(OnPasswordGrantSingleFactorSignInFail, void(const AZStd::string& error));
-        MOCK_METHOD0(OnPasswordGrantMultiFactorSignInSuccess, void());
-        MOCK_METHOD1(OnPasswordGrantMultiFactorSignInFail, void(const AZStd::string& error));
-        MOCK_METHOD1(OnPasswordGrantMultiFactorConfirmSignInSuccess, void(const AWSClientAuth::AuthenticationTokens& authenticationToken));
-        MOCK_METHOD1(OnPasswordGrantMultiFactorConfirmSignInFail, void(const AZStd::string& error));
-        MOCK_METHOD3(OnDeviceCodeGrantSignInSuccess, void(const AZStd::string& userCode, const AZStd::string& verificationUrl, int codeExpiresInSeconds));
-        MOCK_METHOD1(OnDeviceCodeGrantSignInFail, void(const AZStd::string& error));
-        MOCK_METHOD1(OnDeviceCodeGrantConfirmSignInSuccess, void(const AWSClientAuth::AuthenticationTokens& authenticationToken));
-        MOCK_METHOD1(OnDeviceCodeGrantConfirmSignInFail, void(const AZStd::string& error));
-        MOCK_METHOD1(OnRefreshTokensSuccess, void(const AWSClientAuth::AuthenticationTokens& authenticationToken));
-        MOCK_METHOD1(OnRefreshTokensFail, void(const AZStd::string& error));
-        MOCK_METHOD1(OnSignOut, void(const AWSClientAuth::ProviderNameEnum& providerName));
-
-    private:
-        void AssertAuthenticationTokensPopulated([[maybe_unused]] const AWSClientAuth::AuthenticationTokens& authenticationToken)
-        {
-            AZ_Assert(authenticationToken.GetAccessToken() == TEST_ACCESS_TOKEN, "Access token expected to match");
-            AZ_Assert(
-                authenticationToken.GetProviderName() == AWSClientAuth::ProviderNameEnum::LoginWithAmazon
-                    ? authenticationToken.GetOpenIdToken() == TEST_ACCESS_TOKEN
-                    : authenticationToken.GetOpenIdToken() == TEST_ID_TOKEN,
-                "Id token expected to match");
-            AZ_Assert(authenticationToken.GetRefreshToken() == TEST_REFRESH_TOKEN, "Refresh token expected match");
-            AZ_Assert(authenticationToken.GetTokensExpireTimeSeconds() != 0, "Access token expiry expected to be set");
-            AZ_Assert(authenticationToken.AreTokensValid(), "Tokens expected to be valid");
-        }
-    };
-
-    class AWSCognitoAuthorizationNotificationsBusMock
-        : public AWSClientAuth::AWSCognitoAuthorizationNotificationBus::Handler
-    {
-    public:
-        AWSCognitoAuthorizationNotificationsBusMock()
-        {
-            AWSClientAuth::AWSCognitoAuthorizationNotificationBus::Handler::BusConnect();
-        }
-
-        ~AWSCognitoAuthorizationNotificationsBusMock() override
-        {
-            AWSClientAuth::AWSCognitoAuthorizationNotificationBus::Handler::BusDisconnect();
-        }
-
-        MOCK_METHOD1(OnRequestAWSCredentialsSuccess, void(const AWSClientAuth::ClientAuthAWSCredentials& awsCredentials));
-        MOCK_METHOD1(OnRequestAWSCredentialsFail, void(const AZStd::string& error));
-    };
-
-    class AWSCognitoUserManagementNotificationsBusMock
-        : public AWSClientAuth::AWSCognitoUserManagementNotificationBus::Handler
-    {
-    public:
-        AWSCognitoUserManagementNotificationsBusMock()
-        {
-            AWSClientAuth::AWSCognitoUserManagementNotificationBus::Handler::BusConnect();
-        }
-
-        ~AWSCognitoUserManagementNotificationsBusMock() override
-        {
-            AWSClientAuth::AWSCognitoUserManagementNotificationBus::Handler::BusDisconnect();
-        }
-
-        MOCK_METHOD1(OnEmailSignUpSuccess, void(const AZStd::string& uuid));
-        MOCK_METHOD1(OnEmailSignUpFail, void(const AZStd::string& error));
-        MOCK_METHOD1(OnPhoneSignUpSuccess, void(const AZStd::string& uuid));
-        MOCK_METHOD1(OnPhoneSignUpFail, void(const AZStd::string& error));
-        MOCK_METHOD0(OnConfirmSignUpSuccess, void());
-        MOCK_METHOD1(OnConfirmSignUpFail, void(const AZStd::string& error));
-        MOCK_METHOD0(OnForgotPasswordSuccess, void());
-        MOCK_METHOD1(OnForgotPasswordFail, void(const AZStd::string& error));
-        MOCK_METHOD0(OnConfirmForgotPasswordSuccess, void());
-        MOCK_METHOD1(OnConfirmForgotPasswordFail, void(const AZStd::string& error));
-        MOCK_METHOD0(OnEnableMFASuccess, void());
-        MOCK_METHOD1(OnEnableMFAFail, void(const AZStd::string& error));
-    };
-
-    class AWSClientAuthGemAllocatorFixture
-        : public UnitTest::LeakDetectionFixture
-        , public AZ::ComponentApplicationBus::Handler
-        , public AWSClientAuth::AWSClientAuthRequestBus::Handler
-    {
-    public:
-        AWSClientAuthGemAllocatorFixture()
-        {
-        }
-
-        AWSClientAuthGemAllocatorFixture(bool connectClientAuthBus)
-        {
-            m_connectClientAuthBus = connectClientAuthBus;
-        }
-
-        ~AWSClientAuthGemAllocatorFixture() override = default;
-
-    protected:
-        AZStd::shared_ptr<AZ::SerializeContext> m_serializeContext;
-        AZStd::unique_ptr<AZ::JsonRegistrationContext> m_registrationContext;
-        AZStd::shared_ptr<AZ::SettingsRegistryImpl> m_settingsRegistry;
-        AZStd::unique_ptr<AZStd::string> m_testFolder;
-        bool m_testFolderCreated = false;
-        AZStd::unique_ptr<AZ::JobContext> m_jobContext;
-        AZStd::unique_ptr<AZ::JobCancelGroup> m_jobCancelGroup;
-        AZStd::unique_ptr<AZ::JobManager> m_jobManager;
-
-        std::shared_ptr<CognitoIdentityProviderClientMock> m_cognitoIdentityProviderClientMock;
-        std::shared_ptr<CognitoIdentityClientMock> m_cognitoIdentityClientMock;
-        bool m_connectClientAuthBus = true;
-
-        AuthenticationProviderNotificationsBusMock m_authenticationProviderNotificationsBusMock;
-        AWSCognitoAuthorizationNotificationsBusMock m_awsCognitoAuthorizationNotificationsBusMock;
-        AWSCognitoUserManagementNotificationsBusMock m_awsCognitoUserManagementNotificationsBusMock;
-        bool m_hasCognitoControllers = true;
-
-        void SetUp() override
-        {
-            AZ::IO::FileIOBase::SetInstance(aznew AZ::IO::LocalFileIO());
-
-            m_serializeContext = AZStd::make_unique<AZ::SerializeContext>();
-            m_registrationContext = AZStd::make_unique<AZ::JsonRegistrationContext>();
-
-            AZ::JsonSystemComponent::Reflect(m_registrationContext.get());
-
-            m_settingsRegistry = AZStd::make_unique<AZ::SettingsRegistryImpl>();
-
-            m_settingsRegistry->SetContext(m_serializeContext.get());
-            m_settingsRegistry->SetContext(m_registrationContext.get());
-
-            AZ::SettingsRegistry::Register(m_settingsRegistry.get());
-
-            AZ::ComponentApplicationBus::Handler::BusConnect();
-            AZ::Interface<AZ::ComponentApplicationRequests>::Register(this);
-
-            if (m_connectClientAuthBus)
-            {
-                AZ::Interface<IAWSClientAuthRequests>::Register(this);
-                AWSClientAuth::AWSClientAuthRequestBus::Handler::BusConnect();
-            }
-
-            m_testFolder = AZStd::make_unique<AZStd::string>("AWSClientAuthTest_");
-            m_testFolder->append(AZ::Uuid::CreateRandom().ToString<AZStd::string>(false, false));
-
-            AZ::JobManagerDesc jobManagerDesc;
-            AZ::JobManagerThreadDesc threadDesc;
-
-            m_jobManager.reset(aznew AZ::JobManager(jobManagerDesc));
-            m_jobCancelGroup.reset(aznew AZ::JobCancelGroup());
-            jobManagerDesc.m_workerThreads.push_back(threadDesc);
-            jobManagerDesc.m_workerThreads.push_back(threadDesc);
-            jobManagerDesc.m_workerThreads.push_back(threadDesc);
-            m_jobContext.reset(aznew AZ::JobContext(*m_jobManager, *m_jobCancelGroup));
-            AZ::JobContext::SetGlobalContext(m_jobContext.get());
-
-            AWSNativeSDKTestLibs::AWSNativeSDKTestManager::Init();
-            m_cognitoIdentityProviderClientMock = std::make_shared<CognitoIdentityProviderClientMock>();
-            m_cognitoIdentityClientMock = std::make_shared<CognitoIdentityClientMock>();
-        }
-
-        void TearDown() override
-        {
-            AZ::JobContext::SetGlobalContext(nullptr);
-            m_jobContext.reset();
-            m_jobCancelGroup.reset();
-            m_jobManager.reset();
-
-            m_cognitoIdentityProviderClientMock.reset();
-            m_cognitoIdentityClientMock.reset();
-
-            AWSNativeSDKTestLibs::AWSNativeSDKTestManager::Shutdown();
-
-            if (m_testFolderCreated)
-            {
-                DeleteFolderRecursive(*m_testFolder);
-            }
-
-            m_registrationContext->EnableRemoveReflection();
-            AZ::JsonSystemComponent::Reflect(m_registrationContext.get());
-            m_registrationContext->DisableRemoveReflection();
-
-            AZ::Interface<AZ::ComponentApplicationRequests>::Unregister(this);
-            AZ::ComponentApplicationBus::Handler::BusDisconnect();
-            if (m_connectClientAuthBus)
-            {
-                AZ::Interface<IAWSClientAuthRequests>::Unregister(this);
-                AWSClientAuth::AWSClientAuthRequestBus::Handler::BusDisconnect();
-            }
-
-            AZ::SettingsRegistry::Unregister(m_settingsRegistry.get());
-
-            m_testFolder.reset();
-            m_settingsRegistry.reset();
-            m_serializeContext.reset();
-            m_registrationContext.reset();
-
-            delete AZ::IO::FileIOBase::GetInstance();
-            AZ::IO::FileIOBase::SetInstance(nullptr);
-        }
-
-        // ComponentApplicationBus overrides. Required by settings registry for json serialization context.
-        AZ::ComponentApplication* GetApplication() override
-        {
-            return nullptr;
-        }
-
-        void RegisterComponentDescriptor(const AZ::ComponentDescriptor*) override
-        {
-        }
-
-        void UnregisterComponentDescriptor(const AZ::ComponentDescriptor*) override
-        {
-        }
-
-        void RegisterEntityAddedEventHandler(AZ::EntityAddedEvent::Handler&) override
-        {
-        }
-
-        void RegisterEntityRemovedEventHandler(AZ::EntityRemovedEvent::Handler&) override
-        {
-        }
-
-        void RegisterEntityActivatedEventHandler(AZ::EntityActivatedEvent::Handler&) override
-        {
-        }
-
-        void RegisterEntityDeactivatedEventHandler(AZ::EntityDeactivatedEvent::Handler&) override
-        {
-        }
-
-        void SignalEntityActivated(AZ::Entity*) override
-        {
-        }
-
-        void SignalEntityDeactivated(AZ::Entity*) override
-        {
-        }
-
-        bool AddEntity(AZ::Entity*) override
-        {
-            return true;
-        }
-
-        bool RemoveEntity(AZ::Entity*) override
-        {
-            return true;
-        }
-
-        bool DeleteEntity(const AZ::EntityId&) override
-        {
-            return true;
-        }
-
-        AZ::Entity* FindEntity(const AZ::EntityId&) override
-        {
-            return nullptr;
-        }
-
-        AZ::BehaviorContext* GetBehaviorContext() override
-        {
-            return nullptr;
-        }
-
-        const char* GetExecutableFolder() const override
-        {
-            return nullptr;
-        }
-
-        const char* GetEngineRoot() const override
-        {
-            return nullptr;
-        }
-
-        void EnumerateEntities(const EntityCallback& /*callback*/) override
-        {
-        }
-
-        void QueryApplicationType(AZ::ApplicationTypeQuery& /*appType*/) const override
-        {
-        }
-
-        AZ::SerializeContext* GetSerializeContext() override
-        {
-            return m_serializeContext.get();
-        }
-
-        AZ::JsonRegistrationContext* GetJsonRegistrationContext() override
-        {
-            return m_registrationContext.get();
-        }
-
-        // AWSClientAuthBus
-        std::shared_ptr<Aws::CognitoIdentityProvider::CognitoIdentityProviderClient> GetCognitoIDPClient() override
-        {
-            return m_cognitoIdentityProviderClientMock;
-        }
-
-        std::shared_ptr<Aws::CognitoIdentity::CognitoIdentityClient> GetCognitoIdentityClient() override
-        {
-            return m_cognitoIdentityClientMock;
-        }
-
-        bool HasCognitoControllers() const override
-        {
-            return m_hasCognitoControllers;
-        }
-
-        // TODO Add safety check. Also use pattern to create and remove one file.
-        static void DeleteFolderRecursive(const AZStd::string& path)
-        {
-            auto callback = [&path](const char* filename, bool isFile) -> bool
-            {
-                if (isFile)
-                {
-                    AZStd::string filePath = path;
-                    filePath += '/';
-                    filePath += filename;
-                    AZ::IO::SystemFile::Delete(filePath.c_str());
-                }
-                else
-                {
-                    if (strcmp(filename, ".") != 0 && strcmp(filename, "..") != 0)
-                    {
-                        AZStd::string folderPath = path;
-                        folderPath += '/';
-                        folderPath += filename;
-                        DeleteFolderRecursive(folderPath);
-                    }
-                }
-                return true;
-            };
-            AZStd::string searchPath = path;
-            searchPath += "/*";
-            AZ::IO::SystemFile::FindFiles(searchPath.c_str(), callback);
-            AZ::IO::SystemFile::DeleteDir(path.c_str());
-        }
-
-        AZStd::string CreateTestFile(AZStd::string_view name, AZStd::string_view content)
-        {
-            using namespace AZ::IO;
-
-            AZStd::string path = AZStd::string::format("%s/%s/%.*s", m_testFolder->c_str(),
-                AZ::SettingsRegistryInterface::RegistryFolder, static_cast<int>(name.length()), name.data());
-
-            SystemFile file;
-            if (!file.Open(path.c_str(), SystemFile::OpenMode::SF_OPEN_CREATE | SystemFile::SF_OPEN_CREATE_PATH | SystemFile::SF_OPEN_WRITE_ONLY))
-            {
-                AZ_Assert(false, "Unable to open test file for writing: %s", path.c_str());
-                return path;
-            }
-
-            if (file.Write(content.data(), content.size()) != content.size())
-            {
-                AZ_Assert(false, "Unable to write content to test file: %s", path.c_str());
-            }
-
-            m_testFolderCreated = true;
-            return path;
-        }
-    };
-} // namespace AWSClientAuthUnitTest

+ 0 - 12
Gems/AWSClientAuth/Code/Tests/AWSClientAuthGemTest.cpp

@@ -1,12 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-
-// DO NOT REMOVE. Common place to set the testing hook
-AZ_UNIT_TEST_HOOK(DEFAULT_UNIT_TEST_ENV);

+ 0 - 240
Gems/AWSClientAuth/Code/Tests/AWSClientAuthSystemComponentTest.cpp

@@ -1,240 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-#include <AzTest/Utils.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <AWSClientAuthSystemComponent.h>
-#include <AzCore/Component/Entity.h>
-#include <AzFramework/IO/LocalFileIO.h>
-#include <AWSClientAuthGemMock.h>
-#include <AWSClientAuthResourceMappingConstants.h>
-
-namespace AWSClientAuthUnitTest
-{
-    class AWSClientAuthSystemComponentMock
-        : public AWSClientAuth::AWSClientAuthSystemComponent
-    {
-    public:
-        AZ_CLASS_ALLOCATOR(AWSClientAuthSystemComponentMock, AZ::SystemAllocator)
-        using AWSClientAuth::AWSClientAuthSystemComponent::GetCognitoIDPClient;
-        using AWSClientAuth::AWSClientAuthSystemComponent::GetCognitoIdentityClient;
-
-        void InitMock()
-        {
-            AWSClientAuth::AWSClientAuthSystemComponent::Init();
-        }
-
-        void ActivateMock()
-        {
-            AWSClientAuth::AWSClientAuthSystemComponent::Activate();
-        }
-
-        void DeactivateMock()
-        {
-            AWSClientAuth::AWSClientAuthSystemComponent::Deactivate();
-        }
-
-        AWSClientAuthSystemComponentMock()
-        {
-            ON_CALL(*this, Init()).WillByDefault(testing::Invoke(this, &AWSClientAuthSystemComponentMock::InitMock));
-            ON_CALL(*this, Activate()).WillByDefault(testing::Invoke(this, &AWSClientAuthSystemComponentMock::ActivateMock));
-            ON_CALL(*this, Deactivate()).WillByDefault(testing::Invoke(this, &AWSClientAuthSystemComponentMock::DeactivateMock));
-        }
-
-        MOCK_METHOD0(Init, void());
-        MOCK_METHOD0(Activate, void());
-        MOCK_METHOD0(Deactivate, void());
-
-        using AWSClientAuth::AWSClientAuthSystemComponent::m_enabledProviderNames;        
-    };
-
-    class AWSCoreSystemComponentMock
-        : public AZ::Component
-    {
-    public:
-
-        AZ_COMPONENT(AWSCoreSystemComponentMock, "{5F48030D-EB59-4820-BC65-69EC7CC6C119}");
- 
-        static void Reflect(AZ::ReflectContext* context)
-        {
-            if (AZ::SerializeContext* serialize = azrtti_cast<AZ::SerializeContext*>(context))
-            {
-                serialize->Class<AWSCoreSystemComponentMock, AZ::Component>()
-                    ->Version(0)
-                    ;
-
-                if (AZ::EditContext* ec = serialize->GetEditContext())
-                {
-                    ec->Class<AWSCoreSystemComponentMock>("AWSCoreMock", "Adds core support for working with AWS")
-                        ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
-                        ->Attribute(AZ::Edit::Attributes::AutoExpand, true)
-                        ;
-                }
-            }
-        }
-
-        static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
-        {
-            provided.push_back(AZ_CRC_CE("AWSCoreService"));
-        }
-
-        static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible)
-        {
-            AZ_UNUSED(incompatible);
-        }
-
-        static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required)
-        {
-            AZ_UNUSED(required);
-        }
-
-        static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent)
-        {
-            AZ_UNUSED(dependent);
-        }
-
-        void ActivateMock()
-        {
-            AWSCore::AWSCoreNotificationsBus::Broadcast(&AWSCore::AWSCoreNotifications::OnSDKInitialized);
-        }
-
-        AWSCoreSystemComponentMock()
-        {
-            ON_CALL(*this, Activate()).WillByDefault(testing::Invoke(this, &AWSCoreSystemComponentMock::ActivateMock));
-        }
-
-        ~AWSCoreSystemComponentMock() = default;
-
-        MOCK_METHOD0(Init, void());
-        MOCK_METHOD0(Activate, void());
-        MOCK_METHOD0(Deactivate, void());
-    };
-}
-
-class AWSClientAuthSystemComponentTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-{
-public:
-    AWSClientAuthSystemComponentTest()
-        : AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture(false), m_awsClientAuthSystemsComponent(nullptr),
-          m_awsCoreSystemsComponent(nullptr)
-    {
-    }
-
-protected:
-    AZStd::unique_ptr<AZ::ComponentDescriptor> m_componentDescriptor;
-    AZStd::unique_ptr<AZ::ComponentDescriptor> m_awsCoreComponentDescriptor;
-
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-
-        m_componentDescriptor.reset(AWSClientAuth::AWSClientAuthSystemComponent::CreateDescriptor());
-        m_awsCoreComponentDescriptor.reset(AWSClientAuthUnitTest::AWSCoreSystemComponentMock::CreateDescriptor());
-        m_componentDescriptor->Reflect(m_serializeContext.get());
-        m_awsCoreComponentDescriptor->Reflect(m_serializeContext.get());
-
-        m_entity = aznew AZ::Entity();
-
-        m_awsClientAuthSystemsComponent = aznew testing::NiceMock<AWSClientAuthUnitTest::AWSClientAuthSystemComponentMock>();
-        m_awsCoreSystemsComponent = aznew testing::NiceMock<AWSClientAuthUnitTest::AWSCoreSystemComponentMock>();
-        m_entity->AddComponent(m_awsCoreSystemsComponent);
-        m_entity->AddComponent(m_awsClientAuthSystemsComponent);
-    }
-
-    void TearDown() override
-    {
-        m_entity->RemoveComponent(m_awsClientAuthSystemsComponent);
-        m_entity->RemoveComponent(m_awsCoreSystemsComponent);
-        delete m_awsCoreSystemsComponent;
-        delete m_awsClientAuthSystemsComponent;
-        delete m_entity;
-
-        m_componentDescriptor.reset();
-        m_awsCoreComponentDescriptor.reset();
-
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-public:
-    testing::NiceMock<AWSClientAuthUnitTest::AWSClientAuthSystemComponentMock> *m_awsClientAuthSystemsComponent;
-    testing::NiceMock<AWSClientAuthUnitTest::AWSCoreSystemComponentMock> *m_awsCoreSystemsComponent;
-    testing::NiceMock<AWSClientAuthUnitTest::AWSResourceMappingRequestBusMock> m_awsResourceMappingRequestBusMock;
-    testing::NiceMock<AWSClientAuthUnitTest::AWSCoreRequestBusMock> m_awsCoreRequestBusMock;
-    AZ::Entity* m_entity = nullptr;
-};
-
-
-
-TEST_F(AWSClientAuthSystemComponentTest, ActivateDeactivate_Success)
-{
-    m_awsClientAuthSystemsComponent->m_enabledProviderNames.push_back(AWSClientAuth::ProviderNameEnum::LoginWithAmazon);
-    m_awsClientAuthSystemsComponent->m_enabledProviderNames.push_back(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    testing::Sequence s1, s2;
-
-    EXPECT_CALL(*m_awsCoreSystemsComponent, Init()).Times(1).InSequence(s1);
-    EXPECT_CALL(*m_awsClientAuthSystemsComponent, Init()).Times(1).InSequence(s1);
-    EXPECT_CALL(*m_awsCoreSystemsComponent, Activate()).Times(1).InSequence(s1);
-    EXPECT_CALL(m_awsCoreRequestBusMock, GetDefaultConfig()).Times(1).InSequence(s1);
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetDefaultRegion()).Times(1).InSequence(s1);
-    EXPECT_CALL(*m_awsClientAuthSystemsComponent, Activate()).Times(1).InSequence(s1);
-
-    EXPECT_CALL(*m_awsClientAuthSystemsComponent, Deactivate()).Times(1).InSequence(s2);
-    EXPECT_CALL(*m_awsCoreSystemsComponent, Deactivate()).Times(1).InSequence(s2);
-
-    // activate component
-    m_entity->Init();
-    m_entity->Activate();
-
-    // deactivate component
-    m_entity->Deactivate();
-}
-
-TEST_F(AWSClientAuthSystemComponentTest, GetCognitoClients_Success)
-{
-    m_awsClientAuthSystemsComponent->m_enabledProviderNames.push_back(AWSClientAuth::ProviderNameEnum::LoginWithAmazon);
-    m_awsClientAuthSystemsComponent->m_enabledProviderNames.push_back(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    // activate component
-    m_entity->Init();
-    m_entity->Activate();
-
-    EXPECT_TRUE(AZ::Interface<IAWSClientAuthRequests>::Get()->HasCognitoControllers());
-    EXPECT_TRUE(AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIdentityClient() != nullptr);
-    EXPECT_TRUE(AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient() != nullptr);
-
-    // deactivate component
-    m_entity->Deactivate();
-}
-
-TEST_F(AWSClientAuthSystemComponentTest, SkipCognitoControllers_Success)
-{
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, HasResource(AZStd::string(CognitoUserPoolIdResourceMappingKey)))
-        .Times(1)
-        .WillOnce(testing::Return(false));
-
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, HasResource(AZStd::string(CognitoIdentityPoolIdResourceMappingKey)))
-        .Times(1)
-        .WillOnce(testing::Return(false));
-
-    // activate component
-    m_entity->Init();
-    m_entity->Activate();
-
-    // Expect controllers are not configured
-    EXPECT_FALSE(AZ::Interface<IAWSClientAuthRequests>::Get()->HasCognitoControllers());
-
-    // These should still be available
-    EXPECT_TRUE(AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIdentityClient() != nullptr);
-    EXPECT_TRUE(AZ::Interface<IAWSClientAuthRequests>::Get()->GetCognitoIDPClient() != nullptr);
-
-    // deactivate component
-    m_entity->Deactivate();
-}

+ 0 - 265
Gems/AWSClientAuth/Code/Tests/Authentication/AWSCognitoAuthenticationProviderTest.cpp

@@ -1,265 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <Authentication/AWSCognitoAuthenticationProvider.h>
-#include <AWSClientAuthGemMock.h>
-#include <aws/core/utils/Outcome.h>
-#include <aws/cognito-idp/CognitoIdentityProviderErrors.h>
-
-
-namespace AWSClientAuthUnitTest
-{
-    class AWSCognitoAuthenticationProviderrLocalMock
-        : public AWSClientAuth::AWSCognitoAuthenticationProvider
-    {
-    public:
-        using AWSClientAuth::AWSCognitoAuthenticationProvider::m_cognitoAppClientId;
-    };
-}
-
-class AWSCognitoAuthenticationProviderTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-    , public AWSCore::AWSCoreRequestBus::Handler
-{
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-
-        m_cognitoAuthenticationProviderMock.Initialize();
-
-        AWSCore::AWSCoreRequestBus::Handler::BusConnect();
-
-    }
-
-    void TearDown() override
-    {
-        AWSCore::AWSCoreRequestBus::Handler::BusDisconnect();
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-    // AWSCore::AWSCoreRequestBus overrides
-    AZ::JobContext* GetDefaultJobContext() override
-    {
-        return m_jobContext.get();
-    }
-
-    // Returns the default client configuration setting to use as a starting point in AWS requests
-    AWSCore::AwsApiJobConfig* GetDefaultConfig() override
-    {
-        return nullptr;
-    }
-
-public:
-    AWSClientAuthUnitTest::AWSCognitoAuthenticationProviderrLocalMock m_cognitoAuthenticationProviderMock;
-    testing::NiceMock<AWSClientAuthUnitTest::AWSResourceMappingRequestBusMock> m_awsResourceMappingRequestBusMock;
-
-    void AssertAuthenticationTokensPopulated()
-    {
-        AZ_Assert(
-        m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetAccessToken() ==
-                "",
-            "Access token expected to be empty");
-        AZ_Assert(
-            m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetOpenIdToken() ==
-                "",
-            "Id token expected to be empty");
-        AZ_Assert(
-            m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetRefreshToken() ==
-                AWSClientAuthUnitTest::TEST_REFRESH_TOKEN,
-            "Refresh token expected to match");
-        AZ_Assert(
-            m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetTokensExpireTimeSeconds() != 0,
-            "Access token expiry expected to be set");
-        AZ_Assert(m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().AreTokensValid(), "Tokens expected to be valid");
-    }
-
-    void AssertAuthenticationTokensEmpty()
-    {
-        AZ_Assert(
-            m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetAccessToken() == "", "Access token expected to be empty");
-        AZ_Assert(m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetOpenIdToken() == "", "Id token expected to be empty");
-        AZ_Assert(
-            m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetRefreshToken() == "", "Refresh token expected to be empty");
-        AZ_Assert(
-            m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().GetTokensExpireTimeSeconds() == 0,
-            "Access token expiry expected to be 0");
-        AZ_Assert(!m_cognitoAuthenticationProviderMock.GetAuthenticationTokens().AreTokensValid(), "Tokens expected to be invalid");
-    }
-
-};
-
-TEST_F(AWSCognitoAuthenticationProviderTest, Initialize_Success)
-{
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetResourceNameId(testing::_)).Times(1);
-    AWSClientAuthUnitTest::AWSCognitoAuthenticationProviderrLocalMock mock;
-    ASSERT_TRUE(mock.Initialize());
-    ASSERT_EQ(mock.m_cognitoAppClientId, AWSClientAuthUnitTest::TEST_RESOURCE_NAME_ID);
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantSingleFactorSignInAsync_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantSingleFactorSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    AssertAuthenticationTokensPopulated();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantSingleFactorSignInAsync_Fail_InitiateAuthError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInFail(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantSingleFactorSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    AssertAuthenticationTokensEmpty();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantSingleFactorSignInAsync_Fail_IncorrectChallengeTypeError)
-{
-    Aws::CognitoIdentityProvider::Model::InitiateAuthResult result;
-    result.SetChallengeName(Aws::CognitoIdentityProvider::Model::ChallengeNameType::CUSTOM_CHALLENGE);
-    Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(result);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInFail(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantSingleFactorSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantMultiFactorSignInAsync_Success)
-{
-    Aws::CognitoIdentityProvider::Model::InitiateAuthResult result;
-    result.SetChallengeName(Aws::CognitoIdentityProvider::Model::ChallengeNameType::SMS_MFA);
-    result.SetSession(AWSClientAuthUnitTest::TEST_SESSION);
-    Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(result);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorSignInSuccess()).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantMultiFactorSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantMultiFactorSignInAsync_Fail_InitiateAuthError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(error);
-
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorSignInSuccess()).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorSignInFail(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantMultiFactorSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantMultiFactorSignInAsync_Fail_IncorrectChallengeTypeError)
-{
-    Aws::CognitoIdentityProvider::Model::InitiateAuthResult result;
-    result.SetChallengeName(Aws::CognitoIdentityProvider::Model::ChallengeNameType::CUSTOM_CHALLENGE);
-    Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(result);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorSignInSuccess()).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorSignInFail(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantMultiFactorSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantMultiFactorConfirmSignInAsync_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, RespondToAuthChallenge(testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorConfirmSignInSuccess(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantMultiFactorConfirmSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    AssertAuthenticationTokensPopulated();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, PasswordGrantMultiFactorConfirmSignInAsync_Fail_RespondToAuthChallengeError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::RespondToAuthChallengeOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, RespondToAuthChallenge(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorConfirmSignInSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorConfirmSignInFail(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantMultiFactorConfirmSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    AssertAuthenticationTokensEmpty();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, RefreshTokensAsync_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensFail(testing::_)).Times(0);
-    m_cognitoAuthenticationProviderMock.RefreshTokensAsync();
-
-    AssertAuthenticationTokensPopulated();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, RefreshTokensAsync_Fail_InitiateAuthError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensFail(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.RefreshTokensAsync();
-
-    AssertAuthenticationTokensEmpty();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, RefreshTokensAsync_Fail_IncorrectChallengeType)
-{
-    Aws::CognitoIdentityProvider::Model::InitiateAuthResult result;
-    result.SetChallengeName(Aws::CognitoIdentityProvider::Model::ChallengeNameType::CUSTOM_CHALLENGE);
-    Aws::CognitoIdentityProvider::Model::InitiateAuthOutcome outcome(result);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensFail(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.RefreshTokensAsync();
-
-    AssertAuthenticationTokensEmpty();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, SignOut_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, InitiateAuth(testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    m_cognitoAuthenticationProviderMock.PasswordGrantSingleFactorSignInAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    AssertAuthenticationTokensPopulated();
-
-    m_cognitoAuthenticationProviderMock.SignOut();
-
-    AssertAuthenticationTokensEmpty();
-}
-
-TEST_F(AWSCognitoAuthenticationProviderTest, Initialize_Fail_EmptyResourceName)
-{
-    AWSClientAuthUnitTest::AWSCognitoAuthenticationProviderrLocalMock mock;
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetResourceNameId(testing::_)).Times(1).WillOnce(testing::Return(""));
-    ASSERT_FALSE(mock.Initialize());
-}

+ 0 - 51
Gems/AWSClientAuth/Code/Tests/Authentication/AuthenticationProviderManagerMock.h

@@ -1,51 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include <AWSClientAuthGemMock.h>
-#include <Authentication/AuthenticationProviderManager.h>
-
-namespace AWSClientAuthUnitTest
-{
-    class AuthenticationProviderManagerLocalMock
-        : public AWSClientAuth::AuthenticationProviderManager
-    {
-    public:
-        using AWSClientAuth::AuthenticationProviderManager::DeviceCodeGrantConfirmSignInAsync;
-        using AWSClientAuth::AuthenticationProviderManager::DeviceCodeGrantSignInAsync;
-        using AWSClientAuth::AuthenticationProviderManager::GetAuthenticationTokens;
-        using AWSClientAuth::AuthenticationProviderManager::GetTokensWithRefreshAsync;
-        using AWSClientAuth::AuthenticationProviderManager::Initialize;
-        using AWSClientAuth::AuthenticationProviderManager::IsSignedIn;
-        using AWSClientAuth::AuthenticationProviderManager::m_authenticationProvidersMap;
-        using AWSClientAuth::AuthenticationProviderManager::PasswordGrantMultiFactorConfirmSignInAsync;
-        using AWSClientAuth::AuthenticationProviderManager::PasswordGrantMultiFactorSignInAsync;
-        using AWSClientAuth::AuthenticationProviderManager::PasswordGrantSingleFactorSignInAsync;
-        using AWSClientAuth::AuthenticationProviderManager::RefreshTokensAsync;
-        using AWSClientAuth::AuthenticationProviderManager::SignOut;
-
-        AZStd::unique_ptr<AWSClientAuth::AuthenticationProviderInterface> CreateAuthenticationProviderObjectMock(
-            const AWSClientAuth::ProviderNameEnum& providerName)
-        {
-            auto providerObject = AWSClientAuth::AuthenticationProviderManager::CreateAuthenticationProviderObject(providerName);
-            providerObject.reset();
-            return AZStd::make_unique<testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>>();
-        }
-
-        AuthenticationProviderManagerLocalMock()
-        {
-            ON_CALL(*this, CreateAuthenticationProviderObject(testing::_))
-                .WillByDefault(testing::Invoke(this, &AuthenticationProviderManagerLocalMock::CreateAuthenticationProviderObjectMock));
-        }
-
-        MOCK_METHOD1(
-            CreateAuthenticationProviderObject,
-            AZStd::unique_ptr<AWSClientAuth::AuthenticationProviderInterface>(const AWSClientAuth::ProviderNameEnum&));
-    };
-} // namespace AWSClientAuthUnitTest

+ 0 - 252
Gems/AWSClientAuth/Code/Tests/Authentication/AuthenticationProviderManagerScriptCanvasBusTest.cpp

@@ -1,252 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzCore/std/smart_ptr/unique_ptr.h>
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <AzCore/std/utils.h>
-#include <Authentication/AuthenticationProviderManager.h>
-#include <Authentication/AWSCognitoAuthenticationProvider.h>
-#include <Authentication/LWAAuthenticationProvider.h>
-#include <Authentication/AuthenticationTokens.h>
-#include <Authentication/AuthenticationProviderTypes.h>
-#include <AWSClientAuthGemMock.h>
-#include <Authentication/AuthenticationProviderManagerMock.h>
-
-
-class AuthenticationProviderManagerScriptCanvasTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-{
-protected:
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-
-        AWSClientAuth::LWAProviderSetting::Reflect(*m_serializeContext);
-        AWSClientAuth::GoogleProviderSetting::Reflect(*m_serializeContext);
-
-        AZStd::string settingspath = AZStd::string::format(
-            "%s/%s/authenticationProvider.setreg",
-            m_testFolder->c_str(), AZ::SettingsRegistryInterface::RegistryFolder);
-        CreateTestFile("authenticationProvider.setreg"
-            , R"({
-                "AWS": 
-                {
-                    "LoginWithAmazon": 
-                    {
-                        "AppClientId": "TestLWAClientId",
-                        "GrantType":  "device_code",
-                        "Scope": "profile",
-                        "ResponseType":  "device_code",
-                        "OAuthCodeURL": "https://api.amazon.com/auth/o2/create/codepair",
-                        "OAuthTokensURL": "https://oauth2.googleapis.com/token"
-                    },
-                    "Google": 
-                    {
-                        "AppClientId": "TestGoogleClientId",
-                        "ClientSecret": "123",
-                        "GrantType":  "urn:ietf:params:oauth:grant-type:device_code",
-                        "Scope": "profile",
-                        "OAuthCodeURL": "https://oauth2.googleapis.com/device/code",
-                        "OAuthTokensURL": "https://oauth2.googleapis.com/token"
-                    }
-                } 
-            })");
-        m_settingsRegistry->MergeSettingsFile(settingspath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
-
-        m_mockController = AZStd::make_unique<testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderManagerLocalMock>>();
-    }
-
-    void TearDown() override
-    {
-        m_mockController.reset();
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-public:
-    AZStd::unique_ptr<testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderManagerLocalMock>> m_mockController;
-    AZStd::vector<AZStd::string> m_enabledProviderNames { AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP,
-        AWSClientAuth::ProvideNameEnumStringLoginWithAmazon, AWSClientAuth::ProvideNameEnumStringGoogle};
-};
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, Initialize_Success)
-{
-    ASSERT_TRUE(m_mockController->Initialize(m_enabledProviderNames));
-    ASSERT_TRUE(m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP] != nullptr);
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, PasswordGrantSingleFactorSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-  
-    EXPECT_CALL(*cognitoProviderMock, PasswordGrantSingleFactorSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantSingleFactorSignInAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, PasswordGrantSingleFactorSignInAsync_Fail_NonConfiguredProviderError)
-{
-    AZ_TEST_START_TRACE_SUPPRESSION;
-    m_mockController->PasswordGrantSingleFactorSignInAsync(AWSClientAuth::ProvideNameEnumStringApple, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-    AZ_TEST_STOP_TRACE_SUPPRESSION(1);
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, PasswordGrantMultiFactorSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, PasswordGrantMultiFactorSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorSignInAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    EXPECT_CALL(*lwaProviderMock, PasswordGrantMultiFactorSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorSignInAsync(AWSClientAuth::ProvideNameEnumStringLoginWithAmazon, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, PasswordGrantMultiFactorConfirmSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, PasswordGrantMultiFactorConfirmSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorConfirmSignInAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    EXPECT_CALL(*lwaProviderMock, PasswordGrantMultiFactorConfirmSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorConfirmSignInAsync(AWSClientAuth::ProvideNameEnumStringLoginWithAmazon, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, DeviceCodeGrantSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, DeviceCodeGrantSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantSignInAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-
-    EXPECT_CALL(*lwaProviderMock, DeviceCodeGrantSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantSignInAsync(AWSClientAuth::ProvideNameEnumStringLoginWithAmazon);
-
-    cognitoProviderMock = nullptr;
-}
-
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, DeviceCodeGrantConfirmSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, DeviceCodeGrantConfirmSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantConfirmSignInAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-
-    EXPECT_CALL(*lwaProviderMock, DeviceCodeGrantConfirmSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantConfirmSignInAsync(AWSClientAuth::ProvideNameEnumStringLoginWithAmazon);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, RefreshTokenAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, RefreshTokensAsync()).Times(1);
-    m_mockController->RefreshTokensAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-
-    EXPECT_CALL(*lwaProviderMock, RefreshTokensAsync()).Times(1);
-    m_mockController->RefreshTokensAsync(AWSClientAuth::ProvideNameEnumStringLoginWithAmazon);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, GetTokensWithRefreshAsync_ValidToken_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-
-     AWSClientAuth::AuthenticationTokens tokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 600);
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    EXPECT_CALL(*cognitoProviderMock, RefreshTokensAsync()).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(1);
-    m_mockController->GetTokensWithRefreshAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, GetTokensWithRefreshAsync_InvalidToken_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    AWSClientAuth::AuthenticationTokens tokens;
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    EXPECT_CALL(*cognitoProviderMock, RefreshTokensAsync()).Times(1);
-    m_mockController->GetTokensWithRefreshAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, GetTokensWithRefreshAsync_NotInitializedProvider_Fail)
-{
-    AZ_TEST_START_TRACE_SUPPRESSION;
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensFail(testing::_)).Times(1);
-    m_mockController->GetTokensWithRefreshAsync(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-    AZ_TEST_STOP_TRACE_SUPPRESSION(1);
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, GetTokens_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-
-     AWSClientAuth::AuthenticationTokens tokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    m_mockController->GetAuthenticationTokens(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, IsSignedIn_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-
-     AWSClientAuth::AuthenticationTokens tokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    m_mockController->IsSignedIn(AWSClientAuth::ProvideNameEnumStringAWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerScriptCanvasTest, SignOut_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* googleProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::Google].get();
-
-    EXPECT_CALL(*googleProviderMock, SignOut()).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnSignOut(testing::_)).Times(1);
-    m_mockController->SignOut(AWSClientAuth::ProvideNameEnumStringGoogle);
-
-    googleProviderMock = nullptr;
-}
-

+ 0 - 251
Gems/AWSClientAuth/Code/Tests/Authentication/AuthenticationProviderManagerTest.cpp

@@ -1,251 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzCore/std/smart_ptr/unique_ptr.h>
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <AzCore/std/utils.h>
-#include <Authentication/AuthenticationProviderManager.h>
-#include <Authentication/AWSCognitoAuthenticationProvider.h>
-#include <Authentication/LWAAuthenticationProvider.h>
-#include <Authentication/AuthenticationTokens.h>
-#include <AWSClientAuthGemMock.h>
-#include <Authentication/AuthenticationProviderManagerMock.h>
-
-
-class AuthenticationProviderManagerTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-{
-protected:
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-
-        AWSClientAuth::LWAProviderSetting::Reflect(*m_serializeContext);
-        AWSClientAuth::GoogleProviderSetting::Reflect(*m_serializeContext);
-
-        AZStd::string settingspath = AZStd::string::format(
-            "%s/%s/authenticationProvider.setreg",
-            m_testFolder->c_str(), AZ::SettingsRegistryInterface::RegistryFolder);
-        CreateTestFile("authenticationProvider.setreg"
-            , R"({
-                "AWS": 
-                {
-                    "LoginWithAmazon": 
-                    {
-                        "AppClientId": "TestLWAClientId",
-                        "GrantType":  "device_code",
-                        "Scope": "profile",
-                        "ResponseType":  "device_code",
-                        "OAuthCodeURL": "https://api.amazon.com/auth/o2/create/codepair",
-                        "OAuthTokensURL": "https://oauth2.googleapis.com/token"
-                    },
-                    "Google": 
-                    {
-                        "AppClientId": "TestGoogleClientId",
-                        "ClientSecret": "123",
-                        "GrantType":  "urn:ietf:params:oauth:grant-type:device_code",
-                        "Scope": "profile",
-                        "OAuthCodeURL": "https://oauth2.googleapis.com/device/code",
-                        "OAuthTokensURL": "https://oauth2.googleapis.com/token"
-                    }
-                } 
-            })");
-        m_settingsRegistry->MergeSettingsFile(settingspath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
-
-        m_mockController = AZStd::make_unique<testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderManagerLocalMock>>();
-    }
-
-    void TearDown() override
-    {
-        m_mockController.reset();
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-public:
-    AZStd::unique_ptr<testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderManagerLocalMock>> m_mockController;
-    AZStd::vector<AWSClientAuth::ProviderNameEnum> m_enabledProviderNames {AWSClientAuth::ProviderNameEnum::AWSCognitoIDP,
-        AWSClientAuth::ProviderNameEnum::LoginWithAmazon, AWSClientAuth::ProviderNameEnum::Google};
-};
-
-TEST_F(AuthenticationProviderManagerTest, Initialize_Success)
-{
-    ASSERT_TRUE(m_mockController->Initialize(m_enabledProviderNames));
-    ASSERT_TRUE(m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP] != nullptr);
-}
-
-TEST_F(AuthenticationProviderManagerTest, PasswordGrantSingleFactorSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-  
-    EXPECT_CALL(*cognitoProviderMock, PasswordGrantSingleFactorSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantSingleFactorSignInAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, PasswordGrantSingleFactorSignInAsync_Fail_NonConfiguredProviderError)
-{
-    AZ_TEST_START_TRACE_SUPPRESSION;
-    m_mockController->PasswordGrantSingleFactorSignInAsync(AWSClientAuth::ProviderNameEnum::Apple, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-    AZ_TEST_STOP_TRACE_SUPPRESSION(1);
-}
-
-TEST_F(AuthenticationProviderManagerTest, PasswordGrantMultiFactorSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, PasswordGrantMultiFactorSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorSignInAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    EXPECT_CALL(*lwaProviderMock, PasswordGrantMultiFactorSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorSignInAsync(AWSClientAuth::ProviderNameEnum::LoginWithAmazon, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, PasswordGrantMultiFactorConfirmSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, PasswordGrantMultiFactorConfirmSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorConfirmSignInAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    EXPECT_CALL(*lwaProviderMock, PasswordGrantMultiFactorConfirmSignInAsync(testing::_, testing::_)).Times(1);
-    m_mockController->PasswordGrantMultiFactorConfirmSignInAsync(AWSClientAuth::ProviderNameEnum::LoginWithAmazon, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, DeviceCodeGrantSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, DeviceCodeGrantSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantSignInAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    EXPECT_CALL(*lwaProviderMock, DeviceCodeGrantSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantSignInAsync(AWSClientAuth::ProviderNameEnum::LoginWithAmazon);
-
-    cognitoProviderMock = nullptr;
-}
-
-
-TEST_F(AuthenticationProviderManagerTest, DeviceCodeGrantConfirmSignInAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, DeviceCodeGrantConfirmSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantConfirmSignInAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    EXPECT_CALL(*lwaProviderMock, DeviceCodeGrantConfirmSignInAsync()).Times(1);
-    m_mockController->DeviceCodeGrantConfirmSignInAsync(AWSClientAuth::ProviderNameEnum::LoginWithAmazon);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, RefreshTokenAsync_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
-
-    EXPECT_CALL(*cognitoProviderMock, RefreshTokensAsync()).Times(1);
-    m_mockController->RefreshTokensAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    EXPECT_CALL(*lwaProviderMock, RefreshTokensAsync()).Times(1);
-    m_mockController->RefreshTokensAsync(AWSClientAuth::ProviderNameEnum::LoginWithAmazon);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, GetTokensWithRefreshAsync_ValidToken_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-
-     AWSClientAuth::AuthenticationTokens tokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 600);
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    EXPECT_CALL(*cognitoProviderMock, RefreshTokensAsync()).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(1);
-    m_mockController->GetTokensWithRefreshAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, GetTokensWithRefreshAsync_InvalidToken_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-    AWSClientAuth::AuthenticationTokens tokens;
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    EXPECT_CALL(*cognitoProviderMock, RefreshTokensAsync()).Times(1);
-    m_mockController->GetTokensWithRefreshAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, GetTokensWithRefreshAsync_NotInitializedProvider_Fail)
-{
-    AZ_TEST_START_TRACE_SUPPRESSION;
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensFail(testing::_)).Times(1);
-    m_mockController->GetTokensWithRefreshAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-    AZ_TEST_STOP_TRACE_SUPPRESSION(1);
-}
-
-TEST_F(AuthenticationProviderManagerTest, GetTokens_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-
-     AWSClientAuth::AuthenticationTokens tokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    m_mockController->GetAuthenticationTokens(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, IsSignedIn_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
-
-     AWSClientAuth::AuthenticationTokens tokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-    EXPECT_CALL(*cognitoProviderMock, GetAuthenticationTokens()).Times(1).WillOnce(testing::Return(tokens));
-    m_mockController->IsSignedIn(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-
-    cognitoProviderMock = nullptr;
-}
-
-TEST_F(AuthenticationProviderManagerTest, SignOut_Success)
-{
-    m_mockController->Initialize(m_enabledProviderNames);
-    testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>* googleProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::Google].get();
-
-    EXPECT_CALL(*googleProviderMock, SignOut()).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnSignOut(testing::_)).Times(1);
-    m_mockController->SignOut(AWSClientAuth::ProviderNameEnum::Google);
-
-    googleProviderMock = nullptr;
-}
-

+ 0 - 136
Gems/AWSClientAuth/Code/Tests/Authentication/GoogleAuthenticationProviderTest.cpp

@@ -1,136 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-#include <AzCore/Debug/Trace.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <Authentication/GoogleAuthenticationProvider.h>
-#include <AWSClientAuthGemMock.h>
-
-namespace AWSClientAuthUnitTest
-{
-    class GoogleAuthenticationProviderLocalMock
-        : public AWSClientAuth::GoogleAuthenticationProvider
-    {
-    public:
-        using AWSClientAuth::GoogleAuthenticationProvider::m_settings;
-    };
-}
-
-class GoogleAuthenticationProviderTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-{
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-        AWSClientAuth::GoogleProviderSetting::Reflect(*m_serializeContext);
-        AZStd::string path = AZStd::string::format("%s/%s/awsCognitoAuthorization.setreg",
-            m_testFolder->c_str(), AZ::SettingsRegistryInterface::RegistryFolder);
-        CreateTestFile("awsCognitoAuthorization.setreg"
-            , R"({"AWS": 
-                    {
-                        "Google": 
-                        {
-                            "AppClientId": "TestGoogleClientId",
-                            "ClientSecret": "TestClientSecret",
-                            "GrantType":  "urn:ietf:params:oauth:grant-type:device_code",
-                            "Scope": "profile",
-                            "OAuthCodeURL": "https://oauth2.googleapis.com/device/code",
-                            "OAuthTokensURL": "https://oauth2.googleapis.com/token"
-                        }
-                    } 
-                })");
-        m_settingsRegistry->MergeSettingsFile(path, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
-
-        m_googleAuthenticationProviderLocalMock.Initialize();
-    }
-
-    void TearDown() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-public:
-    AWSClientAuthUnitTest::GoogleAuthenticationProviderLocalMock m_googleAuthenticationProviderLocalMock;
-    AWSClientAuthUnitTest::HttpRequestorRequestBusMock m_httpRequestorRequestBusMock;
-};
-
-TEST_F(GoogleAuthenticationProviderTest, Initialize_Success)
-{
-    AWSClientAuthUnitTest::GoogleAuthenticationProviderLocalMock mock;
-    ASSERT_TRUE(mock.Initialize());
-    ASSERT_EQ(mock.m_settings->m_appClientId, "TestGoogleClientId");
-}
-
-TEST_F(GoogleAuthenticationProviderTest, DeviceCodeGrantSignInAsync_Success)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantSignInSuccess(testing::_, testing::_, testing::_)).Times(1);
-    m_googleAuthenticationProviderLocalMock.DeviceCodeGrantSignInAsync();
-}
-
-TEST_F(GoogleAuthenticationProviderTest, DeviceCodeGrantSignInAsync_Fail_RequestHttpError)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1)
-        .WillOnce(testing::Invoke(&m_httpRequestorRequestBusMock, &AWSClientAuthUnitTest::HttpRequestorRequestBusMock::AddRequestWithHeadersAndBodyError));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantSignInSuccess(testing::_, testing::_, testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantSignInFail(testing::_)).Times(1);
-    m_googleAuthenticationProviderLocalMock.DeviceCodeGrantSignInAsync();
-}
-
-TEST_F(GoogleAuthenticationProviderTest, DeviceCodeGrantConfirmAsync_Success)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(1);
-    m_googleAuthenticationProviderLocalMock.DeviceCodeGrantConfirmSignInAsync();
-}
-
-TEST_F(GoogleAuthenticationProviderTest, DeviceCodeGrantConfirmSignInAsync_Fail_RequestHttpError)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1)
-        .WillOnce(testing::Invoke(&m_httpRequestorRequestBusMock, &AWSClientAuthUnitTest::HttpRequestorRequestBusMock::AddRequestWithHeadersAndBodyError));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInFail(testing::_)).Times(1);
-    m_googleAuthenticationProviderLocalMock.DeviceCodeGrantConfirmSignInAsync();
-}
-
-TEST_F(GoogleAuthenticationProviderTest, RefreshTokensAsync_Success)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(1);
-    m_googleAuthenticationProviderLocalMock.RefreshTokensAsync();
-}
-
-TEST_F(GoogleAuthenticationProviderTest, RefreshTokensAsync_Fail_RequestHttpError)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1)
-        .WillOnce(testing::Invoke(&m_httpRequestorRequestBusMock, &AWSClientAuthUnitTest::HttpRequestorRequestBusMock::AddRequestWithHeadersAndBodyError));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensFail(testing::_)).Times(1);
-    m_googleAuthenticationProviderLocalMock.RefreshTokensAsync();
-}
-
-TEST_F(GoogleAuthenticationProviderTest, Initialize_Fail_EmptyRegistry)
-{
-    AZ::SettingsRegistry::Unregister(m_settingsRegistry.get());
-
-    AZStd::shared_ptr<AZ::SettingsRegistryImpl> registry = AZStd::make_shared<AZ::SettingsRegistryImpl>();
-    registry->SetContext(m_serializeContext.get());
-    AZ::SettingsRegistry::Register(registry.get());
-    
-    AWSClientAuthUnitTest::GoogleAuthenticationProviderLocalMock mock;
-    ASSERT_FALSE(mock.Initialize());
-    ASSERT_EQ(mock.m_settings->m_appClientId, "");
-    AZ::SettingsRegistry::Unregister(registry.get());
-    registry.reset();
-
-    // Restore
-    AZ::SettingsRegistry::Register(m_settingsRegistry.get());
-    mock.Initialize();
-}

+ 0 - 136
Gems/AWSClientAuth/Code/Tests/Authentication/LWAAuthenticationProviderTest.cpp

@@ -1,136 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-#include <AzCore/Debug/Trace.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <AzCore/std/smart_ptr/make_shared.h>
-#include <Authentication/LWAAuthenticationProvider.h>
-#include <AWSClientAuthGemMock.h>
-
-namespace AWSClientAuthUnitTest
-{
-    class LWAAuthenticationProviderLocalMock
-        : public AWSClientAuth::LWAAuthenticationProvider
-    {
-    public:
-        using AWSClientAuth::LWAAuthenticationProvider::m_settings;
-    };
-}
-
-class LWAAuthenticationProviderTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-{
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-        AWSClientAuth::LWAProviderSetting::Reflect(*m_serializeContext);
-        AZStd::string path = AZStd::string::format("%s/%s/awsCognitoAuthorization.setreg",
-            m_testFolder->c_str(), AZ::SettingsRegistryInterface::RegistryFolder);
-        CreateTestFile("awsCognitoAuthorization.setreg"
-            , R"({"AWS": 
-                    {
-                        "LoginWithAmazon":
-                        {
-                            "AppClientId": "TestLWAClientId",
-                            "GrantType":  "device_code",
-                            "Scope": "profile",
-                            "ResponseType":  "device_code",
-                            "OAuthCodeURL": "https://api.amazon.com/auth/o2/create/codepair",
-                            "OAuthTokensURL": "https://oauth2.googleapis.com/token"
-                        }
-                    } 
-                })");
-        m_settingsRegistry->MergeSettingsFile(path, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
-
-        m_lwaAuthenticationProviderLocalMock.Initialize();
-    }
-
-    void TearDown() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-public:
-    AWSClientAuthUnitTest::LWAAuthenticationProviderLocalMock m_lwaAuthenticationProviderLocalMock;
-    AWSClientAuthUnitTest::HttpRequestorRequestBusMock m_httpRequestorRequestBusMock;
-};
-
-TEST_F(LWAAuthenticationProviderTest, Initialize_Success)
-{
-    AWSClientAuthUnitTest::LWAAuthenticationProviderLocalMock mock;
-    ASSERT_TRUE(mock.Initialize());
-    ASSERT_EQ(mock.m_settings->m_appClientId, "TestLWAClientId");
-}
-
-TEST_F(LWAAuthenticationProviderTest, DeviceCodeGrantSignInAsync_Success)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantSignInSuccess(testing::_, testing::_, testing::_)).Times(1);
-    m_lwaAuthenticationProviderLocalMock.DeviceCodeGrantSignInAsync();
-}
-
-TEST_F(LWAAuthenticationProviderTest, DeviceCodeGrantSignInAsync_RequestHttpError)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1)
-        .WillOnce(testing::Invoke(&m_httpRequestorRequestBusMock, &AWSClientAuthUnitTest::HttpRequestorRequestBusMock::AddRequestWithHeadersAndBodyError));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantSignInSuccess(testing::_, testing::_, testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantSignInFail(testing::_)).Times(1);
-    m_lwaAuthenticationProviderLocalMock.DeviceCodeGrantSignInAsync();
-}
-
-TEST_F(LWAAuthenticationProviderTest, DeviceCodeGrantConfirmSignInAsync_Success)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(1);
-    m_lwaAuthenticationProviderLocalMock.DeviceCodeGrantConfirmSignInAsync();
-}
-
-TEST_F(LWAAuthenticationProviderTest, DeviceCodeGrantConfirmSignInAsync_Fail_RequestHttpError)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1)
-        .WillOnce(testing::Invoke(&m_httpRequestorRequestBusMock, &AWSClientAuthUnitTest::HttpRequestorRequestBusMock::AddRequestWithHeadersAndBodyError)); 
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInFail(testing::_)).Times(1);
-    m_lwaAuthenticationProviderLocalMock.DeviceCodeGrantConfirmSignInAsync();
-}
-
-TEST_F(LWAAuthenticationProviderTest, RefreshTokensAsync_Success)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(1);
-    m_lwaAuthenticationProviderLocalMock.RefreshTokensAsync();
-}
-
-TEST_F(LWAAuthenticationProviderTest, RefreshTokensAsync_Fail_RequestHttpError)
-{
-    EXPECT_CALL(m_httpRequestorRequestBusMock, AddRequestWithHeadersAndBody(testing::_, testing::_, testing::_, testing::_, testing::_)).Times(1)
-        .WillOnce(testing::Invoke(&m_httpRequestorRequestBusMock, &AWSClientAuthUnitTest::HttpRequestorRequestBusMock::AddRequestWithHeadersAndBodyError));
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnRefreshTokensFail(testing::_)).Times(1);
-    m_lwaAuthenticationProviderLocalMock.RefreshTokensAsync();
-}
-
-TEST_F(LWAAuthenticationProviderTest, Initialize_Fail_EmptyRegistry)
-{
-    AZ::SettingsRegistry::Unregister(m_settingsRegistry.get());
-
-    AZStd::shared_ptr<AZ::SettingsRegistryImpl> registry = AZStd::make_shared<AZ::SettingsRegistryImpl>();
-    registry->SetContext(m_serializeContext.get());
-    AZ::SettingsRegistry::Register(registry.get());
-    
-    AWSClientAuthUnitTest::LWAAuthenticationProviderLocalMock mock;
-    ASSERT_FALSE(mock.Initialize());
-    ASSERT_EQ(mock.m_settings->m_appClientId, "");
-    AZ::SettingsRegistry::Unregister(registry.get());
-    registry.reset();
-
-    // Restore
-    AZ::SettingsRegistry::Register(m_settingsRegistry.get());
-    mock.Initialize();
-}

+ 0 - 71
Gems/AWSClientAuth/Code/Tests/Authorization/AWSClientAuthPersistentCognitoIdentityProviderTest.cpp

@@ -1,71 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <AWSClientAuthGemMock.h>
-#include <Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h>
-
-
-class AWSClientAuthPersistentCognitoIdentityProviderTest : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-{
-protected:
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-
-    }
-
-    void TearDown() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-public:
-    
-};
-
-TEST_F(AWSClientAuthPersistentCognitoIdentityProviderTest, Initialize_AndPersisteIdentityId_Success)
-{
-    AWSClientAuth::AWSClientAuthPersistentCognitoIdentityProvider provider;
-    provider.Initialize(AWSClientAuthUnitTest::TEST_ACCOUNT_ID, AWSClientAuthUnitTest::TEST_IDENTITY_POOL_ID);
-
-    ASSERT_TRUE(provider.GetAccountId() == AWSClientAuthUnitTest::TEST_ACCOUNT_ID);
-    ASSERT_TRUE(provider.GetIdentityPoolId() == AWSClientAuthUnitTest::TEST_IDENTITY_POOL_ID);
-
-    provider.PersistIdentityId(AWSClientAuthUnitTest::TEST_IDENTITY_ID);
-    ASSERT_TRUE(provider.GetIdentityId() == AWSClientAuthUnitTest::TEST_IDENTITY_ID);
-}
-
-TEST_F(AWSClientAuthPersistentCognitoIdentityProviderTest, AddRemoveLogins_Success)
-{
-    AWSClientAuth::AWSClientAuthPersistentCognitoIdentityProvider provider;
-    provider.Initialize(AWSClientAuthUnitTest::TEST_ACCOUNT_ID, AWSClientAuthUnitTest::TEST_IDENTITY_POOL_ID);
-
-    ASSERT_TRUE(provider.HasLogins() == false);
-    Aws::Map<Aws::String, Aws::Auth::LoginAccessTokens> logins;
-    Aws::Auth::LoginAccessTokens tokens;
-    tokens.accessToken = "TestToken";
-    logins.insert(std::pair<Aws::String, Aws::Auth::LoginAccessTokens>("TestLoginKey1", tokens));
-    logins.insert(std::pair<Aws::String, Aws::Auth::LoginAccessTokens>("TestLoginKey2", tokens));
-    provider.PersistLogins(logins);
-
-    ASSERT_TRUE(provider.HasLogins() == true);
-    ASSERT_TRUE(provider.GetLogins().size() == 2);
-    ASSERT_TRUE(provider.GetLogins()["TestLoginKey1"].accessToken == tokens.accessToken);
-    ASSERT_TRUE(provider.GetLogins()["TestLoginKey2"].accessToken == tokens.accessToken);
-
-    provider.RemoveLogin("TestLoginKey1");
-    ASSERT_TRUE(provider.HasLogins() == true);
-    ASSERT_TRUE(provider.GetLogins().size() == 1);
-    ASSERT_TRUE(provider.GetLogins()["TestLoginKey2"].accessToken == tokens.accessToken);
-
-    provider.RemoveLogin("TestLoginKey2");
-    ASSERT_TRUE(provider.HasLogins() == false);
-    ASSERT_TRUE(provider.GetLogins().size() == 0);
-}

+ 0 - 445
Gems/AWSClientAuth/Code/Tests/Authorization/AWSCognitoAuthorizationControllerTest.cpp

@@ -1,445 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <AWSClientAuthGemMock.h>
-#include <Authorization/AWSCognitoAuthorizationController.h>
-#include <Credential/AWSCredentialBus.h>
-#include <aws/cognito-identity/CognitoIdentityErrors.h>
-
-namespace AWSClientAuthUnitTest
-{
-    class AWSCognitoAuthorizationControllerTestLocalMock
-        : public AWSClientAuth::AWSCognitoAuthorizationController
-
-    {
-    public:
-        using AWSClientAuth::AWSCognitoAuthorizationController::m_persistentCognitoIdentityProvider;
-        using AWSClientAuth::AWSCognitoAuthorizationController::m_persistentAnonymousCognitoIdentityProvider;
-        using AWSClientAuth::AWSCognitoAuthorizationController::m_cognitoCachingCredentialsProvider;
-        using AWSClientAuth::AWSCognitoAuthorizationController::m_cognitoCachingAnonymousCredentialsProvider;
-        using AWSClientAuth::AWSCognitoAuthorizationController::m_cognitoIdentityPoolId;
-        using AWSClientAuth::AWSCognitoAuthorizationController::m_formattedCognitoUserPoolId;
-        using AWSClientAuth::AWSCognitoAuthorizationController::m_awsAccountId;
-    };
-}
-
-class AWSCognitoAuthorizationControllerTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-{
-protected:
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-        m_mockController = AZStd::make_unique<AWSClientAuthUnitTest::AWSCognitoAuthorizationControllerTestLocalMock>();
-    }
-
-    void TearDown() override
-    {
-        m_mockController.reset();
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-public:
-    AZStd::unique_ptr<AWSClientAuthUnitTest::AWSCognitoAuthorizationControllerTestLocalMock> m_mockController;
-    testing::NiceMock<AWSClientAuthUnitTest::AWSResourceMappingRequestBusMock> m_awsResourceMappingRequestBusMock;
-};
-
-TEST_F(AWSCognitoAuthorizationControllerTest, Initialize_Success)
-{
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetResourceNameId(testing::_)).Times(2);
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetDefaultAccountId()).Times(1);
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetDefaultRegion()).Times(1);
-    ASSERT_TRUE(m_mockController->Initialize());
-    ASSERT_TRUE(m_mockController->m_formattedCognitoUserPoolId.find(AWSClientAuthUnitTest::TEST_RESOURCE_NAME_ID) != AZStd::string::npos);
-    ASSERT_TRUE(m_mockController->m_awsAccountId == AWSClientAuthUnitTest::TEST_ACCOUNT_ID);
-    ASSERT_TRUE(m_mockController->m_cognitoIdentityPoolId == AWSClientAuthUnitTest::TEST_RESOURCE_NAME_ID);
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, Initialize_Success_GetAWSAccountEmpty)
-{
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetResourceNameId(testing::_)).Times(2);
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetDefaultAccountId()).Times(1).WillOnce(testing::Return(""));
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetDefaultRegion()).Times(1);
-    ASSERT_TRUE(m_mockController->Initialize());
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, RequestAWSCredentials_WithLogins_Success)
-{
-    AWSClientAuth::AuthenticationTokens tokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, tokens);
-
-    AWSClientAuth::AuthenticationTokens tokens1(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::Google, 60);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInSuccess, tokens1);
-
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-
-    ASSERT_TRUE(m_mockController->GetIdentityId() == AWSClientAuthUnitTest::TEST_IDENTITY_ID);
-    auto creds = m_mockController->GetCognitoCredentialsProvider()->GetAWSCredentials();
-    ASSERT_TRUE(creds.GetAWSAccessKeyId() == AWSClientAuthUnitTest::TEST_ACCESS_KEY_ID);
-    ASSERT_TRUE(creds.GetAWSSecretKey() == AWSClientAuthUnitTest::TEST_SECRET_KEY_ID);
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, RequestAWSCredentials_WithoutLoginsAnonymous_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-
-    ASSERT_TRUE(m_mockController->GetIdentityId() == AWSClientAuthUnitTest::TEST_IDENTITY_ID);
-    auto creds = m_mockController->GetAnonymousCognitoCredentialsProvider()->GetAWSCredentials();
-    ASSERT_TRUE(creds.GetAWSAccessKeyId() == AWSClientAuthUnitTest::TEST_ACCESS_KEY_ID);
-    ASSERT_TRUE(creds.GetAWSSecretKey() == AWSClientAuthUnitTest::TEST_SECRET_KEY_ID);
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, MultipleCalls_UsesCacheCredentials_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-
-    ASSERT_TRUE(m_mockController->GetIdentityId() == AWSClientAuthUnitTest::TEST_IDENTITY_ID);
-    auto creds = m_mockController->GetAnonymousCognitoCredentialsProvider()->GetAWSCredentials();
-    ASSERT_TRUE(creds.GetAWSAccessKeyId() == AWSClientAuthUnitTest::TEST_ACCESS_KEY_ID);
-    ASSERT_TRUE(creds.GetAWSSecretKey() == AWSClientAuthUnitTest::TEST_SECRET_KEY_ID);
-
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(0);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(0);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, RequestAWSCredentials_Fail_GetIdError) // fail
-{
-    AWSClientAuth::AuthenticationTokens cognitoTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-    
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, cognitoTokens);
-
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 1);
-
-    Aws::Client::AWSError<Aws::CognitoIdentity::CognitoIdentityErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentity::Model::GetIdOutcome outcome(error);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1).WillOnce(testing::Return(outcome));
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(0);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsFail(testing::_)).Times(1);
-    AZ_TEST_START_TRACE_SUPPRESSION;
-    m_mockController->RequestAWSCredentialsAsync();
-    AZ_TEST_STOP_TRACE_SUPPRESSION_NO_COUNT;
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, RequestAWSCredentials_Fail_GetCredentialsForIdentityError)
-{
-    AWSClientAuth::AuthenticationTokens cognitoTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, cognitoTokens);
-
-    AWSClientAuth::AuthenticationTokens googleTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::Google, 60);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInSuccess, googleTokens);
-
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 2);
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInSuccess, googleTokens);
-
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 2);
-
-    Aws::Client::AWSError<Aws::CognitoIdentity::CognitoIdentityErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentity::Model::GetCredentialsForIdentityOutcome outcome(error);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1).WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsFail(testing::_)).Times(1);
-    AZ_TEST_START_TRACE_SUPPRESSION;
-    m_mockController->RequestAWSCredentialsAsync();
-    AZ_TEST_STOP_TRACE_SUPPRESSION_NO_COUNT;
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, AddRemoveLogins_Succuess)
-{
-    AWSClientAuth::AuthenticationTokens cognitoTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, cognitoTokens);
-
-
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 1);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, cognitoTokens);
-
-    // One entry max for each provider.
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 1);
-
-    AWSClientAuth::AuthenticationTokens googleTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::Google, 60);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInSuccess, googleTokens);    
-
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 2);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnDeviceCodeGrantConfirmSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnDeviceCodeGrantConfirmSignInSuccess, googleTokens);
-
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 2);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnSignOut(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnSignOut, AWSClientAuth::ProviderNameEnum::Google);
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 1);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnSignOut(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnSignOut, AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 0);
-
-    AWSClientAuth::AuthenticationTokens lwaTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ACCESS_TOKEN,
-        AWSClientAuth::ProviderNameEnum::LoginWithAmazon, 60);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantMultiFactorConfirmSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantMultiFactorConfirmSignInSuccess, lwaTokens);
-
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 1);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnSignOut(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnSignOut, AWSClientAuth::ProviderNameEnum::LoginWithAmazon);
-    ASSERT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 0);
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, ResetAuthenticated_ClearsCachedLoginsAndIdentityId_Success)
-{
-    AWSClientAuth::AuthenticationTokens cognitoTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, cognitoTokens);
-
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-
-    ASSERT_TRUE(m_mockController->GetIdentityId() == AWSClientAuthUnitTest::TEST_IDENTITY_ID);
-    auto creds = m_mockController->GetCognitoCredentialsProvider()->GetAWSCredentials();
-    ASSERT_TRUE(creds.GetAWSAccessKeyId() == AWSClientAuthUnitTest::TEST_ACCESS_KEY_ID);
-    ASSERT_TRUE(creds.GetAWSSecretKey() == AWSClientAuthUnitTest::TEST_SECRET_KEY_ID);
-
-    m_mockController->Reset();
-
-
-    EXPECT_TRUE(m_mockController->GetIdentityId() == "");
-    EXPECT_TRUE(m_mockController->m_persistentCognitoIdentityProvider->GetLogins().size() == 0);
-
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, ResetAnonymous_ClearsCachedLoginsAndIdentityId_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-
-    ASSERT_TRUE(m_mockController->GetIdentityId() == AWSClientAuthUnitTest::TEST_IDENTITY_ID);
-    auto creds = m_mockController->GetAnonymousCognitoCredentialsProvider()->GetAWSCredentials();
-    ASSERT_TRUE(creds.GetAWSAccessKeyId() == AWSClientAuthUnitTest::TEST_ACCESS_KEY_ID);
-    ASSERT_TRUE(creds.GetAWSSecretKey() == AWSClientAuthUnitTest::TEST_SECRET_KEY_ID);
-
-    m_mockController->Reset();
-
-    EXPECT_TRUE(m_mockController->GetIdentityId() == "");
-
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoAuthorizationNotificationsBusMock, OnRequestAWSCredentialsSuccess(testing::_)).Times(1);
-    m_mockController->RequestAWSCredentialsAsync();
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, GetCredentialsProvider_ForPersistedLogins_ResultIsAuthenticatedCredentials)
-{
-    AWSClientAuth::AuthenticationTokens cognitoTokens(
-        AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-        AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-
-    EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-    AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-        &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, cognitoTokens);
-
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-
-    std::shared_ptr<Aws::Auth::AWSCredentialsProvider> actualCredentialsProvider;
-    AWSCore::AWSCredentialRequestBus::BroadcastResult(actualCredentialsProvider, &AWSCore::AWSCredentialRequests::GetCredentialsProvider);
-    EXPECT_TRUE(actualCredentialsProvider == m_mockController->m_cognitoCachingCredentialsProvider);
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, GetCredentialsProvider_NoPersistedLogins_ResultIsAnonymousCredentials)
-{
-    m_mockController->Initialize();
-
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-
-    std::shared_ptr<Aws::Auth::AWSCredentialsProvider> actualCredentialsProvider;
-    AWSCore::AWSCredentialRequestBus::BroadcastResult(actualCredentialsProvider, &AWSCore::AWSCredentialRequests::GetCredentialsProvider);
-    EXPECT_TRUE(actualCredentialsProvider == m_mockController->m_cognitoCachingAnonymousCredentialsProvider);
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, GetCredentialsProvider_NoPersistedLogins_NoAnonymousCredentials_ResultNullPtr)
-{
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(0);
-    EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(0);
-
-    std::shared_ptr<Aws::Auth::AWSCredentialsProvider> actualCredentialsProvider;
-    AWSCore::AWSCredentialRequestBus::BroadcastResult(
-        actualCredentialsProvider, &AWSCore::AWSCredentialRequests::GetCredentialsProvider);
-    EXPECT_TRUE(actualCredentialsProvider == nullptr);
-}
-
-TEST_F(
-    AWSCognitoAuthorizationControllerTest,
-    GetCredentialsProvider_OneThreadPersistLogins_SecondThreadGetCredentialsProvider_GetCredentialsSuccess)
-{
-    m_mockController->Initialize();
-
-    AZStd::vector<AZStd::thread> testThreads;
-    AZStd::atomic_bool loginsAdded = false;
-    AZStd::atomic_int anonymousLogin = 0;
-    AZStd::atomic_int authenticatedLogin = 0;
-
-    testThreads.emplace_back(AZStd::thread([&]() {
-        AWSClientAuth::AuthenticationTokens cognitoTokens(
-            AWSClientAuthUnitTest::TEST_ACCESS_TOKEN, AWSClientAuthUnitTest::TEST_REFRESH_TOKEN, AWSClientAuthUnitTest::TEST_ID_TOKEN,
-            AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, 60);
-
-        EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnPasswordGrantSingleFactorSignInSuccess(testing::_)).Times(1);
-        AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-            &AWSClientAuth::AuthenticationProviderNotifications::OnPasswordGrantSingleFactorSignInSuccess, cognitoTokens);
-        loginsAdded = true;
-    }));
-
-    testThreads.emplace_back(AZStd::thread([&]() {
-        std::shared_ptr<Aws::Auth::AWSCredentialsProvider> actualCredentialsProvider;
- 
-        EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(1);
-        EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(1);
-        
-        AWSCore::AWSCredentialRequestBus::BroadcastResult(
-            actualCredentialsProvider, &AWSCore::AWSCredentialRequests::GetCredentialsProvider);
-        if (actualCredentialsProvider == m_mockController->m_cognitoCachingAnonymousCredentialsProvider)
-        {
-            anonymousLogin++;
-        }
-        else if (actualCredentialsProvider == m_mockController->m_cognitoCachingCredentialsProvider)
-        {
-            authenticatedLogin++;
-        }
-
-        EXPECT_TRUE(loginsAdded ? m_mockController->HasPersistedLogins() : true);
-        EXPECT_TRUE(actualCredentialsProvider != nullptr);
-    }));
-
-    for (auto& testThread : testThreads)
-    {
-        testThread.join();
-    }
-    testThreads.clear();
-
-    AZStd::atomic_bool loginsCleared = false;
-    testThreads.emplace_back(AZStd::thread([&]() {
-        EXPECT_CALL(m_authenticationProviderNotificationsBusMock, OnSignOut(testing::_)).Times(1);
-        AWSClientAuth::AuthenticationProviderNotificationBus::Broadcast(
-            &AWSClientAuth::AuthenticationProviderNotifications::OnSignOut, AWSClientAuth::ProviderNameEnum::AWSCognitoIDP);
-        loginsCleared = true;
-    }));
-
-    testThreads.emplace_back(AZStd::thread([&]() {
-
-        std::shared_ptr<Aws::Auth::AWSCredentialsProvider> actualCredentialsProvider;
-        // Can be 0, 1 depending on the previous thread order.
-        EXPECT_CALL(*m_cognitoIdentityClientMock, GetId(testing::_)).Times(testing::Between(0, 1));
-        EXPECT_CALL(*m_cognitoIdentityClientMock, GetCredentialsForIdentity(testing::_)).Times(testing::Between(0, 1));
-        AWSCore::AWSCredentialRequestBus::BroadcastResult(
-            actualCredentialsProvider, &AWSCore::AWSCredentialRequests::GetCredentialsProvider);
-        EXPECT_FALSE(loginsCleared ? m_mockController->HasPersistedLogins() : false);
-        EXPECT_TRUE(actualCredentialsProvider != nullptr);
-        if (actualCredentialsProvider == m_mockController->m_cognitoCachingAnonymousCredentialsProvider)
-        {
-            anonymousLogin++;
-        }
-        else if (actualCredentialsProvider == m_mockController->m_cognitoCachingCredentialsProvider)
-        {
-            authenticatedLogin++;
-        }
-        EXPECT_TRUE(authenticatedLogin.load() + anonymousLogin.load() == 2);
-    }));
-
-    for (auto& testThread : testThreads)
-    {
-        testThread.join();
-    }
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, GetCredentialHandlerOrder_Call_AlwaysGetExpectedValue)
-{
-    int order;
-    AWSCore::AWSCredentialRequestBus::BroadcastResult(order, &AWSCore::AWSCredentialRequests::GetCredentialHandlerOrder);
-    EXPECT_EQ(order, AWSCore::CredentialHandlerOrder::COGNITO_IDENITY_POOL_CREDENTIAL_HANDLER);
-}
-
-TEST_F(AWSCognitoAuthorizationControllerTest, Initialize_Fail_GetResourceNameEmpty)
-{
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetResourceNameId(testing::_)).Times(1).WillOnce(testing::Return(""));
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetDefaultAccountId()).Times(1);
-    ASSERT_FALSE(m_mockController->Initialize());
-}

+ 0 - 183
Gems/AWSClientAuth/Code/Tests/UserManagement/AWSCognitoUserManagementControllerTest.cpp

@@ -1,183 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include <AzTest/AzTest.h>
-#include <AzCore/UnitTest/TestTypes.h>
-#include <UserManagement/AWSCognitoUserManagementController.h>
-#include <AWSClientAuthGemMock.h>
-#include <aws/cognito-idp/CognitoIdentityProviderErrors.h>
-
-class AWSCognitoUserManagementControllerTest
-    : public AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture
-    , public AWSCore::AWSCoreRequestBus::Handler
-{
-protected:
-    void SetUp() override
-    {
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::SetUp();
-        m_mockController = AZStd::make_unique<AWSClientAuth::AWSCognitoUserManagementController>();
-
-        AWSCore::AWSCoreRequestBus::Handler::BusConnect();
-    }
-
-    void TearDown() override
-    {
-        AWSCore::AWSCoreRequestBus::Handler::BusDisconnect();
-        m_mockController.reset();
-        AWSClientAuthUnitTest::AWSClientAuthGemAllocatorFixture::TearDown();
-    }
-
-    // AWSCore::AWSCoreRequestBus overrides
-    AZ::JobContext* GetDefaultJobContext() override
-    {
-        return m_jobContext.get();
-    }
-
-    // Returns the default client configuration setting to use as a starting point in AWS requests
-    AWSCore::AwsApiJobConfig* GetDefaultConfig() override
-    {
-        return nullptr;
-    }
-
-public:
-    AZStd::unique_ptr<AWSClientAuth::AWSCognitoUserManagementController> m_mockController;
-    testing::NiceMock<AWSClientAuthUnitTest::AWSResourceMappingRequestBusMock> m_awsResourceMappingRequestBusMock;
-};
-
-TEST_F(AWSCognitoUserManagementControllerTest, Initialize_Success)
-{
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetResourceNameId(testing::_)).Times(1);
-    ASSERT_TRUE(m_mockController->Initialize());
-    ASSERT_EQ(m_mockController->GetCognitoAppClientId(), AWSClientAuthUnitTest::TEST_RESOURCE_NAME_ID);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, EmailSignUp_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, SignUp(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnEmailSignUpSuccess(testing::_)).Times(1);
-    m_mockController->EmailSignUpAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD, AWSClientAuthUnitTest::TEST_EMAIL);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, EmailSignUp_Fail_SignUpError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::SignUpOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, SignUp(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnEmailSignUpSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnEmailSignUpFail(testing::_)).Times(1);
-    m_mockController->EmailSignUpAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD, AWSClientAuthUnitTest::TEST_EMAIL);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, PhoneSignUp_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, SignUp(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnPhoneSignUpSuccess(testing::_)).Times(1);
-    m_mockController->PhoneSignUpAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD, AWSClientAuthUnitTest::TEST_PHONE);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, PhoneSignUp_Fail_SignUpError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::SignUpOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, SignUp(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnPhoneSignUpSuccess(testing::_)).Times(0);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnPhoneSignUpFail(testing::_)).Times(1);
-    m_mockController->PhoneSignUpAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD, AWSClientAuthUnitTest::TEST_PHONE);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, ConfirmSignUp_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, ConfirmSignUp(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnConfirmSignUpSuccess()).Times(1);
-    m_mockController->ConfirmSignUpAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_CODE);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, ConfirmSignUp_Fail_ConfirmSignUpError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::ConfirmSignUpOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, ConfirmSignUp(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnConfirmSignUpSuccess()).Times(0);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnConfirmSignUpFail(testing::_)).Times(1);
-    m_mockController->ConfirmSignUpAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_CODE);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, EnableMFA_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, SetUserMFAPreference(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnEnableMFASuccess()).Times(1);
-    m_mockController->EnableMFAAsync(AWSClientAuthUnitTest::TEST_TOKEN);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, EnableMFA_Fail_SetUserMFAPreferenceError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::SetUserMFAPreferenceOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, SetUserMFAPreference(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnEnableMFASuccess()).Times(0);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnEnableMFAFail(testing::_)).Times(1);
-    m_mockController->EnableMFAAsync(AWSClientAuthUnitTest::TEST_TOKEN);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, ForgotPassword_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, ForgotPassword(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnForgotPasswordSuccess()).Times(1);
-    m_mockController->ForgotPasswordAsync(AWSClientAuthUnitTest::TEST_USERNAME);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, ForgotPassword_Fail_ForgotPasswordError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName(AWSClientAuthUnitTest::TEST_EXCEPTION);
-    Aws::CognitoIdentityProvider::Model::ForgotPasswordOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, ForgotPassword(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnForgotPasswordSuccess()).Times(0);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnForgotPasswordFail(testing::_)).Times(1);
-    m_mockController->ForgotPasswordAsync(AWSClientAuthUnitTest::TEST_USERNAME);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, ConfirmForgotPassword_Success)
-{
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, ConfirmForgotPassword(testing::_)).Times(1);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnConfirmForgotPasswordSuccess()).Times(1);
-    m_mockController->ConfirmForgotPasswordAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_CODE, AWSClientAuthUnitTest::TEST_NEW_PASSWORD);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, ConfirmForgotPassword_Fail_ConfirmForgotPasswordError)
-{
-    Aws::Client::AWSError<Aws::CognitoIdentityProvider::CognitoIdentityProviderErrors> error;
-    error.SetExceptionName("TestException");
-    Aws::CognitoIdentityProvider::Model::ConfirmForgotPasswordOutcome outcome(error);
-
-    EXPECT_CALL(*m_cognitoIdentityProviderClientMock, ConfirmForgotPassword(testing::_)).Times(1)
-        .WillOnce(testing::Return(outcome));
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnConfirmForgotPasswordSuccess()).Times(0);
-    EXPECT_CALL(m_awsCognitoUserManagementNotificationsBusMock, OnConfirmForgotPasswordFail(testing::_)).Times(1);
-    m_mockController->ConfirmForgotPasswordAsync(AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_CODE, AWSClientAuthUnitTest::TEST_NEW_PASSWORD);
-}
-
-TEST_F(AWSCognitoUserManagementControllerTest, Initialize_Fail_GetResourceNameEmpty)
-{
-    EXPECT_CALL(m_awsResourceMappingRequestBusMock, GetResourceNameId(testing::_)).Times(1).WillOnce(testing::Return(""));
-    ASSERT_FALSE(m_mockController->Initialize());
-}

+ 0 - 52
Gems/AWSClientAuth/Code/awsclientauth_editor_files.cmake

@@ -1,52 +0,0 @@
-#
-# Copyright (c) Contributors to the Open 3D Engine Project.
-# For complete copyright and license terms please see the LICENSE at the root of this distribution.
-#
-# SPDX-License-Identifier: Apache-2.0 OR MIT
-#
-#
-
-set(FILES
-    Include/Authentication/AuthenticationProviderBus.h
-    Include/Authentication/AuthenticationTokens.h
-    Include/Authorization/AWSCognitoAuthorizationBus.h
-    Include/Authorization/ClientAuthAWSCredentials.h
-    Include/UserManagement/AWSCognitoUserManagementBus.h
-
-    Source/AWSClientAuthSystemComponent.cpp
-    Source/AWSClientAuthSystemComponent.h
-
-    Source/AWSClientAuthEditorSystemComponent.cpp
-    Source/AWSClientAuthEditorSystemComponent.h
-    Source/AWSClientAuthBus.h
-    Source/AWSClientAuthResourceMappingConstants.h
-
-    Source/Authentication/AuthenticationNotificationBusBehaviorHandler.h
-    Source/Authentication/AuthenticationProviderInterface.cpp
-    Source/Authentication/AuthenticationProviderInterface.h
-    Source/Authentication/AuthenticationProviderManager.cpp
-    Source/Authentication/AuthenticationProviderManager.h
-    Source/Authentication/AuthenticationProviderScriptCanvasBus.h
-    Source/Authentication/AuthenticationProviderTypes.h
-    Source/Authentication/AuthenticationTokens.cpp
-    Source/Authentication/AWSCognitoAuthenticationProvider.cpp
-    Source/Authentication/AWSCognitoAuthenticationProvider.h
-    Source/Authentication/LWAAuthenticationProvider.cpp
-    Source/Authentication/LWAAuthenticationProvider.h
-    Source/Authentication/GoogleAuthenticationProvider.cpp
-    Source/Authentication/GoogleAuthenticationProvider.h  
-    Source/Authentication/OAuthConstants.h
-
-    Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.cpp
-    Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h
-    Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.cpp
-    Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h
-    Source/Authorization/AWSCognitoAuthorizationController.cpp
-    Source/Authorization/AWSCognitoAuthorizationController.h
-    Source/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h
-    Source/Authorization/ClientAuthAWSCredentials.cpp
-
-    Source/UserManagement/AWSCognitoUserManagementController.cpp
-    Source/UserManagement/AWSCognitoUserManagementController.h
-    Source/UserManagement/UserManagementNotificationBusBehaviorHandler.h
-)

+ 0 - 49
Gems/AWSClientAuth/Code/awsclientauth_files.cmake

@@ -1,49 +0,0 @@
-#
-# Copyright (c) Contributors to the Open 3D Engine Project.
-# For complete copyright and license terms please see the LICENSE at the root of this distribution.
-#
-# SPDX-License-Identifier: Apache-2.0 OR MIT
-#
-#
-
-set(FILES
-    Include/Authentication/AuthenticationProviderBus.h
-    Include/Authentication/AuthenticationTokens.h
-    Include/Authorization/AWSCognitoAuthorizationBus.h
-    Include/Authorization/ClientAuthAWSCredentials.h
-    Include/UserManagement/AWSCognitoUserManagementBus.h
-
-    Source/AWSClientAuthSystemComponent.cpp
-    Source/AWSClientAuthSystemComponent.h
-    Source/AWSClientAuthBus.h
-    Source/AWSClientAuthResourceMappingConstants.h
-
-    Source/Authentication/AuthenticationNotificationBusBehaviorHandler.h
-    Source/Authentication/AuthenticationProviderInterface.cpp
-    Source/Authentication/AuthenticationProviderInterface.h
-    Source/Authentication/AuthenticationProviderManager.cpp
-    Source/Authentication/AuthenticationProviderManager.h
-    Source/Authentication/AuthenticationProviderScriptCanvasBus.h
-    Source/Authentication/AuthenticationProviderTypes.h
-    Source/Authentication/AuthenticationTokens.cpp
-    Source/Authentication/AWSCognitoAuthenticationProvider.cpp
-    Source/Authentication/AWSCognitoAuthenticationProvider.h
-    Source/Authentication/LWAAuthenticationProvider.cpp
-    Source/Authentication/LWAAuthenticationProvider.h
-    Source/Authentication/GoogleAuthenticationProvider.cpp
-    Source/Authentication/GoogleAuthenticationProvider.h  
-    Source/Authentication/OAuthConstants.h
-
-    Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.cpp
-    Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h
-    Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.cpp
-    Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h
-    Source/Authorization/AWSCognitoAuthorizationController.cpp
-    Source/Authorization/AWSCognitoAuthorizationController.h
-    Source/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h
-    Source/Authorization/ClientAuthAWSCredentials.cpp
-
-    Source/UserManagement/AWSCognitoUserManagementController.cpp
-    Source/UserManagement/AWSCognitoUserManagementController.h
-    Source/UserManagement/UserManagementNotificationBusBehaviorHandler.h
-)

+ 0 - 12
Gems/AWSClientAuth/Code/awsclientauth_shared_files.cmake

@@ -1,12 +0,0 @@
-#
-# Copyright (c) Contributors to the Open 3D Engine Project.
-# For complete copyright and license terms please see the LICENSE at the root of this distribution.
-#
-# SPDX-License-Identifier: Apache-2.0 OR MIT
-#
-#
-
-set(FILES
-    Source/AWSClientAuthModule.cpp
-    Source/AWSClientAuthModule.h
-)

+ 0 - 23
Gems/AWSClientAuth/Code/awsclientauth_test_files.cmake

@@ -1,23 +0,0 @@
-#
-# Copyright (c) Contributors to the Open 3D Engine Project.
-# For complete copyright and license terms please see the LICENSE at the root of this distribution.
-#
-# SPDX-License-Identifier: Apache-2.0 OR MIT
-#
-#
-
-set(FILES
-    Tests/AWSClientAuthGemMock.h
-    Tests/AWSClientAuthGemTest.cpp
-    
-    Tests/AWSClientAuthSystemComponentTest.cpp
-    Tests/Authentication/AuthenticationProviderManagerMock.h
-    Tests/Authentication/AuthenticationProviderManagerTest.cpp
-    Tests/Authentication/AuthenticationProviderManagerScriptCanvasBusTest.cpp
-    Tests/Authentication/AWSCognitoAuthenticationProviderTest.cpp
-    Tests/Authentication/LWAAuthenticationProviderTest.cpp
-    Tests/Authentication/GoogleAuthenticationProviderTest.cpp
-    Tests/Authorization/AWSClientAuthPersistentCognitoIdentityProviderTest.cpp
-    Tests/Authorization/AWSCognitoAuthorizationControllerTest.cpp
-    Tests/UserManagement/AWSCognitoUserManagementControllerTest.cpp
-)

+ 0 - 3
Gems/AWSClientAuth/architecture.png

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fc4d1b44925c07980457ac208fdb57b39e2b2837753c7b242250acc5cbeb6327
-size 53815

+ 0 - 11
Gems/AWSClientAuth/cdk/.gitignore

@@ -1,11 +0,0 @@
-*.swp
-package-lock.json
-__pycache__
-.pytest_cache
-.env
-.venv
-*.egg-info
-
-# CDK asset staging directory
-.cdk.staging
-cdk.out

+ 0 - 75
Gems/AWSClientAuth/cdk/README.md

@@ -1,75 +0,0 @@
-# Welcome to AWSClientAuth CDK Python project!
-
-> This is the long term supported AWS Cloud Development Kit (CDK) v2 version of this template. If you have preexisting versions of this template
-see the [CDK guidance](https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html) about upgrading to CDK v2.
-
-This is an optional CDKv2 application to use as a starting point when working with the ClientAuth gem. It will create 
-a stack with Cognito Identity and Client pools.
-
-> If you are working with pre-existing CDK v1 stacks please use the CDKv1 version of this application.
-
-## Install prerequisites for CDK
-https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites for information about how to set up
-the prerequisites for CDK development.
-
-## Install CDK
-https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install
-
-The `cdk.json` file tells the CDK Toolkit how to execute your app.
-
-### Setup Python
-
-This project is set up like a standard Python project. You can use either a [python virtual environment](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html) or use python interpreter from O3DE to setup python dependencies ie:
-```
-set PATH="..\..\..\python";%PATH%
-```
-
-Once the python and pip are set up, you can install the required dependencies. To setup with O3DE's python interpreter use:
-```
-# Run from cdk folder in AWSClientAuth gem
-..\..\..\python\pip.cmd install -r requirements.txt
-```
-
-### Configure the AWSClientAuth CDK application
-
-CD in the `cdk` folder and set the following [environment variables](https://docs.aws.amazon.com/cdk/v2/guide/environments.html):
-```
-set O3DE_AWS_DEPLOY_REGION="us-west-2"
-set O3DE_AWS_DEPLOY_ACCOUNT=""
-set O3DE_AWS_PROJECT_NAME="AWSIProject"
-
-If you want to add 3rd party providers fill values in utils/constant.py
-```
-List stacks 
-```
-cdk ls
-```
-
-At this point you can now synthesize the CloudFormation template for this code.
-
-```
-cdk synth <stackname>
-```
-Deploy stacks. Note passed parameters. Deploy will throw error for non-optional parameters.
-```
-cdk deploy <stackname> --profile <profile-name>
-```
-
-To add additional dependencies, for example other CDK libraries, just add them to your requirements.txt file and rerun the `..\..\..\python\pip.cmd install -r .\Gems\AWSClientAuth\cdk\requirements.txt` command.
-
-
-## Update Authorization Permissions
-To give permissions to call AWS resources, please update CognitoIdentityPoolRole class with correct policy statements.
-
-An example IAM permission policy is provided to grant both authenticated and unauthenticated the permission to list S3 buckets in the project.
-However, it is expected that developers replace these permissions with those required by your users to use your resources.
-
-## Useful commands
-
- * `cdk ls`          list all stacks in the app
- * `cdk synth`       emits the synthesized CloudFormation template
- * `cdk deploy`      deploy this stack to your default AWS account/region
- * `cdk diff`        compare deployed stack with current state
- * `cdk docs`        open CDK documentation
-
-Enjoy!

+ 0 - 29
Gems/AWSClientAuth/cdk/app.py

@@ -1,29 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-# !/usr/bin/env python3
-
-from aws_cdk import (
-    App,
-    Environment
-)
-from aws_client_auth.client_auth_stack import AWSClientAuthStack
-import os
-
-"""Configuration"""
-REGION = os.environ.get('O3DE_AWS_DEPLOY_REGION', os.environ['CDK_DEFAULT_REGION'])
-ACCOUNT = os.environ.get('O3DE_AWS_DEPLOY_ACCOUNT', os.environ['CDK_DEFAULT_ACCOUNT'])
-
-# Set the common prefix to group stacks in a project together.
-PROJECT_NAME = os.environ.get('O3DE_AWS_PROJECT_NAME', f'O3DE-AWS-PROJECT').upper()
-
-env = Environment(account=ACCOUNT, region=REGION)
-app = App()
-
-AWSClientAuthStack(app, PROJECT_NAME, env=env)
-
-app.synth()

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.