@aws-amplify/graphql-model-transformer
Advanced tools
Comparing version 2.8.0-gen2-release.0 to 2.8.0-gen2-release-0410.0
@@ -6,2 +6,8 @@ # Change Log | ||
# [2.8.0-gen2-release-0410.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-model-transformer@2.8.0-gen2-release.0...@aws-amplify/graphql-model-transformer@2.8.0-gen2-release-0410.0) (2024-04-10) | ||
### Features | ||
- Fetch SNS topic ARN from SQL manifest ([#2345](https://github.com/aws-amplify/amplify-category-api/issues/2345)) ([fca256e](https://github.com/aws-amplify/amplify-category-api/commit/fca256e7cabf5af838b28b26c4ae0c3c8b1583eb)) | ||
# [2.8.0-gen2-release.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-model-transformer@2.7.1-gen2-release.0...@aws-amplify/graphql-model-transformer@2.8.0-gen2-release.0) (2024-04-03) | ||
@@ -8,0 +14,0 @@ |
import { CfnMapping } from 'aws-cdk-lib'; | ||
import { Expression } from 'graphql-mapping-template'; | ||
import { SQLLambdaResourceNames } from '@aws-amplify/graphql-transformer-core'; | ||
import { GraphQLAPIProvider, RDSLayerMapping, TransformerContextProvider, VpcConfig, ProvisionedConcurrencyConfig, SqlModelDataSourceDbConnectionConfig } from '@aws-amplify/graphql-transformer-interfaces'; | ||
import { GraphQLAPIProvider, RDSLayerMapping, TransformerContextProvider, VpcConfig, ProvisionedConcurrencyConfig, SqlModelDataSourceDbConnectionConfig, RDSSNSTopicMapping } from '@aws-amplify/graphql-transformer-interfaces'; | ||
import { IRole } from 'aws-cdk-lib/aws-iam'; | ||
@@ -16,2 +16,3 @@ import { IFunction } from 'aws-cdk-lib/aws-lambda'; | ||
export declare const setRDSLayerMappings: (scope: Construct, mapping: RDSLayerMapping, resourceNames: SQLLambdaResourceNames) => CfnMapping; | ||
export declare const setRDSSNSTopicMappings: (scope: Construct, mapping: RDSSNSTopicMapping, resourceNames: SQLLambdaResourceNames) => CfnMapping; | ||
export declare const createRdsLambda: (scope: Construct, apiGraphql: GraphQLAPIProvider, lambdaRole: IRole, layerVersionArn: string, resourceNames: SQLLambdaResourceNames, credentialStorageMethod: CredentialStorageMethod | undefined, environment?: { | ||
@@ -21,2 +22,3 @@ [key: string]: string; | ||
export declare const createLayerVersionCustomResource: (scope: Construct, resourceNames: SQLLambdaResourceNames) => AwsCustomResource; | ||
export declare const createSNSTopicARNCustomResource: (scope: Construct, resourceNames: SQLLambdaResourceNames) => AwsCustomResource; | ||
export declare const createRdsPatchingLambda: (scope: Construct, apiGraphql: GraphQLAPIProvider, lambdaRole: IRole, resourceNames: SQLLambdaResourceNames, environment?: { | ||
@@ -23,0 +25,0 @@ [key: string]: string; |
@@ -6,3 +6,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.constructAuthFilterStatement = exports.constructFieldMappingInput = exports.constructArrayFieldsStatement = exports.constructNonScalarFieldsStatement = exports.getArrayFields = exports.getNonScalarFields = exports.generateDefaultLambdaResponseMappingTemplate = exports.generateGetLambdaResponseTemplate = exports.generateLambdaRequestTemplate = exports.createRdsPatchingLambdaRole = exports.createRdsLambdaRole = exports.createRdsPatchingLambda = exports.createLayerVersionCustomResource = exports.createRdsLambda = exports.setRDSLayerMappings = exports.CredentialStorageMethod = void 0; | ||
exports.constructAuthFilterStatement = exports.constructFieldMappingInput = exports.constructArrayFieldsStatement = exports.constructNonScalarFieldsStatement = exports.getArrayFields = exports.getNonScalarFields = exports.generateDefaultLambdaResponseMappingTemplate = exports.generateGetLambdaResponseTemplate = exports.generateLambdaRequestTemplate = exports.createRdsPatchingLambdaRole = exports.createRdsLambdaRole = exports.createRdsPatchingLambda = exports.createSNSTopicARNCustomResource = exports.createLayerVersionCustomResource = exports.createRdsLambda = exports.setRDSSNSTopicMappings = exports.setRDSLayerMappings = exports.CredentialStorageMethod = void 0; | ||
const path_1 = __importDefault(require("path")); | ||
@@ -29,2 +29,6 @@ const aws_cdk_lib_1 = require("aws-cdk-lib"); | ||
exports.setRDSLayerMappings = setRDSLayerMappings; | ||
const setRDSSNSTopicMappings = (scope, mapping, resourceNames) => new aws_cdk_lib_1.CfnMapping(scope, resourceNames.sqlSNSTopicArnMapping, { | ||
mapping, | ||
}); | ||
exports.setRDSSNSTopicMappings = setRDSSNSTopicMappings; | ||
const createRdsLambda = (scope, apiGraphql, lambdaRole, layerVersionArn, resourceNames, credentialStorageMethod, environment, sqlLambdaVpcConfig, sqlLambdaProvisionedConcurrencyConfig) => { | ||
@@ -79,5 +83,5 @@ var _a, _b; | ||
const createLayerVersionCustomResource = (scope, resourceNames) => { | ||
const { SQLLayerVersionManifestBucket, SQLLayerVersionManifestBucketRegion, SQLLayerVersionManifestKeyPrefix } = graphql_transformer_common_1.ResourceConstants.RESOURCES; | ||
const { SQLLayerManifestBucket, SQLLayerManifestBucketRegion, SQLLayerVersionManifestKeyPrefix } = graphql_transformer_common_1.ResourceConstants.RESOURCES; | ||
const key = aws_cdk_lib_1.Fn.join('', [SQLLayerVersionManifestKeyPrefix, aws_cdk_lib_1.Fn.ref('AWS::Region')]); | ||
const manifestArn = `arn:aws:s3:::${SQLLayerVersionManifestBucket}/${key}`; | ||
const manifestArn = `arn:aws:s3:::${SQLLayerManifestBucket}/${key}`; | ||
const resourceName = resourceNames.sqlLayerVersionResolverCustomResource; | ||
@@ -89,5 +93,5 @@ const customResource = new custom_resources_1.AwsCustomResource(scope, resourceName, { | ||
action: 'getObject', | ||
region: SQLLayerVersionManifestBucketRegion, | ||
region: SQLLayerManifestBucketRegion, | ||
parameters: { | ||
Bucket: SQLLayerVersionManifestBucket, | ||
Bucket: SQLLayerManifestBucket, | ||
Key: key, | ||
@@ -104,2 +108,26 @@ }, | ||
exports.createLayerVersionCustomResource = createLayerVersionCustomResource; | ||
const createSNSTopicARNCustomResource = (scope, resourceNames) => { | ||
const { SQLLayerManifestBucket, SQLLayerManifestBucketRegion, SQLSNSTopicARNManifestKeyPrefix } = graphql_transformer_common_1.ResourceConstants.RESOURCES; | ||
const key = aws_cdk_lib_1.Fn.join('', [SQLSNSTopicARNManifestKeyPrefix, aws_cdk_lib_1.Fn.ref('AWS::Region')]); | ||
const manifestArn = `arn:aws:s3:::${SQLLayerManifestBucket}/${key}`; | ||
const resourceName = resourceNames.sqlSNSTopicARNResolverCustomResource; | ||
const customResource = new custom_resources_1.AwsCustomResource(scope, resourceName, { | ||
resourceType: 'Custom::SQLSNSTopicARNCustomResource', | ||
onUpdate: { | ||
service: 'S3', | ||
action: 'getObject', | ||
region: SQLLayerManifestBucketRegion, | ||
parameters: { | ||
Bucket: SQLLayerManifestBucket, | ||
Key: key, | ||
}, | ||
physicalResourceId: custom_resources_1.PhysicalResourceId.of(`${resourceName}-${Date.now().toString()}`), | ||
}, | ||
policy: custom_resources_1.AwsCustomResourcePolicy.fromSdkCalls({ | ||
resources: [manifestArn], | ||
}), | ||
}); | ||
return customResource; | ||
}; | ||
exports.createSNSTopicARNCustomResource = createSNSTopicARNCustomResource; | ||
const addVpcEndpoint = (scope, sqlLambdaVpcConfig, serviceSuffix, resourceNames) => { | ||
@@ -106,0 +134,0 @@ const serviceEndpointPrefix = 'com.amazonaws'; |
@@ -9,3 +9,2 @@ "use strict"; | ||
const graphql_transformer_interfaces_1 = require("@aws-amplify/graphql-transformer-interfaces"); | ||
const graphql_transformer_common_1 = require("graphql-transformer-common"); | ||
const resolvers_1 = require("../resolvers"); | ||
@@ -24,3 +23,2 @@ const rds_1 = require("../resolvers/rds"); | ||
const secretEntry = strategy.dbConnectionConfig; | ||
const { AmplifySQLLayerNotificationTopicAccount, AmplifySQLLayerNotificationTopicName } = graphql_transformer_common_1.ResourceConstants.RESOURCES; | ||
const lambdaRoleScope = context.stackManager.getScopeFor(resourceNames.sqlLambdaExecutionRole, resourceNames.sqlStack); | ||
@@ -63,10 +61,3 @@ const lambdaScope = context.stackManager.getScopeFor(resourceNames.sqlLambdaFunction, resourceNames.sqlStack); | ||
}); | ||
const topicArn = aws_cdk_lib_1.Fn.join(':', [ | ||
'arn', | ||
'aws', | ||
'sns', | ||
aws_cdk_lib_1.Fn.ref('AWS::Region'), | ||
AmplifySQLLayerNotificationTopicAccount, | ||
AmplifySQLLayerNotificationTopicName, | ||
]); | ||
const topicArn = resolveSNSTopicARN(lambdaScope, context, resourceNames); | ||
const patchingSubscriptionScope = context.stackManager.getScopeFor(resourceNames.sqlPatchingSubscription, resourceNames.sqlStack); | ||
@@ -168,2 +159,10 @@ const snsTopic = aws_sns_1.Topic.fromTopicArn(patchingSubscriptionScope, resourceNames.sqlPatchingTopic, topicArn); | ||
}; | ||
const resolveSNSTopicARN = (scope, context, resourceNames) => { | ||
if (context.rdsSnsTopicMapping) { | ||
(0, rds_1.setRDSSNSTopicMappings)(scope, context.rdsSnsTopicMapping, resourceNames); | ||
return aws_cdk_lib_1.Fn.findInMap(resourceNames.sqlSNSTopicArnMapping, aws_cdk_lib_1.Fn.ref('AWS::Region'), 'topicArn'); | ||
} | ||
const layerVersionCustomResource = (0, rds_1.createSNSTopicARNCustomResource)(scope, resourceNames); | ||
return layerVersionCustomResource.getResponseField('Body'); | ||
}; | ||
//# sourceMappingURL=rds-model-resource-generator.js.map |
{ | ||
"name": "@aws-amplify/graphql-model-transformer", | ||
"version": "2.8.0-gen2-release.0", | ||
"version": "2.8.0-gen2-release-0410.0", | ||
"description": "Amplify graphql @model transformer", | ||
@@ -36,7 +36,7 @@ "repository": { | ||
"@aws-amplify/graphql-directives": "1.1.0-gen2-release.0", | ||
"@aws-amplify/graphql-transformer-core": "2.5.2-gen2-release.1", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.6.0-gen2-release.0", | ||
"@aws-amplify/graphql-transformer-core": "2.6.0-gen2-release-0410.0", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.6.0-gen2-release-0410.0", | ||
"graphql": "^15.5.0", | ||
"graphql-mapping-template": "4.20.15", | ||
"graphql-transformer-common": "4.29.1-gen2-release.0" | ||
"graphql-transformer-common": "4.30.0-gen2-release-0410.0" | ||
}, | ||
@@ -48,3 +48,3 @@ "peerDependencies": { | ||
"devDependencies": { | ||
"@aws-amplify/graphql-transformer-test-utils": "0.4.8-gen2-release.1", | ||
"@aws-amplify/graphql-transformer-test-utils": "0.5.0-gen2-release-0410.0", | ||
"@aws-sdk/client-dynamodb": "^3.431.0", | ||
@@ -91,3 +91,3 @@ "@types/aws-lambda": "8.10.119", | ||
}, | ||
"gitHead": "990369ef2ef303d9abaea74f5c8c24e745af3461" | ||
"gitHead": "b261989e733e47807af4a92c7f9a26be5e36d6ee" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
4766
50173532
+ Added@aws-amplify/graphql-transformer-core@2.6.0-gen2-release-0410.0(transitive)
+ Added@aws-amplify/graphql-transformer-interfaces@3.6.0-gen2-release-0410.0(transitive)
+ Addedgraphql-transformer-common@4.30.0-gen2-release-0410.0(transitive)
- Removed@aws-amplify/graphql-transformer-core@2.5.2-gen2-release.1(transitive)
- Removed@aws-amplify/graphql-transformer-interfaces@3.6.0-gen2-release.0(transitive)
- Removedgraphql-transformer-common@4.29.1-gen2-release.0(transitive)
Updated@aws-amplify/graphql-transformer-core@2.6.0-gen2-release-0410.0
Updated@aws-amplify/graphql-transformer-interfaces@3.6.0-gen2-release-0410.0
Updatedgraphql-transformer-common@4.30.0-gen2-release-0410.0