@webiny/project-aws 6.3.0 → 6.4.0-beta.0
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 +14 -14
- 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,105 +1,103 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { createAppModule } from "@webiny/pulumi";
|
|
3
2
|
import { LAMBDA_RUNTIME } from "../../constants.js";
|
|
4
|
-
import * as pulumi from "@pulumi/pulumi";
|
|
5
3
|
import path from "path";
|
|
6
4
|
import { CoreVpc } from "../index.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
5
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
6
|
+
import * as __rspack_external__pulumi_pulumi_d0276039 from "@pulumi/pulumi";
|
|
7
|
+
const WatchCommand = createAppModule({
|
|
8
|
+
name: "WatchCommand",
|
|
9
|
+
config (app, params) {
|
|
10
|
+
const roleName = "iot-authorizer-lambda-role";
|
|
11
|
+
const role = app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.Role, {
|
|
12
|
+
name: roleName,
|
|
13
|
+
config: {
|
|
14
|
+
assumeRolePolicy: {
|
|
15
|
+
Version: "2012-10-17",
|
|
16
|
+
Statement: [
|
|
17
|
+
{
|
|
18
|
+
Action: "sts:AssumeRole",
|
|
19
|
+
Principal: {
|
|
20
|
+
Service: "lambda.amazonaws.com"
|
|
21
|
+
},
|
|
22
|
+
Effect: "Allow"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
20
26
|
},
|
|
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
|
-
|
|
27
|
+
meta: {
|
|
28
|
+
isLambdaFunctionRole: true
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const vpc = app.getModule(CoreVpc, {
|
|
32
|
+
optional: true
|
|
33
|
+
});
|
|
34
|
+
if (vpc) app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
|
|
35
|
+
name: `${roleName}-AWSLambdaVPCAccessExecutionRole`,
|
|
36
|
+
config: {
|
|
37
|
+
role: role.output,
|
|
38
|
+
policyArn: __rspack_external__pulumi_aws_e7af83c1.iam.ManagedPolicy.AWSLambdaVPCAccessExecutionRole
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
else app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
|
|
42
|
+
name: `${roleName}-AWSLambdaBasicExecutionRole`,
|
|
43
|
+
config: {
|
|
44
|
+
role: role.output,
|
|
45
|
+
policyArn: __rspack_external__pulumi_aws_e7af83c1.iam.ManagedPolicy.AWSLambdaBasicExecutionRole
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const iotAuthorizerFunction = app.addResource(__rspack_external__pulumi_aws_e7af83c1.lambda.Function, {
|
|
49
|
+
name: "watch-command-iot-authorizer",
|
|
50
|
+
config: {
|
|
51
|
+
role: role.output.arn,
|
|
52
|
+
runtime: LAMBDA_RUNTIME,
|
|
53
|
+
handler: "handler.handler",
|
|
54
|
+
timeout: 10,
|
|
55
|
+
memorySize: 128,
|
|
56
|
+
description: "Authorizes 'webiny watch' command communication.",
|
|
57
|
+
code: new __rspack_external__pulumi_pulumi_d0276039.asset.AssetArchive({
|
|
58
|
+
".": new __rspack_external__pulumi_pulumi_d0276039.asset.FileArchive(path.join(import.meta.dirname, "webinyWatchCommand"))
|
|
59
|
+
}),
|
|
60
|
+
environment: {
|
|
61
|
+
variables: {
|
|
62
|
+
WEBINY_WATCH_COMMAND_TOPIC: params.deploymentId.apply((deploymentId)=>`webiny-watch-${deploymentId}`)
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
vpcConfig: vpc ? {
|
|
66
|
+
subnetIds: vpc.subnets.private.map((s)=>s.output.id),
|
|
67
|
+
securityGroupIds: [
|
|
68
|
+
vpc.vpc.output.defaultSecurityGroupId
|
|
69
|
+
]
|
|
70
|
+
} : void 0,
|
|
71
|
+
loggingConfig: {
|
|
72
|
+
logFormat: "JSON"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
const iotAuthorizer = app.addResource(__rspack_external__pulumi_aws_e7af83c1.iot.Authorizer, {
|
|
77
|
+
name: "watch-command-iot-authorizer",
|
|
78
|
+
config: {
|
|
79
|
+
signingDisabled: true,
|
|
80
|
+
authorizerFunctionArn: iotAuthorizerFunction.output.arn,
|
|
81
|
+
status: "ACTIVE"
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.lambda.Permission, {
|
|
85
|
+
name: "webiny-watch-iot-authorizer",
|
|
86
|
+
config: {
|
|
87
|
+
principal: "iot.amazonaws.com",
|
|
88
|
+
function: iotAuthorizerFunction.output.arn,
|
|
89
|
+
sourceArn: iotAuthorizer.output.arn,
|
|
90
|
+
action: "lambda:InvokeFunction"
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
app.addOutputs({
|
|
94
|
+
iotAuthorizerName: iotAuthorizer.output.name
|
|
95
|
+
});
|
|
96
|
+
return {
|
|
97
|
+
iotAuthorizerFunction
|
|
98
|
+
};
|
|
50
99
|
}
|
|
51
|
-
const iotAuthorizerFunction = app.addResource(aws.lambda.Function, {
|
|
52
|
-
name: "watch-command-iot-authorizer",
|
|
53
|
-
config: {
|
|
54
|
-
role: role.output.arn,
|
|
55
|
-
runtime: LAMBDA_RUNTIME,
|
|
56
|
-
handler: "handler.handler",
|
|
57
|
-
timeout: 10,
|
|
58
|
-
memorySize: 128,
|
|
59
|
-
description: "Authorizes 'webiny watch' command communication.",
|
|
60
|
-
code: new pulumi.asset.AssetArchive({
|
|
61
|
-
".": new pulumi.asset.FileArchive(path.join(import.meta.dirname, "webinyWatchCommand"))
|
|
62
|
-
}),
|
|
63
|
-
environment: {
|
|
64
|
-
variables: {
|
|
65
|
-
WEBINY_WATCH_COMMAND_TOPIC: params.deploymentId.apply(deploymentId => {
|
|
66
|
-
return `webiny-watch-${deploymentId}`;
|
|
67
|
-
})
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
vpcConfig: vpc ? {
|
|
71
|
-
subnetIds: vpc.subnets.private.map(s => s.output.id),
|
|
72
|
-
securityGroupIds: [vpc.vpc.output.defaultSecurityGroupId]
|
|
73
|
-
} : undefined,
|
|
74
|
-
loggingConfig: {
|
|
75
|
-
logFormat: "JSON"
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
const iotAuthorizer = app.addResource(aws.iot.Authorizer, {
|
|
80
|
-
name: "watch-command-iot-authorizer",
|
|
81
|
-
config: {
|
|
82
|
-
signingDisabled: true,
|
|
83
|
-
authorizerFunctionArn: iotAuthorizerFunction.output.arn,
|
|
84
|
-
status: "ACTIVE"
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
app.addResource(aws.lambda.Permission, {
|
|
88
|
-
name: "webiny-watch-iot-authorizer",
|
|
89
|
-
config: {
|
|
90
|
-
principal: "iot.amazonaws.com",
|
|
91
|
-
function: iotAuthorizerFunction.output.arn,
|
|
92
|
-
sourceArn: iotAuthorizer.output.arn,
|
|
93
|
-
action: "lambda:InvokeFunction"
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
app.addOutputs({
|
|
97
|
-
iotAuthorizerName: iotAuthorizer.output.name
|
|
98
|
-
});
|
|
99
|
-
return {
|
|
100
|
-
iotAuthorizerFunction
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
100
|
});
|
|
101
|
+
export { WatchCommand };
|
|
104
102
|
|
|
105
103
|
//# sourceMappingURL=WatchCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/core/WatchCommand.js","sources":["../../../../src/pulumi/apps/core/WatchCommand.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { createAppModule, type PulumiApp } from \"@webiny/pulumi\";\nimport { LAMBDA_RUNTIME } from \"~/pulumi/constants.js\";\nimport * as pulumi from \"@pulumi/pulumi\";\nimport path from \"path\";\nimport { CoreVpc } from \"~/pulumi/apps/index.js\";\n\nexport interface WatchCommandParams {\n deploymentId: pulumi.Output<string>;\n}\n\nexport const WatchCommand = createAppModule({\n name: \"WatchCommand\",\n config(app: PulumiApp, params: WatchCommandParams) {\n const roleName = \"iot-authorizer-lambda-role\";\n\n const role = app.addResource(aws.iam.Role, {\n name: roleName,\n config: {\n assumeRolePolicy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"lambda.amazonaws.com\"\n },\n Effect: \"Allow\"\n }\n ]\n }\n },\n meta: { isLambdaFunctionRole: true }\n });\n\n const vpc = app.getModule(CoreVpc, { optional: true });\n\n // Only use `AWSLambdaVPCAccessExecutionRole` policy if VPC feature is enabled.\n if (vpc) {\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: `${roleName}-AWSLambdaVPCAccessExecutionRole`,\n config: {\n role: role.output,\n policyArn: aws.iam.ManagedPolicy.AWSLambdaVPCAccessExecutionRole\n }\n });\n } else {\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: `${roleName}-AWSLambdaBasicExecutionRole`,\n config: {\n role: role.output,\n policyArn: aws.iam.ManagedPolicy.AWSLambdaBasicExecutionRole\n }\n });\n }\n\n const iotAuthorizerFunction = app.addResource(aws.lambda.Function, {\n name: \"watch-command-iot-authorizer\",\n config: {\n role: role.output.arn,\n runtime: LAMBDA_RUNTIME,\n handler: \"handler.handler\",\n timeout: 10,\n memorySize: 128,\n description: \"Authorizes 'webiny watch' command communication.\",\n code: new pulumi.asset.AssetArchive({\n \".\": new pulumi.asset.FileArchive(\n path.join(import.meta.dirname, \"webinyWatchCommand\")\n )\n }),\n environment: {\n variables: {\n WEBINY_WATCH_COMMAND_TOPIC: params.deploymentId.apply(deploymentId => {\n return `webiny-watch-${deploymentId}`;\n })\n }\n },\n vpcConfig: vpc\n ? {\n subnetIds: vpc.subnets.private.map(s => s.output.id),\n securityGroupIds: [vpc.vpc.output.defaultSecurityGroupId]\n }\n : undefined,\n loggingConfig: {\n logFormat: \"JSON\"\n }\n }\n });\n\n const iotAuthorizer = app.addResource(aws.iot.Authorizer, {\n name: \"watch-command-iot-authorizer\",\n config: {\n signingDisabled: true,\n authorizerFunctionArn: iotAuthorizerFunction.output.arn,\n status: \"ACTIVE\"\n }\n });\n\n app.addResource(aws.lambda.Permission, {\n name: \"webiny-watch-iot-authorizer\",\n config: {\n principal: \"iot.amazonaws.com\",\n function: iotAuthorizerFunction.output.arn,\n sourceArn: iotAuthorizer.output.arn,\n action: \"lambda:InvokeFunction\"\n }\n });\n\n app.addOutputs({\n iotAuthorizerName: iotAuthorizer.output.name\n });\n\n return { iotAuthorizerFunction };\n }\n});\n"],"names":["WatchCommand","createAppModule","app","params","roleName","role","aws","vpc","CoreVpc","iotAuthorizerFunction","LAMBDA_RUNTIME","pulumi","path","deploymentId","s","undefined","iotAuthorizer"],"mappings":";;;;;;AAWO,MAAMA,eAAeC,gBAAgB;IACxC,MAAM;IACN,QAAOC,GAAc,EAAEC,MAA0B;QAC7C,MAAMC,WAAW;QAEjB,MAAMC,OAAOH,IAAI,WAAW,CAACI,uCAAAA,GAAAA,CAAAA,IAAY,EAAE;YACvC,MAAMF;YACN,QAAQ;gBACJ,kBAAkB;oBACd,SAAS;oBACT,WAAW;wBACP;4BACI,QAAQ;4BACR,WAAW;gCACP,SAAS;4BACb;4BACA,QAAQ;wBACZ;qBACH;gBACL;YACJ;YACA,MAAM;gBAAE,sBAAsB;YAAK;QACvC;QAEA,MAAMG,MAAML,IAAI,SAAS,CAACM,SAAS;YAAE,UAAU;QAAK;QAGpD,IAAID,KACAL,IAAI,WAAW,CAACI,uCAAAA,GAAAA,CAAAA,oBAA4B,EAAE;YAC1C,MAAM,GAAGF,SAAS,gCAAgC,CAAC;YACnD,QAAQ;gBACJ,MAAMC,KAAK,MAAM;gBACjB,WAAWC,uCAAAA,GAAAA,CAAAA,aAAAA,CAAAA,+BAAqD;YACpE;QACJ;aAEAJ,IAAI,WAAW,CAACI,uCAAAA,GAAAA,CAAAA,oBAA4B,EAAE;YAC1C,MAAM,GAAGF,SAAS,4BAA4B,CAAC;YAC/C,QAAQ;gBACJ,MAAMC,KAAK,MAAM;gBACjB,WAAWC,uCAAAA,GAAAA,CAAAA,aAAAA,CAAAA,2BAAiD;YAChE;QACJ;QAGJ,MAAMG,wBAAwBP,IAAI,WAAW,CAACI,uCAAAA,MAAAA,CAAAA,QAAmB,EAAE;YAC/D,MAAM;YACN,QAAQ;gBACJ,MAAMD,KAAK,MAAM,CAAC,GAAG;gBACrB,SAASK;gBACT,SAAS;gBACT,SAAS;gBACT,YAAY;gBACZ,aAAa;gBACb,MAAM,IAAIC,0CAAAA,KAAAA,CAAAA,YAAyB,CAAC;oBAChC,KAAK,IAAIA,0CAAAA,KAAAA,CAAAA,WAAwB,CAC7BC,KAAK,IAAI,CAAC,YAAY,OAAO,EAAE;gBAEvC;gBACA,aAAa;oBACT,WAAW;wBACP,4BAA4BT,OAAO,YAAY,CAAC,KAAK,CAACU,CAAAA,eAC3C,CAAC,aAAa,EAAEA,cAAc;oBAE7C;gBACJ;gBACA,WAAWN,MACL;oBACI,WAAWA,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAACO,CAAAA,IAAKA,EAAE,MAAM,CAAC,EAAE;oBACnD,kBAAkB;wBAACP,IAAI,GAAG,CAAC,MAAM,CAAC,sBAAsB;qBAAC;gBAC7D,IACAQ;gBACN,eAAe;oBACX,WAAW;gBACf;YACJ;QACJ;QAEA,MAAMC,gBAAgBd,IAAI,WAAW,CAACI,uCAAAA,GAAAA,CAAAA,UAAkB,EAAE;YACtD,MAAM;YACN,QAAQ;gBACJ,iBAAiB;gBACjB,uBAAuBG,sBAAsB,MAAM,CAAC,GAAG;gBACvD,QAAQ;YACZ;QACJ;QAEAP,IAAI,WAAW,CAACI,uCAAAA,MAAAA,CAAAA,UAAqB,EAAE;YACnC,MAAM;YACN,QAAQ;gBACJ,WAAW;gBACX,UAAUG,sBAAsB,MAAM,CAAC,GAAG;gBAC1C,WAAWO,cAAc,MAAM,CAAC,GAAG;gBACnC,QAAQ;YACZ;QACJ;QAEAd,IAAI,UAAU,CAAC;YACX,mBAAmBc,cAAc,MAAM,CAAC,IAAI;QAChD;QAEA,OAAO;YAAEP;QAAsB;IACnC;AACJ"}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
given_name: "name",
|
|
18
|
-
family_name: "name",
|
|
19
|
-
...config.attributeMapping
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
};
|
|
1
|
+
const getAmazonIdpConfig = (userPoolId, config)=>({
|
|
2
|
+
userPoolId,
|
|
3
|
+
providerName: "Amazon",
|
|
4
|
+
providerType: "LoginWithAmazon",
|
|
5
|
+
providerDetails: config.providerDetails,
|
|
6
|
+
idpIdentifiers: config.idpIdentifiers,
|
|
7
|
+
attributeMapping: {
|
|
8
|
+
"custom:id": "user_id",
|
|
9
|
+
username: "user_id",
|
|
10
|
+
email: "email",
|
|
11
|
+
given_name: "name",
|
|
12
|
+
family_name: "name",
|
|
13
|
+
...config.attributeMapping
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
export { getAmazonIdpConfig };
|
|
23
17
|
|
|
24
18
|
//# sourceMappingURL=amazon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/core/cognitoIdentityProviders/amazon.js","sources":["../../../../../src/pulumi/apps/core/cognitoIdentityProviders/amazon.ts"],"sourcesContent":["import type * as pulumi from \"@pulumi/pulumi\";\nimport { type IdentityProviderArgs } from \"@pulumi/aws/cognito/index.js\";\nimport { type CognitoIdentityProviderConfig } from \"./configure.js\";\n\n/**\n * Amazon doesn't provide first/last name as separate attributes. Instead, it gives you a `name`.\n * To handle this, developers will need to set up a pre-authentication Lambda trigger on the user pool,\n * to generate proper first/last name using custom code.\n */\nexport const getAmazonIdpConfig = (\n userPoolId: pulumi.Input<string>,\n config: CognitoIdentityProviderConfig\n): IdentityProviderArgs => {\n return {\n userPoolId,\n providerName: \"Amazon\",\n providerType: \"LoginWithAmazon\",\n providerDetails: config.providerDetails,\n idpIdentifiers: config.idpIdentifiers,\n attributeMapping: {\n \"custom:id\": \"user_id\",\n username: \"user_id\",\n email: \"email\",\n given_name: \"name\",\n family_name: \"name\",\n ...config.attributeMapping\n }\n };\n};\n"],"names":["getAmazonIdpConfig","userPoolId","config"],"mappings":"AASO,MAAMA,qBAAqB,CAC9BC,YACAC,SAEO;QACHD;QACA,cAAc;QACd,cAAc;QACd,iBAAiBC,OAAO,eAAe;QACvC,gBAAgBA,OAAO,cAAc;QACrC,kBAAkB;YACd,aAAa;YACb,UAAU;YACV,OAAO;YACP,YAAY;YACZ,aAAa;YACb,GAAGA,OAAO,gBAAgB;QAC9B;IACJ"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
};
|
|
1
|
+
const getAppleIdpConfig = (userPoolId, config)=>({
|
|
2
|
+
userPoolId,
|
|
3
|
+
providerName: "Apple",
|
|
4
|
+
providerType: "SignInWithApple",
|
|
5
|
+
providerDetails: config.providerDetails,
|
|
6
|
+
idpIdentifiers: config.idpIdentifiers,
|
|
7
|
+
attributeMapping: {
|
|
8
|
+
"custom:id": "sub",
|
|
9
|
+
username: "sub",
|
|
10
|
+
email: "email",
|
|
11
|
+
given_name: "firstName",
|
|
12
|
+
family_name: "lastName",
|
|
13
|
+
...config.attributeMapping
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
export { getAppleIdpConfig };
|
|
18
17
|
|
|
19
18
|
//# sourceMappingURL=apple.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/core/cognitoIdentityProviders/apple.js","sources":["../../../../../src/pulumi/apps/core/cognitoIdentityProviders/apple.ts"],"sourcesContent":["import type * as pulumi from \"@pulumi/pulumi\";\nimport { type IdentityProviderArgs } from \"@pulumi/aws/cognito/index.js\";\nimport { type CognitoIdentityProviderConfig } from \"./configure.js\";\n\nexport const getAppleIdpConfig = (\n userPoolId: pulumi.Input<string>,\n config: CognitoIdentityProviderConfig\n): IdentityProviderArgs => {\n return {\n userPoolId,\n providerName: \"Apple\",\n providerType: \"SignInWithApple\",\n providerDetails: config.providerDetails,\n idpIdentifiers: config.idpIdentifiers,\n attributeMapping: {\n \"custom:id\": \"sub\",\n username: \"sub\",\n email: \"email\",\n given_name: \"firstName\",\n family_name: \"lastName\",\n ...config.attributeMapping\n }\n };\n};\n"],"names":["getAppleIdpConfig","userPoolId","config"],"mappings":"AAIO,MAAMA,oBAAoB,CAC7BC,YACAC,SAEO;QACHD;QACA,cAAc;QACd,cAAc;QACd,iBAAiBC,OAAO,eAAe;QACvC,gBAAgBA,OAAO,cAAc;QACrC,kBAAkB;YACd,aAAa;YACb,UAAU;YACV,OAAO;YACP,YAAY;YACZ,aAAa;YACb,GAAGA,OAAO,gBAAgB;QAC9B;IACJ"}
|
|
@@ -1,57 +1,51 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
|
-
import * as pulumi from "@pulumi/pulumi";
|
|
3
1
|
import { getIdpConfig } from "./getIdpConfig.js";
|
|
4
2
|
import { getEnvVariableAwsRegion } from "../../../env/awsRegion.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
domain: isString(config.domain) ? config.domain : config.domain.name,
|
|
20
|
-
certificateArn: isString(config.domain) ? undefined : config.domain.certificateArn,
|
|
21
|
-
userPoolId: userPool.output.id
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
app.addOutput("cognitoUserPoolDomain", pulumi.interpolate`${userPoolDomain.output.domain}.auth.${region}.amazoncognito.com`);
|
|
25
|
-
const idpConfigs = [];
|
|
26
|
-
for (const idp of config.identityProviders) {
|
|
27
|
-
const config = getIdpConfig(idp.type, userPool.output.id, idp);
|
|
28
|
-
|
|
29
|
-
// The idea to lowercase the provider name emerged while working on backwards compatibility issue.
|
|
30
|
-
// Basically, in cases where a user used the OIDC provider and did not specify a name, instead of
|
|
31
|
-
// using `OIDC` as the name, we wanted to ensure `oidc` is used. But, what I soon realized is that
|
|
32
|
-
// by simply lowercasing the name, we can avoid the need to check for the provider type and name.
|
|
33
|
-
// And although this will now happen for all providers, it's not a problem since Pulumi requires
|
|
34
|
-
// names to be all lowercase anyway.
|
|
35
|
-
const name = config.providerName.toString().toLowerCase();
|
|
36
|
-
app.addResource(aws.cognito.IdentityProvider, {
|
|
37
|
-
name,
|
|
38
|
-
config
|
|
3
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
4
|
+
import * as __rspack_external__pulumi_pulumi_d0276039 from "@pulumi/pulumi";
|
|
5
|
+
const isString = (value)=>"string" == typeof value;
|
|
6
|
+
const configureAdminCognitoFederation = (app, config)=>{
|
|
7
|
+
const region = getEnvVariableAwsRegion();
|
|
8
|
+
const userPool = app.resources.userPool;
|
|
9
|
+
const appClient = app.resources.userPoolClient;
|
|
10
|
+
const userPoolDomain = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cognito.UserPoolDomain, {
|
|
11
|
+
name: "cognitoUserPoolDomain",
|
|
12
|
+
config: {
|
|
13
|
+
domain: isString(config.domain) ? config.domain : config.domain.name,
|
|
14
|
+
certificateArn: isString(config.domain) ? void 0 : config.domain.certificateArn,
|
|
15
|
+
userPoolId: userPool.output.id
|
|
16
|
+
}
|
|
39
17
|
});
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
18
|
+
app.addOutput("cognitoUserPoolDomain", __rspack_external__pulumi_pulumi_d0276039.interpolate`${userPoolDomain.output.domain}.auth.${region}.amazoncognito.com`);
|
|
19
|
+
const idpConfigs = [];
|
|
20
|
+
for (const idp of config.identityProviders){
|
|
21
|
+
const config = getIdpConfig(idp.type, userPool.output.id, idp);
|
|
22
|
+
const name = config.providerName.toString().toLowerCase();
|
|
23
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.cognito.IdentityProvider, {
|
|
24
|
+
name,
|
|
25
|
+
config
|
|
26
|
+
});
|
|
27
|
+
idpConfigs.push(config);
|
|
47
28
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
29
|
+
appClient.config.supportedIdentityProviders([
|
|
30
|
+
"COGNITO",
|
|
31
|
+
...idpConfigs.map((config)=>{
|
|
32
|
+
if ("OIDC" === config.providerType) return config.providerName;
|
|
33
|
+
return config.providerType;
|
|
34
|
+
})
|
|
35
|
+
]);
|
|
36
|
+
appClient.config.allowedOauthScopes([
|
|
37
|
+
"profile",
|
|
38
|
+
"email",
|
|
39
|
+
"openid"
|
|
40
|
+
]);
|
|
41
|
+
appClient.config.allowedOauthFlows([
|
|
42
|
+
"implicit",
|
|
43
|
+
"code"
|
|
44
|
+
]);
|
|
45
|
+
appClient.config.allowedOauthFlowsUserPoolClient(true);
|
|
46
|
+
appClient.config.callbackUrls(config.callbackUrls);
|
|
47
|
+
appClient.config.logoutUrls(config.logoutUrls ?? config.callbackUrls);
|
|
55
48
|
};
|
|
49
|
+
export { configureAdminCognitoFederation };
|
|
56
50
|
|
|
57
51
|
//# sourceMappingURL=configure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/core/cognitoIdentityProviders/configure.js","sources":["../../../../../src/pulumi/apps/core/cognitoIdentityProviders/configure.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { type UserPoolDomainArgs } from \"@pulumi/aws/cognito/userPoolDomain.js\";\nimport { type IdentityProviderArgs } from \"@pulumi/aws/cognito/index.js\";\nimport * as pulumi from \"@pulumi/pulumi\";\nimport {\n type PulumiApp,\n type PulumiAppResource,\n type PulumiAppResourceConstructor\n} from \"@webiny/pulumi\";\nimport { getIdpConfig } from \"./getIdpConfig.js\";\nimport { getEnvVariableAwsRegion } from \"~/pulumi/env/awsRegion.js\";\n\nexport type IdentityAttributeMapping = {\n \"custom:id\": string;\n username: string;\n email: string;\n family_name: string;\n given_name: string;\n [key: string]: string;\n};\n\nexport interface CognitoIdentityProvidersConfig {\n domain:\n | string\n | {\n name: UserPoolDomainArgs[\"domain\"];\n certificateArn?: UserPoolDomainArgs[\"certificateArn\"];\n };\n identityProviders: CognitoIdentityProviderConfig[];\n callbackUrls: string[];\n logoutUrls?: string[];\n}\n\nexport interface CognitoIdentityProviderConfig {\n name?: string;\n type: \"google\" | \"facebook\" | \"amazon\" | \"apple\" | \"oidc\";\n providerDetails: IdentityProviderArgs[\"providerDetails\"];\n idpIdentifiers?: IdentityProviderArgs[\"idpIdentifiers\"];\n attributeMapping?: IdentityAttributeMapping;\n}\n\nconst isString = (value?: any): value is string => {\n return typeof value === \"string\";\n};\n\nexport const configureAdminCognitoFederation = (\n app: PulumiApp,\n config: CognitoIdentityProvidersConfig\n) => {\n const region = getEnvVariableAwsRegion();\n\n const userPool = app.resources.userPool as PulumiAppResource<\n PulumiAppResourceConstructor<aws.cognito.UserPool>\n >;\n\n const appClient = app.resources.userPoolClient as PulumiAppResource<\n PulumiAppResourceConstructor<aws.cognito.UserPoolClient>\n >;\n\n /**\n * We need to create a user pool domain, which is used to interact with the federated identity providers.\n */\n const userPoolDomain = app.addResource(aws.cognito.UserPoolDomain, {\n name: \"cognitoUserPoolDomain\",\n config: {\n domain: isString(config.domain) ? config.domain : config.domain.name,\n certificateArn: isString(config.domain) ? undefined : config.domain.certificateArn,\n userPoolId: userPool.output.id\n }\n });\n\n app.addOutput(\n \"cognitoUserPoolDomain\",\n pulumi.interpolate`${userPoolDomain.output.domain}.auth.${region}.amazoncognito.com`\n );\n\n const idpConfigs: aws.cognito.IdentityProviderArgs[] = [];\n\n for (const idp of config.identityProviders) {\n const config = getIdpConfig(idp.type, userPool.output.id, idp);\n\n // The idea to lowercase the provider name emerged while working on backwards compatibility issue.\n // Basically, in cases where a user used the OIDC provider and did not specify a name, instead of\n // using `OIDC` as the name, we wanted to ensure `oidc` is used. But, what I soon realized is that\n // by simply lowercasing the name, we can avoid the need to check for the provider type and name.\n // And although this will now happen for all providers, it's not a problem since Pulumi requires\n // names to be all lowercase anyway.\n const name = config.providerName.toString().toLowerCase();\n\n app.addResource(aws.cognito.IdentityProvider, { name, config });\n\n idpConfigs.push(config);\n }\n\n appClient.config.supportedIdentityProviders([\n \"COGNITO\",\n ...idpConfigs.map(config => {\n // For built-in identity providers, we use the type as the name. Only for OIDC,\n // we allow the user to provide a custom name, and we only use the type as a fallback.\n if (config.providerType === \"OIDC\") {\n return config.providerName;\n }\n return config.providerType;\n })\n ]);\n\n appClient.config.allowedOauthScopes([\"profile\", \"email\", \"openid\"]);\n appClient.config.allowedOauthFlows([\"implicit\", \"code\"]);\n appClient.config.allowedOauthFlowsUserPoolClient(true);\n appClient.config.callbackUrls(config.callbackUrls);\n appClient.config.logoutUrls(config.logoutUrls ?? config.callbackUrls);\n};\n"],"names":["isString","value","configureAdminCognitoFederation","app","config","region","getEnvVariableAwsRegion","userPool","appClient","userPoolDomain","aws","undefined","pulumi","idpConfigs","idp","getIdpConfig","name"],"mappings":";;;;AAyCA,MAAMA,WAAW,CAACC,QACP,AAAiB,YAAjB,OAAOA;AAGX,MAAMC,kCAAkC,CAC3CC,KACAC;IAEA,MAAMC,SAASC;IAEf,MAAMC,WAAWJ,IAAI,SAAS,CAAC,QAAQ;IAIvC,MAAMK,YAAYL,IAAI,SAAS,CAAC,cAAc;IAO9C,MAAMM,iBAAiBN,IAAI,WAAW,CAACO,uCAAAA,OAAAA,CAAAA,cAA0B,EAAE;QAC/D,MAAM;QACN,QAAQ;YACJ,QAAQV,SAASI,OAAO,MAAM,IAAIA,OAAO,MAAM,GAAGA,OAAO,MAAM,CAAC,IAAI;YACpE,gBAAgBJ,SAASI,OAAO,MAAM,IAAIO,SAAYP,OAAO,MAAM,CAAC,cAAc;YAClF,YAAYG,SAAS,MAAM,CAAC,EAAE;QAClC;IACJ;IAEAJ,IAAI,SAAS,CACT,yBACAS,0CAAAA,WAAkB,CAAC,EAAEH,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,EAAEJ,OAAO,kBAAkB,CAAC;IAGxF,MAAMQ,aAAiD,EAAE;IAEzD,KAAK,MAAMC,OAAOV,OAAO,iBAAiB,CAAE;QACxC,MAAMA,SAASW,aAAaD,IAAI,IAAI,EAAEP,SAAS,MAAM,CAAC,EAAE,EAAEO;QAQ1D,MAAME,OAAOZ,OAAO,YAAY,CAAC,QAAQ,GAAG,WAAW;QAEvDD,IAAI,WAAW,CAACO,uCAAAA,OAAAA,CAAAA,gBAA4B,EAAE;YAAEM;YAAMZ;QAAO;QAE7DS,WAAW,IAAI,CAACT;IACpB;IAEAI,UAAU,MAAM,CAAC,0BAA0B,CAAC;QACxC;WACGK,WAAW,GAAG,CAACT,CAAAA;YAGd,IAAIA,AAAwB,WAAxBA,OAAO,YAAY,EACnB,OAAOA,OAAO,YAAY;YAE9B,OAAOA,OAAO,YAAY;QAC9B;KACH;IAEDI,UAAU,MAAM,CAAC,kBAAkB,CAAC;QAAC;QAAW;QAAS;KAAS;IAClEA,UAAU,MAAM,CAAC,iBAAiB,CAAC;QAAC;QAAY;KAAO;IACvDA,UAAU,MAAM,CAAC,+BAA+B,CAAC;IACjDA,UAAU,MAAM,CAAC,YAAY,CAACJ,OAAO,YAAY;IACjDI,UAAU,MAAM,CAAC,UAAU,CAACJ,OAAO,UAAU,IAAIA,OAAO,YAAY;AACxE"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
};
|
|
1
|
+
const getFacebookIdpConfig = (userPoolId, config)=>({
|
|
2
|
+
userPoolId,
|
|
3
|
+
providerName: "Facebook",
|
|
4
|
+
providerType: "Facebook",
|
|
5
|
+
providerDetails: config.providerDetails,
|
|
6
|
+
idpIdentifiers: config.idpIdentifiers,
|
|
7
|
+
attributeMapping: {
|
|
8
|
+
"custom:id": "id",
|
|
9
|
+
username: "id",
|
|
10
|
+
email: "email",
|
|
11
|
+
given_name: "first_name",
|
|
12
|
+
family_name: "last_name",
|
|
13
|
+
...config.attributeMapping
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
export { getFacebookIdpConfig };
|
|
18
17
|
|
|
19
18
|
//# sourceMappingURL=facebook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/core/cognitoIdentityProviders/facebook.js","sources":["../../../../../src/pulumi/apps/core/cognitoIdentityProviders/facebook.ts"],"sourcesContent":["import type * as pulumi from \"@pulumi/pulumi\";\nimport { type CognitoIdentityProviderConfig } from \"./configure.js\";\nimport { type IdentityProviderArgs } from \"@pulumi/aws/cognito/index.js\";\n\nexport const getFacebookIdpConfig = (\n userPoolId: pulumi.Input<string>,\n config: CognitoIdentityProviderConfig\n): IdentityProviderArgs => {\n return {\n userPoolId,\n providerName: \"Facebook\",\n providerType: \"Facebook\",\n providerDetails: config.providerDetails,\n idpIdentifiers: config.idpIdentifiers,\n attributeMapping: {\n \"custom:id\": \"id\",\n username: \"id\",\n email: \"email\",\n given_name: \"first_name\",\n family_name: \"last_name\",\n ...config.attributeMapping\n }\n };\n};\n"],"names":["getFacebookIdpConfig","userPoolId","config"],"mappings":"AAIO,MAAMA,uBAAuB,CAChCC,YACAC,SAEO;QACHD;QACA,cAAc;QACd,cAAc;QACd,iBAAiBC,OAAO,eAAe;QACvC,gBAAgBA,OAAO,cAAc;QACrC,kBAAkB;YACd,aAAa;YACb,UAAU;YACV,OAAO;YACP,YAAY;YACZ,aAAa;YACb,GAAGA,OAAO,gBAAgB;QAC9B;IACJ"}
|
|
@@ -4,14 +4,13 @@ import { getAppleIdpConfig } from "./apple.js";
|
|
|
4
4
|
import { getAmazonIdpConfig } from "./amazon.js";
|
|
5
5
|
import { getOidcIdpConfig } from "./oidc.js";
|
|
6
6
|
const idpMap = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
export const getIdpConfig = (type, userPoolId, config) => {
|
|
14
|
-
return idpMap[type](userPoolId, config);
|
|
7
|
+
google: getGoogleIdpConfig,
|
|
8
|
+
facebook: getFacebookIdpConfig,
|
|
9
|
+
amazon: getAmazonIdpConfig,
|
|
10
|
+
apple: getAppleIdpConfig,
|
|
11
|
+
oidc: getOidcIdpConfig
|
|
15
12
|
};
|
|
13
|
+
const getIdpConfig = (type, userPoolId, config)=>idpMap[type](userPoolId, config);
|
|
14
|
+
export { getIdpConfig };
|
|
16
15
|
|
|
17
16
|
//# sourceMappingURL=getIdpConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js","sources":["../../../../../src/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.ts"],"sourcesContent":["import type * as pulumi from \"@pulumi/pulumi\";\nimport { type CognitoIdentityProviderConfig } from \"./configure.js\";\nimport { getGoogleIdpConfig } from \"./google.js\";\nimport { getFacebookIdpConfig } from \"./facebook.js\";\nimport { getAppleIdpConfig } from \"./apple.js\";\nimport { getAmazonIdpConfig } from \"./amazon.js\";\nimport { getOidcIdpConfig } from \"./oidc.js\";\n\nconst idpMap = {\n google: getGoogleIdpConfig,\n facebook: getFacebookIdpConfig,\n amazon: getAmazonIdpConfig,\n apple: getAppleIdpConfig,\n oidc: getOidcIdpConfig\n};\n\nexport const getIdpConfig = (\n type: CognitoIdentityProviderConfig[\"type\"],\n userPoolId: pulumi.Input<string>,\n config: CognitoIdentityProviderConfig\n) => {\n return idpMap[type](userPoolId, config);\n};\n"],"names":["idpMap","getGoogleIdpConfig","getFacebookIdpConfig","getAmazonIdpConfig","getAppleIdpConfig","getOidcIdpConfig","getIdpConfig","type","userPoolId","config"],"mappings":";;;;;AAQA,MAAMA,SAAS;IACX,QAAQC;IACR,UAAUC;IACV,QAAQC;IACR,OAAOC;IACP,MAAMC;AACV;AAEO,MAAMC,eAAe,CACxBC,MACAC,YACAC,SAEOT,MAAM,CAACO,KAAK,CAACC,YAAYC"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
};
|
|
1
|
+
const getGoogleIdpConfig = (userPoolId, config)=>({
|
|
2
|
+
userPoolId,
|
|
3
|
+
providerName: "Google",
|
|
4
|
+
providerType: "Google",
|
|
5
|
+
providerDetails: config.providerDetails,
|
|
6
|
+
idpIdentifiers: config.idpIdentifiers,
|
|
7
|
+
attributeMapping: {
|
|
8
|
+
"custom:id": "sub",
|
|
9
|
+
username: "sub",
|
|
10
|
+
email: "email",
|
|
11
|
+
given_name: "given_name",
|
|
12
|
+
family_name: "family_name",
|
|
13
|
+
...config.attributeMapping
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
export { getGoogleIdpConfig };
|
|
18
17
|
|
|
19
18
|
//# sourceMappingURL=google.js.map
|