├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── NOTICE.txt ├── README.md └── source ├── .versionrc ├── AGSEvidenceStore ├── LicenseHeader.txt ├── app │ └── lambda │ │ ├── .eslintrc.js │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── .viperlightignore │ │ ├── API.md │ │ ├── buildspec.yml │ │ ├── canary │ │ ├── CanaryHelper.ts │ │ ├── TestCases.ts │ │ ├── awsSigV4.js │ │ ├── canaryUtils.ts │ │ └── index.ts │ │ ├── env.json │ │ ├── events │ │ ├── env-update-attestation-authority.json │ │ ├── event-create-attestation-authority.json │ │ ├── event-create-attestation.json │ │ └── event-get-attestation-authority.json │ │ ├── evidences-stream-processor │ │ ├── CloudWatchClient.ts │ │ ├── Container.ts │ │ ├── StreamHelper.ts │ │ ├── handlers │ │ │ └── KinesisStreamHandler.ts │ │ ├── index.ts │ │ └── types │ │ │ └── RevisionDetailsRecord.ts │ │ ├── integ.jest.config.js │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── postman │ │ └── evidence-store-collection.json │ │ ├── s3-evidence-collector-webpack.config.js │ │ ├── s3-evidence-collector │ │ └── index.ts │ │ ├── samconfig.toml │ │ ├── src │ │ ├── App.ts │ │ ├── Container.ts │ │ ├── common │ │ │ ├── AGSError.ts │ │ │ ├── BaseContainer.ts │ │ │ ├── MainHandler.ts │ │ │ ├── RequestHandlerFactory.ts │ │ │ ├── Xray.ts │ │ │ └── configuration │ │ │ │ └── AppConfiguration.ts │ │ ├── data │ │ │ ├── ApiKeyRepository.ts │ │ │ ├── DslQueryBuilder.ts │ │ │ ├── ElasticSearchErrorParser.ts │ │ │ ├── EvidenceContentRepository.ts │ │ │ ├── EvidenceElasticSearchDomain.ts │ │ │ ├── EvidenceProviderRepository.ts │ │ │ ├── EvidenceRepository.ts │ │ │ ├── EvidenceSchemaRepository.ts │ │ │ ├── QldbHelper.ts │ │ │ └── schemas │ │ │ │ ├── ElasticSearchResponse.ts │ │ │ │ ├── EvidenceContentData.ts │ │ │ │ ├── EvidenceData.ts │ │ │ │ ├── EvidenceDataWithContent.ts │ │ │ │ ├── EvidenceProviderData.ts │ │ │ │ └── QueryResult.ts │ │ ├── handlers │ │ │ ├── CreateEvidenceHandler.ts │ │ │ ├── CreateEvidenceSchemaHandler.ts │ │ │ ├── CreateProviderHandler.ts │ │ │ ├── GetAttachmentLinkHandler.ts │ │ │ ├── GetEvidenceHandler.ts │ │ │ ├── GetEvidenceRevisionsHandler.ts │ │ │ ├── GetEvidenceSchemaHandler.ts │ │ │ ├── GetEvidenceVerificationStatusHandler.ts │ │ │ ├── GetEvidencesHandler.ts │ │ │ ├── GetProviderHandler.ts │ │ │ ├── LambdaEventHelpers.ts │ │ │ ├── ListProviderHandler.ts │ │ │ └── UpdateProviderHandler.ts │ │ ├── services │ │ │ ├── CryptoHelper.ts │ │ │ ├── EvidenceProviderService.ts │ │ │ ├── EvidenceService.ts │ │ │ ├── PaginationTokenHelper.ts │ │ │ └── S3UrlHelper.ts │ │ ├── types │ │ │ ├── CreateEvidenceInput.ts │ │ │ ├── CreateEvidenceProviderInput.ts │ │ │ ├── CreateEvidenceSchemaInput.ts │ │ │ ├── EvidenceOutput.ts │ │ │ ├── EvidenceProviderOutput.ts │ │ │ ├── EvidenceSchemaOutput.ts │ │ │ ├── EvidenceVerificationStatusOutput.ts │ │ │ ├── GetEvidenceSchemaInput.ts │ │ │ ├── GetEvidencesInput.ts │ │ │ ├── QueryOutput.ts │ │ │ ├── SearchEvidenceProviderInput.ts │ │ │ └── UpdateEvidenceProviderInput.ts │ │ └── validators │ │ │ ├── CreateEvidenceInputValidator.ts │ │ │ ├── CreateEvidenceSchemaInputValidator.ts │ │ │ ├── CreateProviderInputValidator.ts │ │ │ ├── GetEvidencesInputValidator.ts │ │ │ ├── InputValidator.ts │ │ │ ├── JsonSchemaValidator.ts │ │ │ └── UpdateProviderInputValidator.ts │ │ ├── stream-processor-webpack.config.js │ │ ├── template.yaml │ │ ├── test │ │ ├── TestHelpers.ts │ │ ├── integration │ │ │ ├── integration.test.ts │ │ │ └── restClientHelper.ts │ │ └── unit │ │ │ ├── App.test.ts │ │ │ ├── data │ │ │ ├── DslQueryBuilder.test.ts │ │ │ ├── ElasticSearchErrorParser.test.ts │ │ │ ├── EvidenceProviderRepository.test.ts │ │ │ └── EvidenceSchemaRepository.test.ts │ │ │ ├── evidences-stream-processor │ │ │ ├── StreamHelper.test.ts │ │ │ ├── handlers │ │ │ │ └── KinesisStreamHandler.test.ts │ │ │ └── index.test.ts │ │ │ ├── handlers │ │ │ ├── CreateEvidenceHandler.test.ts │ │ │ ├── CreateEvidenceSchemaHandler.test.ts │ │ │ ├── CreateProviderHandler.test.ts │ │ │ ├── GetAttachmentLinkHandler.test.ts │ │ │ ├── GetEvidenceHandler.test.ts │ │ │ ├── GetEvidenceRevisionsHandler.test.ts │ │ │ ├── GetEvidenceSchemaHandler.test.ts │ │ │ ├── GetEvidenceVerificationStatusHandler.test.ts │ │ │ ├── GetEvidencesHandler.test.ts │ │ │ ├── GetProviderHandler.test.ts │ │ │ ├── ListProviderHandler.test.ts │ │ │ └── UpdateProviderHandler.test.ts │ │ │ ├── services │ │ │ ├── CryptoHelper.test.ts │ │ │ ├── EvidenceProviderService.test.ts │ │ │ ├── EvidenceService.test.ts │ │ │ ├── PaginationTokenHelper.test.ts │ │ │ └── S3UrlHelper.test.ts │ │ │ └── validators │ │ │ ├── CreateEvidenceInputValidator.test.ts │ │ │ ├── CreateEvidenceSchemaInputValidator.test.ts │ │ │ ├── CreateProviderInputValidator.test.ts │ │ │ ├── GetEvidencesInputValidator.test.ts │ │ │ └── UpdateProviderInputValidator.test.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js └── infra │ ├── .eslintrc.js │ ├── .prettierignore │ ├── .prettierrc │ ├── README.md │ ├── bin │ └── service-infra.ts │ ├── cdk.json │ ├── jest.config.js │ ├── lib │ ├── api-permission.ts │ ├── evidence-archiver.ts │ ├── evidence-provider-creator │ │ ├── index.ts │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── evidence-store-api-definition.ts │ ├── evidence-store-dashboard.ts │ ├── evidence-store-database-dashboard.ts │ ├── evidence-store-service-stack.ts │ ├── evidence-store.ts │ ├── qldb-replica.ts │ ├── qldb-table-creator.ts │ ├── qldb-table-creator │ │ ├── package.json │ │ ├── src │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── s3-evidence-collector.ts │ ├── secure-bucket.ts │ ├── service-stage.ts │ └── synthetics-canary.ts │ ├── package.json │ ├── test │ ├── __snapshots__ │ │ └── infra.test.ts.snap │ └── infra.test.ts │ └── tsconfig.json ├── AGSSecurityHubEvidenceCollector ├── LicenseHeader.txt ├── app │ ├── deployment-prerequisites │ │ └── evidence-collection-setup.yaml │ └── lambda │ │ ├── .eslintrc.js │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── .viperlightignore │ │ ├── api.yaml │ │ ├── buildspec.yml │ │ ├── canary.config.js │ │ ├── canary │ │ ├── CanaryHelper.ts │ │ ├── TestCases.ts │ │ ├── awsSigV4.js │ │ ├── canaryUtils.ts │ │ └── index.ts │ │ ├── env.json │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── samconfig.toml │ │ ├── src │ │ ├── App.ts │ │ ├── ConfigEvent.ts │ │ ├── ConfigEventProcessor.ts │ │ ├── EvidenceProducer.ts │ │ ├── SecurityHubEvent.ts │ │ ├── SecurityHubEventProcessor.ts │ │ ├── SecurityHubFindingHelper.ts │ │ ├── clients │ │ │ ├── ConfigClient.ts │ │ │ ├── EvidenceStoreClient.ts │ │ │ ├── S3Client.ts │ │ │ ├── SSMParameterClient.ts │ │ │ ├── STSClient.ts │ │ │ ├── SecretManagerClient.ts │ │ │ └── TagClient.ts │ │ └── common │ │ │ ├── AGSError.ts │ │ │ ├── SdkClient.ts │ │ │ └── Types.ts │ │ ├── template.yaml │ │ ├── test │ │ ├── __mocks__ │ │ │ ├── @apjsb-serverless-lib │ │ │ │ └── apjsb-aws-httpclient.ts │ │ │ ├── @aws-sdk │ │ │ │ ├── client-config-service.ts │ │ │ │ ├── client-resource-groups-tagging-api.ts │ │ │ │ ├── client-s3.ts │ │ │ │ ├── client-secrets-manager.ts │ │ │ │ ├── client-ssm.ts │ │ │ │ └── client-sts.ts │ │ │ └── aws-xray-sdk.ts │ │ └── unit │ │ │ ├── ConfigEventLambdaHandler.test.ts │ │ │ ├── ConfigEventProcessor.test.ts │ │ │ ├── EvidenceProducer.test.ts │ │ │ ├── SdkClient.test.ts │ │ │ ├── SecurityHubEventLambdaHandler.test.ts │ │ │ ├── SecurityHubEventProcessor.test.ts │ │ │ ├── SecurityHubFindingHelper.test.ts │ │ │ ├── clients │ │ │ ├── ConfigClient.test.ts │ │ │ ├── EvidenceStoreClient.test.ts │ │ │ ├── S3Client.test.ts │ │ │ ├── SSMParameterClient.test.ts │ │ │ ├── STSClient.test.ts │ │ │ ├── SecretManagerClient.test.ts │ │ │ └── TagClient.test.ts │ │ │ └── common │ │ │ ├── AGSError.test.ts │ │ │ └── Types.test.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js └── infra │ ├── .eslintrc.js │ ├── .gitignore │ ├── .prettierignore │ ├── .prettierrc │ ├── .viperlightignore │ ├── README.md │ ├── bin │ └── service-infra.ts │ ├── cdk.json │ ├── jest.config.js │ ├── lib │ ├── event-bridge-rule-widget.ts │ ├── evidence-store-onboarder.ts │ ├── evidence-store-onboarder │ │ ├── package.json │ │ ├── src │ │ │ ├── evidenceStoreClient.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── secure-bucket.ts │ ├── securityhub-evidence-collector-service.ts │ ├── securityhub-evidence-collector-stack.ts │ ├── service-stage.ts │ └── synthetics-canary.ts │ ├── package.json │ └── tsconfig.json ├── AGSSharedInfra ├── LicenseHeader.txt └── infra │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .npmignore │ ├── .prettierignore │ ├── .prettierrc │ ├── README.md │ ├── bin │ ├── ags-shared-infra.ts │ ├── checkVersion.js │ └── webClientHelper.js │ ├── cdk.json │ ├── jest.config.js │ ├── lambda │ ├── securityHeader │ │ ├── .gitignore │ │ ├── index.test.ts │ │ ├── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ └── tsconfig.json │ └── tokenService │ │ ├── .gitignore │ │ ├── .prettierrc │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── src │ │ ├── cognito-acs.ts │ │ └── saml-acs.ts │ │ ├── test │ │ ├── cognito-acs.test.ts │ │ └── saml-acs.test.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── lib │ ├── ags-baseinfra-stack.ts │ ├── ags-cognito-auth.ts │ ├── ags-shared-infra-stage.ts │ ├── ags-tokenservice.ts │ ├── ags-types.ts │ ├── ags-web-client-stack.ts │ ├── cfn-nag-suppression.ts │ ├── cognito-identity-custom-attribute-mapping.ts │ ├── kms-loggroup-policy.ts │ └── ssm-parameter-names.ts │ ├── package.json │ ├── test │ └── ags-shared-infra-app.test.ts │ └── tsconfig.json ├── AGSWebClient ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── LICENSE.txt ├── LicenseHeader.txt ├── README.md ├── __mocks__ │ ├── aws-sdk.ts │ └── react-use-localstorage.ts ├── app │ ├── README.md │ ├── craco.config.js │ ├── jest.config.js │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── img │ │ │ ├── compliance-score.png │ │ │ └── dummy-diagram.png │ │ ├── index.html │ │ ├── manifest.json │ │ └── robots.txt │ ├── src │ │ ├── config │ │ │ ├── appConfig.tsx │ │ │ └── aws.ts │ │ ├── containers │ │ │ └── DetailsWithRiskComplianceDashboard │ │ │ │ └── index.tsx │ │ ├── index.tsx │ │ ├── react-app-env.d.ts │ │ ├── serviceWorker.ts │ │ └── setupTests.ts │ └── tsconfig.json ├── craco.config.base.js ├── cypress.json ├── git-conventional-commits.json ├── jest.config.base.js ├── jest.config.js ├── jest │ └── jest.setup.ts ├── lerna.json ├── package.json ├── packages │ ├── README.md │ ├── applicationRelease │ │ ├── README.md │ │ ├── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── Applications │ │ │ │ ├── Create │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── List │ │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── Attributes │ │ │ │ ├── Create │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── List │ │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ └── ReleaseCandidates │ │ │ │ └── Detail │ │ │ │ └── index.tsx │ │ ├── routes │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── applicationReleaseCore │ │ ├── README.md │ │ ├── config │ │ │ ├── constants.ts │ │ │ ├── navigationTemplate.ts │ │ │ ├── permissions.ts │ │ │ └── routes.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── mutationMap.ts │ │ │ ├── mutations │ │ │ │ ├── createApplication.ts │ │ │ │ ├── createAttribute.ts │ │ │ │ ├── deleteApplication.ts │ │ │ │ ├── deleteAttribute.ts │ │ │ │ ├── updateApplication.ts │ │ │ │ └── updateAttribute.ts │ │ │ ├── queries │ │ │ │ ├── getApplication.ts │ │ │ │ ├── getAttribute.ts │ │ │ │ ├── getReleaseCandidate.ts │ │ │ │ ├── getReleaseCandidates.ts │ │ │ │ ├── listApplications.ts │ │ │ │ ├── listAttributes.ts │ │ │ │ └── listEstates.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ ├── application.ts │ │ │ ├── attribute.ts │ │ │ ├── index.ts │ │ │ └── releaseCandidate.ts │ ├── applicationReleaseView │ │ ├── README.md │ │ ├── components │ │ │ ├── Applications │ │ │ │ ├── DeleteConfirmationModal │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Form │ │ │ │ │ ├── components │ │ │ │ │ │ └── Review │ │ │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── PipelineProvisionStatus │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── Table │ │ │ │ │ ├── KeyValue │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── Attributes │ │ │ │ ├── DeleteConfirmationModal │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Form │ │ │ │ │ ├── components │ │ │ │ │ │ └── Review │ │ │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ └── Table │ │ │ │ │ ├── MetaData │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ └── ReleaseCandidates │ │ │ │ ├── Detail │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ └── Table │ │ │ │ ├── Artifact │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── Deployment │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── containers │ │ │ ├── Applications │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ └── Attributes │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── jest.config.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── applicationsCore │ │ ├── README.md │ │ ├── config │ │ │ ├── constants.ts │ │ │ └── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── queries │ │ │ │ ├── getAppAttribute.ts │ │ │ │ ├── getApplication.ts │ │ │ │ ├── listAppAttributes.ts │ │ │ │ └── listApplications.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ └── index.ts │ ├── businessUnits │ │ ├── README.md │ │ ├── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── BusinessUnits │ │ │ │ ├── Create │ │ │ │ │ └── index.tsx │ │ │ │ ├── CreateWithParent │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ │ └── index.tsx │ │ │ └── Enterprise │ │ │ │ ├── Create │ │ │ │ └── index.tsx │ │ │ │ ├── Details │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ └── index.tsx │ │ ├── routes │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── businessUnitsCore │ │ ├── README.md │ │ ├── config │ │ │ ├── constants.ts │ │ │ ├── permissions.ts │ │ │ └── routes.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── mutationMap.ts │ │ │ ├── mutations │ │ │ │ ├── createBusinessUnit.ts │ │ │ │ ├── createEnterprise.ts │ │ │ │ ├── deleteBusinessUnit.ts │ │ │ │ ├── deleteEnterprise.ts │ │ │ │ ├── updateBusinessUnit.ts │ │ │ │ └── updateEnterprise.ts │ │ │ ├── queries │ │ │ │ ├── getBusinessUnit.ts │ │ │ │ └── listBusinessUnits.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ └── index.tsx │ ├── businessUnitsView │ │ ├── README.md │ │ ├── components │ │ │ ├── BusinessUnits │ │ │ │ ├── DeleteConfirmationModal │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Form │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── Table │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ └── Enterprise │ │ │ │ └── DeleteConfirmationModal │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── containers │ │ │ ├── BusinessUnitDetails │ │ │ │ └── index.tsx │ │ │ ├── EnterpriseDetails │ │ │ │ └── index.tsx │ │ │ └── NavTemplateProcessor │ │ │ │ ├── index.tsx │ │ │ │ └── utils │ │ │ │ └── buildBusinessUnitsNav │ │ │ │ └── index.tsx │ │ ├── jest.config.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── complianceCore │ │ ├── README.md │ │ ├── config │ │ │ └── constants.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── queries │ │ │ │ └── getCompliancePosture.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ └── index.ts │ ├── core │ │ ├── README.md │ │ ├── components │ │ │ ├── DashboardCard │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── GetStarted │ │ │ │ ├── howItWorks.png │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── HasGroups │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── HasService │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Heatmap │ │ │ │ └── index.tsx │ │ │ ├── HomePage │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── LazyLoader │ │ │ │ └── index.tsx │ │ │ ├── PageError │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── PageLoading │ │ │ │ └── index.tsx │ │ │ ├── PermissionDenied │ │ │ │ └── index.tsx │ │ │ ├── ProcessorList │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── QueryContainerTemplate │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ └── SideNavigation │ │ │ │ ├── index.test.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils │ │ │ │ └── buildSideNavigationItems │ │ │ │ └── index.ts │ │ ├── config │ │ │ ├── constants.ts │ │ │ ├── devConst.ts │ │ │ └── routes.ts │ │ ├── containers │ │ │ ├── App │ │ │ │ └── index.tsx │ │ │ ├── AppContext │ │ │ │ └── index.tsx │ │ │ ├── Authenticator │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── FeatureController │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── GetStarted │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── HelmetSettings │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── NotificationHandler │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ └── SideNavigationPanel │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── enhancers │ │ │ └── withEnhancers │ │ │ │ └── index.tsx │ │ ├── index.d.ts │ │ ├── jest.config.js │ │ ├── layouts │ │ │ └── AppLayout │ │ │ │ └── index.tsx │ │ ├── package.json │ │ ├── queries │ │ │ ├── agsApi.ts │ │ │ ├── agsMutations.test.ts │ │ │ ├── agsMutations.ts │ │ │ ├── agsQueries.test.ts │ │ │ ├── agsQueries.ts │ │ │ ├── base.test.ts │ │ │ ├── base.ts │ │ │ ├── index.ts │ │ │ ├── mutationBase.ts │ │ │ ├── queryBase.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ ├── types │ │ │ ├── appSettings.ts │ │ │ ├── authSettings.ts │ │ │ ├── businessUnits.ts │ │ │ ├── index.ts │ │ │ └── userGroup.ts │ │ └── utils │ │ │ ├── appUtils │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ │ ├── auth │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ │ ├── fetchApiEndpoints │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ │ ├── helpers.test.ts │ │ │ ├── helpers.ts │ │ │ ├── historyGoBackWithNotification │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ │ └── parseAppConfig │ │ │ ├── index.test.ts │ │ │ └── index.ts │ ├── estates │ │ ├── README.md │ │ ├── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── EnvClasses │ │ │ │ ├── Create │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ └── Estates │ │ │ │ ├── Create │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ ├── routes │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── estatesCore │ │ ├── README.md │ │ ├── config │ │ │ ├── constants.ts │ │ │ ├── navigationTemplate.ts │ │ │ ├── permissions.ts │ │ │ └── routes.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── mutationMap.ts │ │ │ ├── mutations │ │ │ │ ├── createEnvClass.ts │ │ │ │ └── createEstate.ts │ │ │ ├── queries │ │ │ │ └── estateQueries.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ └── index.ts │ ├── estatesView │ │ ├── README.md │ │ ├── components │ │ │ ├── EnvClass │ │ │ │ ├── Form │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── Table │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── Environments │ │ │ │ └── Table │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ └── Estates │ │ │ │ ├── Detail │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── Form │ │ │ │ ├── formSchema.ts │ │ │ │ └── index.tsx │ │ │ │ └── Table │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── containers │ │ │ ├── Detail │ │ │ │ └── index.tsx │ │ │ └── Estates │ │ │ │ └── index.tsx │ │ ├── jest.config.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── evidence │ │ ├── README.md │ │ ├── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── Evidence │ │ │ │ ├── Create │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── RevisionDetail │ │ │ │ │ └── index.test.tsx │ │ │ │ └── index.tsx │ │ │ └── EvidenceProvider │ │ │ │ ├── Create │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── SchemaCreate │ │ │ │ └── index.tsx │ │ │ │ ├── SchemaDetails │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── routes │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── evidenceCore │ │ ├── README.md │ │ ├── config │ │ │ ├── constants.ts │ │ │ ├── index.ts │ │ │ ├── navigationTemplate.ts │ │ │ ├── permissions.ts │ │ │ └── routes.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── mutationMap.ts │ │ │ ├── mutations │ │ │ │ ├── createEvidence.ts │ │ │ │ ├── createEvidenceProvider.ts │ │ │ │ ├── createSchema.ts │ │ │ │ ├── generateAttachmentLink.ts │ │ │ │ └── uploadAttachment.ts │ │ │ ├── queries │ │ │ │ ├── evidenceRevision.ts │ │ │ │ ├── getEvidence.ts │ │ │ │ ├── getEvidenceVerificationStatus.ts │ │ │ │ ├── listEvidenceProviders.ts │ │ │ │ └── searchEvidence.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ └── index.ts │ ├── evidenceView │ │ ├── README.md │ │ ├── components │ │ │ ├── Evidence │ │ │ │ ├── CreateForm │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── SearchForm │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── searchFormSchema.ts │ │ │ │ └── Table │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ └── EvidenceProvider │ │ │ │ ├── Create │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── CreateConfirmationModal │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── Schema │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── SchemaDetails │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ │ └── Table │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── containers │ │ │ └── Evidences │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── jest.config.js │ │ ├── jsonValidator.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── governanceHubView │ │ ├── README.md │ │ ├── components │ │ │ └── HelpPanel │ │ │ │ └── index.tsx │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── pages │ │ │ └── GovernanceHub │ │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── governedEntity │ │ ├── README.md │ │ ├── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── Update │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ ├── routes │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── governedEntityCore │ │ ├── README.md │ │ ├── config │ │ │ └── routes.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── mutationMap.ts │ │ │ ├── mutations │ │ │ │ └── updateAssociation.ts │ │ │ ├── queries │ │ │ │ └── getAssociation.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ └── index.ts │ ├── governedEntityView │ │ ├── README.md │ │ ├── components │ │ │ └── Association │ │ │ │ └── ListView │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── containers │ │ │ ├── AppAttribute │ │ │ │ └── index.tsx │ │ │ ├── AppAttributeList │ │ │ │ └── index.tsx │ │ │ ├── Application │ │ │ │ └── index.tsx │ │ │ ├── ApplicationList │ │ │ │ └── index.tsx │ │ │ ├── Association │ │ │ │ └── index.tsx │ │ │ ├── BusinessUnit │ │ │ │ └── index.tsx │ │ │ ├── BusinessUnitList │ │ │ │ └── index.tsx │ │ │ ├── EnvClass │ │ │ │ └── index.tsx │ │ │ ├── EnvClassList │ │ │ │ └── index.tsx │ │ │ ├── Environment │ │ │ │ └── index.tsx │ │ │ ├── EnvironmentList │ │ │ │ └── index.tsx │ │ │ ├── Estate │ │ │ │ └── index.tsx │ │ │ └── EstateList │ │ │ │ └── index.tsx │ │ ├── jest.config.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── riskComplianceDashboardView │ │ ├── README.md │ │ ├── components │ │ │ ├── ComplianceDashboard │ │ │ │ ├── ComplianceLevel │ │ │ │ │ └── index.tsx │ │ │ │ ├── ComplianceStatus │ │ │ │ │ └── index.tsx │ │ │ │ ├── ComplianceStatusBreakdown │ │ │ │ │ └── index.tsx │ │ │ │ ├── DataNotAvailableIndicator │ │ │ │ │ └── index.tsx │ │ │ │ ├── DeploymentList │ │ │ │ │ └── index.tsx │ │ │ │ ├── RuntimeComplianceStatus │ │ │ │ │ ├── components │ │ │ │ │ │ └── GovernedEntity │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── utils │ │ │ │ │ │ └── getComplianceStatusColumnDefinitions │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── constants.ts │ │ │ │ └── types.ts │ │ │ └── RiskDashboard │ │ │ │ ├── Category │ │ │ │ └── index.tsx │ │ │ │ ├── Impact │ │ │ │ └── index.tsx │ │ │ │ ├── ImpactHeatmap │ │ │ │ └── index.tsx │ │ │ │ ├── ImpactHeatmaps │ │ │ │ └── index.tsx │ │ │ │ └── MitigationStatus │ │ │ │ └── index.tsx │ │ ├── config │ │ │ └── features.ts │ │ ├── containers │ │ │ ├── ComplianceDashboard │ │ │ │ ├── components │ │ │ │ │ ├── ComplianceDataLoader │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── DashboardView │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── MetadataLoader │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── utils │ │ │ │ │ ├── getBusinessUnitsComplianceData │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ │ ├── getRuntimeDeploymentTimeBreakdown │ │ │ │ │ └── index.ts │ │ │ │ │ └── processData │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ ├── RiskComplianceDashboard │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ ├── RiskComplianceDashboardFilter │ │ │ │ └── index.tsx │ │ │ └── RiskDashboard │ │ │ │ └── index.tsx │ │ ├── index.tsx │ │ ├── jest.config.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── risks │ │ ├── README.md │ │ ├── index.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── pages │ │ │ ├── ControlObjectives │ │ │ │ ├── Create │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── List │ │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── ControlTechniques │ │ │ │ ├── Create │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── List │ │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ ├── Risks │ │ │ │ ├── Create │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── List │ │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.tsx │ │ │ └── RisksV2 │ │ │ │ ├── Create │ │ │ │ └── index.tsx │ │ │ │ ├── Detail │ │ │ │ └── index.tsx │ │ │ │ ├── List │ │ │ │ └── index.tsx │ │ │ │ └── Update │ │ │ │ └── index.tsx │ │ ├── routes │ │ │ └── index.tsx │ │ └── tsconfig.json │ ├── risksCore │ │ ├── README.md │ │ ├── config │ │ │ ├── constants.ts │ │ │ ├── index.ts │ │ │ ├── navigationTemplate.ts │ │ │ ├── permissions.ts │ │ │ └── routes.ts │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── queries │ │ │ ├── index.ts │ │ │ ├── mutationMap.ts │ │ │ ├── mutations │ │ │ │ ├── createControlObjective.ts │ │ │ │ ├── createControlTechnique.ts │ │ │ │ ├── createRisk.ts │ │ │ │ ├── deleteControlObjective.ts │ │ │ │ ├── deleteControlTechnique.ts │ │ │ │ ├── deleteRisk.ts │ │ │ │ ├── updateControlObjective.ts │ │ │ │ ├── updateControlTechnique.ts │ │ │ │ └── updateRisk.ts │ │ │ ├── queries │ │ │ │ ├── getControlObjective.ts │ │ │ │ ├── getControlTechnique.ts │ │ │ │ ├── getRisk.ts │ │ │ │ ├── getRiskOptions.ts │ │ │ │ ├── listControlObjectives.ts │ │ │ │ ├── listControlTechniques.ts │ │ │ │ └── listRisks.ts │ │ │ ├── queryMap.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── types │ │ │ ├── controlObjective.ts │ │ │ ├── controlTechnique.ts │ │ │ ├── index.ts │ │ │ └── risk.ts │ └── risksView │ │ ├── README.md │ │ ├── components │ │ ├── ControlObjectives │ │ │ ├── DeleteConfirmationModal │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Detail │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Form │ │ │ │ ├── components │ │ │ │ │ ├── ControlTechniqueCard │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── Review │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.test.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ └── Table │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── ControlTechniques │ │ │ ├── DeleteConfirmationModal │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Detail │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Form │ │ │ │ ├── components │ │ │ │ │ └── Review │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Status │ │ │ │ └── index.tsx │ │ │ └── Table │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ ├── Risks │ │ │ ├── DeleteConfirmationModal │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Detail │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── Form │ │ │ │ ├── components │ │ │ │ │ ├── ControlObjectiveCard │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── Review │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.test.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ └── Table │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.tsx │ │ └── RisksV2 │ │ │ ├── Detail │ │ │ └── index.tsx │ │ │ ├── Form │ │ │ ├── components │ │ │ │ ├── ControlObjectiveCard │ │ │ │ │ └── index.tsx │ │ │ │ └── Review │ │ │ │ │ └── index.tsx │ │ │ ├── index.tsx │ │ │ └── types.ts │ │ │ ├── RiskMitigationStatus │ │ │ └── index.tsx │ │ │ ├── RiskTargetEntities │ │ │ └── index.tsx │ │ │ ├── Search │ │ │ └── index.tsx │ │ │ ├── Table │ │ │ └── index.tsx │ │ │ └── TargetEntityCard │ │ │ └── index.tsx │ │ ├── containers │ │ ├── ControlObjectives │ │ │ └── index.tsx │ │ └── ControlTechniques │ │ │ └── index.tsx │ │ ├── jest.config.js │ │ ├── package.json │ │ └── tsconfig.json ├── scripts │ ├── build.sh │ ├── runCI.sh │ ├── runLighthouse.sh │ ├── runSourceMapCheck.sh │ └── start.sh ├── sonar-project.properties ├── tsconfig.base.json ├── tsconfig.json └── yarn.lock ├── HISTORY.md ├── build.js ├── configurations └── Default.json ├── images └── solution_architecture_diagram.png ├── install.js ├── package.json ├── run-all-tests.sh ├── shared-libs ├── @ags-cdk │ ├── ags-service-template │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── dist │ │ │ ├── ags-api-canary.d.ts │ │ │ ├── ags-api-canary.js │ │ │ ├── ags-aspects.d.ts │ │ │ ├── ags-aspects.js │ │ │ ├── ags-lambda-function.d.ts │ │ │ ├── ags-lambda-function.js │ │ │ ├── ags-rest-api.d.ts │ │ │ ├── ags-rest-api.js │ │ │ ├── ags-secure-bucket.d.ts │ │ │ ├── ags-secure-bucket.js │ │ │ ├── ags-service-alarm-notification.d.ts │ │ │ ├── ags-service-alarm-notification.js │ │ │ ├── ags-service-app.d.ts │ │ │ ├── ags-service-app.js │ │ │ ├── ags-service-dashboard.d.ts │ │ │ ├── ags-service-dashboard.js │ │ │ ├── ags-service-stage.d.ts │ │ │ ├── ags-service-stage.js │ │ │ ├── ags-service.d.ts │ │ │ ├── ags-service.js │ │ │ ├── ags-shared-infra-client.d.ts │ │ │ ├── ags-shared-infra-client.js │ │ │ ├── ags-types.d.ts │ │ │ ├── ags-types.js │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── lib │ │ │ ├── ags-api-canary.ts │ │ │ ├── ags-aspects.ts │ │ │ ├── ags-lambda-function.ts │ │ │ ├── ags-rest-api.ts │ │ │ ├── ags-secure-bucket.ts │ │ │ ├── ags-service-alarm-notification.ts │ │ │ ├── ags-service-app.ts │ │ │ ├── ags-service-dashboard.ts │ │ │ ├── ags-service-stage.ts │ │ │ ├── ags-service.ts │ │ │ ├── ags-shared-infra-client.ts │ │ │ ├── ags-types.ts │ │ │ ├── aws-python-lambda-dependency-layer.ts │ │ │ ├── aws-python-lambda.ts │ │ │ └── index.ts │ │ └── package.json │ ├── ags-solution-metrics │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── dist │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── lambda │ │ │ │ ├── index.js │ │ │ │ ├── index.js.LICENSE.txt │ │ │ │ └── index.js.map │ │ │ ├── solution-metrics-collector.d.ts │ │ │ └── solution-metrics-collector.js │ │ ├── lib │ │ │ ├── index.ts │ │ │ └── solution-metrics-collector.ts │ │ └── package.json │ └── ags-synthetics-canary │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── dist │ │ ├── ags-synthetics-canary.d.ts │ │ ├── ags-synthetics-canary.js │ │ ├── index.d.ts │ │ └── index.js │ │ ├── lib │ │ ├── ags-synthetics-canary.ts │ │ └── index.ts │ │ └── package.json └── @apjsb-serverless-lib │ ├── apjsb-aws-httpclient │ ├── README.md │ ├── dist │ │ ├── ApjsbAwsHttpclient.d.ts │ │ ├── ApjsbAwsHttpclient.js │ │ ├── DefaultCredentialProvider.d.ts │ │ ├── DefaultCredentialProvider.js │ │ ├── LegacyHttpHandler.d.ts │ │ ├── LegacyHttpHandler.js │ │ ├── deserilizer │ │ │ ├── Deserilizer.d.ts │ │ │ └── Deserilizer.js │ │ ├── index.d.ts │ │ └── index.js │ └── package.json │ ├── common-types │ ├── README.md │ ├── dist │ │ └── lib │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── index.js.map │ └── package.json │ ├── lambda-router │ ├── dist │ │ └── lib │ │ │ ├── RouteData.d.ts │ │ │ ├── RouteData.js │ │ │ ├── RouteData.js.map │ │ │ ├── Router.d.ts │ │ │ ├── Router.js │ │ │ ├── Router.js.map │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── index.js.map │ └── package.json │ ├── logger │ ├── README.md │ ├── dist │ │ └── lib │ │ │ ├── context-logger.d.ts │ │ │ ├── context-logger.js │ │ │ ├── context-logger.js.map │ │ │ ├── context-logging-middleware.d.ts │ │ │ ├── context-logging-middleware.js │ │ │ ├── context-logging-middleware.js.map │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── logger-factory.d.ts │ │ │ ├── logger-factory.js │ │ │ ├── logger-factory.js.map │ │ │ ├── logger-type.d.ts │ │ │ ├── logger-type.js │ │ │ ├── logger-type.js.map │ │ │ ├── winston-logger.d.ts │ │ │ ├── winston-logger.js │ │ │ └── winston-logger.js.map │ └── package.json │ ├── middleware-chain │ ├── README.md │ ├── dist │ │ └── lib │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── middleware-chain.d.ts │ │ │ ├── middleware-chain.js │ │ │ └── middleware-chain.js.map │ └── package.json │ ├── request-logger │ ├── dist │ │ └── lib │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── index.js.map │ └── package.json │ └── response-formatter │ ├── dist │ └── lib │ │ ├── index.d.ts │ │ ├── index.js │ │ └── index.js.map │ └── package.json ├── solution-info.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | cdk.out 3 | /node_modules 4 | *.d.ts 5 | **/.vscode/ 6 | **/coverage/* 7 | **/test_report.xml 8 | .aws-sam/ 9 | dist 10 | **/build -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Verifiable Controls Evidence Store Release Changelog 2 | 3 | ## [1.1.0] - 2023-04-15 4 | 5 | ### Added 6 | 7 | - S3 evidence connector 8 | 9 | ## [1.0.0] - 2022-06-02 10 | 11 | ### Added 12 | 13 | - All files, initial version 14 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /source/.versionrc: -------------------------------------------------------------------------------- 1 | { 2 | "bumpFiles": [ 3 | { 4 | "filename": "package.json", 5 | "type": "json" 6 | } 7 | ], 8 | "types": [ 9 | { 10 | "type": "feat", 11 | "section": "Features" 12 | }, 13 | { 14 | "type": "fix", 15 | "section": "Bug Fixes" 16 | }, 17 | { 18 | "type": "doc", 19 | "hidden": true 20 | }, 21 | { 22 | "type": "test", 23 | "section": "Tests", 24 | "hidden": true 25 | }, 26 | { 27 | "type": "build", 28 | "section": "Build System", 29 | "hidden": true 30 | }, 31 | { 32 | "type": "ci", 33 | "hidden": true 34 | }, 35 | { 36 | "type": "chore", 37 | "hidden": true 38 | } 39 | ], 40 | "commitUrlFormat": "{{repository}}", 41 | "compareUrlFormat": "Changes between {{previousTag}} and {{currentTag}}", 42 | "infile": "HISTORY.md", 43 | "tagPrefix": "v", 44 | "header": "# AGS Evidence Store Solution Changelog", 45 | "releaseCommitMessageFormat": "Release ags-evidence-store-solution {{currentTag}}" 46 | } 47 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/LicenseHeader.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | dist/ 3 | .aws-sam/ 4 | build 5 | coverage 6 | node_modules/ 7 | doc/ -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 90, 4 | "semi": true, 5 | "singleQuote": true, 6 | "tabWidth": 4 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/.viperlightignore: -------------------------------------------------------------------------------- 1 | doc 2 | canary/awsSigV4.js 3 | canary/canaryUtils.ts 4 | postman 5 | s3-evidece-collector/index.s:80 6 | s3-evidece-collector/index.s:81 7 | s3-evidece-collector/index.s:82 -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/buildspec.yml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | phases: 3 | install: 4 | commands: 5 | # Install all dependencies (including dependencies for running tests) 6 | - npm install 7 | pre_build: 8 | commands: 9 | # Discover and run unit tests in the '__tests__' directory 10 | - npm run test 11 | # Remove all unit tests to reduce the size of the package that will be ultimately uploaded to Lambda 12 | - rm -rf ./test 13 | # Remove all dependencies not needed for the Lambda deployment package (the packages from devDependencies in package.json) 14 | - npm prune --production 15 | build: 16 | commands: 17 | # Use AWS SAM to package the application by using AWS CloudFormation 18 | - aws cloudformation package --template template.yml --s3-bucket $S3_BUCKET --output-template template-export.yml 19 | artifacts: 20 | type: zip 21 | files: 22 | - template-export.yml 23 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/canary/CanaryHelper.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export function areEqual(actual: T, expected: T): void { 17 | if (actual !== expected) { 18 | throw new Error(`Expected ${expected} but found ${actual}.`); 19 | } 20 | } 21 | 22 | export function sleep(ms: number): Promise { 23 | return new Promise((resolve) => setTimeout(resolve, ms)); 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/env.json: -------------------------------------------------------------------------------- 1 | { 2 | "Parameters": { 3 | "SAMPLE_TABLE": "TABLE-NAME", 4 | "LOG_LEVEL": "silent" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/events/env-update-attestation-authority.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpMethod": "PUT", 3 | "resource": "/authorities/{id}", 4 | "body": "{ \"authorityId\": \"7916a952-f8ca-460b-a493-b78d4819ed35\", \"enabled\": false }", 5 | "pathParameters": { "id": "7916a952-f8ca-460b-a493-b78d4819ed35" } 6 | } 7 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/events/event-create-attestation-authority.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpMethod": "POST", 3 | "resource": "/authorities", 4 | "body": "{ \"name\": \"test authority\", \"description\": \"something to play with\" }", 5 | "headers": { 6 | "Content-Type": "application/json" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/events/event-create-attestation.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpMethod": "POST", 3 | "resource": "/attestations", 4 | "body": "{ \"authorityId\": \"7916a952-f8ca-460b-a493-b78d4819ed35\", \"targetId\": \"a-target\", \"content\":{\"codeScan\":\"success\"} }", 5 | "headers": { 6 | "Content-Type": "application/json" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/events/event-get-attestation-authority.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpMethod": "GET", 3 | "resource": "/authorities/{id}", 4 | "pathParameters": { "id": "7916a952-f8ca-460b-a493-b78d4819ed35" } 5 | } 6 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/integ.jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: ['/test'], 4 | modulePaths: [''], 5 | testMatch: ['**/*.test.ts'], 6 | transform: { 7 | '^.+\\.tsx?$': 'ts-jest', 8 | }, 9 | verbose: true, 10 | 11 | reporters: [ 12 | 'default', 13 | [ 14 | 'jest-junit', 15 | { 16 | outputDirectory: './reports', 17 | outputName: 'test_report.xml', 18 | }, 19 | ], 20 | ], 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: [''], 4 | modulePaths: [''], 5 | testMatch: ['**/*.test.ts'], 6 | transform: { 7 | '^.+\\.tsx?$': 'ts-jest', 8 | }, 9 | collectCoverage: true, 10 | collectCoverageFrom: [ 11 | 'src/**/*.ts', 12 | 'evidences-stream-processor/**/*.ts', 13 | '!src/data/*.ts', 14 | '!src/common/BaseContainer.ts', 15 | ], 16 | 17 | verbose: true, 18 | 19 | coverageThreshold: { 20 | global: { 21 | branches: 80, 22 | functions: 80, 23 | lines: 80, 24 | statements: -20, 25 | }, 26 | }, 27 | reporters: [ 28 | 'default', 29 | [ 30 | 'jest-junit', 31 | { 32 | outputDirectory: './reports', 33 | outputName: 'test_report.xml', 34 | }, 35 | ], 36 | ], 37 | }; 38 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/samconfig.toml: -------------------------------------------------------------------------------- 1 | version = 0.1 2 | [default] 3 | [default.deploy] 4 | [default.deploy.parameters] 5 | stack_name = "apjsb-serverless-template" 6 | s3_bucket = "aws-sam-cli-managed-default-samclisourcebucket-1x8ljeybgnxug" 7 | s3_prefix = "apjsb-serverless-template" 8 | region = "ap-southeast-2" 9 | confirm_changeset = true 10 | capabilities = "CAPABILITY_IAM" 11 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/data/schemas/ElasticSearchResponse.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface ElasticSearchResponse { 17 | hits: { 18 | total: { value: number }; 19 | hits: [{ _source: T }]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/data/schemas/EvidenceContentData.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface EvidenceContentData { 17 | evidenceProviderId: string; 18 | targetId: string; 19 | content: string; 20 | contentHash: string; 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/data/schemas/QueryResult.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface DynamoDbQueryResult extends QueryResultBase { 17 | nextToken?: string; 18 | } 19 | 20 | export interface QueryResult extends QueryResultBase { 21 | total: number; 22 | startIndex: number; 23 | } 24 | 25 | export interface QueryResultBase { 26 | records: T[]; 27 | pageSize: number; 28 | } 29 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/CreateEvidenceInput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface CreateEvidenceInput { 17 | providerId: string; 18 | targetId: string; 19 | additionalTargetIds?: string[]; 20 | metadata?: Record; 21 | correlationId?: string; 22 | content: Record; 23 | schemaId: string; 24 | attachments?: { objectKey: string }[]; 25 | } 26 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/CreateEvidenceProviderInput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { CreateEvidenceSchemaInput } from './CreateEvidenceSchemaInput'; 17 | 18 | export interface CreateEvidenceProviderInput { 19 | providerId?: string; 20 | name: string; 21 | description?: string; 22 | userGroups?: string[]; 23 | schemas: Omit[]; 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/CreateEvidenceSchemaInput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface CreateEvidenceSchemaInput { 17 | providerId: string; 18 | schemaId: string; 19 | content: Record; 20 | description?: string; 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/EvidenceSchemaOutput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface EvidenceSchemaOutput { 17 | providerId: string; 18 | schemaId: string; 19 | content: Record; 20 | createdTimestamp: string; 21 | description?: string; 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/EvidenceVerificationStatusOutput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FullEvidenceOutput } from './EvidenceOutput'; 17 | 18 | export interface EvidenceVerificationStatusOutput { 19 | verificationStatus: 'Verified' | 'Unverified'; 20 | evidence?: FullEvidenceOutput; 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/GetEvidenceSchemaInput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface GetEvidenceSchemaInput { 17 | providerId: string; 18 | schemaId: string; 19 | } 20 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/GetEvidencesInput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface GetEvidencesInput { 17 | targetIds?: string[]; 18 | providerId?: string; 19 | providerIds?: string[]; 20 | schemaId?: string; 21 | content?: string; 22 | limit?: number; 23 | fromTimestamp?: string; 24 | toTimestamp?: string; 25 | nextToken?: string; 26 | } 27 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/QueryOutput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | import { PaginatedResults } from '@apjsb-serverless-lib/common-types'; 18 | 19 | export interface QueryOutput extends PaginatedResults { 20 | total?: number; 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/SearchEvidenceProviderInput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface SearchEvidenceProviderInput { 17 | providerId?: string; 18 | name?: string; 19 | description?: string; 20 | limit: number; 21 | nextToken?: string; 22 | schemaId?: string; 23 | } 24 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/src/types/UpdateEvidenceProviderInput.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface UpdateEvidenceProviderInput { 17 | providerId: string; 18 | enabled: boolean; 19 | } 20 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/app/lambda/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "experimentalDecorators": true, 4 | "emitDecoratorMetadata": true, 5 | "lib": ["es2019"], 6 | "module": "commonjs", 7 | "esModuleInterop": true, 8 | "sourceMap": true, 9 | "strict": true, 10 | "target": "es2019", 11 | "types": ["node", "jest"], 12 | "outDir": "./dist", 13 | "baseUrl": "./", 14 | "paths": { 15 | "src/*": ["src/*"], 16 | "test/*": ["test/*"] 17 | } 18 | }, 19 | "include": ["evidences-stream-processor/**/*", "src/**/*", "test/**/*"], 20 | "exclude": ["node_modules"] 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | dist/ 3 | .aws-sam/ 4 | coverage 5 | node_modules/ 6 | cdk.out/ -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 90, 4 | "semi": true, 5 | "singleQuote": true, 6 | "tabWidth": 4 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/bin/service-infra.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /* 3 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"). 6 | You may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | 18 | import 'source-map-support/register'; 19 | import { AGSServiceApp } from '@ags-cdk/ags-service-template'; 20 | import { ServiceStage } from '../lib/service-stage'; 21 | 22 | new AGSServiceApp({ 23 | stageConstructor: ServiceStage, 24 | currentDir: __dirname, 25 | }); 26 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node --prefer-ts-exts bin/service-infra.ts", 3 | "context": { 4 | "aws-cdk:enableDiffNoFail": "true", 5 | "@aws-cdk/core:stackRelativeExports": "true", 6 | "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true, 7 | "@aws-cdk/core:newStyleStackSynthesis": true, 8 | "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, 9 | "serviceName": "AGSEvidenceStore", 10 | "configurationPath": "../../../configurations", 11 | "solutionInfoFilePath": "../../../solution-info.json" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: ['/test'], 4 | testMatch: ['**/*.test.ts'], 5 | transform: { 6 | '^.+\\.tsx?$': 'ts-jest', 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/lib/evidence-provider-creator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "evidence-provider-creator", 3 | "version": "1.0.0", 4 | "description": "Onboards evidence providers", 5 | "author": { 6 | "name": "Amazon Web Services", 7 | "url": "https://aws.amazon.com/solutions" 8 | }, 9 | "license": "Apache-2.0", 10 | "main": "index.js", 11 | "scripts": { 12 | "test": "echo \"Error: no test specified\" && exit 1", 13 | "build": "webpack" 14 | }, 15 | "devDependencies": { 16 | "@aws-sdk/types": "^3.226.0", 17 | "@types/aws-lambda": "^8.10.109", 18 | "@types/node": "^18.11.18", 19 | "ts-loader": "^9.4.2", 20 | "ts-node": "^10.9.1", 21 | "typescript": "^4.9.5", 22 | "webpack": "^5.78.0", 23 | "webpack-cli": "^5.0.1", 24 | "webpack-node-externals": "^3.0.0" 25 | }, 26 | "dependencies": { 27 | "@apjsb-serverless-lib/apjsb-aws-httpclient": "^1.1.0", 28 | "@aws-sdk/client-secrets-manager": "^3.252.0" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/lib/evidence-provider-creator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist", 4 | "target": "ES2018", 5 | "module": "commonjs", 6 | "lib": ["es2018"], 7 | "declaration": false, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "strictNullChecks": true, 11 | "noImplicitThis": true, 12 | "alwaysStrict": true, 13 | "noUnusedLocals": false, 14 | "noUnusedParameters": false, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": false, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "experimentalDecorators": true, 20 | "strictPropertyInitialization": false, 21 | "typeRoots": ["./node_modules/@types"] 22 | }, 23 | "exclude": ["cdk.out"] 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/lib/qldb-table-creator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist", 4 | "target": "ES2018", 5 | "module": "commonjs", 6 | "lib": ["es2018"], 7 | "declaration": false, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "strictNullChecks": true, 11 | "noImplicitThis": true, 12 | "alwaysStrict": true, 13 | "noUnusedLocals": false, 14 | "noUnusedParameters": false, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": false, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "experimentalDecorators": true, 20 | "strictPropertyInitialization": false, 21 | "types": ["node", "jest"] 22 | }, 23 | "exclude": ["cdk.out", "node_modules"] 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSEvidenceStore/infra/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist", 4 | "target": "ES2018", 5 | "module": "commonjs", 6 | "lib": ["es2018"], 7 | "declaration": true, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "strictNullChecks": true, 11 | "noImplicitThis": true, 12 | "alwaysStrict": true, 13 | "noUnusedLocals": false, 14 | "noUnusedParameters": false, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": false, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "experimentalDecorators": true, 20 | "strictPropertyInitialization": false, 21 | "types": ["node", "jest"] 22 | }, 23 | "exclude": ["cdk.out", "dist", "node_modules", "lib/qldb-table-creator"] 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/LicenseHeader.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | dist/ 3 | .aws-sam/ 4 | coverage 5 | node_modules/ 6 | build -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 90, 4 | "semi": true, 5 | "singleQuote": true, 6 | "tabWidth": 4 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/.viperlightignore: -------------------------------------------------------------------------------- 1 | .aws-sam 2 | api.yaml 3 | src/TagClient.ts:75 4 | src/TagClient.ts:76 5 | src/clients/STSClient.ts:37 6 | src/clients/STSClient.ts:38 7 | canary/awsSigV4.js 8 | canary/canaryUtils.ts 9 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/buildspec.yml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | phases: 3 | install: 4 | commands: 5 | # Install all dependencies (including dependencies for running tests) 6 | - npm install 7 | pre_build: 8 | commands: 9 | # Discover and run unit tests in the '__tests__' directory 10 | - npm run test 11 | # Remove all unit tests to reduce the size of the package that will be ultimately uploaded to Lambda 12 | - rm -rf ./test 13 | # Remove all dependencies not needed for the Lambda deployment package (the packages from devDependencies in package.json) 14 | - npm prune --production 15 | build: 16 | commands: 17 | # Use AWS SAM to package the application by using AWS CloudFormation 18 | - aws cloudformation package --template template.yml --s3-bucket $S3_BUCKET --output-template template-export.yml 19 | artifacts: 20 | type: zip 21 | files: 22 | - template-export.yml 23 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/canary/CanaryHelper.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export function areEqual(actual: T, expected: T): void { 17 | if (actual !== expected) { 18 | throw new Error(`Expected ${expected} but found ${actual}.`); 19 | } 20 | } 21 | 22 | export function sleep(ms: number): Promise { 23 | return new Promise((resolve) => setTimeout(resolve, ms)); 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/env.json: -------------------------------------------------------------------------------- 1 | { 2 | "Parameters": { 3 | "SAMPLE_TABLE": "TABLE-NAME", 4 | "LOG_LEVEL": "silent" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: [''], 4 | modulePaths: [''], 5 | testMatch: ['**/*.test.ts'], 6 | transform: { 7 | '^.+\\.tsx?$': 'ts-jest', 8 | }, 9 | collectCoverage: true, 10 | collectCoverageFrom: ['src/**/*.ts', '!src/common/Xray.ts'], 11 | verbose: true, 12 | 13 | coverageThreshold: { 14 | global: { 15 | branches: 80, 16 | functions: 80, 17 | lines: 80, 18 | statements: -10, 19 | }, 20 | }, 21 | reporters: [ 22 | 'default', 23 | [ 24 | 'jest-junit', 25 | { 26 | outputDirectory: './reports', 27 | outputName: 'test_report.xml', 28 | }, 29 | ], 30 | ], 31 | }; 32 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/samconfig.toml: -------------------------------------------------------------------------------- 1 | version = 0.1 2 | [default] 3 | [default.deploy] 4 | [default.deploy.parameters] 5 | stack_name = "apjsb-serverless-template" 6 | s3_bucket = "aws-sam-cli-managed-default-samclisourcebucket-1x8ljeybgnxug" 7 | s3_prefix = "apjsb-serverless-template" 8 | region = "ap-southeast-2" 9 | confirm_changeset = true 10 | capabilities = "CAPABILITY_IAM" 11 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/@apjsb-serverless-lib/apjsb-aws-httpclient.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export const httpPostFn = jest.fn().mockReturnValue(Promise.resolve(true)); 17 | 18 | export const createHttpClient = (_region: string) => new ApjsbAwsHttpClient(); 19 | 20 | export class ApjsbAwsHttpClient { 21 | post = httpPostFn; 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/@aws-sdk/client-config-service.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export const batchGetResourceResponse = jest.fn().mockReturnValue(Promise.resolve(true)); 17 | 18 | export class ConfigServiceClient { 19 | send = batchGetResourceResponse; 20 | } 21 | 22 | export class BatchGetResourceConfigCommand { 23 | constructor(_input: any) {} 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/@aws-sdk/client-resource-groups-tagging-api.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export const getResourcesResponse = jest.fn().mockReturnValue(Promise.resolve(true)); 17 | 18 | export class ResourceGroupsTaggingAPIClient { 19 | send = getResourcesResponse; 20 | } 21 | 22 | export class GetResourcesCommand { 23 | constructor(_command: any) {} 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/@aws-sdk/client-s3.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export const putObjectResponse = jest.fn().mockReturnValue(Promise.resolve(true)); 17 | 18 | export class S3Client { 19 | send = putObjectResponse; 20 | } 21 | 22 | export class PutObjectCommand { 23 | constructor(_input: any) {} 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/@aws-sdk/client-secrets-manager.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export const getSecretsResponse = jest.fn().mockReturnValue(Promise.resolve(true)); 17 | 18 | export class SecretsManagerClient { 19 | send = getSecretsResponse; 20 | } 21 | 22 | export class GetSecretValueCommand { 23 | constructor(_input: any) {} 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/@aws-sdk/client-ssm.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export const getParameterResponse = jest.fn().mockReturnValue(Promise.resolve(true)); 17 | 18 | export class SSMClient { 19 | send = getParameterResponse; 20 | } 21 | 22 | export class GetParameterCommand { 23 | constructor(_input: any) {} 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/@aws-sdk/client-sts.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export const assumeRoleResponse = jest.fn().mockReturnValue(Promise.resolve(true)); 17 | 18 | export class STSClient { 19 | send = assumeRoleResponse; 20 | } 21 | 22 | export class AssumeRoleCommand { 23 | constructor(_input: any) {} 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/__mocks__/aws-xray-sdk.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export function captureAWSv3Client(client: any): any { 17 | return client; 18 | } 19 | 20 | export function captureHTTPsGlobal(module: any): any { 21 | return module; 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/app/lambda/test/unit/common/Types.test.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { Message } from 'src/common/Types'; 17 | 18 | describe('Types tests', () => { 19 | test('test Mesage construction', () => { 20 | const message: Message = new Message(); 21 | expect(message).toBeDefined(); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist/ 3 | build/ 4 | **/.vscode/* 5 | .DS_Store 6 | 7 | *.d.ts 8 | 9 | # CDK asset staging directory 10 | .cdk.staging 11 | cdk.out 12 | **/cdk.context.json 13 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | dist/ 3 | .aws-sam/ 4 | coverage 5 | node_modules/ 6 | cdk.out 7 | build -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 90, 4 | "semi": true, 5 | "singleQuote": true, 6 | "tabWidth": 4 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/.viperlightignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | package.json -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/bin/service-infra.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /* 3 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"). 6 | You may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | 18 | import 'source-map-support/register'; 19 | import { AGSServiceApp } from '@ags-cdk/ags-service-template'; 20 | import { ServiceStage } from '../lib/service-stage'; 21 | 22 | new AGSServiceApp({ 23 | stageConstructor: ServiceStage, 24 | currentDir: __dirname, 25 | }); 26 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node --prefer-ts-exts bin/service-infra.ts", 3 | "context": { 4 | "@aws-cdk/core:stackRelativeExports": "true", 5 | "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true, 6 | "@aws-cdk/core:newStyleStackSynthesis": true, 7 | "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, 8 | "serviceName": "AGSSecurityHubEvidenceCollector", 9 | "configurationPath": "../../../configurations", 10 | "solutionInfoFilePath": "../../../solution-info.json" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: ['/test'], 4 | testMatch: ['**/*.test.ts'], 5 | transform: { 6 | '^.+\\.tsx?$': 'ts-jest', 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/lib/evidence-store-onboarder/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist", 4 | "target": "ES2018", 5 | "module": "commonjs", 6 | "lib": ["es2018"], 7 | "declaration": false, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "strictNullChecks": true, 11 | "noImplicitThis": true, 12 | "alwaysStrict": true, 13 | "noUnusedLocals": false, 14 | "noUnusedParameters": false, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": false, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "experimentalDecorators": true, 20 | "strictPropertyInitialization": false, 21 | "typeRoots": ["./node_modules/@types"] 22 | }, 23 | "exclude": ["cdk.out"] 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSecurityHubEvidenceCollector/infra/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist", 4 | "target": "ES2018", 5 | "module": "commonjs", 6 | "lib": ["es2018"], 7 | "declaration": true, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "strictNullChecks": true, 11 | "noImplicitThis": true, 12 | "alwaysStrict": true, 13 | "noUnusedLocals": false, 14 | "noUnusedParameters": false, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": false, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "experimentalDecorators": true, 20 | "strictPropertyInitialization": false, 21 | "types": ["node", "jest"] 22 | }, 23 | "exclude": ["cdk.out", "dist"] 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/LicenseHeader.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | cdk.out -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | const path = require('path'); 3 | module.exports = { 4 | root: true, 5 | env: { 6 | node: true, 7 | es2020: true, 8 | }, 9 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], 10 | parser: '@typescript-eslint/parser', 11 | parserOptions: { 12 | ecmaVersion: 2020, 13 | sourceType: 'module', 14 | }, 15 | plugins: ['@typescript-eslint', 'header'], 16 | rules: { 17 | 'header/header': [2, path.join(__dirname, '..', 'LicenseHeader.txt')], 18 | 19 | '@typescript-eslint/no-var-requires': 'off', 20 | '@typescript-eslint/no-inferrable-types': 'off', 21 | '@typescript-eslint/ban-ts-comment': 'off', 22 | 'no-undef': 0, 23 | 'no-func-assign': 0, 24 | 25 | 'padding-line-between-statements': [ 26 | 'error', 27 | { 28 | blankLine: 'always', 29 | prev: ['export', 'class'], 30 | next: '*', 31 | }, 32 | ], 33 | }, 34 | }; 35 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/.gitignore: -------------------------------------------------------------------------------- 1 | *.d.ts 2 | node_modules 3 | dist 4 | 5 | coverage/ 6 | reports/ 7 | 8 | # CDK asset staging directory 9 | .cdk.staging 10 | cdk.out 11 | cdk.out.* 12 | cdk.context.json 13 | 14 | # Parcel default cache directory 15 | .parcel-cache 16 | 17 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | dist/ 3 | .aws-sam/ 4 | coverage 5 | node_modules/ 6 | cdk.out/ -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 90, 4 | "semi": true, 5 | "singleQuote": true, 6 | "tabWidth": 4 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/README.md: -------------------------------------------------------------------------------- 1 | # AWS Governance Suite Shared Infrastructure -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node bin/ags-shared-infra.ts", 3 | "context": { 4 | "aws-cdk:enableDiffNoFail": "true", 5 | "@aws-cdk/core:stackRelativeExports": "true", 6 | "@aws-cdk/core:newStyleStackSynthesis": "true", 7 | "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, 8 | "serviceName": "AGSSharedInfra", 9 | "sharedInfraVersion": 1, 10 | "configurationPath": "../../../configurations", 11 | "solutionInfoFilePath": "../../../solution-info.json" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: ['/test'], 4 | testMatch: ['**/*.test.ts'], 5 | transform: { 6 | '^.+\\.tsx?$': 'ts-jest', 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/lambda/securityHeader/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | coverage/ 3 | reports/ -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/lambda/securityHeader/jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: [''], 4 | testMatch: ['**/*.test.ts'], 5 | transform: { 6 | '^.+\\.ts?$': 'ts-jest', 7 | }, 8 | collectCoverage: true, 9 | collectCoverageFrom: ['index.ts'], 10 | coverageDirectory: '../coverage/securityHeader', 11 | coverageThreshold: { 12 | global: { 13 | branches: 80, 14 | functions: 80, 15 | lines: 80, 16 | statements: -10, 17 | }, 18 | }, 19 | verbose: true, 20 | reporters: [ 21 | 'default', 22 | [ 23 | 'jest-junit', 24 | { 25 | outputDirectory: '../reports/securityHeader', 26 | outputName: 'unit_test_report.xml', 27 | }, 28 | ], 29 | ], 30 | }; 31 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/lambda/securityHeader/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "allowJs": true, 7 | "declaration": true, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "strictNullChecks": true, 11 | "noImplicitThis": true, 12 | "alwaysStrict": true, 13 | "noUnusedLocals": false, 14 | "noUnusedParameters": false, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": false, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "experimentalDecorators": true, 20 | "strictPropertyInitialization": false, 21 | "outDir": "./build", 22 | "types": ["node", "jest"] 23 | }, 24 | "exclude": ["node_modules", "cdk.out"] 25 | } 26 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/lambda/tokenService/.gitignore: -------------------------------------------------------------------------------- 1 | *.d.ts 2 | *.js.map 3 | node_modules 4 | dist 5 | reports 6 | coverage -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/lambda/tokenService/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 90, 4 | "semi": true, 5 | "singleQuote": true, 6 | "tabWidth": 4 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/lambda/tokenService/jest.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | module.exports = { 3 | roots: ['/test'], 4 | testMatch: ['**/*.test.ts'], 5 | transform: { 6 | '^.+\\.ts?$': 'ts-jest', 7 | }, 8 | collectCoverage: true, 9 | collectCoverageFrom: ['!src/localrunner/**'], 10 | coverageDirectory: '../coverage/tokenService', 11 | coverageThreshold: { 12 | global: { 13 | branches: 80, 14 | functions: 80, 15 | lines: 80, 16 | statements: -10, 17 | }, 18 | }, 19 | verbose: true, 20 | reporters: [ 21 | 'default', 22 | [ 23 | 'jest-junit', 24 | { 25 | outputDirectory: '../reports/tokenService', 26 | outputName: 'unit_test_report.xml', 27 | }, 28 | ], 29 | ], 30 | }; 31 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/lambda/tokenService/webpack.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | const path = require('path'); 3 | const { CleanWebpackPlugin } = require('clean-webpack-plugin'); 4 | 5 | module.exports = { 6 | entry: { 7 | SamlACS: './src/saml-acs.ts', 8 | CognitoACS: './src/cognito-acs.ts', 9 | }, 10 | devtool: 'source-map', 11 | mode: 'development', 12 | target: 'node', 13 | plugins: [new CleanWebpackPlugin()], 14 | module: { 15 | rules: [ 16 | { 17 | test: /\.tsx?$/, 18 | use: 'ts-loader', 19 | exclude: /node_modules/, 20 | }, 21 | ], 22 | }, 23 | externals: [{ 'aws-sdk': 'commonjs aws-sdk' }], 24 | resolve: { 25 | extensions: ['.tsx', '.ts', '.js'], 26 | }, 27 | output: { 28 | filename: '[name]/[name].js', 29 | path: path.resolve(__dirname, 'dist'), 30 | libraryTarget: 'commonjs', 31 | }, 32 | }; 33 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/test/ags-shared-infra-app.test.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | //TODO: update this dummy test to snapsho test 18 | test('NonOp Test', () => { 19 | expect(true); 20 | }); 21 | -------------------------------------------------------------------------------- /source/AGSSharedInfra/infra/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist", 4 | "target": "ES2018", 5 | "module": "commonjs", 6 | "lib": ["es2018"], 7 | "declaration": true, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "strictNullChecks": true, 11 | "noImplicitThis": true, 12 | "alwaysStrict": true, 13 | "noUnusedLocals": false, 14 | "noUnusedParameters": false, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": false, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "experimentalDecorators": true, 20 | "strictPropertyInitialization": false, 21 | "types": ["node", "jest"] 22 | }, 23 | "exclude": ["cdk.out", "dist", "lambda"] 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | **/node_modules/ 3 | coverage/ 4 | build/ 5 | **/build/ 6 | cdk.out/ 7 | dist/ 8 | **/dist/ 9 | temp/ 10 | reports/ 11 | -------------------------------------------------------------------------------- /source/AGSWebClient/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules/ 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | **/coverage 11 | /cypress/videos 12 | /cypress/screenshots 13 | .scannerwork 14 | /reports 15 | 16 | # production 17 | build/ 18 | dist/ 19 | 20 | # CDK 21 | .cdk.staging 22 | cdk.out 23 | cdk.context.json 24 | 25 | # misc 26 | .DS_Store 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | 32 | npm-debug.log* 33 | yarn-debug.log* 34 | yarn-error.log* 35 | -------------------------------------------------------------------------------- /source/AGSWebClient/.nvmrc: -------------------------------------------------------------------------------- 1 | 12.14 -------------------------------------------------------------------------------- /source/AGSWebClient/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | **/node_modules/ 3 | build 4 | **/build/ 5 | cdk.out/ 6 | coverage/ 7 | dist/ 8 | **/dist/ 9 | node_modules/ 10 | temp/ 11 | reports/ -------------------------------------------------------------------------------- /source/AGSWebClient/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 90, 4 | "semi": true, 5 | "singleQuote": true, 6 | "tabWidth": 4 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSWebClient/LicenseHeader.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /source/AGSWebClient/__mocks__/react-use-localstorage.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export default { 17 | __esModule: true, 18 | default: () => ['false', () => {}], 19 | }; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/app/README.md: -------------------------------------------------------------------------------- 1 | ## AGS Web Client App 2 | 3 | This project includes the source code for the whole suite of AGS Web Client App. 4 | 5 | Developer can use this app as a development environment to navigation to all the pages managed by AGS Web Client. 6 | -------------------------------------------------------------------------------- /source/AGSWebClient/app/craco.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../craco.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/app/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/verifiable-controls-evidence-store/7762887cb1d15e17a62323d41f29c8b714ab5d52/source/AGSWebClient/app/public/favicon.ico -------------------------------------------------------------------------------- /source/AGSWebClient/app/public/img/compliance-score.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/verifiable-controls-evidence-store/7762887cb1d15e17a62323d41f29c8b714ab5d52/source/AGSWebClient/app/public/img/compliance-score.png -------------------------------------------------------------------------------- /source/AGSWebClient/app/public/img/dummy-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/verifiable-controls-evidence-store/7762887cb1d15e17a62323d41f29c8b714ab5d52/source/AGSWebClient/app/public/img/dummy-diagram.png -------------------------------------------------------------------------------- /source/AGSWebClient/app/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "GovSuite", 3 | "name": "AWS Governance Suite", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": ".", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /source/AGSWebClient/app/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /source/AGSWebClient/app/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import '@testing-library/jest-dom/extend-expect'; 17 | -------------------------------------------------------------------------------- /source/AGSWebClient/app/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "src" 5 | }, 6 | "include": ["src"] 7 | } 8 | -------------------------------------------------------------------------------- /source/AGSWebClient/cypress.json: -------------------------------------------------------------------------------- 1 | { 2 | "baseUrl": "http://localhost:3000", 3 | "viewportWidth": 1440, 4 | "viewportHeight": 900, 5 | "defaultCommandTimeout": 10000 6 | } 7 | -------------------------------------------------------------------------------- /source/AGSWebClient/git-conventional-commits.json: -------------------------------------------------------------------------------- 1 | { 2 | "convention": { 3 | "commitTypes": [ 4 | "chore", 5 | "feat", 6 | "fix", 7 | "perf", 8 | "refactor", 9 | "style", 10 | "test", 11 | "build", 12 | "ops", 13 | "docs", 14 | "merge", 15 | "revert" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('./jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | projects: ['/app', '/packages/*'], 22 | modulePathIgnorePatterns: [ 23 | '/cypress', 24 | '/lighthouse', 25 | '/extractor', 26 | ], 27 | }; 28 | -------------------------------------------------------------------------------- /source/AGSWebClient/jest/jest.setup.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | import '@testing-library/jest-dom'; 18 | import '@testing-library/jest-dom/extend-expect'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": ["app", "apps/**", "lighthouse", "extractor", "packages/**", "pipeline"], 3 | "version": "fixed", 4 | "npmClient": "yarn", 5 | "useWorkspaces": true 6 | } 7 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationRelease/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Application Release App Module 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationRelease/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationRelease/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-application-release", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Application Release App Module", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-application-release-core": "1.2.0", 19 | "@ags/webclient-application-release-view": "1.2.0", 20 | "@ags/webclient-core": "1.2.0", 21 | "@ags/webclient-estates-core": "1.2.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationRelease/pages/Applications/List/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import ApplicationsContainer from '@ags/webclient-application-release-view/containers/Applications'; 18 | 19 | const ApplicationView: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default ApplicationView; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationRelease/pages/Attributes/List/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import AttributesContainer from '@ags/webclient-application-release-view/containers/Attributes'; 18 | 19 | const AttributesView: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default AttributesView; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationRelease/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Application Release Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseCore/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const AGS_SERVICES_APPLICATION_DEFINITION_SERVICE = 18 | 'AGSApplicationDefinitionService'; 19 | export const AGS_SERVICES_RELEASE_MANAGEMENT_SERVICE = 'AGSReleaseManagementService'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-application-release-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Application Release Core Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './types'; 17 | export { default as queryMap } from './queryMap'; 18 | export { default as mutationMap } from './mutationMap'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseCore/types/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export * from './application'; 18 | export * from './attribute'; 19 | export * from './releaseCandidate'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Application Release View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseView/components/Applications/Form/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface ApplicationFormData { 17 | name: string; 18 | applicationOwner: string; 19 | description?: string; 20 | estate: string; 21 | environments: { label: string; value: string }[]; 22 | attributes: { key: string; value: string }[]; 23 | metadata?: { key: string; value: string }[]; 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseView/components/Attributes/Form/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface AttributeFormData { 17 | key: string; 18 | value: string; 19 | description: string; 20 | metadata: { key: string; value: string }[]; 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-application-release-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Application Release View Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-application-release-core": "1.2.0", 19 | "@ags/webclient-estates-core": "1.2.0", 20 | "@ags/webclient-core": "1.2.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationReleaseView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Applications Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const AGS_SERVICES_APPLICATION_DEFINITION_SERVICE = 18 | 'AGSApplicationDefinitionService'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/config/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './constants'; 17 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-applications-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Applications Core Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export * from './types'; 18 | export { default as queryMap } from './queryMap'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/queries/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export enum QueryType { 18 | LIST_APPLICATIONS = 'ListApplications', 19 | LIST_APPATTRIBUTES = 'ListAppAttributes', 20 | GET_APPLICATION = 'GetApplication', 21 | GET_APPATTRIBUTE = 'GetAppAttribute', 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/applicationsCore/types/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export interface Application { 18 | name: string; 19 | description: string; 20 | applicationOwner: string; 21 | } 22 | 23 | export interface ApplicationAttribute { 24 | name: string; 25 | description: string; 26 | key: string; 27 | value: string; 28 | } 29 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnits/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Business Units App Module 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnits/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-business-units", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Business Units App Module", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-business-units-core": "1.2.0", 20 | "@ags/webclient-business-units-view": "1.2.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnits/pages/BusinessUnits/Detail/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import BusinessUnitDetails from '@ags/webclient-business-units-view/containers/BusinessUnitDetails'; 18 | 19 | const BusinessUnitDetail: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default BusinessUnitDetail; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnits/pages/Enterprise/Details/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import EnterpriseDetailsContainer from '@ags/webclient-business-units-view/containers/EnterpriseDetails'; 18 | 19 | const EnterpriseDetails: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default EnterpriseDetails; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnits/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Business Units Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsCore/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const AGS_SERVICES_RISK_MANAGEMENT_SERVICE = 'AGSRiskManagementService'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-business-units-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Business Units", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export * from './types'; 18 | export { default as queryMap } from './queryMap'; 19 | export { default as mutationMap } from './mutationMap'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsCore/queries/queryMap.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | import { QueryType } from './types'; 18 | import { GetBusinessUnit } from './queries/getBusinessUnit'; 19 | import { ListBusinessUnits } from './queries/listBusinessUnits'; 20 | 21 | const queryMap = { 22 | [QueryType.GET_BUSUSINESSUNIT]: GetBusinessUnit, 23 | [QueryType.LIST_BUSINESSUNITS]: ListBusinessUnits, 24 | }; 25 | 26 | export default queryMap; 27 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Business Units View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-business-units-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Business Units View", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-business-units-core": "1.2.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/businessUnitsView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Compliance Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const AGS_SERVICES_COMPLIANCE_EVALUATOR_SERVICE = 'AGSComplianceEvaluatorService'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-compliance-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Governance Hub View Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-business-units-core": "1.2.0", 20 | "@ags/webclient-risks-core": "1.2.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './types'; 17 | export { default as queryMap } from './queryMap'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/queries/queryMap.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | import { GetCompliancePosture } from './queries/getCompliancePosture'; 18 | import { QueryType } from './types'; 19 | 20 | const queryMap = { 21 | [QueryType.GET_COMPLIANCE_POSTURE]: GetCompliancePosture, 22 | }; 23 | 24 | export default queryMap; 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/queries/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export enum QueryType { 18 | GET_COMPLIANCE_POSTURE = 'GetCompliancePosture', 19 | } 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/complianceCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Core Library 2 | 3 | This module includes shared components, container components, shared utilities and shared 3rd libraries across all the web client projects. 4 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/components/GetStarted/howItWorks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/verifiable-controls-evidence-store/7762887cb1d15e17a62323d41f29c8b714ab5d52/source/AGSWebClient/packages/core/components/GetStarted/howItWorks.png -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/components/SideNavigation/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | import { ApiEndpoints, UserGroup, RestrictedSideNavigationItem } from '../../types'; 18 | 19 | export interface SideNavigationBuildData { 20 | apiEndpoints?: ApiEndpoints; 21 | userGroups?: UserGroup[]; 22 | navigationTemplate: RestrictedSideNavigationItem[]; 23 | } 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const DEFAULT_APP_HEADER = 'AWS Governance Suite'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/config/routes.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const ROUTE_DASHBOARD = '/'; 18 | export const ROUTE_GET_STARTED = '/getStarted'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/index.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | declare module '*.png'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './types'; 17 | export * from './agsApi'; 18 | export * from './agsMutations'; 19 | export * from './agsQueries'; 20 | export * from './mutationBase'; 21 | export * from './queryBase'; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/queries/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export class ExpiredTokenException extends Error { 17 | public readonly name = 'ExpiredTokenException'; 18 | } 19 | 20 | export interface AgsPaginatedQueryResult { 21 | total?: number; 22 | results: T[]; 23 | nextToken?: string; 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/types/authSettings.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export interface AuthSettings { 18 | signInLink: string; 19 | cognitoDomain?: string; 20 | cognitoClientId?: string; 21 | cognitoRedirectUri?: string; 22 | cognitoUserPoolId?: string; 23 | cognitoIdentityPoolId?: string; 24 | accountId?: string; 25 | } 26 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/types/businessUnits.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export interface BusinessUnitSummary { 18 | id: string; 19 | parentId: string; 20 | name: string; 21 | unitType: 'BusinessUnit' | 'Enterprise'; 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/types/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './appSettings'; 17 | export * from './businessUnits'; 18 | export * from './userGroup'; 19 | export * from './authSettings'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/utils/helpers.test.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { formatDate } from './helpers'; 17 | 18 | describe('helpers', () => { 19 | test('format date', () => { 20 | expect(formatDate(new Date('1995-12-17T03:24:00'), 'en-US')).toContain( 21 | 'Dec 17, 1995, 3:24:00' 22 | ); 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/core/utils/helpers.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export function formatDate(date: Date, locales?: string): string { 17 | const formatter = new Intl.DateTimeFormat(locales, { 18 | dateStyle: 'medium', 19 | timeStyle: 'medium', 20 | }); 21 | 22 | return formatter.format(date); 23 | } 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estates/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Estates App Module 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estates/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-estates", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Estates App Module", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-business-units-core": "1.2.0", 20 | "@ags/webclient-estates-core": "1.2.0", 21 | "@ags/webclient-estates-view": "1.2.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estates/pages/Estates/Detail/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import EstateDetailsContainer from '@ags/webclient-estates-view/containers/Detail'; 18 | 19 | const EstateView: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default EstateView; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estates/pages/Estates/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import EstatesContainer from '@ags/webclient-estates-view/containers/Estates'; 18 | 19 | const EstatesView: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default EstatesView; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estates/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Estates Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const AGS_SERVICES_ESTATE_MANAGEMENT_SERVICE = 'AGSEstateManagementService'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/config/routes.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Estate, Env 18 | export const ROUTE_ENVCLASSES_VIEW = '/envClasses'; 19 | export const ROUTE_ENVCLASS_CREATE = '/envClasses/create'; 20 | export const ROUTE_ESTATE_DETAILS = '/estates/:estateId'; 21 | export const ROUTE_ESTATE_REQUEST_FROM_ESTATES = '/estates/request'; 22 | export const ROUTE_ESTATES_VIEW = '/estates'; 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-estates-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Estates Core Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-business-units-core": "1.2.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './types'; 17 | export { default as queryMap } from './queryMap'; 18 | export { default as mutationMap } from './mutationMap'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/queries/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export enum QueryType { 18 | LIST_ESTATES = 'ListEstates', 19 | LIST_ALL_ESTATES = 'ListAllEstates', 20 | GET_ESTATE = 'GetEstate', 21 | GET_ESTATE_BY_ENV = 'GetEstateByEnv', 22 | LIST_ENVCLASSES = 'ListEnvClasses', 23 | } 24 | 25 | export enum MutationType { 26 | CREATE_ESTATE = 'CreateEstate', 27 | CREATE_ENVCLASS = 'CreateEnvClass', 28 | } 29 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Estates View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-estates-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Estates View Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-business-units-core": "1.2.0", 20 | "@ags/webclient-estates-core": "1.2.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/estatesView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidence/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Evidence App Module 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidence/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidence/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-evidence", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Evidence App Module", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-evidence-core": "1.2.0", 20 | "@ags/webclient-evidence-view": "1.2.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidence/pages/Evidence/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import EvidencesContainer from '@ags/webclient-evidence-view/containers/Evidences'; 18 | 19 | const EvidencesView: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default EvidencesView; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidence/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Evidence Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceCore/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const AGS_SERVICES_EVIDENCE_STORE = 'AGSEvidenceStore'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceCore/config/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './routes'; 17 | export * from './constants'; 18 | export * from './permissions'; 19 | export * from './navigationTemplate'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-evidence-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Evidence Core Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './types'; 17 | export { default as queryMap } from './queryMap'; 18 | export { default as mutationMap } from './mutationMap'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Evidence View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-evidence-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Evidence View Libraray", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-evidence-core": "1.2.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/evidenceView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governanceHubView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Governance Hub View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governanceHubView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governanceHubView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-governance-hub-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Governance Hub View Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-business-units-view": "1.2.0", 20 | "@ags/webclient-risks-view": "1.2.0", 21 | "@ags/webclient-risk-compliance-dashboard-view": "1.2.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governanceHubView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntity/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Governed Entity App Module 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntity/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntity/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-governed-entity", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Governed Entity APP Module", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-governed-entity-core": "1.2.0", 20 | "@ags/webclient-governed-entity-view": "1.2.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntity/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Governed Entity Management Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/config/routes.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const ROUTE_GOVERNED_ENTITIES_VIEW = '/governedentities'; 18 | export const ROUTE_GOVERNED_ENTITY_UPDATE = 19 | '/governedentities/:entityType/:entityId/update'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-governed-entity-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Governed Entity Management Core Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './types'; 17 | export { default as queryMap } from './queryMap'; 18 | export { default as mutationMap } from './mutationMap'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/queries/mutationMap.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | import { MutationType } from './types'; 18 | import { UpdateGovernedEntityAssociationMutation } from './mutations/updateAssociation'; 19 | 20 | const mutationMap = { 21 | [MutationType.UPDATE_GOVERNED_ENTITY_ASSOCIATION]: 22 | UpdateGovernedEntityAssociationMutation, 23 | }; 24 | 25 | export default mutationMap; 26 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/queries/queryMap.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | import { GetGovernedEntityAssociation } from './queries/getAssociation'; 18 | import { QueryType } from './types'; 19 | 20 | const queryMap = { 21 | [QueryType.GET_GOVERNED_ENTITY_ASSOCIATION]: GetGovernedEntityAssociation, 22 | }; 23 | 24 | export default queryMap; 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/queries/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export enum QueryType { 18 | GET_GOVERNED_ENTITY_ASSOCIATION = 'GetGovernedEntityAssociation', 19 | } 20 | 21 | export enum MutationType { 22 | UPDATE_GOVERNED_ENTITY_ASSOCIATION = 'UpdateGovernedEntityAssociation', 23 | } 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Governed Entity View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-governed-entity-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Governed Entity View Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-governed-entity-core": "1.2.0", 20 | "@ags/webclient-applications-core": "1.2.0", 21 | "@ags/webclient-estates-core": "1.2.0", 22 | "@ags/webclient-risks-core": "1.2.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/governedEntityView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/riskComplianceDashboardView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Risk Compliance Dashboard View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/riskComplianceDashboardView/config/features.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | /** 18 | * This allows developer to switch on features with /?features='Feature1|Feature2' 19 | */ 20 | const FEATURES = { 21 | RiskDashboard: 'RiskDashboard', 22 | }; 23 | 24 | export default FEATURES; 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/riskComplianceDashboardView/containers/RiskComplianceDashboard/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { ReactNode } from 'react'; 17 | import { GovernedEntity } from '@ags/webclient-compliance-core/types'; 18 | 19 | export type DashboardWidgetProps = GovernedEntity & { 20 | envClass?: string; 21 | filter: ReactNode; 22 | }; 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/riskComplianceDashboardView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/riskComplianceDashboardView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-risk-compliance-dashboard-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Governance Hub View Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-risks-core": "1.2.0", 20 | "@ags/webclient-business-units-core": "1.2.0", 21 | "@ags/webclient-estates-core": "1.2.0", 22 | "@ags/webclient-compliance-core": "1.2.0", 23 | "@ags/webclient-applications-core": "1.2.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/riskComplianceDashboardView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risks/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Risks App Module 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risks/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risks/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-risks", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Risks App Module", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-risks-core": "1.2.0", 20 | "@ags/webclient-risks-view": "1.2.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risks/pages/ControlObjectives/List/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { FunctionComponent } from 'react'; 17 | import ControlObjectivesContainer from '@ags/webclient-risks-view/containers/ControlObjectives'; 18 | 19 | const ControlObjectiveView: FunctionComponent = () => { 20 | return ; 21 | }; 22 | 23 | export default ControlObjectiveView; 24 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risks/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Risks Core Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/config/constants.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export const AGS_SERVICES_RISK_MANAGEMENT_SERVICE = 'AGSRiskManagementService'; 18 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/config/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './routes'; 17 | export * from './constants'; 18 | export * from './permissions'; 19 | export * from './navigationTemplate'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-risks-core", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Risks Core Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/queries/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './types'; 17 | export { default as queryMap } from './queryMap'; 18 | export { default as mutationMap } from './mutationMap'; 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksCore/types/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | export * from './risk'; 18 | export * from './controlObjective'; 19 | export * from './controlTechnique'; 20 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksView/README.md: -------------------------------------------------------------------------------- 1 | ### AGS Web Client Risks View Library 2 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksView/components/ControlObjectives/Form/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface ControlObjectiveFormData { 17 | name: string; 18 | description?: string; 19 | controlTechniques?: { id: string }[]; 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksView/components/Risks/Form/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export interface RiskFormData { 17 | name: string; 18 | description?: string; 19 | category?: string; 20 | severity?: string; 21 | likelihood?: string; 22 | rating?: string; 23 | controlObjectives?: { id: string }[]; 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksView/components/RisksV2/Form/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | import { RiskTargetEntity } from '@ags/webclient-risks-core/types'; 17 | 18 | export interface RiskFormData { 19 | name: string; 20 | description?: string; 21 | category?: string; 22 | controlObjectives?: { id: string }[]; 23 | targetEntities?: RiskTargetEntity[]; 24 | } 25 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksView/jest.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | const base = require('../../jest.config.base'); 18 | 19 | module.exports = { 20 | ...base, 21 | }; 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksView/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ags/webclient-risks-view", 3 | "version": "1.2.0", 4 | "description": "AWS Governance Suite Web Client Risks View Library", 5 | "private": true, 6 | "author": { 7 | "name": "Amazon Web Services", 8 | "url": "https://aws.amazon.com/solutions" 9 | }, 10 | "license": "Apache-2.0", 11 | "entry": "index.ts", 12 | "scripts": { 13 | "build": "tsc", 14 | "test": "jest --silent --watch", 15 | "test:cover": "jest --silent --passWithNoTests --colors --coverage" 16 | }, 17 | "dependencies": { 18 | "@ags/webclient-core": "1.2.0", 19 | "@ags/webclient-risks-core": "1.2.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/AGSWebClient/packages/risksView/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "exclude": ["node_modules", "coverage", "dist", "build"] 4 | } 5 | -------------------------------------------------------------------------------- /source/AGSWebClient/scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | APP=${1:-app} 6 | SCRIPT_FOLDER=$(dirname $0) 7 | 8 | echo "Building static website asset for App ${APP}" 9 | GENERATE_SOURCEMAP=false BUILD_PATH=${SCRIPT_FOLDER}/../build/${APP}/Prod craco build 10 | -------------------------------------------------------------------------------- /source/AGSWebClient/scripts/runCI.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | BUILD_FOLDER=$(pwd)/build 6 | if [ -d $BUILD_FOLDER ]; then rm -rf $BUILD_FOLDER; fi 7 | 8 | echo 'Running lint check across all projects' 9 | yarn lint 10 | 11 | echo 'Running unit tests with coverage across all projects' 12 | yarn test:cover 13 | 14 | echo 'Building assets across all projects' 15 | yarn build 16 | 17 | # echo 'Checking Bundle size for app' 18 | # bash ./scripts/runSourceMapCheck.sh 19 | -------------------------------------------------------------------------------- /source/AGSWebClient/scripts/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | REACT_APP_AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} REACT_APP_AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} REACT_APP_AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} craco start -------------------------------------------------------------------------------- /source/AGSWebClient/sonar-project.properties: -------------------------------------------------------------------------------- 1 | sonar.exclusions=docs/**,**/doc/**,**/reports/**,**/coverage/**,**/dist/**,**/node_modules/**,**/cdk.out/**/asset*/*,**/cdk.out/**/tree.json,**/cdk.out/**/manifest.json,**/cdk.out/**/*.assets.json,**/package*.json,**/*config.js,**/.vscode,integration-tests/**,.husky/**,cypress/**,lighthouse/**,scripts/**,build/**,**/riskComplianceDashboardView/**,**/build/**,**/dist/**,**/app/**,**/apps/**,**/RisksV2/**,**/config/**,**/.scannerwork/**,**/*.d.ts,**/*.js,**/routes.ts,**/routes/index.tsx,**/constants.ts,**/aws.ts,**/appConfig.ts 2 | sonar.coverage.exclusions=cypress/**,lighthouse/**,infra/**,pipeline/**,docs/**,**/doc/**,configuration/**,scripts/**,**/__mocks__/**,**/node_modules/**,**/riskComplianceDashboardView/**,**/build/**,**/dist/**,**/app/**,**/apps/**,**/RisksV2/**,**/config/**,**/.scannerwork/**,**/*.d.ts,**/*.js,**/routes.ts,**/routes/index.tsx,**/constants.ts,**/aws.ts,**/appConfig.ts 3 | sonar.test.inclusions=**/*.test.tsx,**/*.test.ts 4 | sonar.javascript.lcov.reportPaths=coverage/lcov.info 5 | sonar.clover.reportPath=coverage/clover.xml -------------------------------------------------------------------------------- /source/AGSWebClient/tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "esModuleInterop": true, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "noFallthroughCasesInSwitch": true, 12 | "module": "esnext", 13 | "moduleResolution": "node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx", 18 | "outDir": "dist" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/AGSWebClient/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base.json" 3 | } 4 | -------------------------------------------------------------------------------- /source/HISTORY.md: -------------------------------------------------------------------------------- 1 | # AGS Evidence Store Solution Changelog 2 | 3 | ## 1.1.0 (2023-04-15) 4 | 5 | ### Features 6 | 7 | - add s3 evidence collector 8 | 9 | ## 1.0.0 (2021-11-08) 10 | 11 | ### Features 12 | 13 | - add build and install scripts ([2bb08bc](Ags-EvidenceStoreSolution)) 14 | - initial version of source code ([b0b277d](Ags-EvidenceStoreSolution)) 15 | - initial version without source code ([32bc602](Ags-EvidenceStoreSolution)) 16 | 17 | ### Bug Fixes 18 | 19 | - fix minor issue in install.js ([49b64bc](Ags-EvidenceStoreSolution)) 20 | -------------------------------------------------------------------------------- /source/configurations/Default.json: -------------------------------------------------------------------------------- 1 | { 2 | "AGSEvidenceStore": { 3 | "retainData": false, 4 | "publishOperationalMetrics": true, 5 | "openSearchMasterNodeInstanceType": "t3.small.search", 6 | "openSearchDataNodeInstanceType": "t3.small.search" 7 | }, 8 | "AGSSecurityHubEvidenceCollector": { 9 | "retainData": false, 10 | "logLevel": "info" 11 | }, 12 | "AGSSharedInfra": { 13 | "vpcCidr": "10.0.0.0/16", 14 | "maxAZs": 2, 15 | "deploymentOptions": { 16 | "apiGatewayType": "public", 17 | "bastionInstance": false, 18 | "developmentUserRole": false, 19 | "enableFederatedAuth": false, 20 | "enableWebClient": true 21 | }, 22 | "identityProvider": { 23 | "type": "COGNITO", 24 | "domainPrefix": "agsweb" 25 | }, 26 | "elasticSearchServiceLinkedRoleAvailable": false 27 | } 28 | } -------------------------------------------------------------------------------- /source/images/solution_architecture_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/verifiable-controls-evidence-store/7762887cb1d15e17a62323d41f29c8b714ab5d52/source/images/solution_architecture_diagram.png -------------------------------------------------------------------------------- /source/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ags-evidence-store-solution", 3 | "description": "AWS Governance Suite Evidence Store Solution", 4 | "version": "1.0.0", 5 | "private": true, 6 | "workspaces": [ 7 | "AGSEvidenceStore/app/lambda", 8 | "AGSEvidenceStore/infra/lib/qldb-table-creator", 9 | "AGSEvidenceStore/infra", 10 | "AGSSecurityHubEvidenceCollector/app/lambda", 11 | "AGSSecurityHubEvidenceCollector/infra/lib/evidence-store-onboarder", 12 | "AGSSecurityHubEvidenceCollector/infra", 13 | "AGSSharedInfra/infra/lambda/securityHeader", 14 | "AGSSharedInfra/infra/lambda/tokenService", 15 | "AGSSharedInfra/infra", 16 | "shared-libs/**" 17 | ], 18 | "resolutions": { 19 | "graceful-fs": "^4.2.4" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-service-template/dist/ags-aspects.d.ts: -------------------------------------------------------------------------------- 1 | import * as cdk from 'aws-cdk-lib'; 2 | import { IConstruct } from 'constructs'; 3 | export declare class PermissionsBoundary implements cdk.IAspect { 4 | private readonly permissionsBoundaryArn; 5 | constructor(permissionsBoundaryArn: string); 6 | visit(node: IConstruct): void; 7 | } 8 | export declare class OptionMethodNoAuth implements cdk.IAspect { 9 | visit(node: IConstruct): void; 10 | } 11 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-service-template/dist/ags-lambda-function.d.ts: -------------------------------------------------------------------------------- 1 | import * as iam from 'aws-cdk-lib/aws-iam'; 2 | import * as lambda from 'aws-cdk-lib/aws-lambda'; 3 | import { AGSService } from './ags-service'; 4 | import { SubnetGroup } from './ags-types'; 5 | import { Construct } from 'constructs'; 6 | export interface AGSLambdaFunctionProps extends Omit { 7 | service: AGSService; 8 | iamRoleName?: string; 9 | managedPolicies?: iam.ManagedPolicy[]; 10 | disableDefaultLambdaExecutionPolicy?: boolean; 11 | subnetGroup?: SubnetGroup; 12 | } 13 | export declare class AGSLambdaFunction extends Construct { 14 | readonly lambdaFunction: lambda.Function; 15 | readonly lambdaExecutionRole: iam.Role; 16 | constructor(scope: Construct, id: string, props: AGSLambdaFunctionProps); 17 | } 18 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-service-template/dist/ags-secure-bucket.d.ts: -------------------------------------------------------------------------------- 1 | import * as s3 from 'aws-cdk-lib/aws-s3'; 2 | import * as kms from 'aws-cdk-lib/aws-kms'; 3 | import { Construct } from 'constructs'; 4 | export declare type AgsSecureBucketProps = Omit & { 5 | encryptionKeyArn?: string; 6 | }; 7 | export declare class AgsSecureBucket extends Construct { 8 | readonly bucket: s3.Bucket; 9 | readonly encryptionKey: kms.IKey; 10 | constructor(scope: Construct, id: string, props: AgsSecureBucketProps); 11 | } 12 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-service-template/dist/ags-service-alarm-notification.d.ts: -------------------------------------------------------------------------------- 1 | import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch'; 2 | import * as sns from 'aws-cdk-lib/aws-sns'; 3 | import { AgsServiceDashboard } from '.'; 4 | import { Construct } from 'constructs'; 5 | export interface AgsServiceAlarmsProps { 6 | dashboard: AgsServiceDashboard; 7 | notificationTarget: string[]; 8 | topic?: sns.Topic; 9 | additionalAlarms?: cloudwatch.Alarm[]; 10 | name?: string; 11 | } 12 | export declare class AgsServiceAlarms extends Construct { 13 | dashboard: AgsServiceDashboard; 14 | topic: sns.Topic; 15 | constructor(scope: Construct, id: string, props: AgsServiceAlarmsProps); 16 | private getTargetTopic; 17 | createNotificationOnAdditionalAlarms(additionalAlarms?: cloudwatch.Alarm[]): void; 18 | validateNotificationTarget(notificationTarget: string[]): void; 19 | private createAlarmsForDashboard; 20 | private subscribeTeamOnBuildFailure; 21 | } 22 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-service-template/dist/ags-service-app.d.ts: -------------------------------------------------------------------------------- 1 | import 'source-map-support/register'; 2 | import * as cdk from 'aws-cdk-lib'; 3 | import { Construct } from 'constructs'; 4 | import { AGSServiceStage, AGSServiceStageProps } from './ags-service-stage'; 5 | declare type Constructor = new (scope: Construct, id: string, props: AGSServiceStageProps) => T; 6 | export interface AGSServiceAppProps extends cdk.AppProps { 7 | stageConstructor: Constructor; 8 | currentDir: string; 9 | } 10 | export declare class AGSServiceApp extends cdk.App { 11 | constructor(props: AGSServiceAppProps); 12 | } 13 | export {}; 14 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-service-template/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './ags-lambda-function'; 2 | export * from './ags-rest-api'; 3 | export * from './ags-shared-infra-client'; 4 | export * from './ags-service-stage'; 5 | export * from './ags-service'; 6 | export * from './ags-types'; 7 | export * from './ags-service-app'; 8 | export * from './ags-service-dashboard'; 9 | export * from './ags-secure-bucket'; 10 | export * from './ags-service-alarm-notification'; 11 | export * from './ags-api-canary'; 12 | export * from './ags-aspects'; 13 | export * from './aws-python-lambda'; 14 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-solution-metrics/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './solution-metrics-collector'; 2 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-solution-metrics/dist/lambda/index.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | //! moment.js 2 | 3 | //! moment.js locale configuration 4 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-solution-metrics/dist/solution-metrics-collector.d.ts: -------------------------------------------------------------------------------- 1 | import { Construct } from 'constructs'; 2 | import { IVpc, SubnetSelection } from 'aws-cdk-lib/aws-ec2'; 3 | export interface SolutionMetricsCollectorConstructProps { 4 | solutionDisplayName: string; 5 | solutionId: string; 6 | version: string; 7 | sendAnonymousMetrics: 'Yes' | 'No'; 8 | vpc?: IVpc; 9 | vpcSubnets?: SubnetSelection; 10 | metricsData: { 11 | [key: string]: unknown; 12 | }; 13 | } 14 | export declare class SolutionMetricsCollectorConstruct extends Construct { 15 | readonly anonymousDataUUID: string; 16 | constructor(scope: Construct, id: string, props: SolutionMetricsCollectorConstructProps); 17 | } 18 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-solution-metrics/lib/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './solution-metrics-collector'; 17 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-synthetics-canary/README.md: -------------------------------------------------------------------------------- 1 | # `@ags-cdk/ags-synthetics-canary` 2 | 3 | ## Overview 4 | 5 | This construct is an enhanced version of `@aws-cdk/aws-synthetics/Canary` CDK construct and provides support for VPC and works with `AGSSharedInfraClient`. 6 | 7 | ## Usage 8 | 9 | ``` 10 | new AgsSyntheticsCanary(this, 'Canary', { 11 | canaryName: 'test-canary', 12 | runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_3_0, 13 | test: synthetics.Test.custom({ 14 | code: synthetics.Code.fromInline('Code here'), 15 | handler: 'index.handler', 16 | }), 17 | schedule: synthetics.Schedule.rate(cdk.Duration.minutes(10)), 18 | startAfterCreation: false, 19 | environmentVariables: { 20 | Env1: 'Value1', 21 | Env2: 'Value2', 22 | }, 23 | timeoutInSeconds: 30, 24 | sharedInfraClient, 25 | vpcConfig, 26 | s3BucketPrefix: "ServiceName" 27 | alertSNSTopicArn: "arn:aws:xxxxxxx" 28 | removalPolicy: cdk.RemovalPolicy.DESTROY 29 | }); 30 | 31 | ``` 32 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-synthetics-canary/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './ags-synthetics-canary'; 2 | -------------------------------------------------------------------------------- /source/shared-libs/@ags-cdk/ags-synthetics-canary/lib/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"). 5 | You may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | export * from './ags-synthetics-canary'; 17 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/apjsb-aws-httpclient/README.md: -------------------------------------------------------------------------------- 1 | # apjsb-aws-httpclient 2 | ### Usage 3 | Default 4 | ``` 5 | import {ApjsbAwsHttpClient} from '@apjsb-serverless-lib/apjsb-aws-httpclient' 6 | const httpClient = new ApjsbAwsHttpClient(credentialProvider, 'ap-southeast-2'); 7 | ``` 8 | 9 | With https agent 10 | ``` 11 | import {ApjsbAwsHttpClient} from '@apjsb-serverless-lib/apjsb-aws-httpclient' 12 | const httpsAgent = new https.Agent({ca: ''}) 13 | const httpClient = new ApjsbAwsHttpClient(credentialProvider, 'ap-southeast-2', httpsAgent); 14 | ``` 15 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/apjsb-aws-httpclient/dist/DefaultCredentialProvider.d.ts: -------------------------------------------------------------------------------- 1 | import { CredentialProvider } from './ApjsbAwsHttpclient'; 2 | import * as aws from 'aws-sdk'; 3 | export declare class DefaultCredentialProvider implements CredentialProvider { 4 | private readonly credentialChain; 5 | constructor(); 6 | getCredential(): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/apjsb-aws-httpclient/dist/LegacyHttpHandler.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { HttpRequest, HttpResponse } from '@aws-sdk/protocol-http'; 3 | import * as https from 'https'; 4 | export declare function httpHandler(request: HttpRequest, agent?: https.Agent): Promise; 5 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/apjsb-aws-httpclient/dist/deserilizer/Deserilizer.d.ts: -------------------------------------------------------------------------------- 1 | export declare const parseBody: (streamBody: unknown) => Promise; 2 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/apjsb-aws-httpclient/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './ApjsbAwsHttpclient'; 2 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/common-types/README.md: -------------------------------------------------------------------------------- 1 | # Common Types for Solution Builders Shared Library 2 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/lambda-router/dist/lib/RouteData.d.ts: -------------------------------------------------------------------------------- 1 | import { BasicHttpResponse } from '@apjsb-serverless-lib/common-types'; 2 | import { AsyncHandlerObj } from '@apjsb-serverless-lib/middleware-chain'; 3 | import { APIGatewayProxyEvent } from 'aws-lambda'; 4 | import { InjectionToken } from 'tsyringe'; 5 | export interface RouteData> { 6 | predicate: (event: APIGatewayProxyEvent) => boolean; 7 | handlerToken: InjectionToken; 8 | } 9 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/lambda-router/dist/lib/RouteData.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=RouteData.js.map -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/lambda-router/dist/lib/RouteData.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"RouteData.js","sourceRoot":"","sources":["../../lib/RouteData.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/lambda-router/dist/lib/Router.d.ts: -------------------------------------------------------------------------------- 1 | import { BasicHttpResponse } from '@apjsb-serverless-lib/common-types'; 2 | import { AsyncHandlerObj } from '@apjsb-serverless-lib/middleware-chain'; 3 | import { APIGatewayProxyEvent, Context } from 'aws-lambda'; 4 | import { InjectionToken } from 'tsyringe'; 5 | export declare class Router implements AsyncHandlerObj { 6 | private routes; 7 | addRoute>(predicate: (event: APIGatewayProxyEvent) => boolean, handlerToken: InjectionToken): Router; 8 | handle(event: APIGatewayProxyEvent, context: Context): Promise; 9 | } 10 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/lambda-router/dist/lib/Router.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../lib/Router.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;EAcE;AACF,qEAAuF;AAKvF,uCAAqC;AAGrC,MAAa,MAAM;IAAnB;QAEY,WAAM,GAGR,EAAE,CAAC;IAgCb,CAAC;IA9BG,QAAQ,CACJ,SAAmD,EACnD,YAAsC;QAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA2B,EAAE,OAAgB;;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1D,IAAI,KAAK,EAAE;YACP,MAAM,YAAY,eACb,OAA0B,0CAAE,uBAAuB,mCAAI,oBAAS,CAAC;YAEtE,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1E;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3B,OAAO,CACH,gCAAiB,CAAC,OAAO,CACrB,IAAI,6BAAc,CACd,GAAG,EACH,uCAAuC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EACzF,KAAK,CACR,CACJ,CACJ,CACJ,CAAC;IACN,CAAC;CACJ;AArCD,wBAqCC"} -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/lambda-router/dist/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './Router'; 2 | export * from './RouteData'; 3 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/lambda-router/dist/lib/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;EAcE;AACF,2CAAyB;AAEzB,8CAA4B"} -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/README.md: -------------------------------------------------------------------------------- 1 | # Logger for Solution Builders Shared Library 2 | 3 | Based on Winston Logger library which provides good flexibility. 4 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/context-logger.d.ts: -------------------------------------------------------------------------------- 1 | import winston from 'winston'; 2 | import { Logger, LoggerOptions } from './logger-type'; 3 | export declare class ContextLogger implements Logger { 4 | logger: winston.Logger; 5 | constructor(meta?: Record, options?: LoggerOptions, parentLogger?: ContextLogger); 6 | getChildLogger(meta: Record): ContextLogger; 7 | error: (message: string, ...meta: any[]) => void; 8 | warn: (message: string, ...meta: any[]) => void; 9 | info: (message: string, ...meta: any[]) => void; 10 | verbose: (message: string, ...meta: any[]) => void; 11 | debug: (message: string, ...meta: any[]) => void; 12 | silly: (message: string, ...meta: any[]) => void; 13 | } 14 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/context-logging-middleware.d.ts: -------------------------------------------------------------------------------- 1 | import middy from '@middy/core'; 2 | import { APIGatewayProxyEvent, Context } from 'aws-lambda'; 3 | import { DependencyContainer } from 'tsyringe'; 4 | export declare function ContextLoggingMiddleware(applicationName: string, rootContainer: DependencyContainer, runningLocally?: boolean, logLevel?: 'error' | 'warn' | 'info' | 'verbose' | 'debug' | 'silly', additionalMetadata?: { 5 | [key: string]: (event: APIGatewayProxyEvent, context: Context) => string; 6 | }): middy.MiddlewareObject; 7 | export interface LoggingContext extends Context { 8 | loggingContextContainer: DependencyContainer; 9 | } 10 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './logger-type'; 2 | export * from './logger-factory'; 3 | export * from './winston-logger'; 4 | export * from './context-logging-middleware'; 5 | export * from './context-logger'; 6 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;EAcE;AACF,gDAA8B;AAE9B,mDAAiC;AAEjC,mDAAiC;AAEjC,+DAA6C;AAE7C,mDAAiC"} -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/logger-type.d.ts: -------------------------------------------------------------------------------- 1 | declare type loggerMethodType = (message: string, ...meta: any[]) => void; 2 | export interface Logger { 3 | error: loggerMethodType; 4 | warn: loggerMethodType; 5 | info: loggerMethodType; 6 | verbose: loggerMethodType; 7 | debug: loggerMethodType; 8 | silly: loggerMethodType; 9 | } 10 | export interface LoggerOptions { 11 | logLevel: string; 12 | } 13 | export {}; 14 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/logger-type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | /* 3 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"). 6 | You may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | Object.defineProperty(exports, "__esModule", { value: true }); 18 | //# sourceMappingURL=logger-type.js.map -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/logger-type.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"logger-type.js","sourceRoot":"","sources":["../../lib/logger-type.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE"} -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/logger/dist/lib/winston-logger.d.ts: -------------------------------------------------------------------------------- 1 | import winston from 'winston'; 2 | import { Logger, LoggerOptions } from './logger-type'; 3 | /** 4 | * @deprecated The class should not be used anymore. 5 | * Use LoggerFactory.logger(name, level?) instead 6 | */ 7 | export declare class WinstonLogger implements Logger { 8 | logger: winston.Logger; 9 | constructor(options?: LoggerOptions); 10 | error: (message: string, ...meta: any[]) => void; 11 | warn: (message: string, ...meta: any[]) => void; 12 | info: (message: string, ...meta: any[]) => void; 13 | verbose: (message: string, ...meta: any[]) => void; 14 | debug: (message: string, ...meta: any[]) => void; 15 | silly: (message: string, ...meta: any[]) => void; 16 | } 17 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/middleware-chain/README.md: -------------------------------------------------------------------------------- 1 | # Middleware Chain 2 | 3 | Setup middleware chain with @middy and provide an async lambda function to use with AWS Lambda Function 4 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/middleware-chain/dist/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './middleware-chain'; 2 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/middleware-chain/dist/lib/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;EAcE;AACF,qDAAmC"} -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/middleware-chain/dist/lib/middleware-chain.d.ts: -------------------------------------------------------------------------------- 1 | import { Context, Callback } from 'aws-lambda'; 2 | import middy from '@middy/core'; 3 | export declare type LambdaHandler = (event: T, context: C, callback: Callback) => void | Promise; 4 | declare type AsyncHandler = (event: T, context: C) => Promise; 5 | export interface AsyncHandlerObj { 6 | handle: AsyncHandler; 7 | } 8 | export declare class MiddlewareChain { 9 | readonly lambdaHandler: LambdaHandler; 10 | constructor(asyncHandlerObj: AsyncHandlerObj, middlewares: middy.MiddlewareObject[]); 11 | } 12 | export {}; 13 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/middleware-chain/dist/lib/middleware-chain.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importDefault = (this && this.__importDefault) || function (mod) { 3 | return (mod && mod.__esModule) ? mod : { "default": mod }; 4 | }; 5 | Object.defineProperty(exports, "__esModule", { value: true }); 6 | exports.MiddlewareChain = void 0; 7 | const core_1 = __importDefault(require("@middy/core")); 8 | class MiddlewareChain { 9 | constructor(asyncHandlerObj, middlewares) { 10 | const middyHandler = core_1.default(asyncHandlerObj.handle.bind(asyncHandlerObj)); 11 | middyHandler.use(middlewares); 12 | this.lambdaHandler = (event, context) => middyHandler(event, context, null); 13 | } 14 | } 15 | exports.MiddlewareChain = MiddlewareChain; 16 | //# sourceMappingURL=middleware-chain.js.map -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/middleware-chain/dist/lib/middleware-chain.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"middleware-chain.js","sourceRoot":"","sources":["../../lib/middleware-chain.ts"],"names":[],"mappings":";;;;;;AAgBA,uDAAgC;AAchC,MAAa,eAAe;IAExB,YACI,eAAyC,EACzC,WAA2C;QAE3C,MAAM,YAAY,GAAG,cAAK,CACtB,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAgC,CAC9E,CAAC;QACF,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,KAAQ,EAAE,OAAU,EAAqB,EAAE,CAC7D,YAAY,CAAC,KAAK,EAAE,OAAO,EAAY,IAAoB,CAAC,CAAC;IACrE,CAAC;CACJ;AAbD,0CAaC"} -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/request-logger/dist/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import middy from '@middy/core'; 2 | import { Context } from 'aws-lambda'; 3 | import { ContextLogger, Logger } from '@apjsb-serverless-lib/logger'; 4 | export interface RequestContext extends Context { 5 | requestLogger: ContextLogger; 6 | } 7 | export declare const prettyStringify: (value: any) => string; 8 | declare const RequestLogger: (applicationLogger: Logger) => middy.MiddlewareObject; 9 | export default RequestLogger; 10 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/response-formatter/dist/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Context } from 'aws-lambda'; 2 | import middy from '@middy/core'; 3 | declare type ConfigType = { 4 | headers: Record; 5 | }; 6 | declare const ResponseFormatter: (config?: ConfigType) => middy.MiddlewareObject; 7 | export default ResponseFormatter; 8 | -------------------------------------------------------------------------------- /source/shared-libs/@apjsb-serverless-lib/response-formatter/dist/lib/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;AAiBA,qEAAuF;AAKvF,MAAM,aAAa,GAAe;IAC9B,OAAO,EAAE,EAAE;CACd,CAAC;AACF,MAAM,iBAAiB,GAAG,CACtB,SAAqB,aAAa,EACH,EAAE;IACjC,MAAM,UAAU,GAAG,CACf,OAA4B,EAC5B,gBAAyC,EAC3C,EAAE;QACA,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,EAC9B,gBAAgB,CACnB,CAAC;IACN,CAAC,CAAC;IACF,OAAO;QACH,KAAK,EAAE,CAAC,OAA4B,EAAE,IAAwB,EAAE,EAAE;YAC9D,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;QAED,OAAO,EAAE,CAAC,OAA4B,EAAE,IAAwB,EAAE,EAAE;YAChE,IAAI,OAAO,CAAC,KAAK,YAAY,6BAAc,EAAE;gBACzC,OAAO,CAAC,QAAQ,GAAG,gCAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5D,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpC,OAAO,IAAI,EAAE,CAAC;aACjB;iBAAM;gBACH,6DAA6D;gBAC7D,OAAO,CAAC,QAAQ,GAAG,gCAAiB,CAAC,OAAO,CACxC,6BAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAC5D,CAAC;gBACF,OAAO,IAAI,EAAE,CAAC;aACjB;QACL,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"} -------------------------------------------------------------------------------- /source/solution-info.json: -------------------------------------------------------------------------------- 1 | { 2 | "solutionId": "SO0176", 3 | "solutionVersion": "v1.1.0" 4 | } 5 | --------------------------------------------------------------------------------