@webiny/project-aws 6.3.0 → 6.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_templates/appTemplates/admin/src/index.tsx +0 -3
- package/abstractions/ApiGqlClient.js +2 -1
- package/abstractions/ApiGqlClient.js.map +1 -1
- package/abstractions/InvokeLambdaFunction.js +2 -1
- package/abstractions/InvokeLambdaFunction.js.map +1 -1
- package/abstractions/features/pulumi/AdminPulumi.js +2 -1
- package/abstractions/features/pulumi/AdminPulumi.js.map +1 -1
- package/abstractions/features/pulumi/ApiPulumi.js +2 -1
- package/abstractions/features/pulumi/ApiPulumi.js.map +1 -1
- package/abstractions/features/pulumi/CorePulumi.js +2 -1
- package/abstractions/features/pulumi/CorePulumi.js.map +1 -1
- package/abstractions/features/pulumi/index.js +0 -2
- package/abstractions/index.js +0 -2
- package/abstractions/services/AdminStackOutputService.js +2 -1
- package/abstractions/services/AdminStackOutputService.js.map +1 -1
- package/abstractions/services/ApiStackOutputService.js +2 -1
- package/abstractions/services/ApiStackOutputService.js.map +1 -1
- package/abstractions/services/CoreStackOutputService.js +2 -1
- package/abstractions/services/CoreStackOutputService.js.map +1 -1
- package/admin.js +5 -4
- package/admin.js.map +1 -1
- package/api.js +13 -12
- package/api.js.map +1 -1
- package/apps/createAdminApp.js +11 -12
- package/apps/createAdminApp.js.map +1 -1
- package/apps/createAdminAppConfig.js +12 -18
- package/apps/createAdminAppConfig.js.map +1 -1
- package/apps/createApiApp.js +17 -22
- package/apps/createApiApp.js.map +1 -1
- package/apps/createBlueGreenApp.js +13 -16
- package/apps/createBlueGreenApp.js.map +1 -1
- package/apps/createCoreApp.js +12 -13
- package/apps/createCoreApp.js.map +1 -1
- package/apps/createReactAppConfig.d.ts +0 -7
- package/apps/createReactAppConfig.js +56 -69
- package/apps/createReactAppConfig.js.map +1 -1
- package/apps/createSyncSystemApp.js +8 -7
- package/apps/createSyncSystemApp.js.map +1 -1
- package/apps/index.js +0 -2
- package/cli.js +3 -2
- package/cli.js.map +1 -1
- package/exports/extensions.js +0 -2
- package/exports/infra/admin.js +0 -2
- package/exports/infra/api.js +0 -2
- package/exports/infra/core.js +0 -2
- package/exports/infra.js +1 -3
- package/extensions/ApiLambdaFunction.js +45 -56
- package/extensions/ApiLambdaFunction.js.map +1 -1
- package/extensions/ApiRoute.js +90 -104
- package/extensions/ApiRoute.js.map +1 -1
- package/extensions/AwsDefaultRegion.js +17 -16
- package/extensions/AwsDefaultRegion.js.map +1 -1
- package/extensions/Cms/ModelFieldCompression.js +16 -15
- package/extensions/Cms/ModelFieldCompression.js.map +1 -1
- package/extensions/Encryption.js +30 -29
- package/extensions/Encryption.js.map +1 -1
- package/extensions/Mailer/Smtp.js +15 -14
- package/extensions/Mailer/Smtp.js.map +1 -1
- package/extensions/Mailer/Smtp.test.js +117 -131
- package/extensions/Mailer/Smtp.test.js.map +1 -1
- package/extensions/Mailer/SmtpParamsSchema.js +11 -14
- package/extensions/Mailer/SmtpParamsSchema.js.map +1 -1
- package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js +25 -30
- package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js.map +1 -1
- package/extensions/OpenSearch/EnsureOsWasDeployed.js +14 -24
- package/extensions/OpenSearch/EnsureOsWasDeployed.js.map +1 -1
- package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js +25 -21
- package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js.map +1 -1
- package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js +26 -22
- package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js.map +1 -1
- package/extensions/OpenSearch.js +30 -31
- package/extensions/OpenSearch.js.map +1 -1
- package/extensions/ProjectAws/AdminStackOutputService.js +0 -2
- package/extensions/ProjectAws/ApiStackOutputService.js +0 -2
- package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js +65 -74
- package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js.map +1 -1
- package/extensions/ProjectAws/AutoInstall.js +15 -14
- package/extensions/ProjectAws/AutoInstall.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js +15 -19
- package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js +56 -45
- package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js +57 -55
- package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js.map +1 -1
- package/extensions/ProjectAws/BuildAppWorkspace.js +49 -54
- package/extensions/ProjectAws/BuildAppWorkspace.js.map +1 -1
- package/extensions/ProjectAws/CoreStackOutputService.js +0 -2
- package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js +26 -30
- package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js +25 -38
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js +22 -17
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js +22 -17
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js.map +1 -1
- package/extensions/ProjectAws/SetDatabaseSetupOutput.js +20 -21
- package/extensions/ProjectAws/SetDatabaseSetupOutput.js.map +1 -1
- package/extensions/ProjectAws/UploadAdminAppToS3.js +53 -58
- package/extensions/ProjectAws/UploadAdminAppToS3.js.map +1 -1
- package/extensions/ProjectAws/definitions.js +13 -6
- package/extensions/ProjectAws/definitions.js.map +1 -1
- package/extensions/ProjectAws.js +44 -45
- package/extensions/ProjectAws.js.map +1 -1
- package/extensions/RegisterRoutesPulumi.js +24 -29
- package/extensions/RegisterRoutesPulumi.js.map +1 -1
- package/extensions/definitions.js +10 -3
- package/extensions/definitions.js.map +1 -1
- package/extensions/index.js +0 -2
- package/features/ApiGqlClient.js +46 -51
- package/features/ApiGqlClient.js.map +1 -1
- package/features/InvokeLambdaFunction.js +30 -32
- package/features/InvokeLambdaFunction.js.map +1 -1
- package/features/index.js +0 -2
- package/index.js +0 -2
- package/infra.js +57 -59
- package/infra.js.map +1 -1
- package/package.json +16 -16
- package/project.js +7 -6
- package/project.js.map +1 -1
- package/pulumi/apps/admin/createAdminPulumiApp.js +36 -44
- package/pulumi/apps/admin/createAdminPulumiApp.js.map +1 -1
- package/pulumi/apps/admin/index.js +0 -2
- package/pulumi/apps/api/ApiBackgroundTask.js +153 -137
- package/pulumi/apps/api/ApiBackgroundTask.js.map +1 -1
- package/pulumi/apps/api/ApiCloudfront.js +188 -130
- package/pulumi/apps/api/ApiCloudfront.js.map +1 -1
- package/pulumi/apps/api/ApiFileManager.js +34 -33
- package/pulumi/apps/api/ApiFileManager.js.map +1 -1
- package/pulumi/apps/api/ApiGateway.js +67 -74
- package/pulumi/apps/api/ApiGateway.js.map +1 -1
- package/pulumi/apps/api/ApiGraphql.js +223 -152
- package/pulumi/apps/api/ApiGraphql.js.map +1 -1
- package/pulumi/apps/api/ApiOutput.js +29 -30
- package/pulumi/apps/api/ApiOutput.js.map +1 -1
- package/pulumi/apps/api/ApiScheduler.js +94 -92
- package/pulumi/apps/api/ApiScheduler.js.map +1 -1
- package/pulumi/apps/api/ApiWebsocket.js +141 -133
- package/pulumi/apps/api/ApiWebsocket.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/definition.js +122 -144
- package/pulumi/apps/api/backgroundTask/definition.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/policy.js +37 -23
- package/pulumi/apps/api/backgroundTask/policy.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/role.js +29 -29
- package/pulumi/apps/api/backgroundTask/role.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/types.js +9 -11
- package/pulumi/apps/api/backgroundTask/types.js.map +1 -1
- package/pulumi/apps/api/createApiPulumiApp.js +206 -274
- package/pulumi/apps/api/createApiPulumiApp.js.map +1 -1
- package/pulumi/apps/api/handleGuardDutyEvents.js +54 -51
- package/pulumi/apps/api/handleGuardDutyEvents.js.map +1 -1
- package/pulumi/apps/api/index.js +0 -2
- package/pulumi/apps/awsUtils.js +21 -24
- package/pulumi/apps/awsUtils.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js +37 -40
- package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js +83 -91
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js +17 -16
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js +13 -12
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js +9 -14
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createOriginId.js +5 -7
- package/pulumi/apps/blueGreen/cloudfront/createOriginId.js.map +1 -1
- package/pulumi/apps/blueGreen/constants.js +15 -3
- package/pulumi/apps/blueGreen/constants.js.map +1 -1
- package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js +77 -103
- package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js +20 -26
- package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js +17 -20
- package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/getApplicationDomains.js +51 -61
- package/pulumi/apps/blueGreen/domains/getApplicationDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/resolveDomains.js +24 -38
- package/pulumi/apps/blueGreen/domains/resolveDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js +7 -14
- package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js.map +1 -1
- package/pulumi/apps/blueGreen/functions/handler.js +1 -57
- package/pulumi/apps/blueGreen/functions/handler.js.map +1 -1
- package/pulumi/apps/blueGreen/types.js +0 -3
- package/pulumi/apps/blueGreen/validation/validateDeployments.js +19 -24
- package/pulumi/apps/blueGreen/validation/validateDeployments.js.map +1 -1
- package/pulumi/apps/common/CoreOutput.js +34 -37
- package/pulumi/apps/common/CoreOutput.js.map +1 -1
- package/pulumi/apps/common/VpcConfig.js +20 -20
- package/pulumi/apps/common/VpcConfig.js.map +1 -1
- package/pulumi/apps/common/index.js +0 -2
- package/pulumi/apps/core/CoreAuditLogsDynamo.js +245 -182
- package/pulumi/apps/core/CoreAuditLogsDynamo.js.map +1 -1
- package/pulumi/apps/core/CoreCognito.js +117 -106
- package/pulumi/apps/core/CoreCognito.js.map +1 -1
- package/pulumi/apps/core/CoreDynamo.js +91 -70
- package/pulumi/apps/core/CoreDynamo.js.map +1 -1
- package/pulumi/apps/core/CoreEventBus.js +10 -9
- package/pulumi/apps/core/CoreEventBus.js.map +1 -1
- package/pulumi/apps/core/CoreFileManager.js +76 -68
- package/pulumi/apps/core/CoreFileManager.js.map +1 -1
- package/pulumi/apps/core/CoreOpenSearch.js +281 -305
- package/pulumi/apps/core/CoreOpenSearch.js.map +1 -1
- package/pulumi/apps/core/CoreVpc.js +155 -156
- package/pulumi/apps/core/CoreVpc.js.map +1 -1
- package/pulumi/apps/core/WatchCommand.js +94 -96
- package/pulumi/apps/core/WatchCommand.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/amazon.js +16 -22
- package/pulumi/apps/core/cognitoIdentityProviders/amazon.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/apple.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/apple.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/configure.js +44 -50
- package/pulumi/apps/core/cognitoIdentityProviders/configure.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/facebook.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/facebook.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js +7 -8
- package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/google.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/google.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/index.js +0 -2
- package/pulumi/apps/core/cognitoIdentityProviders/oidc.js +17 -18
- package/pulumi/apps/core/cognitoIdentityProviders/oidc.js.map +1 -1
- package/pulumi/apps/core/configureS3BucketMalwareProtection.js +251 -188
- package/pulumi/apps/core/configureS3BucketMalwareProtection.js.map +1 -1
- package/pulumi/apps/core/createCorePulumiApp.js +212 -280
- package/pulumi/apps/core/createCorePulumiApp.js.map +1 -1
- package/pulumi/apps/core/index.js +0 -2
- package/pulumi/apps/core/webinyWatchCommand/handler.js +45 -32
- package/pulumi/apps/core/webinyWatchCommand/handler.js.map +1 -1
- package/pulumi/apps/createAppBucket.js +157 -146
- package/pulumi/apps/createAppBucket.js.map +1 -1
- package/pulumi/apps/customDomain.js +7 -6
- package/pulumi/apps/customDomain.js.map +1 -1
- package/pulumi/apps/extensions/getAwsTagsFromExtension.js +8 -7
- package/pulumi/apps/extensions/getAwsTagsFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js +6 -7
- package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getOsConfigFromExtension.js +17 -41
- package/pulumi/apps/extensions/getOsConfigFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getVpcConfigFromExtension.js +13 -25
- package/pulumi/apps/extensions/getVpcConfigFromExtension.js.map +1 -1
- package/pulumi/apps/index.js +0 -3
- package/pulumi/apps/lambdaUtils.js +57 -61
- package/pulumi/apps/lambdaUtils.js.map +1 -1
- package/pulumi/apps/react/createReactPulumiApp.js +108 -129
- package/pulumi/apps/react/createReactPulumiApp.js.map +1 -1
- package/pulumi/apps/react/index.js +0 -2
- package/pulumi/apps/syncSystem/SyncSystemDynamo.js +77 -62
- package/pulumi/apps/syncSystem/SyncSystemDynamo.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js +74 -57
- package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemEventBus.js +77 -71
- package/pulumi/apps/syncSystem/SyncSystemEventBus.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemLambda.js +154 -86
- package/pulumi/apps/syncSystem/SyncSystemLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemOutput.js +14 -13
- package/pulumi/apps/syncSystem/SyncSystemOutput.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js +56 -60
- package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemSQS.js +25 -49
- package/pulumi/apps/syncSystem/SyncSystemSQS.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js +44 -43
- package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/addTableItems.js +35 -45
- package/pulumi/apps/syncSystem/addTableItems.js.map +1 -1
- package/pulumi/apps/syncSystem/api/addServiceManifest.js +12 -14
- package/pulumi/apps/syncSystem/api/addServiceManifest.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js +49 -55
- package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js +88 -40
- package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js +37 -43
- package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachS3Permissions.js +51 -47
- package/pulumi/apps/syncSystem/api/attachS3Permissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/index.js +28 -46
- package/pulumi/apps/syncSystem/api/index.js.map +1 -1
- package/pulumi/apps/syncSystem/constants.js +2 -1
- package/pulumi/apps/syncSystem/constants.js.map +1 -1
- package/pulumi/apps/syncSystem/createSyncResourceName.js +2 -7
- package/pulumi/apps/syncSystem/createSyncResourceName.js.map +1 -1
- package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js +101 -166
- package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js.map +1 -1
- package/pulumi/apps/syncSystem/customApp.js +12 -16
- package/pulumi/apps/syncSystem/customApp.js.map +1 -1
- package/pulumi/apps/syncSystem/getSyncSystemOutput.js +5 -6
- package/pulumi/apps/syncSystem/getSyncSystemOutput.js.map +1 -1
- package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js +108 -42
- package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js.map +1 -1
- package/pulumi/apps/syncSystem/types.js +0 -3
- package/pulumi/constants.js +2 -1
- package/pulumi/constants.js.map +1 -1
- package/pulumi/env/awsRegion.js +3 -2
- package/pulumi/env/awsRegion.js.map +1 -1
- package/pulumi/env/base.js +11 -27
- package/pulumi/env/base.js.map +1 -1
- package/pulumi/env/env.js +3 -2
- package/pulumi/env/env.js.map +1 -1
- package/pulumi/env/projectName.js +3 -2
- package/pulumi/env/projectName.js.map +1 -1
- package/pulumi/env/variant.js +4 -3
- package/pulumi/env/variant.js.map +1 -1
- package/pulumi/extensions/AdminCustomDomains.js +15 -11
- package/pulumi/extensions/AdminCustomDomains.js.map +1 -1
- package/pulumi/extensions/AdminPulumi.js +16 -19
- package/pulumi/extensions/AdminPulumi.js.map +1 -1
- package/pulumi/extensions/ApiCustomDomains.js +15 -11
- package/pulumi/extensions/ApiCustomDomains.js.map +1 -1
- package/pulumi/extensions/ApiPulumi.js +16 -19
- package/pulumi/extensions/ApiPulumi.js.map +1 -1
- package/pulumi/extensions/AwsTags.js +11 -10
- package/pulumi/extensions/AwsTags.js.map +1 -1
- package/pulumi/extensions/BlueGreenDeployments.js +29 -26
- package/pulumi/extensions/BlueGreenDeployments.js.map +1 -1
- package/pulumi/extensions/CorePulumi.js +16 -19
- package/pulumi/extensions/CorePulumi.js.map +1 -1
- package/pulumi/extensions/OpenSearch.js +16 -15
- package/pulumi/extensions/OpenSearch.js.map +1 -1
- package/pulumi/extensions/Vpc.js +21 -20
- package/pulumi/extensions/Vpc.js.map +1 -1
- package/pulumi/extensions/index.js +12 -10
- package/pulumi/extensions/index.js.map +1 -1
- package/pulumi/features/AdminPulumi/AdminPulumi.js +18 -14
- package/pulumi/features/AdminPulumi/AdminPulumi.js.map +1 -1
- package/pulumi/features/AdminPulumi/index.js +0 -2
- package/pulumi/features/ApiPulumi/ApiPulumi.js +18 -14
- package/pulumi/features/ApiPulumi/ApiPulumi.js.map +1 -1
- package/pulumi/features/ApiPulumi/index.js +0 -2
- package/pulumi/features/CorePulumi/CorePulumi.js +18 -14
- package/pulumi/features/CorePulumi/CorePulumi.js.map +1 -1
- package/pulumi/features/CorePulumi/index.js +0 -2
- package/pulumi/features/index.js +0 -2
- package/pulumi/index.js +0 -2
- package/pulumi/types.js +0 -3
- package/pulumi/utils/addDomainsUrlsOutputs.js +20 -37
- package/pulumi/utils/addDomainsUrlsOutputs.js.map +1 -1
- package/pulumi/utils/addServiceManifestTableItem.js +12 -15
- package/pulumi/utils/addServiceManifestTableItem.js.map +1 -1
- package/pulumi/utils/crawlDirectory.js +10 -15
- package/pulumi/utils/crawlDirectory.js.map +1 -1
- package/pulumi/utils/createAssetArchive.js +5 -6
- package/pulumi/utils/createAssetArchive.js.map +1 -1
- package/pulumi/utils/dynamodb.js +26 -27
- package/pulumi/utils/dynamodb.js.map +1 -1
- package/pulumi/utils/getPresignedPost.js +27 -30
- package/pulumi/utils/getPresignedPost.js.map +1 -1
- package/pulumi/utils/index.js +1 -3
- package/pulumi/utils/lambdaEnvVariables.js +42 -54
- package/pulumi/utils/lambdaEnvVariables.js.map +1 -1
- package/pulumi/utils/tagResources.js +248 -28
- package/pulumi/utils/tagResources.js.map +1 -1
- package/pulumi/utils/uploadFolderToS3.js +101 -131
- package/pulumi/utils/uploadFolderToS3.js.map +1 -1
- package/pulumi/utils/withServiceManifest.js +28 -37
- package/pulumi/utils/withServiceManifest.js.map +1 -1
- package/services/AdminStackOutputService.js +14 -11
- package/services/AdminStackOutputService.js.map +1 -1
- package/services/ApiStackOutputService.js +14 -11
- package/services/ApiStackOutputService.js.map +1 -1
- package/services/CoreStackOutputService.js +14 -11
- package/services/CoreStackOutputService.js.map +1 -1
- package/utils/getTemplatesFolderPath.js +8 -10
- package/utils/getTemplatesFolderPath.js.map +1 -1
- package/utils/index.js +0 -2
- package/abstractions/features/pulumi/index.js.map +0 -1
- package/abstractions/index.js.map +0 -1
- package/apps/index.js.map +0 -1
- package/exports/extensions.js.map +0 -1
- package/exports/infra/admin.js.map +0 -1
- package/exports/infra/api.js.map +0 -1
- package/exports/infra/core.js.map +0 -1
- package/exports/infra.js.map +0 -1
- package/extensions/ProjectAws/AdminStackOutputService.js.map +0 -1
- package/extensions/ProjectAws/ApiStackOutputService.js.map +0 -1
- package/extensions/ProjectAws/CoreStackOutputService.js.map +0 -1
- package/extensions/index.js.map +0 -1
- package/features/index.js.map +0 -1
- package/index.js.map +0 -1
- package/pulumi/apps/admin/index.js.map +0 -1
- package/pulumi/apps/api/index.js.map +0 -1
- package/pulumi/apps/blueGreen/types.js.map +0 -1
- package/pulumi/apps/common/index.js.map +0 -1
- package/pulumi/apps/core/cognitoIdentityProviders/index.js.map +0 -1
- package/pulumi/apps/core/index.js.map +0 -1
- package/pulumi/apps/index.js.map +0 -1
- package/pulumi/apps/react/index.js.map +0 -1
- package/pulumi/apps/syncSystem/types.js.map +0 -1
- package/pulumi/features/AdminPulumi/index.js.map +0 -1
- package/pulumi/features/ApiPulumi/index.js.map +0 -1
- package/pulumi/features/CorePulumi/index.js.map +0 -1
- package/pulumi/features/index.js.map +0 -1
- package/pulumi/index.js.map +0 -1
- package/pulumi/types.js.map +0 -1
- package/pulumi/utils/index.js.map +0 -1
- package/utils/index.js.map +0 -1
|
@@ -1,55 +1,58 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { CoreOutput } from "../../index.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
2
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
3
|
+
const handleGuardDutyEvents = (app)=>{
|
|
4
|
+
const core = app.getModule(CoreOutput);
|
|
5
|
+
const graphql = app.resources.graphql.functions.graphql;
|
|
6
|
+
const baseConfig = graphql.config.clone();
|
|
7
|
+
const threatDetectionHandler = app.addResource(__rspack_external__pulumi_aws_e7af83c1.lambda.Function, {
|
|
8
|
+
name: "fm-threat-detection",
|
|
9
|
+
config: {
|
|
10
|
+
...baseConfig,
|
|
11
|
+
memorySize: 1024,
|
|
12
|
+
description: "Handles Guard Duty threat scan results.",
|
|
13
|
+
environment: {
|
|
14
|
+
variables: graphql.output.environment.apply((env)=>({
|
|
15
|
+
WEBINY_FUNCTION_TYPE: "threat-detection-event-handler",
|
|
16
|
+
...env?.variables
|
|
17
|
+
}))
|
|
18
|
+
},
|
|
19
|
+
loggingConfig: {
|
|
20
|
+
logFormat: "JSON"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
const eventRule = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudwatch.EventRule, {
|
|
25
|
+
name: "fm-bucket-malware-protection-event-rule",
|
|
26
|
+
config: {
|
|
27
|
+
eventBusName: core.eventBusName,
|
|
28
|
+
eventPattern: JSON.stringify({
|
|
29
|
+
source: [
|
|
30
|
+
"aws.guardduty"
|
|
31
|
+
],
|
|
32
|
+
"detail-type": [
|
|
33
|
+
"GuardDuty Malware Protection Object Scan Result"
|
|
34
|
+
]
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.lambda.Permission, {
|
|
39
|
+
name: "fm-bucket-malware-protection-event-permission",
|
|
40
|
+
config: {
|
|
41
|
+
action: "lambda:InvokeFunction",
|
|
42
|
+
function: threatDetectionHandler.output.arn,
|
|
43
|
+
principal: "events.amazonaws.com",
|
|
44
|
+
sourceArn: eventRule.output.arn
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudwatch.EventTarget, {
|
|
48
|
+
name: "fm-bucket-malware-protection-event-target",
|
|
49
|
+
config: {
|
|
50
|
+
rule: eventRule.output.name,
|
|
51
|
+
arn: threatDetectionHandler.output.arn,
|
|
52
|
+
eventBusName: core.eventBusName
|
|
53
|
+
}
|
|
54
|
+
});
|
|
53
55
|
};
|
|
56
|
+
export { handleGuardDutyEvents };
|
|
54
57
|
|
|
55
58
|
//# sourceMappingURL=handleGuardDutyEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/api/handleGuardDutyEvents.js","sources":["../../../../src/pulumi/apps/api/handleGuardDutyEvents.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { type ApiPulumiApp, CoreOutput } from \"~/pulumi/index.js\";\n\nexport const handleGuardDutyEvents = (app: ApiPulumiApp) => {\n const core = app.getModule(CoreOutput);\n const graphql = app.resources.graphql.functions.graphql;\n\n const baseConfig = graphql.config.clone();\n\n const threatDetectionHandler = app.addResource(aws.lambda.Function, {\n name: \"fm-threat-detection\",\n config: {\n ...baseConfig,\n memorySize: 1024,\n description: \"Handles Guard Duty threat scan results.\",\n environment: {\n variables: graphql.output.environment.apply(env => {\n return {\n WEBINY_FUNCTION_TYPE: \"threat-detection-event-handler\",\n ...env?.variables\n };\n })\n },\n loggingConfig: {\n logFormat: \"JSON\"\n }\n }\n });\n\n const eventRule = app.addResource(aws.cloudwatch.EventRule, {\n name: `fm-bucket-malware-protection-event-rule`,\n config: {\n eventBusName: core.eventBusName,\n eventPattern: JSON.stringify({\n source: [\"aws.guardduty\"],\n \"detail-type\": [\"GuardDuty Malware Protection Object Scan Result\"]\n })\n }\n });\n\n app.addResource(aws.lambda.Permission, {\n name: \"fm-bucket-malware-protection-event-permission\",\n config: {\n action: \"lambda:InvokeFunction\",\n function: threatDetectionHandler.output.arn,\n principal: \"events.amazonaws.com\",\n sourceArn: eventRule.output.arn\n }\n });\n\n app.addResource(aws.cloudwatch.EventTarget, {\n name: `fm-bucket-malware-protection-event-target`,\n config: {\n rule: eventRule.output.name,\n arn: threatDetectionHandler.output.arn,\n eventBusName: core.eventBusName\n }\n });\n};\n"],"names":["handleGuardDutyEvents","app","core","CoreOutput","graphql","baseConfig","threatDetectionHandler","aws","env","eventRule","JSON"],"mappings":";;AAGO,MAAMA,wBAAwB,CAACC;IAClC,MAAMC,OAAOD,IAAI,SAAS,CAACE;IAC3B,MAAMC,UAAUH,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO;IAEvD,MAAMI,aAAaD,QAAQ,MAAM,CAAC,KAAK;IAEvC,MAAME,yBAAyBL,IAAI,WAAW,CAACM,uCAAAA,MAAAA,CAAAA,QAAmB,EAAE;QAChE,MAAM;QACN,QAAQ;YACJ,GAAGF,UAAU;YACb,YAAY;YACZ,aAAa;YACb,aAAa;gBACT,WAAWD,QAAQ,MAAM,CAAC,WAAW,CAAC,KAAK,CAACI,CAAAA,MACjC;wBACH,sBAAsB;wBACtB,GAAGA,KAAK,SAAS;oBACrB;YAER;YACA,eAAe;gBACX,WAAW;YACf;QACJ;IACJ;IAEA,MAAMC,YAAYR,IAAI,WAAW,CAACM,uCAAAA,UAAAA,CAAAA,SAAwB,EAAE;QACxD,MAAM;QACN,QAAQ;YACJ,cAAcL,KAAK,YAAY;YAC/B,cAAcQ,KAAK,SAAS,CAAC;gBACzB,QAAQ;oBAAC;iBAAgB;gBACzB,eAAe;oBAAC;iBAAkD;YACtE;QACJ;IACJ;IAEAT,IAAI,WAAW,CAACM,uCAAAA,MAAAA,CAAAA,UAAqB,EAAE;QACnC,MAAM;QACN,QAAQ;YACJ,QAAQ;YACR,UAAUD,uBAAuB,MAAM,CAAC,GAAG;YAC3C,WAAW;YACX,WAAWG,UAAU,MAAM,CAAC,GAAG;QACnC;IACJ;IAEAR,IAAI,WAAW,CAACM,uCAAAA,UAAAA,CAAAA,WAA0B,EAAE;QACxC,MAAM;QACN,QAAQ;YACJ,MAAME,UAAU,MAAM,CAAC,IAAI;YAC3B,KAAKH,uBAAuB,MAAM,CAAC,GAAG;YACtC,cAAcJ,KAAK,YAAY;QACnC;IACJ;AACJ"}
|
package/pulumi/apps/api/index.js
CHANGED
package/pulumi/apps/awsUtils.js
CHANGED
|
@@ -1,34 +1,31 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { tagResources } from "../utils/index.js";
|
|
3
2
|
import { getEnvVariableWebinyProjectName } from "../env/projectName.js";
|
|
4
3
|
import { getEnvVariableWebinyEnv } from "../env/env.js";
|
|
5
4
|
import { getEnvVariableWebinyVariant } from "../env/variant.js";
|
|
6
5
|
import { getProjectSdk } from "@webiny/project";
|
|
7
|
-
import { AwsTags
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return
|
|
11
|
-
});
|
|
6
|
+
import { AwsTags } from "../extensions/AwsTags.js";
|
|
7
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
8
|
+
function getAwsAccountId(app) {
|
|
9
|
+
return app.addHandler(()=>__rspack_external__pulumi_aws_e7af83c1.getCallerIdentity({}).then((x)=>x.accountId));
|
|
12
10
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return aws.config.requireRegion();
|
|
16
|
-
});
|
|
11
|
+
function getAwsRegion(app) {
|
|
12
|
+
return app.addHandler(()=>__rspack_external__pulumi_aws_e7af83c1.config.requireRegion());
|
|
17
13
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
async function applyAwsResourceTags(appName) {
|
|
15
|
+
const sdk = await getProjectSdk();
|
|
16
|
+
const projectConfig = await sdk.getProjectConfig();
|
|
17
|
+
const awsTagsFromExtensions = {};
|
|
18
|
+
projectConfig.extensionsByType(AwsTags).forEach((ext)=>{
|
|
19
|
+
Object.assign(awsTagsFromExtensions, ext.params.tags);
|
|
20
|
+
});
|
|
21
|
+
tagResources({
|
|
22
|
+
...awsTagsFromExtensions,
|
|
23
|
+
WbyApp: appName,
|
|
24
|
+
WbyProjectName: getEnvVariableWebinyProjectName(),
|
|
25
|
+
WbyEnvironment: getEnvVariableWebinyEnv(),
|
|
26
|
+
WbyEnvironmentVariant: getEnvVariableWebinyVariant()
|
|
27
|
+
});
|
|
32
28
|
}
|
|
29
|
+
export { applyAwsResourceTags, getAwsAccountId, getAwsRegion };
|
|
33
30
|
|
|
34
31
|
//# sourceMappingURL=awsUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/awsUtils.js","sources":["../../../src/pulumi/apps/awsUtils.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { type PulumiApp } from \"@webiny/pulumi\";\nimport { tagResources } from \"~/pulumi/utils/index.js\";\nimport { getEnvVariableWebinyProjectName } from \"~/pulumi/env/projectName.js\";\nimport { getEnvVariableWebinyEnv } from \"~/pulumi/env/env.js\";\nimport { getEnvVariableWebinyVariant } from \"~/pulumi/env/variant.js\";\nimport { type AppName, getProjectSdk } from \"@webiny/project\";\nimport { AwsTags as awsTagsExt } from \"~/pulumi/extensions/AwsTags.js\";\n\nexport function getAwsAccountId(app: PulumiApp) {\n return app.addHandler(() => {\n return aws.getCallerIdentity({}).then(x => x.accountId);\n });\n}\n\nexport function getAwsRegion(app: PulumiApp) {\n return app.addHandler(() => {\n return aws.config.requireRegion();\n });\n}\n\nexport async function applyAwsResourceTags(appName: AppName) {\n const sdk = await getProjectSdk();\n const projectConfig = await sdk.getProjectConfig();\n\n const awsTagsFromExtensions: Record<string, string> = {};\n projectConfig.extensionsByType(awsTagsExt).forEach(ext => {\n Object.assign(awsTagsFromExtensions, ext.params.tags);\n });\n\n tagResources({\n ...awsTagsFromExtensions,\n WbyApp: appName,\n WbyProjectName: getEnvVariableWebinyProjectName(),\n WbyEnvironment: getEnvVariableWebinyEnv(),\n WbyEnvironmentVariant: getEnvVariableWebinyVariant()\n });\n}\n"],"names":["getAwsAccountId","app","aws","x","getAwsRegion","applyAwsResourceTags","appName","sdk","getProjectSdk","projectConfig","awsTagsFromExtensions","awsTagsExt","ext","Object","tagResources","getEnvVariableWebinyProjectName","getEnvVariableWebinyEnv","getEnvVariableWebinyVariant"],"mappings":";;;;;;;AASO,SAASA,gBAAgBC,GAAc;IAC1C,OAAOA,IAAI,UAAU,CAAC,IACXC,uCAAAA,iBAAqB,CAAC,CAAC,GAAG,IAAI,CAACC,CAAAA,IAAKA,EAAE,SAAS;AAE9D;AAEO,SAASC,aAAaH,GAAc;IACvC,OAAOA,IAAI,UAAU,CAAC,IACXC,uCAAAA,MAAAA,CAAAA,aAAwB;AAEvC;AAEO,eAAeG,qBAAqBC,OAAgB;IACvD,MAAMC,MAAM,MAAMC;IAClB,MAAMC,gBAAgB,MAAMF,IAAI,gBAAgB;IAEhD,MAAMG,wBAAgD,CAAC;IACvDD,cAAc,gBAAgB,CAACE,SAAY,OAAO,CAACC,CAAAA;QAC/CC,OAAO,MAAM,CAACH,uBAAuBE,IAAI,MAAM,CAAC,IAAI;IACxD;IAEAE,aAAa;QACT,GAAGJ,qBAAqB;QACxB,QAAQJ;QACR,gBAAgBS;QAChB,gBAAgBC;QAChB,uBAAuBC;IAC3B;AACJ"}
|
|
@@ -1,44 +1,41 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { createAppModule } from "@webiny/pulumi";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
apiGateway
|
|
40
|
-
};
|
|
41
|
-
}
|
|
2
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
3
|
+
const BlueGreenRouterApiGateway = createAppModule({
|
|
4
|
+
name: "BlueGreenRouterApiGateway",
|
|
5
|
+
config (app, params) {
|
|
6
|
+
const apiGateway = app.addResource(__rspack_external__pulumi_aws_e7af83c1.apigatewayv2.Api, {
|
|
7
|
+
name: "blueGreenRouterApi",
|
|
8
|
+
opts: {
|
|
9
|
+
protect: params.protect,
|
|
10
|
+
provider: params.region
|
|
11
|
+
},
|
|
12
|
+
config: {
|
|
13
|
+
protocolType: "HTTP",
|
|
14
|
+
description: "Blue / Green Router API"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const apiStage = app.addResource(__rspack_external__pulumi_aws_e7af83c1.apigatewayv2.Stage, {
|
|
18
|
+
name: "blue-green-stage",
|
|
19
|
+
opts: {
|
|
20
|
+
protect: params.protect,
|
|
21
|
+
provider: params.region
|
|
22
|
+
},
|
|
23
|
+
config: {
|
|
24
|
+
apiId: apiGateway.output.id,
|
|
25
|
+
autoDeploy: true,
|
|
26
|
+
name: app.params.run.env,
|
|
27
|
+
defaultRouteSettings: {
|
|
28
|
+
throttlingBurstLimit: 5000,
|
|
29
|
+
throttlingRateLimit: 10000
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
apiStage,
|
|
35
|
+
apiGateway
|
|
36
|
+
};
|
|
37
|
+
}
|
|
42
38
|
});
|
|
39
|
+
export { BlueGreenRouterApiGateway };
|
|
43
40
|
|
|
44
41
|
//# sourceMappingURL=BlueGreenRouterApiGateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js","sources":["../../../../src/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nexport type BlueGreenRouterApiGateway = PulumiAppModule<typeof BlueGreenRouterApiGateway>;\n\nexport interface IBlueGreenRouterApiGatewayParams {\n region: aws.Provider;\n protect: boolean;\n}\n\nexport const BlueGreenRouterApiGateway = createAppModule({\n name: \"BlueGreenRouterApiGateway\",\n config(app: PulumiApp, params: IBlueGreenRouterApiGatewayParams) {\n const apiGateway = app.addResource(aws.apigatewayv2.Api, {\n name: \"blueGreenRouterApi\",\n opts: {\n protect: params.protect,\n provider: params.region\n },\n config: {\n protocolType: \"HTTP\",\n description: \"Blue / Green Router API\"\n }\n });\n\n const apiStage = app.addResource(aws.apigatewayv2.Stage, {\n name: \"blue-green-stage\",\n opts: {\n protect: params.protect,\n provider: params.region\n },\n config: {\n apiId: apiGateway.output.id,\n autoDeploy: true,\n name: app.params.run.env,\n defaultRouteSettings: {\n // Only enable when debugging. Note that by default, API Gateway does not\n // have the required permissions to write logs to CloudWatch logs. More:\n // https://coady.tech/aws-cloudwatch-logs-arn/\n // loggingLevel: \"INFO\",\n throttlingBurstLimit: 5000,\n throttlingRateLimit: 10000\n }\n }\n });\n\n return {\n apiStage,\n apiGateway\n };\n }\n});\n"],"names":["BlueGreenRouterApiGateway","createAppModule","app","params","apiGateway","aws","apiStage"],"mappings":";;AAWO,MAAMA,4BAA4BC,gBAAgB;IACrD,MAAM;IACN,QAAOC,GAAc,EAAEC,MAAwC;QAC3D,MAAMC,aAAaF,IAAI,WAAW,CAACG,uCAAAA,YAAAA,CAAAA,GAAoB,EAAE;YACrD,MAAM;YACN,MAAM;gBACF,SAASF,OAAO,OAAO;gBACvB,UAAUA,OAAO,MAAM;YAC3B;YACA,QAAQ;gBACJ,cAAc;gBACd,aAAa;YACjB;QACJ;QAEA,MAAMG,WAAWJ,IAAI,WAAW,CAACG,uCAAAA,YAAAA,CAAAA,KAAsB,EAAE;YACrD,MAAM;YACN,MAAM;gBACF,SAASF,OAAO,OAAO;gBACvB,UAAUA,OAAO,MAAM;YAC3B;YACA,QAAQ;gBACJ,OAAOC,WAAW,MAAM,CAAC,EAAE;gBAC3B,YAAY;gBACZ,MAAMF,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG;gBACxB,sBAAsB;oBAKlB,sBAAsB;oBACtB,qBAAqB;gBACzB;YACJ;QACJ;QAEA,OAAO;YACHI;YACAF;QACJ;IACJ;AACJ"}
|
|
@@ -1,100 +1,92 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { createAppModule } from "@webiny/pulumi";
|
|
3
2
|
import { BlueGreenRouterApiGateway } from "./BlueGreenRouterApiGateway.js";
|
|
4
3
|
import { BlueGreenRouterCloudFrontStore } from "./BlueGreenRouterCloudFrontStore.js";
|
|
5
4
|
import { buildHandlerFunction } from "./functions/buildHandlerFunction.js";
|
|
6
5
|
import { BLUE_GREEN_ALLOWED_METHODS, BLUE_GREEN_CACHED_METHODS, BLUE_GREEN_ROUTER_STORE_KEY } from "./constants.js";
|
|
7
6
|
import { createCloudFrontFunctionDomainMap } from "./cloudfront/createCloudFrontFunctionDomainMap.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
return {
|
|
94
|
-
cloudFront,
|
|
95
|
-
cloudFrontFunction
|
|
96
|
-
};
|
|
97
|
-
}
|
|
7
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
8
|
+
const BlueGreenRouterCloudFront = createAppModule({
|
|
9
|
+
name: "BlueGreenRouterCloudFront",
|
|
10
|
+
config (app, config) {
|
|
11
|
+
const api = app.getModule(BlueGreenRouterApiGateway);
|
|
12
|
+
const store = app.getModule(BlueGreenRouterCloudFrontStore);
|
|
13
|
+
const domains = createCloudFrontFunctionDomainMap(config);
|
|
14
|
+
const cloudFrontFunction = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.Function, {
|
|
15
|
+
name: "blue-green-router-viewer-request",
|
|
16
|
+
opts: {
|
|
17
|
+
provider: config.region,
|
|
18
|
+
protect: config.protect
|
|
19
|
+
},
|
|
20
|
+
config: {
|
|
21
|
+
runtime: "cloudfront-js-2.0",
|
|
22
|
+
publish: true,
|
|
23
|
+
code: store.cloudFrontStore.output.arn.apply((arn)=>{
|
|
24
|
+
const id = arn.split("/").pop();
|
|
25
|
+
return buildHandlerFunction({
|
|
26
|
+
storeId: id,
|
|
27
|
+
storeKey: BLUE_GREEN_ROUTER_STORE_KEY,
|
|
28
|
+
domains
|
|
29
|
+
});
|
|
30
|
+
}),
|
|
31
|
+
keyValueStoreAssociations: store.cloudFrontStore.output.arn.apply((arn)=>[
|
|
32
|
+
arn
|
|
33
|
+
])
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const cloudFront = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.Distribution, {
|
|
37
|
+
name: "blue-green-router-cloudfront",
|
|
38
|
+
opts: {
|
|
39
|
+
provider: config.region,
|
|
40
|
+
protect: config.protect
|
|
41
|
+
},
|
|
42
|
+
config: {
|
|
43
|
+
httpVersion: "http2and3",
|
|
44
|
+
enabled: true,
|
|
45
|
+
priceClass: "PriceClass_100",
|
|
46
|
+
origins: [
|
|
47
|
+
{
|
|
48
|
+
domainName: api.apiGateway.output.apiEndpoint.apply((url)=>url.replace("https://", "")),
|
|
49
|
+
originId: "defaultOrigin",
|
|
50
|
+
customOriginConfig: {
|
|
51
|
+
originProtocolPolicy: "https-only",
|
|
52
|
+
httpPort: 80,
|
|
53
|
+
httpsPort: 443,
|
|
54
|
+
originSslProtocols: [
|
|
55
|
+
"TLSv1.2"
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
defaultCacheBehavior: {
|
|
61
|
+
targetOriginId: "defaultOrigin",
|
|
62
|
+
viewerProtocolPolicy: "redirect-to-https",
|
|
63
|
+
allowedMethods: BLUE_GREEN_ALLOWED_METHODS,
|
|
64
|
+
cachedMethods: BLUE_GREEN_CACHED_METHODS,
|
|
65
|
+
cachePolicyId: config.cachePolicyId.id,
|
|
66
|
+
originRequestPolicyId: config.originRequestPolicyId.id,
|
|
67
|
+
functionAssociations: [
|
|
68
|
+
{
|
|
69
|
+
eventType: "viewer-request",
|
|
70
|
+
functionArn: cloudFrontFunction.output.arn
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
restrictions: {
|
|
75
|
+
geoRestriction: {
|
|
76
|
+
restrictionType: "none"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
viewerCertificate: {
|
|
80
|
+
cloudfrontDefaultCertificate: true
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
cloudFront,
|
|
86
|
+
cloudFrontFunction
|
|
87
|
+
};
|
|
88
|
+
}
|
|
98
89
|
});
|
|
90
|
+
export { BlueGreenRouterCloudFront };
|
|
99
91
|
|
|
100
92
|
//# sourceMappingURL=BlueGreenRouterCloudFront.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js","sources":["../../../../src/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\nimport type { GetCachePolicyResult } from \"@pulumi/aws/cloudfront/getCachePolicy.js\";\nimport type { GetOriginRequestPolicyResult } from \"@pulumi/aws/cloudfront/getOriginRequestPolicy.js\";\nimport { BlueGreenRouterApiGateway } from \"./BlueGreenRouterApiGateway.js\";\nimport { BlueGreenRouterCloudFrontStore } from \"./BlueGreenRouterCloudFrontStore.js\";\nimport { buildHandlerFunction } from \"./functions/buildHandlerFunction.js\";\nimport {\n BLUE_GREEN_ALLOWED_METHODS,\n BLUE_GREEN_CACHED_METHODS,\n BLUE_GREEN_ROUTER_STORE_KEY\n} from \"./constants.js\";\nimport { createCloudFrontFunctionDomainMap } from \"./cloudfront/createCloudFrontFunctionDomainMap.js\";\nimport type { IResolvedDomains } from \"./types.js\";\n\nexport type BlueGreenRouterCloudFront = PulumiAppModule<typeof BlueGreenRouterCloudFront>;\n\nexport interface IBlueGreenRouterCloudFrontConfig {\n region: aws.Provider;\n protect: boolean;\n domains: IResolvedDomains;\n cachePolicyId: GetCachePolicyResult;\n originRequestPolicyId: GetOriginRequestPolicyResult;\n}\n\nexport const BlueGreenRouterCloudFront = createAppModule({\n name: \"BlueGreenRouterCloudFront\",\n config(app, config: IBlueGreenRouterCloudFrontConfig) {\n const api = app.getModule(BlueGreenRouterApiGateway);\n\n const store = app.getModule(BlueGreenRouterCloudFrontStore);\n\n const domains = createCloudFrontFunctionDomainMap(config);\n\n /**\n * Create a new CloudFront function that will be used to route the incoming requests to the correct CloudFront distribution.\n */\n const cloudFrontFunction = app.addResource(aws.cloudfront.Function, {\n name: `blue-green-router-viewer-request`,\n opts: {\n provider: config.region,\n protect: config.protect\n },\n config: {\n runtime: \"cloudfront-js-2.0\",\n publish: true,\n code: store.cloudFrontStore.output.arn.apply(arn => {\n /**\n * Unfortunately this is the only way to get the ID of the store.\n * It is a UUID value.\n */\n const id = arn.split(\"/\").pop() as string;\n return buildHandlerFunction({\n storeId: id,\n storeKey: BLUE_GREEN_ROUTER_STORE_KEY,\n domains\n });\n }),\n keyValueStoreAssociations: store.cloudFrontStore.output.arn.apply(arn => {\n return [arn];\n })\n }\n });\n /**\n * Create a CloudFront with attached function.\n */\n const cloudFront = app.addResource(aws.cloudfront.Distribution, {\n name: `blue-green-router-cloudfront`,\n opts: {\n provider: config.region,\n protect: config.protect\n },\n config: {\n httpVersion: \"http2and3\",\n enabled: true,\n priceClass: \"PriceClass_100\",\n origins: [\n /**\n * A default origin that will be used in case of no match.\n */\n {\n domainName: api.apiGateway.output.apiEndpoint.apply(url =>\n url.replace(\"https://\", \"\")\n ),\n originId: \"defaultOrigin\",\n customOriginConfig: {\n originProtocolPolicy: \"https-only\",\n httpPort: 80,\n httpsPort: 443,\n originSslProtocols: [\"TLSv1.2\"]\n }\n }\n ],\n defaultCacheBehavior: {\n targetOriginId: `defaultOrigin`,\n viewerProtocolPolicy: \"redirect-to-https\",\n allowedMethods: BLUE_GREEN_ALLOWED_METHODS,\n cachedMethods: BLUE_GREEN_CACHED_METHODS,\n cachePolicyId: config.cachePolicyId.id,\n originRequestPolicyId: config.originRequestPolicyId.id,\n functionAssociations: [\n {\n eventType: \"viewer-request\",\n functionArn: cloudFrontFunction.output.arn\n }\n ]\n },\n restrictions: {\n geoRestriction: {\n restrictionType: \"none\"\n }\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true\n }\n }\n });\n\n return {\n cloudFront,\n cloudFrontFunction\n };\n }\n});\n"],"names":["BlueGreenRouterCloudFront","createAppModule","app","config","api","BlueGreenRouterApiGateway","store","BlueGreenRouterCloudFrontStore","domains","createCloudFrontFunctionDomainMap","cloudFrontFunction","aws","arn","id","buildHandlerFunction","BLUE_GREEN_ROUTER_STORE_KEY","cloudFront","url","BLUE_GREEN_ALLOWED_METHODS","BLUE_GREEN_CACHED_METHODS"],"mappings":";;;;;;;AA0BO,MAAMA,4BAA4BC,gBAAgB;IACrD,MAAM;IACN,QAAOC,GAAG,EAAEC,MAAwC;QAChD,MAAMC,MAAMF,IAAI,SAAS,CAACG;QAE1B,MAAMC,QAAQJ,IAAI,SAAS,CAACK;QAE5B,MAAMC,UAAUC,kCAAkCN;QAKlD,MAAMO,qBAAqBR,IAAI,WAAW,CAACS,uCAAAA,UAAAA,CAAAA,QAAuB,EAAE;YAChE,MAAM;YACN,MAAM;gBACF,UAAUR,OAAO,MAAM;gBACvB,SAASA,OAAO,OAAO;YAC3B;YACA,QAAQ;gBACJ,SAAS;gBACT,SAAS;gBACT,MAAMG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAACM,CAAAA;oBAKzC,MAAMC,KAAKD,IAAI,KAAK,CAAC,KAAK,GAAG;oBAC7B,OAAOE,qBAAqB;wBACxB,SAASD;wBACT,UAAUE;wBACVP;oBACJ;gBACJ;gBACA,2BAA2BF,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAACM,CAAAA,MACvD;wBAACA;qBAAI;YAEpB;QACJ;QAIA,MAAMI,aAAad,IAAI,WAAW,CAACS,uCAAAA,UAAAA,CAAAA,YAA2B,EAAE;YAC5D,MAAM;YACN,MAAM;gBACF,UAAUR,OAAO,MAAM;gBACvB,SAASA,OAAO,OAAO;YAC3B;YACA,QAAQ;gBACJ,aAAa;gBACb,SAAS;gBACT,YAAY;gBACZ,SAAS;oBAIL;wBACI,YAAYC,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAACa,CAAAA,MAChDA,IAAI,OAAO,CAAC,YAAY;wBAE5B,UAAU;wBACV,oBAAoB;4BAChB,sBAAsB;4BACtB,UAAU;4BACV,WAAW;4BACX,oBAAoB;gCAAC;6BAAU;wBACnC;oBACJ;iBACH;gBACD,sBAAsB;oBAClB,gBAAgB;oBAChB,sBAAsB;oBACtB,gBAAgBC;oBAChB,eAAeC;oBACf,eAAehB,OAAO,aAAa,CAAC,EAAE;oBACtC,uBAAuBA,OAAO,qBAAqB,CAAC,EAAE;oBACtD,sBAAsB;wBAClB;4BACI,WAAW;4BACX,aAAaO,mBAAmB,MAAM,CAAC,GAAG;wBAC9C;qBACH;gBACL;gBACA,cAAc;oBACV,gBAAgB;wBACZ,iBAAiB;oBACrB;gBACJ;gBACA,mBAAmB;oBACf,8BAA8B;gBAClC;YACJ;QACJ;QAEA,OAAO;YACHM;YACAN;QACJ;IACJ;AACJ"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { createAppModule } from "@webiny/pulumi";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
3
|
+
const BlueGreenRouterCloudFrontStore = createAppModule({
|
|
4
|
+
name: "BlueGreenRouterCloudFrontStore",
|
|
5
|
+
config (app, params) {
|
|
6
|
+
const cloudFrontStore = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.KeyValueStore, {
|
|
7
|
+
name: "blueGreenRouterCloudFrontStore",
|
|
8
|
+
opts: {
|
|
9
|
+
provider: params.region,
|
|
10
|
+
protect: params.protect
|
|
11
|
+
},
|
|
12
|
+
config: {}
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
cloudFrontStore
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
18
|
});
|
|
19
|
+
export { BlueGreenRouterCloudFrontStore };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=BlueGreenRouterCloudFrontStore.js.map
|