UNPKG

@cdklabs/cdk-appflow

Version:

*Note:* this library is currently in technical preview.

49 lines 5.98 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.S3Source = exports.S3InputFileType = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const type_1 = require("./type"); const appflow_permissions_manager_1 = require("../core/appflow-permissions-manager"); /** * The file type that Amazon AppFlow gets from your Amazon S3 bucket. */ var S3InputFileType; (function (S3InputFileType) { S3InputFileType["CSV"] = "CSV"; S3InputFileType["JSON"] = "JSON"; })(S3InputFileType || (exports.S3InputFileType = S3InputFileType = {})); class S3Source { constructor(props) { this.props = props; this.connectorType = type_1.S3ConnectorType.instance; } bind(scope) { this.tryAddNodeDependency(scope, this.props.bucket); appflow_permissions_manager_1.AppFlowPermissionsManager.instance().grantBucketRead(this.props.bucket); return { connectorType: this.connectorType.asProfileConnectorType, sourceConnectorProperties: this.buildSourceConnectorProperties(), }; } buildSourceConnectorProperties() { return { s3: { bucketName: this.props.bucket.bucketName, bucketPrefix: this.props.prefix, s3InputFormatConfig: this.props.format && { s3InputFileType: this.props.format.type, }, }, }; } tryAddNodeDependency(scope, resource) { if (resource && typeof resource !== "string") { scope.node.addDependency(resource); } } } exports.S3Source = S3Source; _a = JSII_RTTI_SYMBOL_1; S3Source[_a] = { fqn: "@cdklabs/cdk-appflow.S3Source", version: "0.2.3" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3MzL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQU9BLGlDQUF5QztBQUN6QyxxRkFBZ0Y7QUFLaEY7O0dBRUc7QUFDSCxJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsZUFBZSwrQkFBZixlQUFlLFFBRzFCO0FBWUQsTUFBYSxRQUFRO0lBR25CLFlBQTZCLEtBQW9CO1FBQXBCLFVBQUssR0FBTCxLQUFLLENBQWU7UUFGakMsa0JBQWEsR0FBa0Isc0JBQWUsQ0FBQyxRQUFRLENBQUM7SUFFcEIsQ0FBQztJQUVyRCxJQUFJLENBQUMsS0FBWTtRQUNmLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCx1REFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4RSxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCO1lBQ3hELHlCQUF5QixFQUFFLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtTQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVPLDhCQUE4QjtRQUNwQyxPQUFPO1lBQ0wsRUFBRSxFQUFFO2dCQUNGLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUN4QyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO2dCQUMvQixtQkFBbUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSTtvQkFDeEMsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUk7aUJBQ3hDO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLG9CQUFvQixDQUMxQixLQUFpQixFQUNqQixRQUE4QjtRQUU5QixJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzs7QUFsQ0gsNEJBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBDZm5GbG93IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcHBmbG93XCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTM0Nvbm5lY3RvclR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBBcHBGbG93UGVybWlzc2lvbnNNYW5hZ2VyIH0gZnJvbSBcIi4uL2NvcmUvYXBwZmxvdy1wZXJtaXNzaW9ucy1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25uZWN0b3JUeXBlIH0gZnJvbSBcIi4uL2NvcmUvY29ubmVjdG9ycy9jb25uZWN0b3ItdHlwZVwiO1xuaW1wb3J0IHsgSUZsb3cgfSBmcm9tIFwiLi4vY29yZS9mbG93c1wiO1xuaW1wb3J0IHsgSVNvdXJjZSB9IGZyb20gXCIuLi9jb3JlL3ZlcnRpY2VzL3NvdXJjZVwiO1xuXG4vKipcbiAqIFRoZSBmaWxlIHR5cGUgdGhhdCBBbWF6b24gQXBwRmxvdyBnZXRzIGZyb20geW91ciBBbWF6b24gUzMgYnVja2V0LlxuICovXG5leHBvcnQgZW51bSBTM0lucHV0RmlsZVR5cGUge1xuICBDU1YgPSBcIkNTVlwiLFxuICBKU09OID0gXCJKU09OXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNJbnB1dEZvcm1hdCB7XG4gIHJlYWRvbmx5IHR5cGU6IFMzSW5wdXRGaWxlVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTM1NvdXJjZVByb3BzIHtcbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcmVhZG9ubHkgZm9ybWF0PzogUzNJbnB1dEZvcm1hdDtcbn1cblxuZXhwb3J0IGNsYXNzIFMzU291cmNlIGltcGxlbWVudHMgSVNvdXJjZSB7XG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0b3JUeXBlOiBDb25uZWN0b3JUeXBlID0gUzNDb25uZWN0b3JUeXBlLmluc3RhbmNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFMzU291cmNlUHJvcHMpIHt9XG5cbiAgYmluZChzY29wZTogSUZsb3cpOiBDZm5GbG93LlNvdXJjZUZsb3dDb25maWdQcm9wZXJ0eSB7XG4gICAgdGhpcy50cnlBZGROb2RlRGVwZW5kZW5jeShzY29wZSwgdGhpcy5wcm9wcy5idWNrZXQpO1xuICAgIEFwcEZsb3dQZXJtaXNzaW9uc01hbmFnZXIuaW5zdGFuY2UoKS5ncmFudEJ1Y2tldFJlYWQodGhpcy5wcm9wcy5idWNrZXQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbm5lY3RvclR5cGU6IHRoaXMuY29ubmVjdG9yVHlwZS5hc1Byb2ZpbGVDb25uZWN0b3JUeXBlLFxuICAgICAgc291cmNlQ29ubmVjdG9yUHJvcGVydGllczogdGhpcy5idWlsZFNvdXJjZUNvbm5lY3RvclByb3BlcnRpZXMoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFNvdXJjZUNvbm5lY3RvclByb3BlcnRpZXMoKTogQ2ZuRmxvdy5Tb3VyY2VDb25uZWN0b3JQcm9wZXJ0aWVzUHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBzMzoge1xuICAgICAgICBidWNrZXROYW1lOiB0aGlzLnByb3BzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICBidWNrZXRQcmVmaXg6IHRoaXMucHJvcHMucHJlZml4LFxuICAgICAgICBzM0lucHV0Rm9ybWF0Q29uZmlnOiB0aGlzLnByb3BzLmZvcm1hdCAmJiB7XG4gICAgICAgICAgczNJbnB1dEZpbGVUeXBlOiB0aGlzLnByb3BzLmZvcm1hdC50eXBlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB0cnlBZGROb2RlRGVwZW5kZW5jeShcbiAgICBzY29wZTogSUNvbnN0cnVjdCxcbiAgICByZXNvdXJjZT86IElDb25zdHJ1Y3QgfCBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIGlmIChyZXNvdXJjZSAmJiB0eXBlb2YgcmVzb3VyY2UgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHNjb3BlLm5vZGUuYWRkRGVwZW5kZW5jeShyZXNvdXJjZSk7XG4gICAgfVxuICB9XG59XG4iXX0=