@aws-solutions-constructs/aws-apigateway-sagemakerendpoint 2.45.0 → 2.46.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/.jsii +5 -5
- package/lib/index.js +1 -1
- package/package.json +5 -5
- package/test/{integ.additional-request-templates.expected.json → integ.apisag-additional-request-templates.expected.json} +14 -14
- package/test/integ.apisag-additional-request-templates.js +45 -0
- package/test/{integ.apigateway-sagemakerendpoint-overwrite.expected.json → integ.apisag-apigateway-sagemakerendpoint-overwrite.expected.json} +14 -14
- package/test/integ.apisag-apigateway-sagemakerendpoint-overwrite.js +67 -0
- package/test/{integ.no-overwrite.expected.json → integ.apisag-no-overwrite.expected.json} +14 -14
- package/test/integ.apisag-no-overwrite.js +42 -0
- package/test/integ.additional-request-templates.js +0 -45
- package/test/integ.apigateway-sagemakerendpoint-overwrite.js +0 -67
- package/test/integ.no-overwrite.js +0 -42
- /package/test/{integ.additional-request-templates.d.ts → integ.apisag-additional-request-templates.d.ts} +0 -0
- /package/test/{integ.apigateway-sagemakerendpoint-overwrite.d.ts → integ.apisag-apigateway-sagemakerendpoint-overwrite.d.ts} +0 -0
- /package/test/{integ.no-overwrite.d.ts → integ.apisag-no-overwrite.d.ts} +0 -0
package/.jsii
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aws-solutions-constructs/core": "2.
|
|
12
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"@aws-solutions-constructs/core": "2.46.0",
|
|
12
|
+
"aws-cdk-lib": "^2.105.0",
|
|
13
13
|
"constructs": "^10.0.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencyClosure": {
|
|
@@ -3579,7 +3579,7 @@
|
|
|
3579
3579
|
},
|
|
3580
3580
|
"description": "CDK Constructs for AWS API Gateway and Amazon SageMaker Endpoint integration.",
|
|
3581
3581
|
"homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
|
|
3582
|
-
"jsiiVersion": "1.
|
|
3582
|
+
"jsiiVersion": "1.91.0 (build 1b1f239)",
|
|
3583
3583
|
"keywords": [
|
|
3584
3584
|
"aws",
|
|
3585
3585
|
"cdk",
|
|
@@ -3912,6 +3912,6 @@
|
|
|
3912
3912
|
"symbolId": "lib/index:ApiGatewayToSageMakerEndpointProps"
|
|
3913
3913
|
}
|
|
3914
3914
|
},
|
|
3915
|
-
"version": "2.
|
|
3916
|
-
"fingerprint": "
|
|
3915
|
+
"version": "2.46.0",
|
|
3916
|
+
"fingerprint": "3Xblt+C13P+8O4/EVe+Zj2REvJ7P+heAWar7AXpy7lc="
|
|
3917
3917
|
}
|
package/lib/index.js
CHANGED
|
@@ -112,5 +112,5 @@ class ApiGatewayToSageMakerEndpoint extends constructs_1.Construct {
|
|
|
112
112
|
}
|
|
113
113
|
exports.ApiGatewayToSageMakerEndpoint = ApiGatewayToSageMakerEndpoint;
|
|
114
114
|
_a = JSII_RTTI_SYMBOL_1;
|
|
115
|
-
ApiGatewayToSageMakerEndpoint[_a] = { fqn: "@aws-solutions-constructs/aws-apigateway-sagemakerendpoint.ApiGatewayToSageMakerEndpoint", version: "2.
|
|
115
|
+
ApiGatewayToSageMakerEndpoint[_a] = { fqn: "@aws-solutions-constructs/aws-apigateway-sagemakerendpoint.ApiGatewayToSageMakerEndpoint", version: "2.46.0" };
|
|
116
116
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsVUFBVTtBQUNWLDJDQUF1QztBQUV2QywyQ0FBMkM7QUFDM0MsMkRBQTJEO0FBQzNELDZDQUFrQztBQWlFbEM7O0dBRUc7QUFDSCxNQUFhLDZCQUE4QixTQUFRLHNCQUFTO0lBTTFEOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlDO1FBQ2pGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsNkZBQTZGO1FBRTdGLHdCQUF3QjtRQUN4QixNQUFNLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDO1FBQzVDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixHQUFJLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztRQUUxRCw2QkFBNkI7UUFDN0IsSUFBSSxLQUFLLENBQUMsdUJBQXVCLEtBQUssU0FBUyxFQUFFO1lBQy9DLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixDQUFDO1NBQ3JEO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQzNELFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQzthQUNoRSxDQUFDLENBQUM7WUFFSCw4Q0FBOEM7WUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtnQkFDaEUsVUFBVSxFQUFFO29CQUNWLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQzt3QkFDdEIsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7d0JBQ3JDLFNBQVMsRUFBRSxDQUFDLE9BQU8saUJBQUcsQ0FBQyxTQUFTLGNBQWMsaUJBQUcsQ0FBQyxNQUFNLElBQUksaUJBQUcsQ0FBQyxVQUFVLGFBQWEsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO3FCQUM3RyxDQUFDO2lCQUNIO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDaEQ7UUFFRCwyQkFBMkI7UUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFO1lBQ2hGLG9CQUFvQixFQUFFLHlCQUF5QjtZQUUvQyx3RUFBd0U7WUFDeEUsMkNBQTJDO1lBQzNDLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1oseUJBQXlCLEVBQUUsSUFBSTtTQUNoQyxDQUFDLENBQUM7UUFFSCx5Q0FBeUM7UUFDekMsTUFBTSxlQUFlLEdBQXlCO1lBQzVDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTtZQUNyQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUU7WUFDckIsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFO1NBQ3RCLENBQUM7UUFFRixNQUFNLGNBQWMsR0FBOEIsRUFBRSxDQUFDO1FBQ3JELElBQUksS0FBSyxDQUFDLHVCQUF1QixLQUFLLFNBQVMsRUFBRTtZQUMvQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUNsQixVQUFVLEVBQUUsS0FBSztnQkFDakIsaUJBQWlCLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsdUJBQXVCLEVBQUU7YUFDekUsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUVELGNBQWMsQ0FBQyxJQUFJLENBQ2pCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsRUFDbEQsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxDQUNuRCxDQUFDO1FBRUYsNkhBQTZIO1FBQzdILHVGQUF1RjtRQUN2RiwrRUFBK0U7UUFDL0UsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNwQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFMUQsMkJBQTJCO1FBQzNCLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQztZQUNuQyxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLElBQUksRUFBRSxhQUFhLEtBQUssQ0FBQyxZQUFZLGNBQWM7WUFDbkQsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsZUFBZSxFQUFFLEtBQUssQ0FBQyxzQkFBc0I7WUFDN0MsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtZQUM1RCxtQkFBbUIsRUFBRTtnQkFDbkIsT0FBTyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFO2FBQ2xEO1lBQ0QsYUFBYSxFQUFFLEVBQUUsZUFBZSxFQUFFO1NBQ25DLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEdILHNFQXVHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUgcHJvcGVydGllcyBmb3IgdGhlIEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50UHJvcHMgY2xhc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyLXByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQVBJIEdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR2F0ZXdheVByb3BzPzogYXBpLlJlc3RBcGlQcm9wcyxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIElBTSByb2xlIHRoYXQgaXMgdXNlZCBieSBBUEkgR2F0ZXdheSB0byBpbnZva2UgdGhlIFNhZ2VNYWtlciBlbmRwb2ludC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbiBJQU0gcm9sZSB3aXRoIHNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludCBhY2Nlc3MgdG8gYGVuZHBvaW50TmFtZWAgaXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFwaUdhdGV3YXlFeGVjdXRpb25Sb2xlPzogaWFtLlJvbGUsXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBkZXBsb3llZCBTYWdlTWFrZXIgaW5mZXJlbmNlIGVuZHBvaW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmUuXG4gICAqL1xuICByZWFkb25seSBlbmRwb2ludE5hbWU6IHN0cmluZyxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHJlc291cmNlIG5hbWUgd2hlcmUgdGhlIEdFVCBtZXRob2Qgd2lsbCBiZSBhdmFpbGFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlTmFtZT86IHN0cmluZyxcbiAgLyoqXG4gICAqIFJlc291cmNlIHBhdGggZm9yIHRoZSBHRVQgbWV0aG9kLiBUaGUgdmFyaWFibGUgZGVmaW5lZCBoZXJlIGNhbiBiZSByZWZlcmVuY2VkIGluIGByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VQYXRoOiBzdHJpbmcsXG4gIC8qKlxuICAgKiBNYXBwaW5nIHRlbXBsYXRlIHRvIGNvbnZlcnQgR0VUIHJlcXVlc3RzIGZvciB0aGUgZGVmYXVsdCBgYXBwbGljYXRpb24vanNvbmAgY29udGVudC10eXBlIHJlY2VpdmVkXG4gICAqIG9uIHRoZSBSRVNUIEFQSSB0byBQT1NUIHJlcXVlc3RzIGV4cGVjdGVkIGJ5IHRoZSBTYWdlTWFrZXIgZW5kcG9pbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU6IHN0cmluZyxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIFJlcXVlc3QgVGVtcGxhdGVzIGZvciBjb250ZW50LXR5cGVzIG90aGVyIHRoYW4gYGFwcGxpY2F0aW9uL2pzb25gLlxuICAgKiBVc2UgdGhlIGByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlYCBwcm9wZXJ0eSB0byBzZXQgdGhlIHJlcXVlc3QgdGVtcGxhdGUgZm9yIHRoZSBgYXBwbGljYXRpb24vanNvbmAgY29udGVudC10eXBlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxSZXF1ZXN0VGVtcGxhdGVzPzogeyBbY29udGVudFR5cGU6IHN0cmluZ106IHN0cmluZzsgfTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1hcHBpbmcgdGVtcGxhdGUgdG8gY29udmVydCByZXNwb25zZXMgcmVjZWl2ZWQgZnJvbSB0aGUgU2FnZU1ha2VyIGVuZHBvaW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmUuXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IHN0cmluZyxcbiAgLyoqXG4gICAqIFVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBDbG91ZFdhdGNoTG9ncyBMb2dHcm91cC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cFByb3BzPzogbG9ncy5Mb2dHcm91cFByb3BzXG59XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50IGNsYXNzLlxuICovXG5leHBvcnQgY2xhc3MgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR2F0ZXdheTogYXBpLlJlc3RBcGk7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5Um9sZTogaWFtLlJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5Q2xvdWRXYXRjaFJvbGU/OiBpYW0uUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXlMb2dHcm91cDogbG9ncy5Mb2dHcm91cDtcblxuICAvKipcbiAgICogQHN1bW1hcnkgQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQgY2xhc3MuXG4gICAqIEBwYXJhbSB7Y2RrLkFwcH0gc2NvcGUgLSByZXByZXNlbnRzIHRoZSBzY29wZSBmb3IgYWxsIHRoZSByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIHRoaXMgaXMgYSBhIHNjb3BlLXVuaXF1ZSBpZC5cbiAgICogQHBhcmFtIHtBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludFByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3QuXG4gICAqIEBzaW5jZSAxLjY4LjBcbiAgICogQGFjY2VzcyBwdWJsaWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBDaGVja1NhZ2VtYWtlclByb3BzIGlzIG5vdCBjYWxsZWQgYmVjYXVzZSB0aGlzIGNvbnN0cnVjdCBjYW4ndCBjcmVhdGUgYSBTYWdlbWFrZXIgcmVzb3VyY2VcblxuICAgIC8vIFNldHVwIHRoZSBBUEkgR2F0ZXdheVxuICAgIGNvbnN0IGdsb2JhbFJlc3RBcGlSZXNwb25zZSA9IGRlZmF1bHRzLkdsb2JhbFJlc3RBcGkodGhpcywgcHJvcHMuYXBpR2F0ZXdheVByb3BzLCBwcm9wcy5sb2dHcm91cFByb3BzKTtcbiAgICB0aGlzLmFwaUdhdGV3YXkgPSBnbG9iYWxSZXN0QXBpUmVzcG9uc2UuYXBpO1xuICAgIHRoaXMuYXBpR2F0ZXdheUNsb3VkV2F0Y2hSb2xlID0gZ2xvYmFsUmVzdEFwaVJlc3BvbnNlLnJvbGU7XG4gICAgdGhpcy5hcGlHYXRld2F5TG9nR3JvdXAgPSAgZ2xvYmFsUmVzdEFwaVJlc3BvbnNlLmxvZ0dyb3VwO1xuXG4gICAgLy8gU2V0dXAgdGhlIEFQSSBHYXRld2F5IHJvbGVcbiAgICBpZiAocHJvcHMuYXBpR2F0ZXdheUV4ZWN1dGlvblJvbGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hcGlHYXRld2F5Um9sZSA9IHByb3BzLmFwaUdhdGV3YXlFeGVjdXRpb25Sb2xlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFwaUdhdGV3YXlSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdhcGktZ2F0ZXdheS1yb2xlJywge1xuICAgICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnYXBpZ2F0ZXdheS5hbWF6b25hd3MuY29tJylcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTZXR1cCB0aGUgSUFNIHBvbGljeSBmb3IgU2FnZU1ha2VyIGVuZHBvaW50XG4gICAgICBjb25zdCBpbnZva2VQb2xpY3kgPSBuZXcgaWFtLlBvbGljeSh0aGlzLCAnSW52b2tlRW5kcG9pbnRQb2xpY3knLCB7XG4gICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbJ3NhZ2VtYWtlcjpJbnZva2VFbmRwb2ludCddLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke0F3cy5QQVJUSVRJT059OnNhZ2VtYWtlcjoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmVuZHBvaW50LyR7cHJvcHMuZW5kcG9pbnROYW1lfWBdXG4gICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgICAgfSk7XG5cbiAgICAgIGludm9rZVBvbGljeS5hdHRhY2hUb1JvbGUodGhpcy5hcGlHYXRld2F5Um9sZSk7XG4gICAgfVxuXG4gICAgLy8gU2V0dXAgcmVxdWVzdCB2YWxpZGF0aW9uXG4gICAgY29uc3QgcmVxdWVzdFZhbGlkYXRvciA9IHRoaXMuYXBpR2F0ZXdheS5hZGRSZXF1ZXN0VmFsaWRhdG9yKCdyZXF1ZXN0LXZhbGlkYXRvcicsIHtcbiAgICAgIHJlcXVlc3RWYWxpZGF0b3JOYW1lOiAncmVxdWVzdC1wYXJhbS12YWxpZGF0b3InLFxuXG4gICAgICAvLyBTZXR0aW5nIHRoaXMgcHJvcGVydHkgdG8gdHJ1ZSBtYWtlcyBzdXJlIHRoZSBmb2xsb3dpbmcgYXJlIHZhbGlkYXRlZDpcbiAgICAgIC8vIC0gUmVxdWlyZWQgcmVxdWVzdCBwYXJhbWV0ZXJzIGluIHRoZSBVUklcbiAgICAgIC8vIC0gUXVlcnkgc3RyaW5nXG4gICAgICAvLyAtIEhlYWRlcnNcbiAgICAgIHZhbGlkYXRlUmVxdWVzdFBhcmFtZXRlcnM6IHRydWVcbiAgICB9KTtcblxuICAgIC8vIFNldHVwIG1ldGhvZCBhbmQgaW50ZWdyYXRpb24gcmVzcG9uc2VzXG4gICAgY29uc3QgbWV0aG9kUmVzcG9uc2VzOiBhcGkuTWV0aG9kUmVzcG9uc2VbXSA9IFtcbiAgICAgIHsgc3RhdHVzQ29kZTogJzIwMCcgfSxcbiAgICAgIHsgc3RhdHVzQ29kZTogJzUwMCcgfSxcbiAgICAgIHsgc3RhdHVzQ29kZTogJzQwMCcgfVxuICAgIF07XG5cbiAgICBjb25zdCBpbnRlZ1Jlc3BvbnNlczogYXBpLkludGVncmF0aW9uUmVzcG9uc2VbXSA9IFtdO1xuICAgIGlmIChwcm9wcy5yZXNwb25zZU1hcHBpbmdUZW1wbGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnRlZ1Jlc3BvbnNlcy5wdXNoKHtcbiAgICAgICAgc3RhdHVzQ29kZTogJzIwMCcsXG4gICAgICAgIHJlc3BvbnNlVGVtcGxhdGVzOiB7ICdhcHBsaWNhdGlvbi9qc29uJzogcHJvcHMucmVzcG9uc2VNYXBwaW5nVGVtcGxhdGUgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGludGVnUmVzcG9uc2VzLnB1c2goeyBzdGF0dXNDb2RlOiAnMjAwJyB9KTtcbiAgICB9XG5cbiAgICBpbnRlZ1Jlc3BvbnNlcy5wdXNoKFxuICAgICAgeyBzdGF0dXNDb2RlOiAnNTAwJywgc2VsZWN0aW9uUGF0dGVybjogJzVcXFxcZHsyfScgfSxcbiAgICAgIHsgc3RhdHVzQ29kZTogJzQwMCcsIHNlbGVjdGlvblBhdHRlcm46ICc0XFxcXGR7Mn0nIH1cbiAgICApO1xuXG4gICAgLy8gVGhlIFNhZ2VNYWtlciBpbnRlZ3JhdGlvbiBjYW4gYmUgYWRkZWQgZWl0aGVyIGF0IHRoZSByb290IG9mIHRoZSBBUEkgKEdFVCBodHRwczovL2V4ZWN1dGUtYXBpLmFtYXpvbmF3cy5jb20ve3NvbWUtcGFyYW19KSxcbiAgICAvLyBvciBhcyBhIHN1Yi1yZXNvdXJjZSAoR0VUIGh0dHBzOi8vZXhlY3V0ZS1hcGkuYW1hem9uYXdzLmNvbS9pbmZlcmVuY2Uve3NvbWUtcGFyYW19KS5cbiAgICAvLyBUaGUgZm9sbG93aW5nIGxpbmVzIHdpbGwgbWFrZSBzdXJlIG9ubHkgdGhlIG5lY2Vzc2FyeSByZXNvdXJjZXMgYXJlIGNyZWF0ZWQuXG4gICAgbGV0IGFwaVJlc291cmNlID0gdGhpcy5hcGlHYXRld2F5LnJvb3Q7XG4gICAgaWYgKHByb3BzLnJlc291cmNlTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcGlSZXNvdXJjZSA9IGFwaVJlc291cmNlLmFkZFJlc291cmNlKHByb3BzLnJlc291cmNlTmFtZSk7XG4gICAgfVxuICAgIGFwaVJlc291cmNlID0gYXBpUmVzb3VyY2UuYWRkUmVzb3VyY2UocHJvcHMucmVzb3VyY2VQYXRoKTtcblxuICAgIC8vIFNldHVwIEFQSSBHYXRld2F5IG1ldGhvZFxuICAgIGRlZmF1bHRzLmFkZFByb3h5TWV0aG9kVG9BcGlSZXNvdXJjZSh7XG4gICAgICBzZXJ2aWNlOiAncnVudGltZS5zYWdlbWFrZXInLFxuICAgICAgcGF0aDogYGVuZHBvaW50cy8ke3Byb3BzLmVuZHBvaW50TmFtZX0vaW52b2NhdGlvbnNgLFxuICAgICAgYXBpR2F0ZXdheVJvbGU6IHRoaXMuYXBpR2F0ZXdheVJvbGUsXG4gICAgICBhcGlNZXRob2Q6ICdHRVQnLFxuICAgICAgYXBpUmVzb3VyY2UsXG4gICAgICByZXF1ZXN0VmFsaWRhdG9yLFxuICAgICAgcmVxdWVzdFRlbXBsYXRlOiBwcm9wcy5yZXF1ZXN0TWFwcGluZ1RlbXBsYXRlLFxuICAgICAgYWRkaXRpb25hbFJlcXVlc3RUZW1wbGF0ZXM6IHByb3BzLmFkZGl0aW9uYWxSZXF1ZXN0VGVtcGxhdGVzLFxuICAgICAgYXdzSW50ZWdyYXRpb25Qcm9wczoge1xuICAgICAgICBvcHRpb25zOiB7IGludGVncmF0aW9uUmVzcG9uc2VzOiBpbnRlZ1Jlc3BvbnNlcyB9XG4gICAgICB9LFxuICAgICAgbWV0aG9kT3B0aW9uczogeyBtZXRob2RSZXNwb25zZXMgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/aws-apigateway-sagemakerendpoint",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.46.0",
|
|
4
4
|
"description": "CDK Constructs for AWS API Gateway and Amazon SageMaker Endpoint integration.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-solutions-constructs/core": "2.
|
|
56
|
+
"@aws-solutions-constructs/core": "2.46.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/jest": "^27.4.0",
|
|
60
60
|
"@types/node": "^10.3.0",
|
|
61
|
-
"aws-cdk-lib": "2.
|
|
61
|
+
"aws-cdk-lib": "2.105.0",
|
|
62
62
|
"constructs": "^10.0.0"
|
|
63
63
|
},
|
|
64
64
|
"jest": {
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
]
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
79
|
-
"@aws-solutions-constructs/core": "2.
|
|
80
|
-
"aws-cdk-lib": "^2.
|
|
79
|
+
"@aws-solutions-constructs/core": "2.46.0",
|
|
80
|
+
"aws-cdk-lib": "^2.105.0",
|
|
81
81
|
"constructs": "^10.0.0"
|
|
82
82
|
},
|
|
83
83
|
"keywords": [
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
"testapigatewaysagemakerendpointdefaultRestApiDeployment04BFEB63ab5dc870083af2a47a41af0f4ee69fff": {
|
|
35
35
|
"Type": "AWS::ApiGateway::Deployment",
|
|
36
36
|
"Properties": {
|
|
37
|
+
"Description": "Automatically created by the RestApi construct",
|
|
37
38
|
"RestApiId": {
|
|
38
39
|
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
39
|
-
}
|
|
40
|
-
"Description": "Automatically created by the RestApi construct"
|
|
40
|
+
}
|
|
41
41
|
},
|
|
42
42
|
"DependsOn": [
|
|
43
43
|
"testapigatewaysagemakerendpointdefaultRestApiuseridGETB3BB79AA",
|
|
@@ -58,9 +58,6 @@
|
|
|
58
58
|
"testapigatewaysagemakerendpointdefaultRestApiDeploymentStageprodFD1743A7": {
|
|
59
59
|
"Type": "AWS::ApiGateway::Stage",
|
|
60
60
|
"Properties": {
|
|
61
|
-
"RestApiId": {
|
|
62
|
-
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
63
|
-
},
|
|
64
61
|
"AccessLogSetting": {
|
|
65
62
|
"DestinationArn": {
|
|
66
63
|
"Fn::GetAtt": [
|
|
@@ -81,6 +78,9 @@
|
|
|
81
78
|
"ResourcePath": "/*"
|
|
82
79
|
}
|
|
83
80
|
],
|
|
81
|
+
"RestApiId": {
|
|
82
|
+
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
83
|
+
},
|
|
84
84
|
"StageName": "prod",
|
|
85
85
|
"TracingEnabled": true
|
|
86
86
|
}
|
|
@@ -103,14 +103,8 @@
|
|
|
103
103
|
"testapigatewaysagemakerendpointdefaultRestApiuseridGETB3BB79AA": {
|
|
104
104
|
"Type": "AWS::ApiGateway::Method",
|
|
105
105
|
"Properties": {
|
|
106
|
-
"HttpMethod": "GET",
|
|
107
|
-
"ResourceId": {
|
|
108
|
-
"Ref": "testapigatewaysagemakerendpointdefaultRestApiuserid9952BA11"
|
|
109
|
-
},
|
|
110
|
-
"RestApiId": {
|
|
111
|
-
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
112
|
-
},
|
|
113
106
|
"AuthorizationType": "AWS_IAM",
|
|
107
|
+
"HttpMethod": "GET",
|
|
114
108
|
"Integration": {
|
|
115
109
|
"Credentials": {
|
|
116
110
|
"Fn::GetAtt": [
|
|
@@ -171,6 +165,12 @@
|
|
|
171
165
|
],
|
|
172
166
|
"RequestValidatorId": {
|
|
173
167
|
"Ref": "testapigatewaysagemakerendpointdefaultRestApirequestvalidator1A23C251"
|
|
168
|
+
},
|
|
169
|
+
"ResourceId": {
|
|
170
|
+
"Ref": "testapigatewaysagemakerendpointdefaultRestApiuserid9952BA11"
|
|
171
|
+
},
|
|
172
|
+
"RestApiId": {
|
|
173
|
+
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
},
|
|
@@ -193,10 +193,10 @@
|
|
|
193
193
|
"testapigatewaysagemakerendpointdefaultRestApirequestvalidator1A23C251": {
|
|
194
194
|
"Type": "AWS::ApiGateway::RequestValidator",
|
|
195
195
|
"Properties": {
|
|
196
|
+
"Name": "request-param-validator",
|
|
196
197
|
"RestApiId": {
|
|
197
198
|
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
198
199
|
},
|
|
199
|
-
"Name": "request-param-validator",
|
|
200
200
|
"ValidateRequestParameters": true
|
|
201
201
|
}
|
|
202
202
|
},
|
|
@@ -393,4 +393,4 @@
|
|
|
393
393
|
]
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
|
-
}
|
|
396
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
// Imports
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const lib_1 = require("../lib");
|
|
18
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
+
// Setup
|
|
20
|
+
const app = new aws_cdk_lib_1.App();
|
|
21
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
22
|
+
stack.templateOptions.description = 'Integration Test for aws-apigateway-sagemakerendpoint';
|
|
23
|
+
// Definitions
|
|
24
|
+
const requestTemplate = `{
|
|
25
|
+
"instances": [
|
|
26
|
+
#set( $user_id = $input.params("user_id") )
|
|
27
|
+
#set( $items = $input.params("items") )
|
|
28
|
+
#foreach( $item in $items.split(",") )
|
|
29
|
+
{"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
|
|
30
|
+
$esc.newline
|
|
31
|
+
#end
|
|
32
|
+
]
|
|
33
|
+
}`;
|
|
34
|
+
const props = {
|
|
35
|
+
endpointName: 'my-endpoint',
|
|
36
|
+
resourcePath: '{user_id}',
|
|
37
|
+
requestMappingTemplate: requestTemplate,
|
|
38
|
+
additionalRequestTemplates: {
|
|
39
|
+
'text/plain': requestTemplate
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
new lib_1.ApiGatewayToSageMakerEndpoint(stack, 'test-apigateway-sagemakerendpoint-default', props);
|
|
43
|
+
// Synth
|
|
44
|
+
app.synth();
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXBpc2FnLWFkZGl0aW9uYWwtcmVxdWVzdC10ZW1wbGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5hcGlzYWctYWRkaXRpb25hbC1yZXF1ZXN0LXRlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsVUFBVTtBQUNWLDZDQUF5QztBQUN6QyxnQ0FBMkY7QUFDM0YseURBQXdFO0FBRXhFLFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsdURBQXVELENBQUM7QUFFNUYsY0FBYztBQUNkLE1BQU0sZUFBZSxHQUNyQjs7Ozs7Ozs7O0VBU0UsQ0FBQztBQUVILE1BQU0sS0FBSyxHQUF1QztJQUNoRCxZQUFZLEVBQUUsYUFBYTtJQUMzQixZQUFZLEVBQUUsV0FBVztJQUN6QixzQkFBc0IsRUFBRSxlQUFlO0lBQ3ZDLDBCQUEwQixFQUFFO1FBQzFCLFlBQVksRUFBRSxlQUFlO0tBQzlCO0NBQ0YsQ0FBQztBQUVGLElBQUksbUNBQTZCLENBQUMsS0FBSyxFQUFFLDJDQUEyQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTdGLFFBQVE7QUFDUixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQsIEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50UHJvcHMgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5cbi8vIFNldHVwXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuc3RhY2sudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uID0gJ0ludGVncmF0aW9uIFRlc3QgZm9yIGF3cy1hcGlnYXRld2F5LXNhZ2VtYWtlcmVuZHBvaW50JztcblxuLy8gRGVmaW5pdGlvbnNcbmNvbnN0IHJlcXVlc3RUZW1wbGF0ZSA9XG5ge1xuICAgIFwiaW5zdGFuY2VzXCI6IFtcbiNzZXQoICR1c2VyX2lkID0gJGlucHV0LnBhcmFtcyhcInVzZXJfaWRcIikgKVxuI3NldCggJGl0ZW1zID0gJGlucHV0LnBhcmFtcyhcIml0ZW1zXCIpIClcbiNmb3JlYWNoKCAkaXRlbSBpbiAkaXRlbXMuc3BsaXQoXCIsXCIpIClcbiAgICB7XCJpbjBcIjogWyR1c2VyX2lkXSwgXCJpbjFcIjogWyRpdGVtXX0jaWYoICRmb3JlYWNoLmhhc05leHQgKSwjZW5kXG4gICAgJGVzYy5uZXdsaW5lXG4jZW5kXG4gICAgXVxufWA7XG5cbmNvbnN0IHByb3BzOiBBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludFByb3BzID0ge1xuICBlbmRwb2ludE5hbWU6ICdteS1lbmRwb2ludCcsXG4gIHJlc291cmNlUGF0aDogJ3t1c2VyX2lkfScsXG4gIHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU6IHJlcXVlc3RUZW1wbGF0ZSxcbiAgYWRkaXRpb25hbFJlcXVlc3RUZW1wbGF0ZXM6IHtcbiAgICAndGV4dC9wbGFpbic6IHJlcXVlc3RUZW1wbGF0ZVxuICB9XG59O1xuXG5uZXcgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQoc3RhY2ssICd0ZXN0LWFwaWdhdGV3YXktc2FnZW1ha2VyZW5kcG9pbnQtZGVmYXVsdCcsIHByb3BzKTtcblxuLy8gU3ludGhcbmFwcC5zeW50aCgpO1xuIl19
|
|
@@ -86,10 +86,10 @@
|
|
|
86
86
|
"testapigatewaysagemakerendpointoverwriteRestApiDeployment3B3B03364a19f99c87430d39385b3313a65df211": {
|
|
87
87
|
"Type": "AWS::ApiGateway::Deployment",
|
|
88
88
|
"Properties": {
|
|
89
|
+
"Description": "Automatically created by the RestApi construct",
|
|
89
90
|
"RestApiId": {
|
|
90
91
|
"Ref": "testapigatewaysagemakerendpointoverwriteRestApi0EE22754"
|
|
91
|
-
}
|
|
92
|
-
"Description": "Automatically created by the RestApi construct"
|
|
92
|
+
}
|
|
93
93
|
},
|
|
94
94
|
"DependsOn": [
|
|
95
95
|
"testapigatewaysagemakerendpointoverwriteRestApipredictedratingsuseridGET06B35696",
|
|
@@ -111,9 +111,6 @@
|
|
|
111
111
|
"testapigatewaysagemakerendpointoverwriteRestApiDeploymentStageprod39A2035F": {
|
|
112
112
|
"Type": "AWS::ApiGateway::Stage",
|
|
113
113
|
"Properties": {
|
|
114
|
-
"RestApiId": {
|
|
115
|
-
"Ref": "testapigatewaysagemakerendpointoverwriteRestApi0EE22754"
|
|
116
|
-
},
|
|
117
114
|
"AccessLogSetting": {
|
|
118
115
|
"DestinationArn": {
|
|
119
116
|
"Fn::GetAtt": [
|
|
@@ -134,6 +131,9 @@
|
|
|
134
131
|
"ResourcePath": "/*"
|
|
135
132
|
}
|
|
136
133
|
],
|
|
134
|
+
"RestApiId": {
|
|
135
|
+
"Ref": "testapigatewaysagemakerendpointoverwriteRestApi0EE22754"
|
|
136
|
+
},
|
|
137
137
|
"StageName": "prod",
|
|
138
138
|
"TracingEnabled": true
|
|
139
139
|
}
|
|
@@ -168,14 +168,8 @@
|
|
|
168
168
|
"testapigatewaysagemakerendpointoverwriteRestApipredictedratingsuseridGET06B35696": {
|
|
169
169
|
"Type": "AWS::ApiGateway::Method",
|
|
170
170
|
"Properties": {
|
|
171
|
-
"HttpMethod": "GET",
|
|
172
|
-
"ResourceId": {
|
|
173
|
-
"Ref": "testapigatewaysagemakerendpointoverwriteRestApipredictedratingsuseridB999A556"
|
|
174
|
-
},
|
|
175
|
-
"RestApiId": {
|
|
176
|
-
"Ref": "testapigatewaysagemakerendpointoverwriteRestApi0EE22754"
|
|
177
|
-
},
|
|
178
171
|
"AuthorizationType": "AWS_IAM",
|
|
172
|
+
"HttpMethod": "GET",
|
|
179
173
|
"Integration": {
|
|
180
174
|
"Credentials": {
|
|
181
175
|
"Fn::GetAtt": [
|
|
@@ -238,6 +232,12 @@
|
|
|
238
232
|
],
|
|
239
233
|
"RequestValidatorId": {
|
|
240
234
|
"Ref": "testapigatewaysagemakerendpointoverwriteRestApirequestvalidatorFA90CC69"
|
|
235
|
+
},
|
|
236
|
+
"ResourceId": {
|
|
237
|
+
"Ref": "testapigatewaysagemakerendpointoverwriteRestApipredictedratingsuseridB999A556"
|
|
238
|
+
},
|
|
239
|
+
"RestApiId": {
|
|
240
|
+
"Ref": "testapigatewaysagemakerendpointoverwriteRestApi0EE22754"
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
},
|
|
@@ -260,10 +260,10 @@
|
|
|
260
260
|
"testapigatewaysagemakerendpointoverwriteRestApirequestvalidatorFA90CC69": {
|
|
261
261
|
"Type": "AWS::ApiGateway::RequestValidator",
|
|
262
262
|
"Properties": {
|
|
263
|
+
"Name": "request-param-validator",
|
|
263
264
|
"RestApiId": {
|
|
264
265
|
"Ref": "testapigatewaysagemakerendpointoverwriteRestApi0EE22754"
|
|
265
266
|
},
|
|
266
|
-
"Name": "request-param-validator",
|
|
267
267
|
"ValidateRequestParameters": true
|
|
268
268
|
}
|
|
269
269
|
},
|
|
@@ -403,4 +403,4 @@
|
|
|
403
403
|
]
|
|
404
404
|
}
|
|
405
405
|
}
|
|
406
|
-
}
|
|
406
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
// Imports
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const lib_1 = require("../lib");
|
|
18
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
19
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
20
|
+
// Setup
|
|
21
|
+
const app = new aws_cdk_lib_1.App();
|
|
22
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
23
|
+
stack.templateOptions.description = 'Integration Test for aws-apigateway-sagemakerendpoint';
|
|
24
|
+
const existingRole = new iam.Role(stack, 'api-gateway-role', {
|
|
25
|
+
assumedBy: new iam.ServicePrincipal('apigateway.amazonaws.com'),
|
|
26
|
+
description: 'existing role for SageMaker integration',
|
|
27
|
+
inlinePolicies: {
|
|
28
|
+
InvokePolicy: new iam.PolicyDocument({
|
|
29
|
+
statements: [new iam.PolicyStatement({
|
|
30
|
+
resources: [`arn:${aws_cdk_lib_1.Aws.PARTITION}:sagemaker:${aws_cdk_lib_1.Aws.REGION}:${aws_cdk_lib_1.Aws.ACCOUNT_ID}:endpoint/my-endpoint`],
|
|
31
|
+
actions: ['sagemaker:InvokeEndpoint']
|
|
32
|
+
})]
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
// Definitions
|
|
37
|
+
const requestTemplate = `{
|
|
38
|
+
"instances": [
|
|
39
|
+
#set( $user_id = $input.params("user_id") )
|
|
40
|
+
#set( $items = $input.params("items") )
|
|
41
|
+
#foreach( $item in $items.split(",") )
|
|
42
|
+
{"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
|
|
43
|
+
$esc.newline
|
|
44
|
+
#end
|
|
45
|
+
]
|
|
46
|
+
}`;
|
|
47
|
+
const responseTemplate = `{
|
|
48
|
+
"ratings": [
|
|
49
|
+
#set( $predictions = $input.path("$.predictions") )
|
|
50
|
+
#foreach( $item in $predictions )
|
|
51
|
+
$item.scores[0]#if( $foreach.hasNext ),#end
|
|
52
|
+
$esc.newline
|
|
53
|
+
#end
|
|
54
|
+
]
|
|
55
|
+
}`;
|
|
56
|
+
const props = {
|
|
57
|
+
endpointName: 'my-endpoint',
|
|
58
|
+
resourcePath: '{user_id}',
|
|
59
|
+
resourceName: 'predicted-ratings',
|
|
60
|
+
requestMappingTemplate: requestTemplate,
|
|
61
|
+
responseMappingTemplate: responseTemplate,
|
|
62
|
+
apiGatewayExecutionRole: existingRole
|
|
63
|
+
};
|
|
64
|
+
new lib_1.ApiGatewayToSageMakerEndpoint(stack, 'test-apigateway-sagemakerendpoint-overwrite', props);
|
|
65
|
+
// Synth
|
|
66
|
+
app.synth();
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXBpc2FnLWFwaWdhdGV3YXktc2FnZW1ha2VyZW5kcG9pbnQtb3ZlcndyaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcuYXBpc2FnLWFwaWdhdGV3YXktc2FnZW1ha2VyZW5kcG9pbnQtb3ZlcndyaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQThDO0FBQzlDLGdDQUEyRjtBQUMzRiwyQ0FBMkM7QUFDM0MseURBQXdFO0FBRXhFLFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsdURBQXVELENBQUM7QUFFNUYsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtJQUMzRCxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUM7SUFDL0QsV0FBVyxFQUFFLHlDQUF5QztJQUN0RCxjQUFjLEVBQUU7UUFDZCxZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQ25DLFVBQVUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztvQkFDbkMsU0FBUyxFQUFFLENBQUMsT0FBTyxpQkFBRyxDQUFDLFNBQVMsY0FBYyxpQkFBRyxDQUFDLE1BQU0sSUFBSSxpQkFBRyxDQUFDLFVBQVUsdUJBQXVCLENBQUM7b0JBQ2xHLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN0QyxDQUFDLENBQUM7U0FDSixDQUFDO0tBQ0g7Q0FDRixDQUFDLENBQUM7QUFFSCxjQUFjO0FBQ2QsTUFBTSxlQUFlLEdBQ3JCOzs7Ozs7Ozs7RUFTRSxDQUFDO0FBRUgsTUFBTSxnQkFBZ0IsR0FDdEI7Ozs7Ozs7O0VBUUUsQ0FBQztBQUVILE1BQU0sS0FBSyxHQUF1QztJQUNoRCxZQUFZLEVBQUUsYUFBYTtJQUMzQixZQUFZLEVBQUUsV0FBVztJQUN6QixZQUFZLEVBQUUsbUJBQW1CO0lBQ2pDLHNCQUFzQixFQUFFLGVBQWU7SUFDdkMsdUJBQXVCLEVBQUUsZ0JBQWdCO0lBQ3pDLHVCQUF1QixFQUFFLFlBQVk7Q0FDdEMsQ0FBQztBQUVGLElBQUksbUNBQTZCLENBQUMsS0FBSyxFQUFFLDZDQUE2QyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRS9GLFFBQVE7QUFDUixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBBcHAsIFN0YWNrLCBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludCwgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnRQcm9wcyB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5zdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSAnSW50ZWdyYXRpb24gVGVzdCBmb3IgYXdzLWFwaWdhdGV3YXktc2FnZW1ha2VyZW5kcG9pbnQnO1xuXG5jb25zdCBleGlzdGluZ1JvbGUgPSBuZXcgaWFtLlJvbGUoc3RhY2ssICdhcGktZ2F0ZXdheS1yb2xlJywge1xuICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnYXBpZ2F0ZXdheS5hbWF6b25hd3MuY29tJyksXG4gIGRlc2NyaXB0aW9uOiAnZXhpc3Rpbmcgcm9sZSBmb3IgU2FnZU1ha2VyIGludGVncmF0aW9uJyxcbiAgaW5saW5lUG9saWNpZXM6IHtcbiAgICBJbnZva2VQb2xpY3k6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgc3RhdGVtZW50czogW25ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke0F3cy5QQVJUSVRJT059OnNhZ2VtYWtlcjoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmVuZHBvaW50L215LWVuZHBvaW50YF0sXG4gICAgICAgIGFjdGlvbnM6IFsnc2FnZW1ha2VyOkludm9rZUVuZHBvaW50J11cbiAgICAgIH0pXVxuICAgIH0pXG4gIH1cbn0pO1xuXG4vLyBEZWZpbml0aW9uc1xuY29uc3QgcmVxdWVzdFRlbXBsYXRlID1cbmB7XG4gICAgXCJpbnN0YW5jZXNcIjogW1xuI3NldCggJHVzZXJfaWQgPSAkaW5wdXQucGFyYW1zKFwidXNlcl9pZFwiKSApXG4jc2V0KCAkaXRlbXMgPSAkaW5wdXQucGFyYW1zKFwiaXRlbXNcIikgKVxuI2ZvcmVhY2goICRpdGVtIGluICRpdGVtcy5zcGxpdChcIixcIikgKVxuICAgIHtcImluMFwiOiBbJHVzZXJfaWRdLCBcImluMVwiOiBbJGl0ZW1dfSNpZiggJGZvcmVhY2guaGFzTmV4dCApLCNlbmRcbiAgICAkZXNjLm5ld2xpbmVcbiNlbmRcbiAgICBdXG59YDtcblxuY29uc3QgcmVzcG9uc2VUZW1wbGF0ZSA9XG5ge1xuICAgIFwicmF0aW5nc1wiOiBbXG4jc2V0KCAkcHJlZGljdGlvbnMgPSAkaW5wdXQucGF0aChcIiQucHJlZGljdGlvbnNcIikgKVxuI2ZvcmVhY2goICRpdGVtIGluICRwcmVkaWN0aW9ucyApXG4gICAgJGl0ZW0uc2NvcmVzWzBdI2lmKCAkZm9yZWFjaC5oYXNOZXh0ICksI2VuZFxuICAgICRlc2MubmV3bGluZVxuI2VuZFxuICAgIF1cbn1gO1xuXG5jb25zdCBwcm9wczogQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnRQcm9wcyA9IHtcbiAgZW5kcG9pbnROYW1lOiAnbXktZW5kcG9pbnQnLFxuICByZXNvdXJjZVBhdGg6ICd7dXNlcl9pZH0nLFxuICByZXNvdXJjZU5hbWU6ICdwcmVkaWN0ZWQtcmF0aW5ncycsXG4gIHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU6IHJlcXVlc3RUZW1wbGF0ZSxcbiAgcmVzcG9uc2VNYXBwaW5nVGVtcGxhdGU6IHJlc3BvbnNlVGVtcGxhdGUsXG4gIGFwaUdhdGV3YXlFeGVjdXRpb25Sb2xlOiBleGlzdGluZ1JvbGVcbn07XG5cbm5ldyBBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludChzdGFjaywgJ3Rlc3QtYXBpZ2F0ZXdheS1zYWdlbWFrZXJlbmRwb2ludC1vdmVyd3JpdGUnLCBwcm9wcyk7XG5cbi8vIFN5bnRoXG5hcHAuc3ludGgoKTtcbiJdfQ==
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
"testapigatewaysagemakerendpointdefaultRestApiDeployment04BFEB63b4264c277dbe6aa60ff584ba21d5d060": {
|
|
35
35
|
"Type": "AWS::ApiGateway::Deployment",
|
|
36
36
|
"Properties": {
|
|
37
|
+
"Description": "Automatically created by the RestApi construct",
|
|
37
38
|
"RestApiId": {
|
|
38
39
|
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
39
|
-
}
|
|
40
|
-
"Description": "Automatically created by the RestApi construct"
|
|
40
|
+
}
|
|
41
41
|
},
|
|
42
42
|
"DependsOn": [
|
|
43
43
|
"testapigatewaysagemakerendpointdefaultRestApiuseridGETB3BB79AA",
|
|
@@ -58,9 +58,6 @@
|
|
|
58
58
|
"testapigatewaysagemakerendpointdefaultRestApiDeploymentStageprodFD1743A7": {
|
|
59
59
|
"Type": "AWS::ApiGateway::Stage",
|
|
60
60
|
"Properties": {
|
|
61
|
-
"RestApiId": {
|
|
62
|
-
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
63
|
-
},
|
|
64
61
|
"AccessLogSetting": {
|
|
65
62
|
"DestinationArn": {
|
|
66
63
|
"Fn::GetAtt": [
|
|
@@ -81,6 +78,9 @@
|
|
|
81
78
|
"ResourcePath": "/*"
|
|
82
79
|
}
|
|
83
80
|
],
|
|
81
|
+
"RestApiId": {
|
|
82
|
+
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
83
|
+
},
|
|
84
84
|
"StageName": "prod",
|
|
85
85
|
"TracingEnabled": true
|
|
86
86
|
}
|
|
@@ -103,14 +103,8 @@
|
|
|
103
103
|
"testapigatewaysagemakerendpointdefaultRestApiuseridGETB3BB79AA": {
|
|
104
104
|
"Type": "AWS::ApiGateway::Method",
|
|
105
105
|
"Properties": {
|
|
106
|
-
"HttpMethod": "GET",
|
|
107
|
-
"ResourceId": {
|
|
108
|
-
"Ref": "testapigatewaysagemakerendpointdefaultRestApiuserid9952BA11"
|
|
109
|
-
},
|
|
110
|
-
"RestApiId": {
|
|
111
|
-
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
112
|
-
},
|
|
113
106
|
"AuthorizationType": "AWS_IAM",
|
|
107
|
+
"HttpMethod": "GET",
|
|
114
108
|
"Integration": {
|
|
115
109
|
"Credentials": {
|
|
116
110
|
"Fn::GetAtt": [
|
|
@@ -170,6 +164,12 @@
|
|
|
170
164
|
],
|
|
171
165
|
"RequestValidatorId": {
|
|
172
166
|
"Ref": "testapigatewaysagemakerendpointdefaultRestApirequestvalidator1A23C251"
|
|
167
|
+
},
|
|
168
|
+
"ResourceId": {
|
|
169
|
+
"Ref": "testapigatewaysagemakerendpointdefaultRestApiuserid9952BA11"
|
|
170
|
+
},
|
|
171
|
+
"RestApiId": {
|
|
172
|
+
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
},
|
|
@@ -192,10 +192,10 @@
|
|
|
192
192
|
"testapigatewaysagemakerendpointdefaultRestApirequestvalidator1A23C251": {
|
|
193
193
|
"Type": "AWS::ApiGateway::RequestValidator",
|
|
194
194
|
"Properties": {
|
|
195
|
+
"Name": "request-param-validator",
|
|
195
196
|
"RestApiId": {
|
|
196
197
|
"Ref": "testapigatewaysagemakerendpointdefaultRestApi7D1DA11B"
|
|
197
198
|
},
|
|
198
|
-
"Name": "request-param-validator",
|
|
199
199
|
"ValidateRequestParameters": true
|
|
200
200
|
}
|
|
201
201
|
},
|
|
@@ -392,4 +392,4 @@
|
|
|
392
392
|
]
|
|
393
393
|
}
|
|
394
394
|
}
|
|
395
|
-
}
|
|
395
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
// Imports
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const lib_1 = require("../lib");
|
|
18
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
+
// Setup
|
|
20
|
+
const app = new aws_cdk_lib_1.App();
|
|
21
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
22
|
+
stack.templateOptions.description = 'Integration Test for aws-apigateway-sagemakerendpoint';
|
|
23
|
+
// Definitions
|
|
24
|
+
const requestTemplate = `{
|
|
25
|
+
"instances": [
|
|
26
|
+
#set( $user_id = $input.params("user_id") )
|
|
27
|
+
#set( $items = $input.params("items") )
|
|
28
|
+
#foreach( $item in $items.split(",") )
|
|
29
|
+
{"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
|
|
30
|
+
$esc.newline
|
|
31
|
+
#end
|
|
32
|
+
]
|
|
33
|
+
}`;
|
|
34
|
+
const props = {
|
|
35
|
+
endpointName: 'my-endpoint',
|
|
36
|
+
resourcePath: '{user_id}',
|
|
37
|
+
requestMappingTemplate: requestTemplate
|
|
38
|
+
};
|
|
39
|
+
new lib_1.ApiGatewayToSageMakerEndpoint(stack, 'test-apigateway-sagemakerendpoint-default', props);
|
|
40
|
+
// Synth
|
|
41
|
+
app.synth();
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXBpc2FnLW5vLW92ZXJ3cml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLmFwaXNhZy1uby1vdmVyd3JpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDViw2Q0FBeUM7QUFDekMsZ0NBQTJGO0FBQzNGLHlEQUF3RTtBQUV4RSxRQUFRO0FBQ1IsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxDQUFDLEdBQUcsRUFBRSw2QkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLHVEQUF1RCxDQUFDO0FBRTVGLGNBQWM7QUFDZCxNQUFNLGVBQWUsR0FDckI7Ozs7Ozs7OztFQVNFLENBQUM7QUFFSCxNQUFNLEtBQUssR0FBdUM7SUFDaEQsWUFBWSxFQUFFLGFBQWE7SUFDM0IsWUFBWSxFQUFFLFdBQVc7SUFDekIsc0JBQXNCLEVBQUUsZUFBZTtDQUN4QyxDQUFDO0FBRUYsSUFBSSxtQ0FBNkIsQ0FBQyxLQUFLLEVBQUUsMkNBQTJDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFN0YsUUFBUTtBQUNSLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IEFwcCwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludCwgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnRQcm9wcyB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5zdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSAnSW50ZWdyYXRpb24gVGVzdCBmb3IgYXdzLWFwaWdhdGV3YXktc2FnZW1ha2VyZW5kcG9pbnQnO1xuXG4vLyBEZWZpbml0aW9uc1xuY29uc3QgcmVxdWVzdFRlbXBsYXRlID1cbmB7XG4gICAgXCJpbnN0YW5jZXNcIjogW1xuI3NldCggJHVzZXJfaWQgPSAkaW5wdXQucGFyYW1zKFwidXNlcl9pZFwiKSApXG4jc2V0KCAkaXRlbXMgPSAkaW5wdXQucGFyYW1zKFwiaXRlbXNcIikgKVxuI2ZvcmVhY2goICRpdGVtIGluICRpdGVtcy5zcGxpdChcIixcIikgKVxuICAgIHtcImluMFwiOiBbJHVzZXJfaWRdLCBcImluMVwiOiBbJGl0ZW1dfSNpZiggJGZvcmVhY2guaGFzTmV4dCApLCNlbmRcbiAgICAkZXNjLm5ld2xpbmVcbiNlbmRcbiAgICBdXG59YDtcblxuY29uc3QgcHJvcHM6IEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50UHJvcHMgPSB7XG4gIGVuZHBvaW50TmFtZTogJ215LWVuZHBvaW50JyxcbiAgcmVzb3VyY2VQYXRoOiAne3VzZXJfaWR9JyxcbiAgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZTogcmVxdWVzdFRlbXBsYXRlXG59O1xuXG5uZXcgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQoc3RhY2ssICd0ZXN0LWFwaWdhdGV3YXktc2FnZW1ha2VyZW5kcG9pbnQtZGVmYXVsdCcsIHByb3BzKTtcblxuLy8gU3ludGhcbmFwcC5zeW50aCgpO1xuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
-
* with the License. A copy of the License is located at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
-
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
-
* and limitations under the License.
|
|
13
|
-
*/
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
// Imports
|
|
16
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
-
const lib_1 = require("../lib");
|
|
18
|
-
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
-
// Setup
|
|
20
|
-
const app = new aws_cdk_lib_1.App();
|
|
21
|
-
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
22
|
-
stack.templateOptions.description = 'Integration Test for aws-apigateway-sagemakerendpoint';
|
|
23
|
-
// Definitions
|
|
24
|
-
const requestTemplate = `{
|
|
25
|
-
"instances": [
|
|
26
|
-
#set( $user_id = $input.params("user_id") )
|
|
27
|
-
#set( $items = $input.params("items") )
|
|
28
|
-
#foreach( $item in $items.split(",") )
|
|
29
|
-
{"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
|
|
30
|
-
$esc.newline
|
|
31
|
-
#end
|
|
32
|
-
]
|
|
33
|
-
}`;
|
|
34
|
-
const props = {
|
|
35
|
-
endpointName: 'my-endpoint',
|
|
36
|
-
resourcePath: '{user_id}',
|
|
37
|
-
requestMappingTemplate: requestTemplate,
|
|
38
|
-
additionalRequestTemplates: {
|
|
39
|
-
'text/plain': requestTemplate
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
new lib_1.ApiGatewayToSageMakerEndpoint(stack, 'test-apigateway-sagemakerendpoint-default', props);
|
|
43
|
-
// Synth
|
|
44
|
-
app.synth();
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYWRkaXRpb25hbC1yZXF1ZXN0LXRlbXBsYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLmFkZGl0aW9uYWwtcmVxdWVzdC10ZW1wbGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDViw2Q0FBeUM7QUFDekMsZ0NBQTJGO0FBQzNGLHlEQUF3RTtBQUV4RSxRQUFRO0FBQ1IsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxDQUFDLEdBQUcsRUFBRSw2QkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLHVEQUF1RCxDQUFDO0FBRTVGLGNBQWM7QUFDZCxNQUFNLGVBQWUsR0FDckI7Ozs7Ozs7OztFQVNFLENBQUM7QUFFSCxNQUFNLEtBQUssR0FBdUM7SUFDaEQsWUFBWSxFQUFFLGFBQWE7SUFDM0IsWUFBWSxFQUFFLFdBQVc7SUFDekIsc0JBQXNCLEVBQUUsZUFBZTtJQUN2QywwQkFBMEIsRUFBRTtRQUMxQixZQUFZLEVBQUUsZUFBZTtLQUM5QjtDQUNGLENBQUM7QUFFRixJQUFJLG1DQUE2QixDQUFDLEtBQUssRUFBRSwyQ0FBMkMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUU3RixRQUFRO0FBQ1IsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0IHsgQXBwLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50LCBBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludFByb3BzIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IGdlbmVyYXRlSW50ZWdTdGFja05hbWUgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuXG4vLyBTZXR1cFxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCBnZW5lcmF0ZUludGVnU3RhY2tOYW1lKF9fZmlsZW5hbWUpKTtcbnN0YWNrLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9ICdJbnRlZ3JhdGlvbiBUZXN0IGZvciBhd3MtYXBpZ2F0ZXdheS1zYWdlbWFrZXJlbmRwb2ludCc7XG5cbi8vIERlZmluaXRpb25zXG5jb25zdCByZXF1ZXN0VGVtcGxhdGUgPVxuYHtcbiAgICBcImluc3RhbmNlc1wiOiBbXG4jc2V0KCAkdXNlcl9pZCA9ICRpbnB1dC5wYXJhbXMoXCJ1c2VyX2lkXCIpIClcbiNzZXQoICRpdGVtcyA9ICRpbnB1dC5wYXJhbXMoXCJpdGVtc1wiKSApXG4jZm9yZWFjaCggJGl0ZW0gaW4gJGl0ZW1zLnNwbGl0KFwiLFwiKSApXG4gICAge1wiaW4wXCI6IFskdXNlcl9pZF0sIFwiaW4xXCI6IFskaXRlbV19I2lmKCAkZm9yZWFjaC5oYXNOZXh0ICksI2VuZFxuICAgICRlc2MubmV3bGluZVxuI2VuZFxuICAgIF1cbn1gO1xuXG5jb25zdCBwcm9wczogQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnRQcm9wcyA9IHtcbiAgZW5kcG9pbnROYW1lOiAnbXktZW5kcG9pbnQnLFxuICByZXNvdXJjZVBhdGg6ICd7dXNlcl9pZH0nLFxuICByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlOiByZXF1ZXN0VGVtcGxhdGUsXG4gIGFkZGl0aW9uYWxSZXF1ZXN0VGVtcGxhdGVzOiB7XG4gICAgJ3RleHQvcGxhaW4nOiByZXF1ZXN0VGVtcGxhdGVcbiAgfVxufTtcblxubmV3IEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50KHN0YWNrLCAndGVzdC1hcGlnYXRld2F5LXNhZ2VtYWtlcmVuZHBvaW50LWRlZmF1bHQnLCBwcm9wcyk7XG5cbi8vIFN5bnRoXG5hcHAuc3ludGgoKTtcbiJdfQ==
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
-
* with the License. A copy of the License is located at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
-
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
-
* and limitations under the License.
|
|
13
|
-
*/
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
// Imports
|
|
16
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
-
const lib_1 = require("../lib");
|
|
18
|
-
const iam = require("aws-cdk-lib/aws-iam");
|
|
19
|
-
const core_1 = require("@aws-solutions-constructs/core");
|
|
20
|
-
// Setup
|
|
21
|
-
const app = new aws_cdk_lib_1.App();
|
|
22
|
-
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
23
|
-
stack.templateOptions.description = 'Integration Test for aws-apigateway-sagemakerendpoint';
|
|
24
|
-
const existingRole = new iam.Role(stack, 'api-gateway-role', {
|
|
25
|
-
assumedBy: new iam.ServicePrincipal('apigateway.amazonaws.com'),
|
|
26
|
-
description: 'existing role for SageMaker integration',
|
|
27
|
-
inlinePolicies: {
|
|
28
|
-
InvokePolicy: new iam.PolicyDocument({
|
|
29
|
-
statements: [new iam.PolicyStatement({
|
|
30
|
-
resources: [`arn:${aws_cdk_lib_1.Aws.PARTITION}:sagemaker:${aws_cdk_lib_1.Aws.REGION}:${aws_cdk_lib_1.Aws.ACCOUNT_ID}:endpoint/my-endpoint`],
|
|
31
|
-
actions: ['sagemaker:InvokeEndpoint']
|
|
32
|
-
})]
|
|
33
|
-
})
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
// Definitions
|
|
37
|
-
const requestTemplate = `{
|
|
38
|
-
"instances": [
|
|
39
|
-
#set( $user_id = $input.params("user_id") )
|
|
40
|
-
#set( $items = $input.params("items") )
|
|
41
|
-
#foreach( $item in $items.split(",") )
|
|
42
|
-
{"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
|
|
43
|
-
$esc.newline
|
|
44
|
-
#end
|
|
45
|
-
]
|
|
46
|
-
}`;
|
|
47
|
-
const responseTemplate = `{
|
|
48
|
-
"ratings": [
|
|
49
|
-
#set( $predictions = $input.path("$.predictions") )
|
|
50
|
-
#foreach( $item in $predictions )
|
|
51
|
-
$item.scores[0]#if( $foreach.hasNext ),#end
|
|
52
|
-
$esc.newline
|
|
53
|
-
#end
|
|
54
|
-
]
|
|
55
|
-
}`;
|
|
56
|
-
const props = {
|
|
57
|
-
endpointName: 'my-endpoint',
|
|
58
|
-
resourcePath: '{user_id}',
|
|
59
|
-
resourceName: 'predicted-ratings',
|
|
60
|
-
requestMappingTemplate: requestTemplate,
|
|
61
|
-
responseMappingTemplate: responseTemplate,
|
|
62
|
-
apiGatewayExecutionRole: existingRole
|
|
63
|
-
};
|
|
64
|
-
new lib_1.ApiGatewayToSageMakerEndpoint(stack, 'test-apigateway-sagemakerendpoint-overwrite', props);
|
|
65
|
-
// Synth
|
|
66
|
-
app.synth();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXBpZ2F0ZXdheS1zYWdlbWFrZXJlbmRwb2ludC1vdmVyd3JpdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5hcGlnYXRld2F5LXNhZ2VtYWtlcmVuZHBvaW50LW92ZXJ3cml0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsVUFBVTtBQUNWLDZDQUE4QztBQUM5QyxnQ0FBMkY7QUFDM0YsMkNBQTJDO0FBQzNDLHlEQUF3RTtBQUV4RSxRQUFRO0FBQ1IsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxDQUFDLEdBQUcsRUFBRSw2QkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLHVEQUF1RCxDQUFDO0FBRTVGLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7SUFDM0QsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO0lBQy9ELFdBQVcsRUFBRSx5Q0FBeUM7SUFDdEQsY0FBYyxFQUFFO1FBQ2QsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUNuQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLE9BQU8saUJBQUcsQ0FBQyxTQUFTLGNBQWMsaUJBQUcsQ0FBQyxNQUFNLElBQUksaUJBQUcsQ0FBQyxVQUFVLHVCQUF1QixDQUFDO29CQUNsRyxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDdEMsQ0FBQyxDQUFDO1NBQ0osQ0FBQztLQUNIO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsY0FBYztBQUNkLE1BQU0sZUFBZSxHQUNyQjs7Ozs7Ozs7O0VBU0UsQ0FBQztBQUVILE1BQU0sZ0JBQWdCLEdBQ3RCOzs7Ozs7OztFQVFFLENBQUM7QUFFSCxNQUFNLEtBQUssR0FBdUM7SUFDaEQsWUFBWSxFQUFFLGFBQWE7SUFDM0IsWUFBWSxFQUFFLFdBQVc7SUFDekIsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxzQkFBc0IsRUFBRSxlQUFlO0lBQ3ZDLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6Qyx1QkFBdUIsRUFBRSxZQUFZO0NBQ3RDLENBQUM7QUFFRixJQUFJLG1DQUE2QixDQUFDLEtBQUssRUFBRSw2Q0FBNkMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUUvRixRQUFRO0FBQ1IsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0IHsgQXBwLCBTdGFjaywgQXdzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQsIEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50UHJvcHMgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5cbi8vIFNldHVwXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuc3RhY2sudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uID0gJ0ludGVncmF0aW9uIFRlc3QgZm9yIGF3cy1hcGlnYXRld2F5LXNhZ2VtYWtlcmVuZHBvaW50JztcblxuY29uc3QgZXhpc3RpbmdSb2xlID0gbmV3IGlhbS5Sb2xlKHN0YWNrLCAnYXBpLWdhdGV3YXktcm9sZScsIHtcbiAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2FwaWdhdGV3YXkuYW1hem9uYXdzLmNvbScpLFxuICBkZXNjcmlwdGlvbjogJ2V4aXN0aW5nIHJvbGUgZm9yIFNhZ2VNYWtlciBpbnRlZ3JhdGlvbicsXG4gIGlubGluZVBvbGljaWVzOiB7XG4gICAgSW52b2tlUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgIHN0YXRlbWVudHM6IFtuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpzYWdlbWFrZXI6JHtBd3MuUkVHSU9OfToke0F3cy5BQ0NPVU5UX0lEfTplbmRwb2ludC9teS1lbmRwb2ludGBdLFxuICAgICAgICBhY3Rpb25zOiBbJ3NhZ2VtYWtlcjpJbnZva2VFbmRwb2ludCddXG4gICAgICB9KV1cbiAgICB9KVxuICB9XG59KTtcblxuLy8gRGVmaW5pdGlvbnNcbmNvbnN0IHJlcXVlc3RUZW1wbGF0ZSA9XG5ge1xuICAgIFwiaW5zdGFuY2VzXCI6IFtcbiNzZXQoICR1c2VyX2lkID0gJGlucHV0LnBhcmFtcyhcInVzZXJfaWRcIikgKVxuI3NldCggJGl0ZW1zID0gJGlucHV0LnBhcmFtcyhcIml0ZW1zXCIpIClcbiNmb3JlYWNoKCAkaXRlbSBpbiAkaXRlbXMuc3BsaXQoXCIsXCIpIClcbiAgICB7XCJpbjBcIjogWyR1c2VyX2lkXSwgXCJpbjFcIjogWyRpdGVtXX0jaWYoICRmb3JlYWNoLmhhc05leHQgKSwjZW5kXG4gICAgJGVzYy5uZXdsaW5lXG4jZW5kXG4gICAgXVxufWA7XG5cbmNvbnN0IHJlc3BvbnNlVGVtcGxhdGUgPVxuYHtcbiAgICBcInJhdGluZ3NcIjogW1xuI3NldCggJHByZWRpY3Rpb25zID0gJGlucHV0LnBhdGgoXCIkLnByZWRpY3Rpb25zXCIpIClcbiNmb3JlYWNoKCAkaXRlbSBpbiAkcHJlZGljdGlvbnMgKVxuICAgICRpdGVtLnNjb3Jlc1swXSNpZiggJGZvcmVhY2guaGFzTmV4dCApLCNlbmRcbiAgICAkZXNjLm5ld2xpbmVcbiNlbmRcbiAgICBdXG59YDtcblxuY29uc3QgcHJvcHM6IEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50UHJvcHMgPSB7XG4gIGVuZHBvaW50TmFtZTogJ215LWVuZHBvaW50JyxcbiAgcmVzb3VyY2VQYXRoOiAne3VzZXJfaWR9JyxcbiAgcmVzb3VyY2VOYW1lOiAncHJlZGljdGVkLXJhdGluZ3MnLFxuICByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlOiByZXF1ZXN0VGVtcGxhdGUsXG4gIHJlc3BvbnNlTWFwcGluZ1RlbXBsYXRlOiByZXNwb25zZVRlbXBsYXRlLFxuICBhcGlHYXRld2F5RXhlY3V0aW9uUm9sZTogZXhpc3RpbmdSb2xlXG59O1xuXG5uZXcgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQoc3RhY2ssICd0ZXN0LWFwaWdhdGV3YXktc2FnZW1ha2VyZW5kcG9pbnQtb3ZlcndyaXRlJywgcHJvcHMpO1xuXG4vLyBTeW50aFxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
-
* with the License. A copy of the License is located at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
-
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
-
* and limitations under the License.
|
|
13
|
-
*/
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
// Imports
|
|
16
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
-
const lib_1 = require("../lib");
|
|
18
|
-
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
-
// Setup
|
|
20
|
-
const app = new aws_cdk_lib_1.App();
|
|
21
|
-
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
22
|
-
stack.templateOptions.description = 'Integration Test for aws-apigateway-sagemakerendpoint';
|
|
23
|
-
// Definitions
|
|
24
|
-
const requestTemplate = `{
|
|
25
|
-
"instances": [
|
|
26
|
-
#set( $user_id = $input.params("user_id") )
|
|
27
|
-
#set( $items = $input.params("items") )
|
|
28
|
-
#foreach( $item in $items.split(",") )
|
|
29
|
-
{"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
|
|
30
|
-
$esc.newline
|
|
31
|
-
#end
|
|
32
|
-
]
|
|
33
|
-
}`;
|
|
34
|
-
const props = {
|
|
35
|
-
endpointName: 'my-endpoint',
|
|
36
|
-
resourcePath: '{user_id}',
|
|
37
|
-
requestMappingTemplate: requestTemplate
|
|
38
|
-
};
|
|
39
|
-
new lib_1.ApiGatewayToSageMakerEndpoint(stack, 'test-apigateway-sagemakerendpoint-default', props);
|
|
40
|
-
// Synth
|
|
41
|
-
app.synth();
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcubm8tb3ZlcndyaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcubm8tb3ZlcndyaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQXlDO0FBQ3pDLGdDQUEyRjtBQUMzRix5REFBd0U7QUFFeEUsUUFBUTtBQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNqRSxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyx1REFBdUQsQ0FBQztBQUU1RixjQUFjO0FBQ2QsTUFBTSxlQUFlLEdBQ3JCOzs7Ozs7Ozs7RUFTRSxDQUFDO0FBRUgsTUFBTSxLQUFLLEdBQXVDO0lBQ2hELFlBQVksRUFBRSxhQUFhO0lBQzNCLFlBQVksRUFBRSxXQUFXO0lBQ3pCLHNCQUFzQixFQUFFLGVBQWU7Q0FDeEMsQ0FBQztBQUVGLElBQUksbUNBQTZCLENBQUMsS0FBSyxFQUFFLDJDQUEyQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTdGLFFBQVE7QUFDUixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXBpR2F0ZXdheVRvU2FnZU1ha2VyRW5kcG9pbnQsIEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50UHJvcHMgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5cbi8vIFNldHVwXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuc3RhY2sudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uID0gJ0ludGVncmF0aW9uIFRlc3QgZm9yIGF3cy1hcGlnYXRld2F5LXNhZ2VtYWtlcmVuZHBvaW50JztcblxuLy8gRGVmaW5pdGlvbnNcbmNvbnN0IHJlcXVlc3RUZW1wbGF0ZSA9XG5ge1xuICAgIFwiaW5zdGFuY2VzXCI6IFtcbiNzZXQoICR1c2VyX2lkID0gJGlucHV0LnBhcmFtcyhcInVzZXJfaWRcIikgKVxuI3NldCggJGl0ZW1zID0gJGlucHV0LnBhcmFtcyhcIml0ZW1zXCIpIClcbiNmb3JlYWNoKCAkaXRlbSBpbiAkaXRlbXMuc3BsaXQoXCIsXCIpIClcbiAgICB7XCJpbjBcIjogWyR1c2VyX2lkXSwgXCJpbjFcIjogWyRpdGVtXX0jaWYoICRmb3JlYWNoLmhhc05leHQgKSwjZW5kXG4gICAgJGVzYy5uZXdsaW5lXG4jZW5kXG4gICAgXVxufWA7XG5cbmNvbnN0IHByb3BzOiBBcGlHYXRld2F5VG9TYWdlTWFrZXJFbmRwb2ludFByb3BzID0ge1xuICBlbmRwb2ludE5hbWU6ICdteS1lbmRwb2ludCcsXG4gIHJlc291cmNlUGF0aDogJ3t1c2VyX2lkfScsXG4gIHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU6IHJlcXVlc3RUZW1wbGF0ZVxufTtcblxubmV3IEFwaUdhdGV3YXlUb1NhZ2VNYWtlckVuZHBvaW50KHN0YWNrLCAndGVzdC1hcGlnYXRld2F5LXNhZ2VtYWtlcmVuZHBvaW50LWRlZmF1bHQnLCBwcm9wcyk7XG5cbi8vIFN5bnRoXG5hcHAuc3ludGgoKTtcbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|