truemark-cdk-lib 1.6.4 → 1.6.6
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/aws-ecs/lib/standard-application-fargate-service.d.ts +7 -0
- package/aws-ecs/lib/standard-application-fargate-service.js +2 -2
- package/aws-s3/lib/cloud-front-bucket.d.ts +84 -1
- package/aws-s3/lib/cloud-front-bucket.js +105 -7
- package/aws-s3/lib/website-bucket.d.ts +79 -1
- package/aws-s3/lib/website-bucket.js +100 -11
- package/package.json +2 -2
|
@@ -96,6 +96,12 @@ export interface StandardApplicationFargateServiceProps extends StandardFargateS
|
|
|
96
96
|
* Additional domain names to associate with this service.
|
|
97
97
|
*/
|
|
98
98
|
readonly domainNames?: string[];
|
|
99
|
+
/**
|
|
100
|
+
* Set this to true to skip the creation of route53 records. By default records will be created in domainName and domainZone is provided.
|
|
101
|
+
*
|
|
102
|
+
* @default - false
|
|
103
|
+
*/
|
|
104
|
+
readonly skipCreateRoute53Records?: boolean;
|
|
99
105
|
/**
|
|
100
106
|
* Path pattern to match on the load balancer.
|
|
101
107
|
*
|
|
@@ -121,6 +127,7 @@ export interface StandardApplicationFargateServiceProps extends StandardFargateS
|
|
|
121
127
|
readonly targetGroupPriority?: number;
|
|
122
128
|
/**
|
|
123
129
|
* Zone of the domain name. If set, a route53 record is created for the service.
|
|
130
|
+
*
|
|
124
131
|
*/
|
|
125
132
|
readonly domainZone?: IHostedZone;
|
|
126
133
|
}
|
|
@@ -86,7 +86,7 @@ class StandardApplicationFargateService extends standard_fargate_service_1.Stand
|
|
|
86
86
|
conditions: targetGroupConditions,
|
|
87
87
|
priority: (_r = props.targetGroupPriority) !== null && _r !== void 0 ? _r : 1
|
|
88
88
|
});
|
|
89
|
-
if (props.domainName !== undefined && props.domainZone !== undefined) {
|
|
89
|
+
if (props.domainName !== undefined && props.domainZone !== undefined && !props.skipCreateRoute53Records) {
|
|
90
90
|
this.domainName = aws_route53_2.DomainName.fromFqdn(props.domainName, props.domainZone);
|
|
91
91
|
this.route53Record = this.domainName.createARecord(this, aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.LoadBalancerTarget(loadBalancer)));
|
|
92
92
|
}
|
|
@@ -95,4 +95,4 @@ class StandardApplicationFargateService extends standard_fargate_service_1.Stand
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
exports.StandardApplicationFargateService = StandardApplicationFargateService;
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYXBwbGljYXRpb24tZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtYXBwbGljYXRpb24tZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUErRjtBQUUvRiw2Q0FBcUM7QUFDckMsdUZBTWdEO0FBQ2hELHlEQUEyRTtBQUMzRSxtREFBNkM7QUFDN0MseUVBQW1FO0FBK0luRTs7R0FFRztBQUNILE1BQWEsaUNBQWtDLFNBQVEsaURBQXNCO0lBTzNFLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkM7O1FBQ3JGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksd0JBQXdCLFNBQXlCLEtBQUssQ0FBQyx3QkFBd0IsbUNBQUksc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDOUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxvQkFBd0MsQ0FBQztRQUM3QyxJQUFJLHdCQUF3QixLQUFLLFNBQVMsRUFBRTtZQUMxQyxvQkFBb0IsU0FBRyxLQUFLLENBQUMsb0JBQW9CLG1DQUFJLGFBQWEsQ0FBQTtTQUNuRTtRQUVELElBQUksU0FBUyxTQUF5QixLQUFLLENBQUMsU0FBUyxtQ0FBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDL0IsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUN2QjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksbURBQXNCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNsRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lB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LENBQUM7UUFFSCxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUU7WUFDNUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDO1lBQzNCLFVBQVUsRUFBRSxxQkFBcUI7WUFDakMsUUFBUSxRQUFFLEtBQUssQ0FBQyxtQkFBbUIsbUNBQUksQ0FBQztTQUN6QyxDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxVQUFVLEdBQUcsd0JBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQ3JELDBCQUFZLENBQUMsU0FBUyxDQUFDLElBQUksd0NBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBbEdELDhFQWtHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RhbmRhcmRGYXJnYXRlU2VydmljZSwgU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzfSBmcm9tIFwiLi9zdGFuZGFyZC1mYXJnYXRlLXNlcnZpY2VcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtEdXJhdGlvbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkxpc3RlbmVyLFxuICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcixcbiAgQXBwbGljYXRpb25Qcm90b2NvbCxcbiAgQXBwbGljYXRpb25UYXJnZXRHcm91cCwgSUFwcGxpY2F0aW9uTGlzdGVuZXIsIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciwgTGlzdGVuZXJDb25kaXRpb24sXG4gIFRhcmdldEdyb3VwTG9hZEJhbGFuY2luZ0FsZ29yaXRobVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQge0FSZWNvcmQsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtEb21haW5OYW1lfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7TG9hZEJhbGFuY2VyVGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkQXBwbGljYXRpb25GYXJnYXRlU2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkQXBwbGljYXRpb25GYXJnYXRlU2VydmljZVByb3BzIGV4dGVuZHMgU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYW4gYXBwbGljYXRpb24tYmFzZWQgc3RpY2tpbmVzcyBjb29raWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbGJfYWZmaW5pdHlcbiAgICovXG4gIHJlYWRvbmx5IHN0aWNraW5lc3NDb29raWVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RpY2tpbmVzcyBjb29raWUgZXhwaXJhdGlvbiBwZXJpb2QuIFNldCB0byAwIHRvIGRpc2FibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uZGF5cygxKVxuICAgKi9cbiAgcmVhZG9ubHkgc3RpY2tpbmVzc0Nvb2tpZUR1cmF0aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIGxvYWQgYmFsYW5jZXIgc2VuZHMgYSBuZXdseSByZWdpc3RlcmVkIHRhcmdldCBhXG4gICAqIGxpbmVhcmx5IGluY3JlYXNpbmcgc2hhcmUgb2YgdGhlIHRyYWZmaWMgdG8gdGhlIHRhcmdldCBncm91cC4gU2V0IHRoaXMgdG8gMFxuICAgKiB0byBkaXNhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoMzApXG4gICAqL1xuICByZWFkb25seSBzbG93U3RhcnQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHByb3RvY29sIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGluIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvblByb3RvY29sPzogQXBwbGljYXRpb25Qcm90b2NvbDtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lIGZvciBFbGFzdGljIExvYWQgQmFsYW5jaW5nIHRvIHdhaXQgYmVmb3JlIGRlcmVnaXN0ZXJpbmcgYSB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcygxMClcbiAgICovXG4gIHJlYWRvbmx5IGRlcmVnaXN0cmF0aW9uRGVsYXk/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBzZWNvbmRzIGJldHdlZW4gaGVhbHRoIGNoZWNrcyBmb3IgYW4gaW5kaXZpZHVhbCB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcygxMClcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrSW50ZXJ2YWw/OiBEdXJhdGlvblxuXG4gIC8qKlxuICAgKiBUaGUgcGluZyBwYXRoIGRlc3RpbmF0aW9uIHdoZXJlIEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgc2VuZHMgaGVhbHRoIGNoZWNrIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIC9oZWFsdGhcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lLCBpbiBzZWNvbmRzLCBkdXJpbmcgd2hpY2ggbm8gcmVzcG9uc2UgZnJvbSBhIHRhcmdldCBtZWFucyBhIGZhaWxlZCBoZWFsdGggY2hlY2tcbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDMpXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja1RpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjb25zZWN1dGl2ZSBoZWFsdGggY2hlY2tzIHN1Y2Nlc3NlcyByZXF1aXJlZCBiZWZvcmUgY29uc2lkZXJpbmcgYW4gdW5oZWFsdGh5IHRhcmdldCBoZWFsdGh5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDJcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aHlUaHJlc2hvbGRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjb25zZWN1dGl2ZSBoZWFsdGggY2hlY2sgZmFpbHVyZXMgcmVxdWlyZWQgYmVmb3JlIGNvbnNpZGVyaW5nIGEgdGFyZ2V0IHVuaGVhbHRoeS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyXG4gICAqL1xuICByZWFkb25seSB1bmhlYWx0aHlUaHJlc2hvbGRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogSFRUUCBjb2RlIHRvIHVzZSB3aGVuIGNoZWNraW5nIGZvciBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UgZnJvbSBhIHRhcmdldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwMC0yOTlcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aHlIdHRwQ29kZXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2FkIGJhbGFuY2luZyBhbGdvcml0aG0gdG8gc2VsZWN0IHRhcmdldHMgZm9yIHJvdXRpbmcgcmVxdWVzdHMuXG4gICAqIFRvIHNldCB0aGlzIHRvIExFQVNUX09VVFNUQU5ESU5HX1JFUVVFU1RTLCBzdGlja2luZXNzIG11c3QgYmUgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUk9VTkRfUk9CSU5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNpbmdBbGdvcml0aG1UeXBlPzogVGFyZ2V0R3JvdXBMb2FkQmFsYW5jaW5nQWxnb3JpdGhtVHlwZTtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBBTEIgcmVxdWVzdHMgdG8gdGFyZ2V0IGZvciBzY2FsaW5nLlxuICAgKiBEaXNhYmxlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVSZXF1ZXN0UGVyVGFyZ2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBkb21haW4gbmFtZXMgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUGF0aCBwYXR0ZXJuIHRvIG1hdGNoIG9uIHRoZSBsb2FkIGJhbGFuY2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFtcIi8qXCJdXG4gICAqL1xuICByZWFkb25seSBwYXRoUGF0dGVybj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMb2FkIGJhbGFuY2VyIHRvIGF0dGFjaCB0aGlzIHNlcnZpY2UgdG8uIElmIHBhc3NlZCBhbiBBUk4gb3IgbmFtZSBhIGxvb2t1cCB3aWxsIGJlXG4gICAqIHBlcmZvcm1lZCB0byBsb2NhdGUgdGhlIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXI6IElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3RlbmVyIHByb3RvY29sIHRvIGF0dGFjaCB0aGlzIHNlcnZpY2UgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQU1xuICAgKi9cbiAgcmVhZG9ubHkgbGlzdGVuZXJQcm90b2NvbD86IEFwcGxpY2F0aW9uUHJvdG9jb2w7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSB0byBnaXZlIHRoZSB0YXJnZXQgZ3JvdXAgb24gdGhlIEFMQi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRHcm91cFByaW9yaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBab25lIG9mIHRoZSBkb21haW4gbmFtZS4gSWYgc2V0LCBhIHJvdXRlNTMgcmVjb3JkIGlzIGNyZWF0ZWQgZm9yIHRoZSBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluWm9uZT86IElIb3N0ZWRab25lO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gRUNTIEZhcmdhdGUgc2VydmljZSBhbmQgbWFwcyBpdCB0byBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIChBTEIpLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRBcHBsaWNhdGlvbkZhcmdhdGVTZXJ2aWNlIGV4dGVuZHMgU3RhbmRhcmRGYXJnYXRlU2VydmljZSB7XG5cbiAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyOiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXI7XG4gIHJlYWRvbmx5IGxpc3RlbmVyOiBJQXBwbGljYXRpb25MaXN0ZW5lcjtcbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IERvbWFpbk5hbWU7XG4gIHJlYWRvbmx5IHJvdXRlNTNSZWNvcmQ/OiBBUmVjb3JkO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZEFwcGxpY2F0aW9uRmFyZ2F0ZVNlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgbGV0IHN0aWNraW5lc3NDb29raWVEdXJhdGlvbjogRHVyYXRpb24gfCB1bmRlZmluZWQgPSBwcm9wcy5zdGlja2luZXNzQ29va2llRHVyYXRpb24gPz8gRHVyYXRpb24uZGF5cygxKTtcbiAgICBpZiAoc3RpY2tpbmVzc0Nvb2tpZUR1cmF0aW9uLnRvU2Vjb25kcygpID09PSAwKSB7XG4gICAgICBzdGlja2luZXNzQ29va2llRHVyYXRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IHN0aWNraW5lc3NDb29raWVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHN0aWNraW5lc3NDb29raWVEdXJhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdGlja2luZXNzQ29va2llTmFtZSA9IHByb3BzLnN0aWNraW5lc3NDb29raWVOYW1lID8/IFwibGJfYWZmaW5pdHlcIlxuICAgIH1cblxuICAgIGxldCBzbG93U3RhcnQ6IER1cmF0aW9uIHwgdW5kZWZpbmVkID0gcHJvcHMuc2xvd1N0YXJ0ID8/IER1cmF0aW9uLnNlY29uZHMoMzApO1xuICAgIGlmIChzbG93U3RhcnQudG9TZWNvbmRzKCkgPT09IDApIHtcbiAgICAgIHNsb3dTdGFydCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRHcm91cCA9IG5ldyBBcHBsaWNhdGlvblRhcmdldEdyb3VwKHRoaXMsIFwiVGFyZ2V0R3JvdXBcIiwge1xuICAgICAgdGFyZ2V0czogW3RoaXMuc2VydmljZV0sXG4gICAgICB2cGM6IHByb3BzLmNsdXN0ZXIudnBjLFxuICAgICAgcG9ydDogdGhpcy5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHByb3BzLmFwcGxpY2F0aW9uUHJvdG9jb2wgPz8gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQLFxuICAgICAgZGVyZWdpc3RyYXRpb25EZWxheTogcHJvcHMuZGVyZWdpc3RyYXRpb25EZWxheSA/PyBEdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICAgIHNsb3dTdGFydCxcbiAgICAgIGhlYWx0aENoZWNrOiB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIGludGVydmFsOiBwcm9wcy5oZWFsdGhDaGVja0ludGVydmFsID8/IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgICBwYXRoOiBwcm9wcy5oZWFsdGhDaGVja1BhdGggPz8gXCIvaGVhbHRoXCIsXG4gICAgICAgIHRpbWVvdXQ6IHByb3BzLmhlYWx0aENoZWNrVGltZW91dCA/PyBEdXJhdGlvbi5zZWNvbmRzKDMpLFxuICAgICAgICBoZWFsdGh5VGhyZXNob2xkQ291bnQ6IHByb3BzLmhlYWx0aHlUaHJlc2hvbGRDb3VudCA/PyAyLFxuICAgICAgICB1bmhlYWx0aHlUaHJlc2hvbGRDb3VudDogcHJvcHMudW5oZWFsdGh5VGhyZXNob2xkQ291bnQgPz8gMixcbiAgICAgICAgaGVhbHRoeUh0dHBDb2RlczogcHJvcHMuaGVhbHRoeUh0dHBDb2RlcyA/PyBcIjIwMC0yOTlcIlxuICAgICAgfSxcbiAgICAgIHN0aWNraW5lc3NDb29raWVOYW1lLFxuICAgICAgc3RpY2tpbmVzc0Nvb2tpZUR1cmF0aW9uLFxuICAgICAgbG9hZEJhbGFuY2luZ0FsZ29yaXRobVR5cGU6IHByb3BzLmxvYWRCYWxhbmNpbmdBbGdvcml0aG1UeXBlID8/IFRhcmdldEdyb3VwTG9hZEJhbGFuY2luZ0FsZ29yaXRobVR5cGUuUk9VTkRfUk9CSU5cbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5zY2FsZVJlcXVlc3RQZXJUYXJnZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zY2FsaW5nLnNjYWxlT25SZXF1ZXN0Q291bnQoXCJSZXF1ZXN0Q291bnRTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duOiB0aGlzLnNjYWxlSW5Db29sZG93bixcbiAgICAgICAgc2NhbGVPdXRDb29sZG93bjogdGhpcy5zY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRHcm91cCxcbiAgICAgICAgcmVxdWVzdHNQZXJUYXJnZXQ6IHByb3BzLnNjYWxlUmVxdWVzdFBlclRhcmdldCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldEdyb3VwQ29uZGl0aW9uczogTGlzdGVuZXJDb25kaXRpb25bXSA9IFtdO1xuICAgIHRhcmdldEdyb3VwQ29uZGl0aW9ucy5wdXNoKExpc3RlbmVyQ29uZGl0aW9uLnBhdGhQYXR0ZXJucyhwcm9wcy5wYXRoUGF0dGVybiA/PyBbXCIvKlwiXSkpO1xuICAgIGlmIChwcm9wcy5kb21haW5OYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRhcmdldEdyb3VwQ29uZGl0aW9ucy5wdXNoKExpc3RlbmVyQ29uZGl0aW9uLmhvc3RIZWFkZXJzKFtwcm9wcy5kb21haW5OYW1lLCAuLi5wcm9wcy5kb21haW5OYW1lcyA/PyBbXV0pKTtcbiAgICB9XG5cbiAgICBsZXQgbG9hZEJhbGFuY2VyOiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXI7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy5sb2FkQmFsYW5jZXIgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGlmIChwcm9wcy5sb2FkQmFsYW5jZXIuc3RhcnRzV2l0aChcImFybjpcIikpIHtcbiAgICAgICAgbG9hZEJhbGFuY2VyID0gQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIuZnJvbUxvb2t1cCh0aGlzLCBcIkxvYWRCYWxhbmNlclwiLCB7XG4gICAgICAgICAgbG9hZEJhbGFuY2VyQXJuOiBwcm9wcy5sb2FkQmFsYW5jZXJcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2FkQmFsYW5jZXIgPSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlci5mcm9tTG9va3VwKHRoaXMsIFwiTG9hZEJhbGFuY2VyXCIsIHtcbiAgICAgICAgICBsb2FkQmFsYW5jZXJUYWdzOiB7XG4gICAgICAgICAgICBOYW1lOiBwcm9wcy5sb2FkQmFsYW5jZXJcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsb2FkQmFsYW5jZXIgPSBwcm9wcy5sb2FkQmFsYW5jZXI7XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdGVuZXIgPSBBcHBsaWNhdGlvbkxpc3RlbmVyLmZyb21Mb29rdXAodGhpcywgXCJMaXN0ZW5lclwiLCB7XG4gICAgICBsb2FkQmFsYW5jZXJBcm46IGxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJBcm4sXG4gICAgICBsaXN0ZW5lclByb3RvY29sOiBwcm9wcy5saXN0ZW5lclByb3RvY29sID8/IEFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUFNcbiAgICB9KTtcblxuICAgIGxpc3RlbmVyLmFkZFRhcmdldEdyb3VwcyhgJHtpZH1UYXJnZXRHcm91cHNgLCB7XG4gICAgICB0YXJnZXRHcm91cHM6IFt0YXJnZXRHcm91cF0sXG4gICAgICBjb25kaXRpb25zOiB0YXJnZXRHcm91cENvbmRpdGlvbnMsXG4gICAgICBwcmlvcml0eTogcHJvcHMudGFyZ2V0R3JvdXBQcmlvcml0eSA/PyAxXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMuZG9tYWluTmFtZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRvbWFpblpvbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kb21haW5OYW1lID0gRG9tYWluTmFtZS5mcm9tRnFkbihwcm9wcy5kb21haW5OYW1lLCBwcm9wcy5kb21haW5ab25lKTtcbiAgICAgIHRoaXMucm91dGU1M1JlY29yZCA9IHRoaXMuZG9tYWluTmFtZS5jcmVhdGVBUmVjb3JkKHRoaXMsXG4gICAgICAgIFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IExvYWRCYWxhbmNlclRhcmdldChsb2FkQmFsYW5jZXIpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQmFsYW5jZXIgPSBsb2FkQmFsYW5jZXI7XG4gICAgdGhpcy5saXN0ZW5lciA9IGxpc3RlbmVyO1xuICB9XG59XG4iXX0=
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYXBwbGljYXRpb24tZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtYXBwbGljYXRpb24tZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUErRjtBQUUvRiw2Q0FBcUM7QUFDckMsdUZBTWdEO0FBQ2hELHlEQUEyRTtBQUMzRSxtREFBNkM7QUFDN0MseUVBQW1FO0FBdUpuRTs7R0FFRztBQUNILE1BQWEsaUNBQWtDLFNBQVEsaURBQXNCO0lBTzNFLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkM7O1FBQ3JGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksd0JBQXdCLFNBQXlCLEtBQUssQ0FBQyx3QkFBd0IsbUNBQUksc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDOUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxvQkFBd0MsQ0FBQztRQUM3QyxJQUFJLHdCQUF3QixLQUFLLFNBQVMsRUFBRTtZQUMxQyxvQkFBb0IsU0FBRyxLQUFLLENBQUMsb0JBQW9CLG1DQUFJLGFBQWEsQ0FBQTtTQUNuRTtRQUVELElBQUksU0FBUyxTQUF5QixLQUFLLENBQUMsU0FBUyxtQ0FBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDL0IsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUN2QjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksbURBQXNCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNsRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lB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LENBQUM7UUFFSCxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUU7WUFDNUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDO1lBQzNCLFVBQVUsRUFBRSxxQkFBcUI7WUFDakMsUUFBUSxRQUFFLEtBQUssQ0FBQyxtQkFBbUIsbUNBQUksQ0FBQztTQUN6QyxDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFO1lBQ3ZHLElBQUksQ0FBQyxVQUFVLEdBQUcsd0JBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQ3JELDBCQUFZLENBQUMsU0FBUyxDQUFDLElBQUksd0NBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBbEdELDhFQWtHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RhbmRhcmRGYXJnYXRlU2VydmljZSwgU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzfSBmcm9tIFwiLi9zdGFuZGFyZC1mYXJnYXRlLXNlcnZpY2VcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtEdXJhdGlvbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkxpc3RlbmVyLFxuICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcixcbiAgQXBwbGljYXRpb25Qcm90b2NvbCxcbiAgQXBwbGljYXRpb25UYXJnZXRHcm91cCwgSUFwcGxpY2F0aW9uTGlzdGVuZXIsIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciwgTGlzdGVuZXJDb25kaXRpb24sXG4gIFRhcmdldEdyb3VwTG9hZEJhbGFuY2luZ0FsZ29yaXRobVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQge0FSZWNvcmQsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtEb21haW5OYW1lfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7TG9hZEJhbGFuY2VyVGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkQXBwbGljYXRpb25GYXJnYXRlU2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkQXBwbGljYXRpb25GYXJnYXRlU2VydmljZVByb3BzIGV4dGVuZHMgU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYW4gYXBwbGljYXRpb24tYmFzZWQgc3RpY2tpbmVzcyBjb29raWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbGJfYWZmaW5pdHlcbiAgICovXG4gIHJlYWRvbmx5IHN0aWNraW5lc3NDb29raWVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RpY2tpbmVzcyBjb29raWUgZXhwaXJhdGlvbiBwZXJpb2QuIFNldCB0byAwIHRvIGRpc2FibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uZGF5cygxKVxuICAgKi9cbiAgcmVhZG9ubHkgc3RpY2tpbmVzc0Nvb2tpZUR1cmF0aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIGxvYWQgYmFsYW5jZXIgc2VuZHMgYSBuZXdseSByZWdpc3RlcmVkIHRhcmdldCBhXG4gICAqIGxpbmVhcmx5IGluY3JlYXNpbmcgc2hhcmUgb2YgdGhlIHRyYWZmaWMgdG8gdGhlIHRhcmdldCBncm91cC4gU2V0IHRoaXMgdG8gMFxuICAgKiB0byBkaXNhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoMzApXG4gICAqL1xuICByZWFkb25seSBzbG93U3RhcnQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHByb3RvY29sIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGluIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvblByb3RvY29sPzogQXBwbGljYXRpb25Qcm90b2NvbDtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lIGZvciBFbGFzdGljIExvYWQgQmFsYW5jaW5nIHRvIHdhaXQgYmVmb3JlIGRlcmVnaXN0ZXJpbmcgYSB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcygxMClcbiAgICovXG4gIHJlYWRvbmx5IGRlcmVnaXN0cmF0aW9uRGVsYXk/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBzZWNvbmRzIGJldHdlZW4gaGVhbHRoIGNoZWNrcyBmb3IgYW4gaW5kaXZpZHVhbCB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcygxMClcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrSW50ZXJ2YWw/OiBEdXJhdGlvblxuXG4gIC8qKlxuICAgKiBUaGUgcGluZyBwYXRoIGRlc3RpbmF0aW9uIHdoZXJlIEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgc2VuZHMgaGVhbHRoIGNoZWNrIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIC9oZWFsdGhcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lLCBpbiBzZWNvbmRzLCBkdXJpbmcgd2hpY2ggbm8gcmVzcG9uc2UgZnJvbSBhIHRhcmdldCBtZWFucyBhIGZhaWxlZCBoZWFsdGggY2hlY2tcbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDMpXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja1RpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjb25zZWN1dGl2ZSBoZWFsdGggY2hlY2tzIHN1Y2Nlc3NlcyByZXF1aXJlZCBiZWZvcmUgY29uc2lkZXJpbmcgYW4gdW5oZWFsdGh5IHRhcmdldCBoZWFsdGh5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDJcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aHlUaHJlc2hvbGRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjb25zZWN1dGl2ZSBoZWFsdGggY2hlY2sgZmFpbHVyZXMgcmVxdWlyZWQgYmVmb3JlIGNvbnNpZGVyaW5nIGEgdGFyZ2V0IHVuaGVhbHRoeS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyXG4gICAqL1xuICByZWFkb25seSB1bmhlYWx0aHlUaHJlc2hvbGRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogSFRUUCBjb2RlIHRvIHVzZSB3aGVuIGNoZWNraW5nIGZvciBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UgZnJvbSBhIHRhcmdldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwMC0yOTlcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aHlIdHRwQ29kZXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2FkIGJhbGFuY2luZyBhbGdvcml0aG0gdG8gc2VsZWN0IHRhcmdldHMgZm9yIHJvdXRpbmcgcmVxdWVzdHMuXG4gICAqIFRvIHNldCB0aGlzIHRvIExFQVNUX09VVFNUQU5ESU5HX1JFUVVFU1RTLCBzdGlja2luZXNzIG11c3QgYmUgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUk9VTkRfUk9CSU5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNpbmdBbGdvcml0aG1UeXBlPzogVGFyZ2V0R3JvdXBMb2FkQmFsYW5jaW5nQWxnb3JpdGhtVHlwZTtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBBTEIgcmVxdWVzdHMgdG8gdGFyZ2V0IGZvciBzY2FsaW5nLlxuICAgKiBEaXNhYmxlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVSZXF1ZXN0UGVyVGFyZ2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBkb21haW4gbmFtZXMgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogU2V0IHRoaXMgdG8gdHJ1ZSB0byBza2lwIHRoZSBjcmVhdGlvbiBvZiByb3V0ZTUzIHJlY29yZHMuIEJ5IGRlZmF1bHQgcmVjb3JkcyB3aWxsIGJlIGNyZWF0ZWQgaW4gZG9tYWluTmFtZSBhbmQgZG9tYWluWm9uZSBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcENyZWF0ZVJvdXRlNTNSZWNvcmRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGF0aCBwYXR0ZXJuIHRvIG1hdGNoIG9uIHRoZSBsb2FkIGJhbGFuY2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFtcIi8qXCJdXG4gICAqL1xuICByZWFkb25seSBwYXRoUGF0dGVybj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMb2FkIGJhbGFuY2VyIHRvIGF0dGFjaCB0aGlzIHNlcnZpY2UgdG8uIElmIHBhc3NlZCBhbiBBUk4gb3IgbmFtZSBhIGxvb2t1cCB3aWxsIGJlXG4gICAqIHBlcmZvcm1lZCB0byBsb2NhdGUgdGhlIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXI6IElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3RlbmVyIHByb3RvY29sIHRvIGF0dGFjaCB0aGlzIHNlcnZpY2UgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQU1xuICAgKi9cbiAgcmVhZG9ubHkgbGlzdGVuZXJQcm90b2NvbD86IEFwcGxpY2F0aW9uUHJvdG9jb2w7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSB0byBnaXZlIHRoZSB0YXJnZXQgZ3JvdXAgb24gdGhlIEFMQi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRHcm91cFByaW9yaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBab25lIG9mIHRoZSBkb21haW4gbmFtZS4gSWYgc2V0LCBhIHJvdXRlNTMgcmVjb3JkIGlzIGNyZWF0ZWQgZm9yIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluWm9uZT86IElIb3N0ZWRab25lO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gRUNTIEZhcmdhdGUgc2VydmljZSBhbmQgbWFwcyBpdCB0byBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIChBTEIpLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRBcHBsaWNhdGlvbkZhcmdhdGVTZXJ2aWNlIGV4dGVuZHMgU3RhbmRhcmRGYXJnYXRlU2VydmljZSB7XG5cbiAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyOiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXI7XG4gIHJlYWRvbmx5IGxpc3RlbmVyOiBJQXBwbGljYXRpb25MaXN0ZW5lcjtcbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IERvbWFpbk5hbWU7XG4gIHJlYWRvbmx5IHJvdXRlNTNSZWNvcmQ/OiBBUmVjb3JkO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZEFwcGxpY2F0aW9uRmFyZ2F0ZVNlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgbGV0IHN0aWNraW5lc3NDb29raWVEdXJhdGlvbjogRHVyYXRpb24gfCB1bmRlZmluZWQgPSBwcm9wcy5zdGlja2luZXNzQ29va2llRHVyYXRpb24gPz8gRHVyYXRpb24uZGF5cygxKTtcbiAgICBpZiAoc3RpY2tpbmVzc0Nvb2tpZUR1cmF0aW9uLnRvU2Vjb25kcygpID09PSAwKSB7XG4gICAgICBzdGlja2luZXNzQ29va2llRHVyYXRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IHN0aWNraW5lc3NDb29raWVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHN0aWNraW5lc3NDb29raWVEdXJhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdGlja2luZXNzQ29va2llTmFtZSA9IHByb3BzLnN0aWNraW5lc3NDb29raWVOYW1lID8/IFwibGJfYWZmaW5pdHlcIlxuICAgIH1cblxuICAgIGxldCBzbG93U3RhcnQ6IER1cmF0aW9uIHwgdW5kZWZpbmVkID0gcHJvcHMuc2xvd1N0YXJ0ID8/IER1cmF0aW9uLnNlY29uZHMoMzApO1xuICAgIGlmIChzbG93U3RhcnQudG9TZWNvbmRzKCkgPT09IDApIHtcbiAgICAgIHNsb3dTdGFydCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRHcm91cCA9IG5ldyBBcHBsaWNhdGlvblRhcmdldEdyb3VwKHRoaXMsIFwiVGFyZ2V0R3JvdXBcIiwge1xuICAgICAgdGFyZ2V0czogW3RoaXMuc2VydmljZV0sXG4gICAgICB2cGM6IHByb3BzLmNsdXN0ZXIudnBjLFxuICAgICAgcG9ydDogdGhpcy5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHByb3BzLmFwcGxpY2F0aW9uUHJvdG9jb2wgPz8gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQLFxuICAgICAgZGVyZWdpc3RyYXRpb25EZWxheTogcHJvcHMuZGVyZWdpc3RyYXRpb25EZWxheSA/PyBEdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICAgIHNsb3dTdGFydCxcbiAgICAgIGhlYWx0aENoZWNrOiB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIGludGVydmFsOiBwcm9wcy5oZWFsdGhDaGVja0ludGVydmFsID8/IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgICBwYXRoOiBwcm9wcy5oZWFsdGhDaGVja1BhdGggPz8gXCIvaGVhbHRoXCIsXG4gICAgICAgIHRpbWVvdXQ6IHByb3BzLmhlYWx0aENoZWNrVGltZW91dCA/PyBEdXJhdGlvbi5zZWNvbmRzKDMpLFxuICAgICAgICBoZWFsdGh5VGhyZXNob2xkQ291bnQ6IHByb3BzLmhlYWx0aHlUaHJlc2hvbGRDb3VudCA/PyAyLFxuICAgICAgICB1bmhlYWx0aHlUaHJlc2hvbGRDb3VudDogcHJvcHMudW5oZWFsdGh5VGhyZXNob2xkQ291bnQgPz8gMixcbiAgICAgICAgaGVhbHRoeUh0dHBDb2RlczogcHJvcHMuaGVhbHRoeUh0dHBDb2RlcyA/PyBcIjIwMC0yOTlcIlxuICAgICAgfSxcbiAgICAgIHN0aWNraW5lc3NDb29raWVOYW1lLFxuICAgICAgc3RpY2tpbmVzc0Nvb2tpZUR1cmF0aW9uLFxuICAgICAgbG9hZEJhbGFuY2luZ0FsZ29yaXRobVR5cGU6IHByb3BzLmxvYWRCYWxhbmNpbmdBbGdvcml0aG1UeXBlID8/IFRhcmdldEdyb3VwTG9hZEJhbGFuY2luZ0FsZ29yaXRobVR5cGUuUk9VTkRfUk9CSU5cbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5zY2FsZVJlcXVlc3RQZXJUYXJnZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zY2FsaW5nLnNjYWxlT25SZXF1ZXN0Q291bnQoXCJSZXF1ZXN0Q291bnRTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duOiB0aGlzLnNjYWxlSW5Db29sZG93bixcbiAgICAgICAgc2NhbGVPdXRDb29sZG93bjogdGhpcy5zY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRHcm91cCxcbiAgICAgICAgcmVxdWVzdHNQZXJUYXJnZXQ6IHByb3BzLnNjYWxlUmVxdWVzdFBlclRhcmdldCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldEdyb3VwQ29uZGl0aW9uczogTGlzdGVuZXJDb25kaXRpb25bXSA9IFtdO1xuICAgIHRhcmdldEdyb3VwQ29uZGl0aW9ucy5wdXNoKExpc3RlbmVyQ29uZGl0aW9uLnBhdGhQYXR0ZXJucyhwcm9wcy5wYXRoUGF0dGVybiA/PyBbXCIvKlwiXSkpO1xuICAgIGlmIChwcm9wcy5kb21haW5OYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRhcmdldEdyb3VwQ29uZGl0aW9ucy5wdXNoKExpc3RlbmVyQ29uZGl0aW9uLmhvc3RIZWFkZXJzKFtwcm9wcy5kb21haW5OYW1lLCAuLi5wcm9wcy5kb21haW5OYW1lcyA/PyBbXV0pKTtcbiAgICB9XG5cbiAgICBsZXQgbG9hZEJhbGFuY2VyOiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXI7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy5sb2FkQmFsYW5jZXIgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGlmIChwcm9wcy5sb2FkQmFsYW5jZXIuc3RhcnRzV2l0aChcImFybjpcIikpIHtcbiAgICAgICAgbG9hZEJhbGFuY2VyID0gQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIuZnJvbUxvb2t1cCh0aGlzLCBcIkxvYWRCYWxhbmNlclwiLCB7XG4gICAgICAgICAgbG9hZEJhbGFuY2VyQXJuOiBwcm9wcy5sb2FkQmFsYW5jZXJcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2FkQmFsYW5jZXIgPSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlci5mcm9tTG9va3VwKHRoaXMsIFwiTG9hZEJhbGFuY2VyXCIsIHtcbiAgICAgICAgICBsb2FkQmFsYW5jZXJUYWdzOiB7XG4gICAgICAgICAgICBOYW1lOiBwcm9wcy5sb2FkQmFsYW5jZXJcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsb2FkQmFsYW5jZXIgPSBwcm9wcy5sb2FkQmFsYW5jZXI7XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdGVuZXIgPSBBcHBsaWNhdGlvbkxpc3RlbmVyLmZyb21Mb29rdXAodGhpcywgXCJMaXN0ZW5lclwiLCB7XG4gICAgICBsb2FkQmFsYW5jZXJBcm46IGxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJBcm4sXG4gICAgICBsaXN0ZW5lclByb3RvY29sOiBwcm9wcy5saXN0ZW5lclByb3RvY29sID8/IEFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUFNcbiAgICB9KTtcblxuICAgIGxpc3RlbmVyLmFkZFRhcmdldEdyb3VwcyhgJHtpZH1UYXJnZXRHcm91cHNgLCB7XG4gICAgICB0YXJnZXRHcm91cHM6IFt0YXJnZXRHcm91cF0sXG4gICAgICBjb25kaXRpb25zOiB0YXJnZXRHcm91cENvbmRpdGlvbnMsXG4gICAgICBwcmlvcml0eTogcHJvcHMudGFyZ2V0R3JvdXBQcmlvcml0eSA/PyAxXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMuZG9tYWluTmFtZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRvbWFpblpvbmUgIT09IHVuZGVmaW5lZCAmJiAhcHJvcHMuc2tpcENyZWF0ZVJvdXRlNTNSZWNvcmRzKSB7XG4gICAgICB0aGlzLmRvbWFpbk5hbWUgPSBEb21haW5OYW1lLmZyb21GcWRuKHByb3BzLmRvbWFpbk5hbWUsIHByb3BzLmRvbWFpblpvbmUpO1xuICAgICAgdGhpcy5yb3V0ZTUzUmVjb3JkID0gdGhpcy5kb21haW5OYW1lLmNyZWF0ZUFSZWNvcmQodGhpcyxcbiAgICAgICAgUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgTG9hZEJhbGFuY2VyVGFyZ2V0KGxvYWRCYWxhbmNlcikpKTtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWRCYWxhbmNlciA9IGxvYWRCYWxhbmNlcjtcbiAgICB0aGlzLmxpc3RlbmVyID0gbGlzdGVuZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,6 +4,8 @@ import { OriginAccessIdentity } from "aws-cdk-lib/aws-cloudfront";
|
|
|
4
4
|
import { BucketDeployment, ISource } from "aws-cdk-lib/aws-s3-deployment";
|
|
5
5
|
import { Duration, RemovalPolicy } from "aws-cdk-lib";
|
|
6
6
|
import { ExtendedConstruct, ExtendedConstructProps } from "../../aws-cdk";
|
|
7
|
+
import { S3Origin } from "aws-cdk-lib/aws-cloudfront-origins";
|
|
8
|
+
import { Grant, IGrantable } from "aws-cdk-lib/aws-iam";
|
|
7
9
|
/**
|
|
8
10
|
* Properties for CloudFrontBucket.
|
|
9
11
|
*/
|
|
@@ -48,7 +50,7 @@ export declare class CloudFrontBucket extends ExtendedConstruct {
|
|
|
48
50
|
readonly originAccessIdentity: OriginAccessIdentity;
|
|
49
51
|
readonly originAccessIdentityId: string;
|
|
50
52
|
private nextDeployCount;
|
|
51
|
-
constructor(scope: Construct, id: string, props
|
|
53
|
+
constructor(scope: Construct, id: string, props?: CloudFrontBucketProps);
|
|
52
54
|
/**
|
|
53
55
|
* Helper method to deploy local assets to the created bucket. Ths function assumes
|
|
54
56
|
* CloudFront invalidation requests will be sent for mutable files to serve new content.
|
|
@@ -93,4 +95,85 @@ export declare class CloudFrontBucket extends ExtendedConstruct {
|
|
|
93
95
|
* @param prune true to prune old files; default is false
|
|
94
96
|
*/
|
|
95
97
|
deploySource(source: ISource, maxAge?: Duration, sMaxAge?: Duration, prune?: boolean): BucketDeployment;
|
|
98
|
+
/**
|
|
99
|
+
* Helper method to return a CloudFront Origin for this bucket.
|
|
100
|
+
*/
|
|
101
|
+
toOrigin(): S3Origin;
|
|
102
|
+
/**
|
|
103
|
+
* Grant read permissions for this bucket and it's contents to an IAM
|
|
104
|
+
* principal (Role/Group/User).
|
|
105
|
+
*
|
|
106
|
+
* If encryption is used, permission to use the key to decrypt the contents
|
|
107
|
+
* of the bucket will also be granted to the same principal.
|
|
108
|
+
*
|
|
109
|
+
* @param identity The principal
|
|
110
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
111
|
+
*/
|
|
112
|
+
grantRead(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
113
|
+
/**
|
|
114
|
+
* Grant write permissions to this bucket to an IAM principal.
|
|
115
|
+
*
|
|
116
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
117
|
+
* of written files will also be granted to the same principal.
|
|
118
|
+
*
|
|
119
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
120
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
121
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
122
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
123
|
+
* in the `context` key of your cdk.json file.
|
|
124
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
125
|
+
* use the `grantPutAcl` method.
|
|
126
|
+
*
|
|
127
|
+
* @param identity The principal
|
|
128
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
129
|
+
* @param allowedActionPatterns Restrict the permissions to certain list of action patterns
|
|
130
|
+
*/
|
|
131
|
+
grantWrite(identity: IGrantable, objectsKeyPattern?: any, allowedActionPatterns?: string[]): Grant;
|
|
132
|
+
/**
|
|
133
|
+
* Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.
|
|
134
|
+
*
|
|
135
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
136
|
+
* of written files will also be granted to the same principal.
|
|
137
|
+
* @param identity The principal
|
|
138
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
139
|
+
*/
|
|
140
|
+
grantPut(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
141
|
+
/**
|
|
142
|
+
* Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.
|
|
143
|
+
*
|
|
144
|
+
* If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,
|
|
145
|
+
* calling `grantWrite` or `grantReadWrite` no longer grants permissions to modify the ACLs of the objects;
|
|
146
|
+
* in this case, if you need to modify object ACLs, call this method explicitly.
|
|
147
|
+
*
|
|
148
|
+
* @param identity The principal
|
|
149
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
150
|
+
*/
|
|
151
|
+
grantPutAcl(identity: IGrantable, objectsKeyPattern?: string): Grant;
|
|
152
|
+
/**
|
|
153
|
+
* Grants s3:DeleteObject* permission to an IAM principal for objects
|
|
154
|
+
* in this bucket.
|
|
155
|
+
*
|
|
156
|
+
* @param identity The principal
|
|
157
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
158
|
+
*/
|
|
159
|
+
grantDelete(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
160
|
+
/**
|
|
161
|
+
* Grants read/write permissions for this bucket and it's contents to an IAM
|
|
162
|
+
* principal (Role/Group/User).
|
|
163
|
+
*
|
|
164
|
+
* If an encryption key is used, permission to use the key for
|
|
165
|
+
* encrypt/decrypt will also be granted.
|
|
166
|
+
*
|
|
167
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
168
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
169
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
170
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
171
|
+
* in the `context` key of your cdk.json file.
|
|
172
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
173
|
+
* use the `grantPutAcl` method.
|
|
174
|
+
*
|
|
175
|
+
* @param identity The principal
|
|
176
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
177
|
+
*/
|
|
178
|
+
grantReadWrite(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
96
179
|
}
|
|
@@ -7,24 +7,25 @@ const aws_s3_deployment_1 = require("aws-cdk-lib/aws-s3-deployment");
|
|
|
7
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
8
|
const aws_cdk_1 = require("../../aws-cdk");
|
|
9
9
|
const truemark_1 = require("../../truemark");
|
|
10
|
+
const aws_cloudfront_origins_1 = require("aws-cdk-lib/aws-cloudfront-origins");
|
|
10
11
|
/**
|
|
11
12
|
* Simple Construct for creating buckets that will be accessed directly by CloudFront as an Origin.
|
|
12
13
|
*/
|
|
13
14
|
class CloudFrontBucket extends aws_cdk_1.ExtendedConstruct {
|
|
14
15
|
constructor(scope, id, props) {
|
|
15
16
|
var _a, _b, _c, _d;
|
|
16
|
-
super(scope, id, { standardTags: aws_cdk_1.StandardTags.merge(props.standardTags, truemark_1.LibStandardTags) });
|
|
17
|
+
super(scope, id, { standardTags: aws_cdk_1.StandardTags.merge(props === null || props === void 0 ? void 0 : props.standardTags, truemark_1.LibStandardTags) });
|
|
17
18
|
this.deployCount = 0;
|
|
18
|
-
const removalPolicy = (_a = props.removalPolicy) !== null && _a !== void 0 ? _a : aws_cdk_lib_1.RemovalPolicy.RETAIN;
|
|
19
|
-
const autoDeleteObjects = ((_b = props.autoDeleteObjects) !== null && _b !== void 0 ? _b : false) && removalPolicy === aws_cdk_lib_1.RemovalPolicy.DESTROY;
|
|
19
|
+
const removalPolicy = (_a = props === null || props === void 0 ? void 0 : props.removalPolicy) !== null && _a !== void 0 ? _a : aws_cdk_lib_1.RemovalPolicy.RETAIN;
|
|
20
|
+
const autoDeleteObjects = ((_b = props === null || props === void 0 ? void 0 : props.autoDeleteObjects) !== null && _b !== void 0 ? _b : false) && removalPolicy === aws_cdk_lib_1.RemovalPolicy.DESTROY;
|
|
20
21
|
this.bucket = new aws_s3_1.Bucket(this, "Default", {
|
|
21
22
|
encryption: aws_s3_1.BucketEncryption.S3_MANAGED,
|
|
22
23
|
blockPublicAccess: aws_s3_1.BlockPublicAccess.BLOCK_ALL,
|
|
23
24
|
removalPolicy,
|
|
24
25
|
autoDeleteObjects,
|
|
25
|
-
versioned: (_c = props.versioned) !== null && _c !== void 0 ? _c : false,
|
|
26
|
-
transferAcceleration: (_d = props.transferAcceleration) !== null && _d !== void 0 ? _d : false,
|
|
27
|
-
bucketName: props.bucketName
|
|
26
|
+
versioned: (_c = props === null || props === void 0 ? void 0 : props.versioned) !== null && _c !== void 0 ? _c : false,
|
|
27
|
+
transferAcceleration: (_d = props === null || props === void 0 ? void 0 : props.transferAcceleration) !== null && _d !== void 0 ? _d : false,
|
|
28
|
+
bucketName: props === null || props === void 0 ? void 0 : props.bucketName
|
|
28
29
|
});
|
|
29
30
|
this.bucketName = this.bucket.bucketName;
|
|
30
31
|
this.bucketArn = this.bucket.bucketArn;
|
|
@@ -108,6 +109,103 @@ class CloudFrontBucket extends aws_cdk_1.ExtendedConstruct {
|
|
|
108
109
|
deploySource(source, maxAge, sMaxAge, prune) {
|
|
109
110
|
return this.deploySources([source], maxAge, sMaxAge, prune);
|
|
110
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Helper method to return a CloudFront Origin for this bucket.
|
|
114
|
+
*/
|
|
115
|
+
toOrigin() {
|
|
116
|
+
return new aws_cloudfront_origins_1.S3Origin(this.bucket, {
|
|
117
|
+
originAccessIdentity: this.originAccessIdentity
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Grant read permissions for this bucket and it's contents to an IAM
|
|
122
|
+
* principal (Role/Group/User).
|
|
123
|
+
*
|
|
124
|
+
* If encryption is used, permission to use the key to decrypt the contents
|
|
125
|
+
* of the bucket will also be granted to the same principal.
|
|
126
|
+
*
|
|
127
|
+
* @param identity The principal
|
|
128
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
129
|
+
*/
|
|
130
|
+
grantRead(identity, objectsKeyPattern) {
|
|
131
|
+
return this.bucket.grantRead(identity, objectsKeyPattern);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Grant write permissions to this bucket to an IAM principal.
|
|
135
|
+
*
|
|
136
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
137
|
+
* of written files will also be granted to the same principal.
|
|
138
|
+
*
|
|
139
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
140
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
141
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
142
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
143
|
+
* in the `context` key of your cdk.json file.
|
|
144
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
145
|
+
* use the `grantPutAcl` method.
|
|
146
|
+
*
|
|
147
|
+
* @param identity The principal
|
|
148
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
149
|
+
* @param allowedActionPatterns Restrict the permissions to certain list of action patterns
|
|
150
|
+
*/
|
|
151
|
+
grantWrite(identity, objectsKeyPattern, allowedActionPatterns) {
|
|
152
|
+
return this.bucket.grantWrite(identity, objectsKeyPattern, allowedActionPatterns);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.
|
|
156
|
+
*
|
|
157
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
158
|
+
* of written files will also be granted to the same principal.
|
|
159
|
+
* @param identity The principal
|
|
160
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
161
|
+
*/
|
|
162
|
+
grantPut(identity, objectsKeyPattern) {
|
|
163
|
+
return this.bucket.grantPut(identity, objectsKeyPattern);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.
|
|
167
|
+
*
|
|
168
|
+
* If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,
|
|
169
|
+
* calling `grantWrite` or `grantReadWrite` no longer grants permissions to modify the ACLs of the objects;
|
|
170
|
+
* in this case, if you need to modify object ACLs, call this method explicitly.
|
|
171
|
+
*
|
|
172
|
+
* @param identity The principal
|
|
173
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
174
|
+
*/
|
|
175
|
+
grantPutAcl(identity, objectsKeyPattern) {
|
|
176
|
+
return this.bucket.grantPutAcl(identity, objectsKeyPattern);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Grants s3:DeleteObject* permission to an IAM principal for objects
|
|
180
|
+
* in this bucket.
|
|
181
|
+
*
|
|
182
|
+
* @param identity The principal
|
|
183
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
184
|
+
*/
|
|
185
|
+
grantDelete(identity, objectsKeyPattern) {
|
|
186
|
+
return this.bucket.grantDelete(identity, objectsKeyPattern);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Grants read/write permissions for this bucket and it's contents to an IAM
|
|
190
|
+
* principal (Role/Group/User).
|
|
191
|
+
*
|
|
192
|
+
* If an encryption key is used, permission to use the key for
|
|
193
|
+
* encrypt/decrypt will also be granted.
|
|
194
|
+
*
|
|
195
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
196
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
197
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
198
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
199
|
+
* in the `context` key of your cdk.json file.
|
|
200
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
201
|
+
* use the `grantPutAcl` method.
|
|
202
|
+
*
|
|
203
|
+
* @param identity The principal
|
|
204
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
205
|
+
*/
|
|
206
|
+
grantReadWrite(identity, objectsKeyPattern) {
|
|
207
|
+
return this.bucket.grantReadWrite(identity, objectsKeyPattern);
|
|
208
|
+
}
|
|
111
209
|
}
|
|
112
210
|
exports.CloudFrontBucket = CloudFrontBucket;
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtZnJvbnQtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtDQUF3RjtBQUN4RiwrREFBZ0U7QUFDaEUscUVBQThGO0FBQzlGLDZDQUFvRDtBQUNwRCwyQ0FBc0Y7QUFDdEYsNkNBQStDO0FBeUMvQzs7R0FFRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsMkJBQWlCO0lBZXJELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7O1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUMsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsMEJBQWUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQWRwRixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQWdCOUIsTUFBTSxhQUFhLFNBQUcsS0FBSyxDQUFDLGFBQWEsbUNBQUksMkJBQWEsQ0FBQyxNQUFNLENBQUM7UUFDbEUsTUFBTSxpQkFBaUIsR0FBRyxPQUFDLEtBQUssQ0FBQyxpQkFBaUIsbUNBQUksS0FBSyxDQUFDLElBQUksYUFBYSxLQUFLLDJCQUFhLENBQUMsT0FBTyxDQUFDO1FBRXhHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN4QyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2QyxpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyxTQUFTO1lBQzlDLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsU0FBUyxRQUFFLEtBQUssQ0FBQyxTQUFTLG1DQUFJLEtBQUs7WUFDbkMsb0JBQW9CLFFBQUUsS0FBSyxDQUFDLG9CQUFvQixtQ0FBSSxLQUFLO1lBQ3pELFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElB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QUUsTUFBaUIsRUFBRSxPQUFrQixFQUFFLEtBQWU7UUFDbEYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUFoSEQsNENBZ0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0Jsb2NrUHVibGljQWNjZXNzLCBCdWNrZXQsIEJ1Y2tldEVuY3J5cHRpb24sIElCdWNrZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7T3JpZ2luQWNjZXNzSWRlbnRpdHl9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udFwiO1xuaW1wb3J0IHtCdWNrZXREZXBsb3ltZW50LCBDYWNoZUNvbnRyb2wsIElTb3VyY2UsIFNvdXJjZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50XCI7XG5pbXBvcnQge0R1cmF0aW9uLCBSZW1vdmFsUG9saWN5fSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7RXh0ZW5kZWRDb25zdHJ1Y3QsIEV4dGVuZGVkQ29uc3RydWN0UHJvcHMsIFN0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcbmltcG9ydCB7TGliU3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vdHJ1ZW1hcmtcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDbG91ZEZyb250QnVja2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRCdWNrZXRQcm9wcyBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0UHJvcHMge1xuXG4gIC8qKlxuICAgKiBQb2xpY3kgdG8gYXBwbHkgd2hlbiB0aGUgYnVja2V0IGlzIHJlbW92ZWQgZnJvbSB0aGlzIHN0YWNrLlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWxsIG9iamVjdHMgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCB3aGVuIHRoZSBidWNrZXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzdGFjayBvciB3aGVuIHRoZSBzdGFjayBpcyBkZWxldGVkLlxuICAgKiBSZXF1aXJlcyB0aGUgcmVtb3ZhbFBvbGljeSB0byBiZSBzZXQgdG8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0RlbGV0ZU9iamVjdHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYnVja2V0IHNob3VsZCBoYXZlIHZlcnNpb25pbmcgdHVybmVkIG9uIG9yIG5vdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25lZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBidWNrZXQgc2hvdWxkIGhhdmUgdHJhbnNmZXIgYWNjZWxlcmF0aW9uIHR1cm5lZCBvbiBvciBub3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB0cmFuc2ZlckFjY2VsZXJhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGJ1Y2tldCBuYW1lLiBJZiBub3QgcHJvdmlkZWQsIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2ltcGxlIENvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYnVja2V0cyB0aGF0IHdpbGwgYmUgYWNjZXNzZWQgZGlyZWN0bHkgYnkgQ2xvdWRGcm9udCBhcyBhbiBPcmlnaW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZEZyb250QnVja2V0IGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3Qge1xuXG4gIHByaXZhdGUgZGVwbG95Q291bnQ6IG51bWJlciA9IDA7XG5cbiAgcmVhZG9ubHkgYnVja2V0OiBCdWNrZXQ7XG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYnVja2V0QXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0lkZW50aXR5OiBPcmlnaW5BY2Nlc3NJZGVudGl0eTtcbiAgcmVhZG9ubHkgb3JpZ2luQWNjZXNzSWRlbnRpdHlJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgbmV4dERlcGxveUNvdW50KCk6IHN0cmluZyB7XG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLmRlcGxveUNvdW50Kys7XG4gICAgcmV0dXJuIGN1cnJlbnQgPT09IDAgPyAnJyA6IGAke2N1cnJlbnR9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDbG91ZEZyb250QnVja2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtzdGFuZGFyZFRhZ3M6IFN0YW5kYXJkVGFncy5tZXJnZShwcm9wcy5zdGFuZGFyZFRhZ3MsIExpYlN0YW5kYXJkVGFncyl9KTtcblxuICAgIGNvbnN0IHJlbW92YWxQb2xpY3kgPSBwcm9wcy5yZW1vdmFsUG9saWN5ID8/IFJlbW92YWxQb2xpY3kuUkVUQUlOO1xuICAgIGNvbnN0IGF1dG9EZWxldGVPYmplY3RzID0gKHByb3BzLmF1dG9EZWxldGVPYmplY3RzID8/IGZhbHNlKSAmJiByZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1k7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IG5ldyBCdWNrZXQodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCwgLy8gQ2xvdWRGcm9udCBjYW5ub3QgdXNlIEtNUyB3aXRoIFMzXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzLFxuICAgICAgdmVyc2lvbmVkOiBwcm9wcy52ZXJzaW9uZWQgPz8gZmFsc2UsXG4gICAgICB0cmFuc2ZlckFjY2VsZXJhdGlvbjogcHJvcHMudHJhbnNmZXJBY2NlbGVyYXRpb24gPz8gZmFsc2UsXG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lXG4gICAgfSk7XG4gICAgdGhpcy5idWNrZXROYW1lID0gdGhpcy5idWNrZXQuYnVja2V0TmFtZTtcbiAgICB0aGlzLmJ1Y2tldEFybiA9IHRoaXMuYnVja2V0LmJ1Y2tldEFybjtcbiAgICB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IE9yaWdpbkFjY2Vzc0lkZW50aXR5KHRoaXMsIFwiQWNjZXNzXCIsIHtcbiAgICAgIGNvbW1lbnQ6IGBTMyBidWNrZXQgJHt0aGlzLmJ1Y2tldC5idWNrZXROYW1lfWBcbiAgICB9KTtcbiAgICB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5SWQgPSB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5Lm9yaWdpbkFjY2Vzc0lkZW50aXR5SWQ7XG4gICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkKHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZGVwbG95IGxvY2FsIGFzc2V0cyB0byB0aGUgY3JlYXRlZCBidWNrZXQuIFRocyBmdW5jdGlvbiBhc3N1bWVzXG4gICAqIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aHMgdGhlIHBhdGhzIHRvIHRoZSBsb2NhbCBhc3NldHNcbiAgICogQHBhcmFtIG1heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgdG8gYnJvd3NlcnMgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKiBAcGFyYW0gc01heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgQ2xvdWRGcm9udCB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLmRheXMoNylcbiAgICogQHBhcmFtIHBydW5lIHRydWUgdG8gcHJ1bmUgb2xkIGZpbGVzOyBkZWZhdWx0IGlzIGZhbHNlXG4gICAqL1xuICBkZXBsb3lQYXRocyhwYXRoczogc3RyaW5nW10sIG1heEFnZT86IER1cmF0aW9uLCBzTWF4QWdlPzogRHVyYXRpb24sIHBydW5lPzogYm9vbGVhbik6IEJ1Y2tldERlcGxveW1lbnQge1xuICAgIHJldHVybiBuZXcgQnVja2V0RGVwbG95bWVudCh0aGlzLCBgRGVwbG95JHt0aGlzLm5leHREZXBsb3lDb3VudCgpfWAsIHtcbiAgICAgIHNvdXJjZXM6IHBhdGhzLm1hcChwYXRoID0+IFNvdXJjZS5hc3NldChwYXRoKSksXG4gICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICBwcnVuZTogcHJ1bmUgPz8gZmFsc2UsXG4gICAgICBjYWNoZUNvbnRyb2w6IFtcbiAgICAgICAgQ2FjaGVDb250cm9sLnNldFB1YmxpYygpLFxuICAgICAgICBDYWNoZUNvbnRyb2wubWF4QWdlKG1heEFnZSA/PyBEdXJhdGlvbi5taW51dGVzKDE1KSksXG4gICAgICAgIENhY2hlQ29udHJvbC5zTWF4QWdlKHNNYXhBZ2UgPz8gRHVyYXRpb24uZGF5cyg3KSlcbiAgICAgIF1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGRlcGxveSBsb2NhbCBhc3NldHMgdG8gdGhlIGNyZWF0ZWQgYnVja2V0LiBUaHMgZnVuY3Rpb24gYXNzdW1lc1xuICAgKiBDbG91ZEZyb250IGludmFsaWRhdGlvbiByZXF1ZXN0cyB3aWxsIGJlIHNlbnQgZm9yIG11dGFibGUgZmlsZXMgdG8gc2VydmUgbmV3IGNvbnRlbnQuXG4gICAqIEZvciBtb3JlIGNvbXBsaWNhdGVkIGRlcGxveW1lbnRzLCB1c2UgQnVja2V0RGVwbG95bWVudCBkaXJlY3RseS5cbiAgICpcbiAgICogQHBhcmFtIHBhdGggdGhlIHBhdGggdG8gdGhlIGxvY2FsIGFzc2V0c1xuICAgKiBAcGFyYW0gbWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSB0byBicm93c2VycyB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLm1pbnV0ZXMoMTUpXG4gICAqIEBwYXJhbSBzTWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSBDbG91ZEZyb250IHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24uZGF5cyg3KVxuICAgKiBAcGFyYW0gcHJ1bmUgdHJ1ZSB0byBwcnVuZSBvbGQgZmlsZXM7IGRlZmF1bHQgaXMgZmFsc2VcbiAgICovXG4gIGRlcGxveVBhdGgocGF0aDogc3RyaW5nLCBtYXhBZ2U/OiBEdXJhdGlvbiwgc01heEFnZT86IER1cmF0aW9uLCBwcnVuZT86IGJvb2xlYW4pOiBCdWNrZXREZXBsb3ltZW50IHtcbiAgICByZXR1cm4gdGhpcy5kZXBsb3lQYXRocyhbcGF0aF0sIG1heEFnZSwgc01heEFnZSwgcHJ1bmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gYXNzZXRzIHRvIHRoZSBjcmVhdGVkIGJ1Y2tldC4gVGhpcyBmdW5jdGlvbiBhc3N1bWVzIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uXG4gICAqIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlcyB0aGUgc291cmNlcyB0byBkZXBsb3lcbiAgICogQHBhcmFtIG1heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgdG8gYnJvd3NlcnMgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKiBAcGFyYW0gc01heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgQ2xvdWRGcm9udCB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLmRheXMoNylcbiAgICogQHBhcmFtIHBydW5lIHRydWUgdG8gcHJ1bmUgb2xkIGZpbGVzOyBkZWZhdWx0IGlzIGZhbHNlXG4gICAqL1xuICBkZXBsb3lTb3VyY2VzKHNvdXJjZXM6IElTb3VyY2VbXSwgbWF4QWdlPzogRHVyYXRpb24sIHNNYXhBZ2U/OiBEdXJhdGlvbiwgcHJ1bmU/OiBib29sZWFuKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIGBEZXBsb3kke3RoaXMubmV4dERlcGxveUNvdW50KCl9YCwge1xuICAgICAgc291cmNlczogc291cmNlcyxcbiAgICAgIGRlc3RpbmF0aW9uQnVja2V0OiB0aGlzLmJ1Y2tldCxcbiAgICAgIHBydW5lOiBwcnVuZSA/PyBmYWxzZSxcbiAgICAgIGNhY2hlQ29udHJvbDogW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UobWF4QWdlID8/IER1cmF0aW9uLm1pbnV0ZXMoMTUpKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2Uoc01heEFnZSA/PyBEdXJhdGlvbi5kYXlzKDcpKVxuICAgICAgXVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gYXNzZXRzIHRvIHRoZSBjcmVhdGVkIGJ1Y2tldC4gVGhpcyBmdW5jdGlvbiBhc3N1bWVzIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uXG4gICAqIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlIHRoZSBzb3VyY2UgdG8gZGVwbG95XG4gICAqIEBwYXJhbSBtYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIHRvIGJyb3dzZXJzIHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICogQHBhcmFtIHNNYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIENsb3VkRnJvbnQgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5kYXlzKDcpXG4gICAqIEBwYXJhbSBwcnVuZSB0cnVlIHRvIHBydW5lIG9sZCBmaWxlczsgZGVmYXVsdCBpcyBmYWxzZVxuICAgKi9cbiAgZGVwbG95U291cmNlKHNvdXJjZTogSVNvdXJjZSwgbWF4QWdlPzogRHVyYXRpb24sIHNNYXhBZ2U/OiBEdXJhdGlvbiwgcHJ1bmU/OiBib29sZWFuKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZGVwbG95U291cmNlcyhbc291cmNlXSwgbWF4QWdlLCBzTWF4QWdlLCBwcnVuZSk7XG4gIH1cbn1cbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtZnJvbnQtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtDQUErRTtBQUMvRSwrREFBZ0U7QUFDaEUscUVBQThGO0FBQzlGLDZDQUFvRDtBQUNwRCwyQ0FBc0Y7QUFDdEYsNkNBQStDO0FBQy9DLCtFQUE0RDtBQTJDNUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLDJCQUFpQjtJQWVyRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCOztRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFDLFlBQVksRUFBRSxzQkFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxFQUFFLDBCQUFlLENBQUMsRUFBQyxDQUFDLENBQUM7UUFkckYsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFnQjlCLE1BQU0sYUFBYSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxhQUFhLG1DQUFJLDJCQUFhLENBQUMsTUFBTSxDQUFDO1FBQ25FLE1BQU0saUJBQWlCLEdBQUcsT0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsaUJBQWlCLG1DQUFJLEtBQUssQ0FBQyxJQUFJLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU8sQ0FBQztRQUV6RyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDeEMsVUFBVSxFQUFFLHlCQUFnQixDQUFDLFVBQVU7WUFDdkMsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztZQUM5QyxhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFNBQVMsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsU0FBUyxtQ0FBSSxLQUFLO1lBQ3BDLG9CQUFvQixRQUFFLEtBQUss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VyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsUUFBb0IsRUFBRSxpQkFBdUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsY0FBYyxDQUFDLFFBQW9CLEVBQUUsaUJBQXVCO1FBQzFELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDakUsQ0FBQztDQUVGO0FBek5ELDRDQXlOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtCbG9ja1B1YmxpY0FjY2VzcywgQnVja2V0LCBCdWNrZXRFbmNyeXB0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQge09yaWdpbkFjY2Vzc0lkZW50aXR5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIjtcbmltcG9ydCB7QnVja2V0RGVwbG95bWVudCwgQ2FjaGVDb250cm9sLCBJU291cmNlLCBTb3VyY2V9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczMtZGVwbG95bWVudFwiO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge0V4dGVuZGVkQ29uc3RydWN0LCBFeHRlbmRlZENvbnN0cnVjdFByb3BzLCBTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi9hd3MtY2RrXCI7XG5pbXBvcnQge0xpYlN0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL3RydWVtYXJrXCI7XG5pbXBvcnQge1MzT3JpZ2lufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2luc1wiO1xuaW1wb3J0IHtHcmFudCwgSUdyYW50YWJsZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIENsb3VkRnJvbnRCdWNrZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udEJ1Y2tldFByb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFBvbGljeSB0byBhcHBseSB3aGVuIHRoZSBidWNrZXQgaXMgcmVtb3ZlZCBmcm9tIHRoaXMgc3RhY2suXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuUkVUQUlOXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogV2hldGhlciBhbGwgb2JqZWN0cyBzaG91bGQgYmUgYXV0b21hdGljYWxseSBkZWxldGVkIHdoZW4gdGhlIGJ1Y2tldCBpcyByZW1vdmVkIGZyb20gdGhlIHN0YWNrIG9yIHdoZW4gdGhlIHN0YWNrIGlzIGRlbGV0ZWQuXG4gICAqIFJlcXVpcmVzIHRoZSByZW1vdmFsUG9saWN5IHRvIGJlIHNldCB0byBSZW1vdmFsUG9saWN5LkRFU1RST1kuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhdXRvRGVsZXRlT2JqZWN0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBidWNrZXQgc2hvdWxkIGhhdmUgdmVyc2lvbmluZyB0dXJuZWQgb24gb3Igbm90LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGJ1Y2tldCBzaG91bGQgaGF2ZSB0cmFuc2ZlciBhY2NlbGVyYXRpb24gdHVybmVkIG9uIG9yIG5vdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZmVyQWNjZWxlcmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgYnVja2V0IG5hbWUuIElmIG5vdCBwcm92aWRlZCwgYSBuYW1lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTaW1wbGUgQ29uc3RydWN0IGZvciBjcmVhdGluZyBidWNrZXRzIHRoYXQgd2lsbCBiZSBhY2Nlc3NlZCBkaXJlY3RseSBieSBDbG91ZEZyb250IGFzIGFuIE9yaWdpbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkRnJvbnRCdWNrZXQgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdCB7XG5cbiAgcHJpdmF0ZSBkZXBsb3lDb3VudDogbnVtYmVyID0gMDtcblxuICByZWFkb25seSBidWNrZXQ6IEJ1Y2tldDtcbiAgcmVhZG9ubHkgYnVja2V0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBidWNrZXRBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IE9yaWdpbkFjY2Vzc0lkZW50aXR5O1xuICByZWFkb25seSBvcmlnaW5BY2Nlc3NJZGVudGl0eUlkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBuZXh0RGVwbG95Q291bnQoKTogc3RyaW5nIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuZGVwbG95Q291bnQrKztcbiAgICByZXR1cm4gY3VycmVudCA9PT0gMCA/ICcnIDogYCR7Y3VycmVudH1gO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBDbG91ZEZyb250QnVja2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtzdGFuZGFyZFRhZ3M6IFN0YW5kYXJkVGFncy5tZXJnZShwcm9wcz8uc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpfSk7XG5cbiAgICBjb25zdCByZW1vdmFsUG9saWN5ID0gcHJvcHM/LnJlbW92YWxQb2xpY3kgPz8gUmVtb3ZhbFBvbGljeS5SRVRBSU47XG4gICAgY29uc3QgYXV0b0RlbGV0ZU9iamVjdHMgPSAocHJvcHM/LmF1dG9EZWxldGVPYmplY3RzID8/IGZhbHNlKSAmJiByZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1k7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IG5ldyBCdWNrZXQodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCwgLy8gQ2xvdWRGcm9udCBjYW5ub3QgdXNlIEtNUyB3aXRoIFMzXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzLFxuICAgICAgdmVyc2lvbmVkOiBwcm9wcz8udmVyc2lvbmVkID8/IGZhbHNlLFxuICAgICAgdHJhbnNmZXJBY2NlbGVyYXRpb246IHByb3BzPy50cmFuc2ZlckFjY2VsZXJhdGlvbiA/PyBmYWxzZSxcbiAgICAgIGJ1Y2tldE5hbWU6IHByb3BzPy5idWNrZXROYW1lXG4gICAgfSk7XG4gICAgdGhpcy5idWNrZXROYW1lID0gdGhpcy5idWNrZXQuYnVja2V0TmFtZTtcbiAgICB0aGlzLmJ1Y2tldEFybiA9IHRoaXMuYnVja2V0LmJ1Y2tldEFybjtcbiAgICB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IE9yaWdpbkFjY2Vzc0lkZW50aXR5KHRoaXMsIFwiQWNjZXNzXCIsIHtcbiAgICAgIGNvbW1lbnQ6IGBTMyBidWNrZXQgJHt0aGlzLmJ1Y2tldC5idWNrZXROYW1lfWBcbiAgICB9KTtcbiAgICB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5SWQgPSB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5Lm9yaWdpbkFjY2Vzc0lkZW50aXR5SWQ7XG4gICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkKHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZGVwbG95IGxvY2FsIGFzc2V0cyB0byB0aGUgY3JlYXRlZCBidWNrZXQuIFRocyBmdW5jdGlvbiBhc3N1bWVzXG4gICAqIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aHMgdGhlIHBhdGhzIHRvIHRoZSBsb2NhbCBhc3NldHNcbiAgICogQHBhcmFtIG1heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgdG8gYnJvd3NlcnMgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKiBAcGFyYW0gc01heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgQ2xvdWRGcm9udCB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLmRheXMoNylcbiAgICogQHBhcmFtIHBydW5lIHRydWUgdG8gcHJ1bmUgb2xkIGZpbGVzOyBkZWZhdWx0IGlzIGZhbHNlXG4gICAqL1xuICBkZXBsb3lQYXRocyhwYXRoczogc3RyaW5nW10sIG1heEFnZT86IER1cmF0aW9uLCBzTWF4QWdlPzogRHVyYXRpb24sIHBydW5lPzogYm9vbGVhbik6IEJ1Y2tldERlcGxveW1lbnQge1xuICAgIHJldHVybiBuZXcgQnVja2V0RGVwbG95bWVudCh0aGlzLCBgRGVwbG95JHt0aGlzLm5leHREZXBsb3lDb3VudCgpfWAsIHtcbiAgICAgIHNvdXJjZXM6IHBhdGhzLm1hcChwYXRoID0+IFNvdXJjZS5hc3NldChwYXRoKSksXG4gICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICBwcnVuZTogcHJ1bmUgPz8gZmFsc2UsXG4gICAgICBjYWNoZUNvbnRyb2w6IFtcbiAgICAgICAgQ2FjaGVDb250cm9sLnNldFB1YmxpYygpLFxuICAgICAgICBDYWNoZUNvbnRyb2wubWF4QWdlKG1heEFnZSA/PyBEdXJhdGlvbi5taW51dGVzKDE1KSksXG4gICAgICAgIENhY2hlQ29udHJvbC5zTWF4QWdlKHNNYXhBZ2UgPz8gRHVyYXRpb24uZGF5cyg3KSlcbiAgICAgIF1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGRlcGxveSBsb2NhbCBhc3NldHMgdG8gdGhlIGNyZWF0ZWQgYnVja2V0LiBUaHMgZnVuY3Rpb24gYXNzdW1lc1xuICAgKiBDbG91ZEZyb250IGludmFsaWRhdGlvbiByZXF1ZXN0cyB3aWxsIGJlIHNlbnQgZm9yIG11dGFibGUgZmlsZXMgdG8gc2VydmUgbmV3IGNvbnRlbnQuXG4gICAqIEZvciBtb3JlIGNvbXBsaWNhdGVkIGRlcGxveW1lbnRzLCB1c2UgQnVja2V0RGVwbG95bWVudCBkaXJlY3RseS5cbiAgICpcbiAgICogQHBhcmFtIHBhdGggdGhlIHBhdGggdG8gdGhlIGxvY2FsIGFzc2V0c1xuICAgKiBAcGFyYW0gbWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSB0byBicm93c2VycyB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLm1pbnV0ZXMoMTUpXG4gICAqIEBwYXJhbSBzTWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSBDbG91ZEZyb250IHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24uZGF5cyg3KVxuICAgKiBAcGFyYW0gcHJ1bmUgdHJ1ZSB0byBwcnVuZSBvbGQgZmlsZXM7IGRlZmF1bHQgaXMgZmFsc2VcbiAgICovXG4gIGRlcGxveVBhdGgocGF0aDogc3RyaW5nLCBtYXhBZ2U/OiBEdXJhdGlvbiwgc01heEFnZT86IER1cmF0aW9uLCBwcnVuZT86IGJvb2xlYW4pOiBCdWNrZXREZXBsb3ltZW50IHtcbiAgICByZXR1cm4gdGhpcy5kZXBsb3lQYXRocyhbcGF0aF0sIG1heEFnZSwgc01heEFnZSwgcHJ1bmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gYXNzZXRzIHRvIHRoZSBjcmVhdGVkIGJ1Y2tldC4gVGhpcyBmdW5jdGlvbiBhc3N1bWVzIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uXG4gICAqIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlcyB0aGUgc291cmNlcyB0byBkZXBsb3lcbiAgICogQHBhcmFtIG1heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgdG8gYnJvd3NlcnMgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKiBAcGFyYW0gc01heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgQ2xvdWRGcm9udCB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLmRheXMoNylcbiAgICogQHBhcmFtIHBydW5lIHRydWUgdG8gcHJ1bmUgb2xkIGZpbGVzOyBkZWZhdWx0IGlzIGZhbHNlXG4gICAqL1xuICBkZXBsb3lTb3VyY2VzKHNvdXJjZXM6IElTb3VyY2VbXSwgbWF4QWdlPzogRHVyYXRpb24sIHNNYXhBZ2U/OiBEdXJhdGlvbiwgcHJ1bmU/OiBib29sZWFuKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIGBEZXBsb3kke3RoaXMubmV4dERlcGxveUNvdW50KCl9YCwge1xuICAgICAgc291cmNlczogc291cmNlcyxcbiAgICAgIGRlc3RpbmF0aW9uQnVja2V0OiB0aGlzLmJ1Y2tldCxcbiAgICAgIHBydW5lOiBwcnVuZSA/PyBmYWxzZSxcbiAgICAgIGNhY2hlQ29udHJvbDogW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UobWF4QWdlID8/IER1cmF0aW9uLm1pbnV0ZXMoMTUpKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2Uoc01heEFnZSA/PyBEdXJhdGlvbi5kYXlzKDcpKVxuICAgICAgXVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gYXNzZXRzIHRvIHRoZSBjcmVhdGVkIGJ1Y2tldC4gVGhpcyBmdW5jdGlvbiBhc3N1bWVzIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uXG4gICAqIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlIHRoZSBzb3VyY2UgdG8gZGVwbG95XG4gICAqIEBwYXJhbSBtYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIHRvIGJyb3dzZXJzIHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICogQHBhcmFtIHNNYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIENsb3VkRnJvbnQgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5kYXlzKDcpXG4gICAqIEBwYXJhbSBwcnVuZSB0cnVlIHRvIHBydW5lIG9sZCBmaWxlczsgZGVmYXVsdCBpcyBmYWxzZVxuICAgKi9cbiAgZGVwbG95U291cmNlKHNvdXJjZTogSVNvdXJjZSwgbWF4QWdlPzogRHVyYXRpb24sIHNNYXhBZ2U/OiBEdXJhdGlvbiwgcHJ1bmU/OiBib29sZWFuKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZGVwbG95U291cmNlcyhbc291cmNlXSwgbWF4QWdlLCBzTWF4QWdlLCBwcnVuZSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byByZXR1cm4gYSBDbG91ZEZyb250IE9yaWdpbiBmb3IgdGhpcyBidWNrZXQuXG4gICAqL1xuICB0b09yaWdpbigpOiBTM09yaWdpbiB7XG4gICAgcmV0dXJuIG5ldyBTM09yaWdpbih0aGlzLmJ1Y2tldCwge1xuICAgICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHlcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCByZWFkIHBlcm1pc3Npb25zIGZvciB0aGlzIGJ1Y2tldCBhbmQgaXQncyBjb250ZW50cyB0byBhbiBJQU1cbiAgICogcHJpbmNpcGFsIChSb2xlL0dyb3VwL1VzZXIpLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZGVjcnlwdCB0aGUgY29udGVudHNcbiAgICogb2YgdGhlIGJ1Y2tldCB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRSZWFkKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IGFueSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBCZWZvcmUgQ0RLIHZlcnNpb24gMS44NS4wLCB0aGlzIG1ldGhvZCBncmFudGVkIHRoZSBgczM6UHV0T2JqZWN0KmAgcGVybWlzc2lvbiB0aGF0IGluY2x1ZGVkIGBzMzpQdXRPYmplY3RBY2xgLFxuICAgKiB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGdyYW50IHJlYWQvd3JpdGUgb2JqZWN0IGFjY2VzcyB0byBJQU0gcHJpbmNpcGFscyBpbiBvdGhlciBhY2NvdW50cy5cbiAgICogSWYgeW91IHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGF0IGJlaGF2aW9yLCB1cGRhdGUgeW91ciBDREsgdmVyc2lvbiB0byAxLjg1LjAgb3IgbGF0ZXIsXG4gICAqIGFuZCBtYWtlIHN1cmUgdGhlIGBAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2xgIGZlYXR1cmUgZmxhZyBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGluIHRoZSBgY29udGV4dGAga2V5IG9mIHlvdXIgY2RrLmpzb24gZmlsZS5cbiAgICogSWYgeW91J3ZlIGFscmVhZHkgdXBkYXRlZCwgYnV0IHN0aWxsIG5lZWQgdGhlIHByaW5jaXBhbCB0byBoYXZlIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyxcbiAgICogdXNlIHRoZSBgZ3JhbnRQdXRBY2xgIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqIEBwYXJhbSBhbGxvd2VkQWN0aW9uUGF0dGVybnMgUmVzdHJpY3QgdGhlIHBlcm1pc3Npb25zIHRvIGNlcnRhaW4gbGlzdCBvZiBhY3Rpb24gcGF0dGVybnNcbiAgICovXG4gIGdyYW50V3JpdGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogYW55LCBhbGxvd2VkQWN0aW9uUGF0dGVybnM/OiBzdHJpbmdbXSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRXcml0ZShpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4sIGFsbG93ZWRBY3Rpb25QYXR0ZXJucyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHMzOlB1dE9iamVjdCogYW5kIHMzOkFib3J0KiBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UHV0KGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IGFueSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRQdXQoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB0aGUgZ2l2ZW4gSUFNIGlkZW50aXR5IHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyBvZiBvYmplY3RzIGluIHRoZSBnaXZlbiBCdWNrZXQuXG4gICAqXG4gICAqIElmIHlvdXIgYXBwbGljYXRpb24gaGFzIHRoZSAnQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsJyBmZWF0dXJlIGZsYWcgc2V0LFxuICAgKiBjYWxsaW5nIGBncmFudFdyaXRlYCBvciBgZ3JhbnRSZWFkV3JpdGVgIG5vIGxvbmdlciBncmFudHMgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzIG9mIHRoZSBvYmplY3RzO1xuICAgKiBpbiB0aGlzIGNhc2UsIGlmIHlvdSBuZWVkIHRvIG1vZGlmeSBvYmplY3QgQUNMcywgY2FsbCB0aGlzIG1ldGhvZCBleHBsaWNpdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UHV0QWNsKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IHN0cmluZyk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRQdXRBY2woaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6RGVsZXRlT2JqZWN0KiBwZXJtaXNzaW9uIHRvIGFuIElBTSBwcmluY2lwYWwgZm9yIG9iamVjdHNcbiAgICogaW4gdGhpcyBidWNrZXQuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnREZWxldGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogYW55KTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudERlbGV0ZShpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyByZWFkL3dyaXRlIHBlcm1pc3Npb25zIGZvciB0aGlzIGJ1Y2tldCBhbmQgaXQncyBjb250ZW50cyB0byBhbiBJQU1cbiAgICogcHJpbmNpcGFsIChSb2xlL0dyb3VwL1VzZXIpLlxuICAgKlxuICAgKiBJZiBhbiBlbmNyeXB0aW9uIGtleSBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IGZvclxuICAgKiBlbmNyeXB0L2RlY3J5cHQgd2lsbCBhbHNvIGJlIGdyYW50ZWQuXG4gICAqXG4gICAqIEJlZm9yZSBDREsgdmVyc2lvbiAxLjg1LjAsIHRoaXMgbWV0aG9kIGdyYW50ZWQgdGhlIGBzMzpQdXRPYmplY3QqYCBwZXJtaXNzaW9uIHRoYXQgaW5jbHVkZWQgYHMzOlB1dE9iamVjdEFjbGAsXG4gICAqIHdoaWNoIGNvdWxkIGJlIHVzZWQgdG8gZ3JhbnQgcmVhZC93cml0ZSBvYmplY3QgYWNjZXNzIHRvIElBTSBwcmluY2lwYWxzIGluIG90aGVyIGFjY291bnRzLlxuICAgKiBJZiB5b3Ugd2FudCB0byBnZXQgcmlkIG9mIHRoYXQgYmVoYXZpb3IsIHVwZGF0ZSB5b3VyIENESyB2ZXJzaW9uIHRvIDEuODUuMCBvciBsYXRlcixcbiAgICogYW5kIG1ha2Ugc3VyZSB0aGUgYEBhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbGAgZmVhdHVyZSBmbGFnIGlzIHNldCB0byBgdHJ1ZWBcbiAgICogaW4gdGhlIGBjb250ZXh0YCBrZXkgb2YgeW91ciBjZGsuanNvbiBmaWxlLlxuICAgKiBJZiB5b3UndmUgYWxyZWFkeSB1cGRhdGVkLCBidXQgc3RpbGwgbmVlZCB0aGUgcHJpbmNpcGFsIHRvIGhhdmUgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzLFxuICAgKiB1c2UgdGhlIGBncmFudFB1dEFjbGAgbWV0aG9kLlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UmVhZFdyaXRlKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IGFueSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -4,6 +4,7 @@ import { LatencyARecord, WeightedARecord } from "../../aws-route53";
|
|
|
4
4
|
import { ARecord, IHostedZone } from "aws-cdk-lib/aws-route53";
|
|
5
5
|
import { RemovalPolicy, Duration } from "aws-cdk-lib";
|
|
6
6
|
import { BucketDeployment } from "aws-cdk-lib/aws-s3-deployment";
|
|
7
|
+
import { Grant, IGrantable } from "aws-cdk-lib/aws-iam";
|
|
7
8
|
/**
|
|
8
9
|
* Domain name properties for a bucket based website.
|
|
9
10
|
*/
|
|
@@ -46,7 +47,7 @@ export declare class WebsiteBucket extends Construct {
|
|
|
46
47
|
readonly bucketWebsiteUrl: string;
|
|
47
48
|
readonly bucketWebsiteDomainName: string;
|
|
48
49
|
readonly record: ARecord | WeightedARecord | LatencyARecord;
|
|
49
|
-
constructor(scope: Construct, id: string, props
|
|
50
|
+
constructor(scope: Construct, id: string, props?: WebsiteBucketProps);
|
|
50
51
|
/**
|
|
51
52
|
* Helper method to deploy local assets to the created bucket. Ths function assumes
|
|
52
53
|
* CloudFront invalidation requests will be sent for mutable files to serve new content.
|
|
@@ -58,4 +59,81 @@ export declare class WebsiteBucket extends Construct {
|
|
|
58
59
|
* @param prune
|
|
59
60
|
*/
|
|
60
61
|
deploy(path: string, maxAge?: Duration, sMaxAge?: Duration, prune?: boolean): BucketDeployment;
|
|
62
|
+
/**
|
|
63
|
+
* Grant read permissions for this bucket and it's contents to an IAM
|
|
64
|
+
* principal (Role/Group/User).
|
|
65
|
+
*
|
|
66
|
+
* If encryption is used, permission to use the key to decrypt the contents
|
|
67
|
+
* of the bucket will also be granted to the same principal.
|
|
68
|
+
*
|
|
69
|
+
* @param identity The principal
|
|
70
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
71
|
+
*/
|
|
72
|
+
grantRead(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
73
|
+
/**
|
|
74
|
+
* Grant write permissions to this bucket to an IAM principal.
|
|
75
|
+
*
|
|
76
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
77
|
+
* of written files will also be granted to the same principal.
|
|
78
|
+
*
|
|
79
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
80
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
81
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
82
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
83
|
+
* in the `context` key of your cdk.json file.
|
|
84
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
85
|
+
* use the `grantPutAcl` method.
|
|
86
|
+
*
|
|
87
|
+
* @param identity The principal
|
|
88
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
89
|
+
* @param allowedActionPatterns Restrict the permissions to certain list of action patterns
|
|
90
|
+
*/
|
|
91
|
+
grantWrite(identity: IGrantable, objectsKeyPattern?: any, allowedActionPatterns?: string[]): Grant;
|
|
92
|
+
/**
|
|
93
|
+
* Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.
|
|
94
|
+
*
|
|
95
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
96
|
+
* of written files will also be granted to the same principal.
|
|
97
|
+
* @param identity The principal
|
|
98
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
99
|
+
*/
|
|
100
|
+
grantPut(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
101
|
+
/**
|
|
102
|
+
* Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.
|
|
103
|
+
*
|
|
104
|
+
* If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,
|
|
105
|
+
* calling `grantWrite` or `grantReadWrite` no longer grants permissions to modify the ACLs of the objects;
|
|
106
|
+
* in this case, if you need to modify object ACLs, call this method explicitly.
|
|
107
|
+
*
|
|
108
|
+
* @param identity The principal
|
|
109
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
110
|
+
*/
|
|
111
|
+
grantPutAcl(identity: IGrantable, objectsKeyPattern?: string): Grant;
|
|
112
|
+
/**
|
|
113
|
+
* Grants s3:DeleteObject* permission to an IAM principal for objects
|
|
114
|
+
* in this bucket.
|
|
115
|
+
*
|
|
116
|
+
* @param identity The principal
|
|
117
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
118
|
+
*/
|
|
119
|
+
grantDelete(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
120
|
+
/**
|
|
121
|
+
* Grants read/write permissions for this bucket and it's contents to an IAM
|
|
122
|
+
* principal (Role/Group/User).
|
|
123
|
+
*
|
|
124
|
+
* If an encryption key is used, permission to use the key for
|
|
125
|
+
* encrypt/decrypt will also be granted.
|
|
126
|
+
*
|
|
127
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
128
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
129
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
130
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
131
|
+
* in the `context` key of your cdk.json file.
|
|
132
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
133
|
+
* use the `grantPutAcl` method.
|
|
134
|
+
*
|
|
135
|
+
* @param identity The principal
|
|
136
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
137
|
+
*/
|
|
138
|
+
grantReadWrite(identity: IGrantable, objectsKeyPattern?: any): Grant;
|
|
61
139
|
}
|
|
@@ -15,9 +15,9 @@ class WebsiteBucket extends constructs_1.Construct {
|
|
|
15
15
|
constructor(scope, id, props) {
|
|
16
16
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
17
17
|
super(scope, id);
|
|
18
|
-
const removalPolicy = (_a = props.removalPolicy) !== null && _a !== void 0 ? _a : aws_cdk_lib_1.RemovalPolicy.RETAIN;
|
|
19
|
-
const autoDeleteObjects = ((_b = props.autoDeleteObjects) !== null && _b !== void 0 ? _b : false) && removalPolicy === aws_cdk_lib_1.RemovalPolicy.DESTROY;
|
|
20
|
-
const domainName = props.domainName === undefined ? undefined : new aws_route53_1.DomainName({
|
|
18
|
+
const removalPolicy = (_a = props === null || props === void 0 ? void 0 : props.removalPolicy) !== null && _a !== void 0 ? _a : aws_cdk_lib_1.RemovalPolicy.RETAIN;
|
|
19
|
+
const autoDeleteObjects = ((_b = props === null || props === void 0 ? void 0 : props.autoDeleteObjects) !== null && _b !== void 0 ? _b : false) && removalPolicy === aws_cdk_lib_1.RemovalPolicy.DESTROY;
|
|
20
|
+
const domainName = (props === null || props === void 0 ? void 0 : props.domainName) === undefined ? undefined : new aws_route53_1.DomainName({
|
|
21
21
|
prefix: props.domainName.prefix,
|
|
22
22
|
zone: props.domainName.zone
|
|
23
23
|
});
|
|
@@ -25,10 +25,10 @@ class WebsiteBucket extends constructs_1.Construct {
|
|
|
25
25
|
bucketName: domainName === null || domainName === void 0 ? void 0 : domainName.toString(),
|
|
26
26
|
encryption: aws_s3_1.BucketEncryption.S3_MANAGED,
|
|
27
27
|
publicReadAccess: true,
|
|
28
|
-
websiteIndexDocument: (_c = props.websiteIndexDocument) !== null && _c !== void 0 ? _c : "index.html",
|
|
29
|
-
websiteErrorDocument: (_d = props.websiteErrorDocument) !== null && _d !== void 0 ? _d : "error.html",
|
|
30
|
-
websiteRedirect: props.websiteRedirect,
|
|
31
|
-
websiteRoutingRules: props.websiteRoutingRules,
|
|
28
|
+
websiteIndexDocument: (_c = props === null || props === void 0 ? void 0 : props.websiteIndexDocument) !== null && _c !== void 0 ? _c : "index.html",
|
|
29
|
+
websiteErrorDocument: (_d = props === null || props === void 0 ? void 0 : props.websiteErrorDocument) !== null && _d !== void 0 ? _d : "error.html",
|
|
30
|
+
websiteRedirect: props === null || props === void 0 ? void 0 : props.websiteRedirect,
|
|
31
|
+
websiteRoutingRules: props === null || props === void 0 ? void 0 : props.websiteRoutingRules,
|
|
32
32
|
removalPolicy,
|
|
33
33
|
autoDeleteObjects,
|
|
34
34
|
});
|
|
@@ -36,13 +36,13 @@ class WebsiteBucket extends constructs_1.Construct {
|
|
|
36
36
|
this.bucketArn = this.bucket.bucketArn;
|
|
37
37
|
this.bucketWebsiteUrl = this.bucket.bucketWebsiteUrl;
|
|
38
38
|
this.bucketWebsiteDomainName = this.bucket.bucketWebsiteDomainName;
|
|
39
|
-
if (domainName !== undefined && ((_f = (_e = props.domainName) === null || _e === void 0 ? void 0 : _e.create) !== null && _f !== void 0 ? _f : true)) {
|
|
39
|
+
if (domainName !== undefined && ((_f = (_e = props === null || props === void 0 ? void 0 : props.domainName) === null || _e === void 0 ? void 0 : _e.create) !== null && _f !== void 0 ? _f : true)) {
|
|
40
40
|
const target = aws_route53_2.RecordTarget.fromAlias(new aws_route53_targets_1.BucketWebsiteTarget(this.bucket));
|
|
41
41
|
// TODO Evaluate
|
|
42
|
-
if (((_g = props.domainName) === null || _g === void 0 ? void 0 : _g.latency) !== undefined) {
|
|
42
|
+
if (((_g = props === null || props === void 0 ? void 0 : props.domainName) === null || _g === void 0 ? void 0 : _g.latency) !== undefined) {
|
|
43
43
|
this.record = domainName.createLatencyARecord(this, target);
|
|
44
44
|
}
|
|
45
|
-
else if (((_h = props.domainName) === null || _h === void 0 ? void 0 : _h.weight) !== undefined) {
|
|
45
|
+
else if (((_h = props === null || props === void 0 ? void 0 : props.domainName) === null || _h === void 0 ? void 0 : _h.weight) !== undefined) {
|
|
46
46
|
this.record = domainName.createWeightedARecord(this, target, props.domainName.weight);
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
@@ -73,6 +73,95 @@ class WebsiteBucket extends constructs_1.Construct {
|
|
|
73
73
|
]
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Grant read permissions for this bucket and it's contents to an IAM
|
|
78
|
+
* principal (Role/Group/User).
|
|
79
|
+
*
|
|
80
|
+
* If encryption is used, permission to use the key to decrypt the contents
|
|
81
|
+
* of the bucket will also be granted to the same principal.
|
|
82
|
+
*
|
|
83
|
+
* @param identity The principal
|
|
84
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
85
|
+
*/
|
|
86
|
+
grantRead(identity, objectsKeyPattern) {
|
|
87
|
+
return this.bucket.grantRead(identity, objectsKeyPattern);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Grant write permissions to this bucket to an IAM principal.
|
|
91
|
+
*
|
|
92
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
93
|
+
* of written files will also be granted to the same principal.
|
|
94
|
+
*
|
|
95
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
96
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
97
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
98
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
99
|
+
* in the `context` key of your cdk.json file.
|
|
100
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
101
|
+
* use the `grantPutAcl` method.
|
|
102
|
+
*
|
|
103
|
+
* @param identity The principal
|
|
104
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
105
|
+
* @param allowedActionPatterns Restrict the permissions to certain list of action patterns
|
|
106
|
+
*/
|
|
107
|
+
grantWrite(identity, objectsKeyPattern, allowedActionPatterns) {
|
|
108
|
+
return this.bucket.grantWrite(identity, objectsKeyPattern, allowedActionPatterns);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.
|
|
112
|
+
*
|
|
113
|
+
* If encryption is used, permission to use the key to encrypt the contents
|
|
114
|
+
* of written files will also be granted to the same principal.
|
|
115
|
+
* @param identity The principal
|
|
116
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
117
|
+
*/
|
|
118
|
+
grantPut(identity, objectsKeyPattern) {
|
|
119
|
+
return this.bucket.grantPut(identity, objectsKeyPattern);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.
|
|
123
|
+
*
|
|
124
|
+
* If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,
|
|
125
|
+
* calling `grantWrite` or `grantReadWrite` no longer grants permissions to modify the ACLs of the objects;
|
|
126
|
+
* in this case, if you need to modify object ACLs, call this method explicitly.
|
|
127
|
+
*
|
|
128
|
+
* @param identity The principal
|
|
129
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
130
|
+
*/
|
|
131
|
+
grantPutAcl(identity, objectsKeyPattern) {
|
|
132
|
+
return this.bucket.grantPutAcl(identity, objectsKeyPattern);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Grants s3:DeleteObject* permission to an IAM principal for objects
|
|
136
|
+
* in this bucket.
|
|
137
|
+
*
|
|
138
|
+
* @param identity The principal
|
|
139
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
140
|
+
*/
|
|
141
|
+
grantDelete(identity, objectsKeyPattern) {
|
|
142
|
+
return this.bucket.grantDelete(identity, objectsKeyPattern);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Grants read/write permissions for this bucket and it's contents to an IAM
|
|
146
|
+
* principal (Role/Group/User).
|
|
147
|
+
*
|
|
148
|
+
* If an encryption key is used, permission to use the key for
|
|
149
|
+
* encrypt/decrypt will also be granted.
|
|
150
|
+
*
|
|
151
|
+
* Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
|
|
152
|
+
* which could be used to grant read/write object access to IAM principals in other accounts.
|
|
153
|
+
* If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
|
|
154
|
+
* and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
|
|
155
|
+
* in the `context` key of your cdk.json file.
|
|
156
|
+
* If you've already updated, but still need the principal to have permissions to modify the ACLs,
|
|
157
|
+
* use the `grantPutAcl` method.
|
|
158
|
+
*
|
|
159
|
+
* @param identity The principal
|
|
160
|
+
* @param objectsKeyPattern Restrict the permission to a certain key pattern (default '*')
|
|
161
|
+
*/
|
|
162
|
+
grantReadWrite(identity, objectsKeyPattern) {
|
|
163
|
+
return this.bucket.grantReadWrite(identity, objectsKeyPattern);
|
|
164
|
+
}
|
|
76
165
|
}
|
|
77
166
|
exports.WebsiteBucket = WebsiteBucket;
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS1idWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3ZWJzaXRlLWJ1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQXlGO0FBQ3pGLG1EQUE4RTtBQUM5RSx5REFBMkU7QUFDM0UseUVBQW9FO0FBQ3BFLDZDQUFvRDtBQUNwRCxxRUFBcUY7QUFrRHJGOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFTMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5Qjs7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGFBQWEsU0FBRyxLQUFLLENBQUMsYUFBYSxtQ0FBSSwyQkFBYSxDQUFDLE1BQU0sQ0FBQztRQUNsRSxNQUFNLGlCQUFpQixHQUFHLE9BQUMsS0FBSyxDQUFDLGlCQUFpQixtQ0FBSSxLQUFLLENBQUMsSUFBSSxhQUFhLEtBQUssMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFFeEcsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSx3QkFBVSxDQUFDO1lBQzdFLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU07WUFDL0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtTQUM1QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDeEMsVUFBVSxFQUFFLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxRQUFRLEVBQUU7WUFDbEMsVUFBVSxFQUFFLHlCQUFnQixDQUFDLFVBQVU7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixvQkFBb0IsUUFBRSxLQUFLLENBQUMsb0JBQW9CLG1DQUFJLFlBQVk7WUFDaEUsb0JBQW9CLFFBQUUsS0FBSyxDQUFDLG9CQUFvQixtQ0FBSSxZQUFZO1lBQ2hFLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLGFBQWE7WUFDYixpQkFBaUI7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ3JELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO1FBRW5FLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxhQUFDLEtBQUssQ0FBQyxVQUFVLDBDQUFFLE1BQU0sbUNBQUksSUFBSSxDQUFDLEVBQUU7WUFDbEUsTUFBTSxNQUFNLEdBQUcsMEJBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSx5Q0FBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM1RSxnQkFBZ0I7WUFDaEIsSUFBSSxPQUFBLEtBQUssQ0FBQyxVQUFVLDBDQUFFLE9BQU8sTUFBSyxTQUFTLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQzthQUM3RDtpQkFBTSxJQUFJLE9BQUEsS0FBSyxDQUFDLFVBQVUsMENBQUUsTUFBTSxNQUFLLFNBQVMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDdEQ7U0FDRjtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsSUFBWSxFQUFFLE1BQWlCLEVBQUUsT0FBa0IsRUFBRSxLQUFlO1FBQ3pFLE9BQU8sSUFBSSxvQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNO1lBQzlCLEtBQUssRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxLQUFLO1lBQ3JCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFlBQVksRUFBRTtnQkFDWixnQ0FBWSxDQUFDLFNBQVMsRUFBRTtnQkFDeEIsZ0NBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ25ELGdDQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLHNCQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBeEVELHNDQXdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtCdWNrZXQsIEJ1Y2tldEVuY3J5cHRpb24sIFJlZGlyZWN0VGFyZ2V0LCBSb3V0aW5nUnVsZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHtEb21haW5OYW1lLCBMYXRlbmN5QVJlY29yZCwgV2VpZ2h0ZWRBUmVjb3JkfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7QVJlY29yZCwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge0J1Y2tldFdlYnNpdGVUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQge1JlbW92YWxQb2xpY3ksIER1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7QnVja2V0RGVwbG95bWVudCwgQ2FjaGVDb250cm9sLCBTb3VyY2V9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczMtZGVwbG95bWVudFwiO1xuXG5cbi8qKlxuICogRG9tYWluIG5hbWUgcHJvcGVydGllcyBmb3IgYSBidWNrZXQgYmFzZWQgd2Vic2l0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXZWJzaXRlRG9tYWluTmFtZVByb3BzIHtcblxuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgem9uZTogc3RyaW5nIHwgSUhvc3RlZFpvbmU7XG5cbiAgcmVhZG9ubHkgd2VpZ2h0PzogbnVtYmVyO1xuXG4gIHJlYWRvbmx5IGxhdGVuY3k/OiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IGNyZWF0ZT86IGJvb2xlYW47XG5cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBXZWJzaXRlQnVja2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNpdGVCdWNrZXRQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFBvbGljeSB0byBhcHBseSB3aGVuIHRoZSBidWNrZXQgaXMgcmVtb3ZlZCBmcm9tIHRoaXMgc3RhY2suXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuUkVUQUlOXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogV2hldGhlciBhbGwgb2JqZWN0cyBzaG91bGQgYmUgYXV0b21hdGljYWxseSBkZWxldGVkIHdoZW4gdGhlIGJ1Y2tldCBpcyByZW1vdmVkIGZyb20gdGhlIHN0YWNrIG9yIHdoZW4gdGhlIHN0YWNrIGlzIGRlbGV0ZWQuXG4gICAqIFJlcXVpcmVzIHRoZSByZW1vdmFsUG9saWN5IHRvIGJlIHNldCB0byBSZW1vdmFsUG9saWN5LkRFU1RST1kuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhdXRvRGVsZXRlT2JqZWN0cz86IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IFdlYnNpdGVEb21haW5OYW1lUHJvcHM7XG5cbiAgcmVhZG9ubHkgd2Vic2l0ZUluZGV4RG9jdW1lbnQ/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgd2Vic2l0ZUVycm9yRG9jdW1lbnQ/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgd2Vic2l0ZVJlZGlyZWN0PzogUmVkaXJlY3RUYXJnZXQ7XG5cbiAgcmVhZG9ubHkgd2Vic2l0ZVJvdXRpbmdSdWxlcz86IFJvdXRpbmdSdWxlW107XG59XG5cbi8qKlxuICogU2ltcGxlIENvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYnVja2V0cyB0aGF0IHdpbGwgYmUgYWNjZXNzZWQgZGlyZWN0bHkgYXMgYSB3ZWJzaXRlLlxuICovXG5leHBvcnQgY2xhc3MgV2Vic2l0ZUJ1Y2tldCBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgcmVhZG9ubHkgYnVja2V0OiBCdWNrZXQ7XG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYnVja2V0QXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1Y2tldFdlYnNpdGVVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYnVja2V0V2Vic2l0ZURvbWFpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVjb3JkOiBBUmVjb3JkIHwgV2VpZ2h0ZWRBUmVjb3JkIHwgTGF0ZW5jeUFSZWNvcmQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdlYnNpdGVCdWNrZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCByZW1vdmFsUG9saWN5ID0gcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LlJFVEFJTjtcbiAgICBjb25zdCBhdXRvRGVsZXRlT2JqZWN0cyA9IChwcm9wcy5hdXRvRGVsZXRlT2JqZWN0cyA/PyBmYWxzZSkgJiYgcmVtb3ZhbFBvbGljeSA9PT0gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZO1xuXG4gICAgY29uc3QgZG9tYWluTmFtZSA9IHByb3BzLmRvbWFpbk5hbWUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IG5ldyBEb21haW5OYW1lKHtcbiAgICAgIHByZWZpeDogcHJvcHMuZG9tYWluTmFtZS5wcmVmaXgsXG4gICAgICB6b25lOiBwcm9wcy5kb21haW5OYW1lLnpvbmVcbiAgICB9KTtcblxuICAgIHRoaXMuYnVja2V0ID0gbmV3IEJ1Y2tldCh0aGlzLCBcIkRlZmF1bHRcIiwge1xuICAgICAgYnVja2V0TmFtZTogZG9tYWluTmFtZT8udG9TdHJpbmcoKSxcbiAgICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIHB1YmxpY1JlYWRBY2Nlc3M6IHRydWUsXG4gICAgICB3ZWJzaXRlSW5kZXhEb2N1bWVudDogcHJvcHMud2Vic2l0ZUluZGV4RG9jdW1lbnQgPz8gXCJpbmRleC5odG1sXCIsXG4gICAgICB3ZWJzaXRlRXJyb3JEb2N1bWVudDogcHJvcHMud2Vic2l0ZUVycm9yRG9jdW1lbnQgPz8gXCJlcnJvci5odG1sXCIsXG4gICAgICB3ZWJzaXRlUmVkaXJlY3Q6IHByb3BzLndlYnNpdGVSZWRpcmVjdCxcbiAgICAgIHdlYnNpdGVSb3V0aW5nUnVsZXM6IHByb3BzLndlYnNpdGVSb3V0aW5nUnVsZXMsXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHMsXG4gICAgfSk7XG4gICAgdGhpcy5idWNrZXROYW1lID0gdGhpcy5idWNrZXQuYnVja2V0TmFtZTtcbiAgICB0aGlzLmJ1Y2tldEFybiA9IHRoaXMuYnVja2V0LmJ1Y2tldEFybjtcbiAgICB0aGlzLmJ1Y2tldFdlYnNpdGVVcmwgPSB0aGlzLmJ1Y2tldC5idWNrZXRXZWJzaXRlVXJsO1xuICAgIHRoaXMuYnVja2V0V2Vic2l0ZURvbWFpbk5hbWUgPSB0aGlzLmJ1Y2tldC5idWNrZXRXZWJzaXRlRG9tYWluTmFtZTtcblxuICAgIGlmIChkb21haW5OYW1lICE9PSB1bmRlZmluZWQgJiYgKHByb3BzLmRvbWFpbk5hbWU/LmNyZWF0ZSA/PyB0cnVlKSkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgQnVja2V0V2Vic2l0ZVRhcmdldCh0aGlzLmJ1Y2tldCkpO1xuICAgICAgLy8gVE9ETyBFdmFsdWF0ZVxuICAgICAgaWYgKHByb3BzLmRvbWFpbk5hbWU/LmxhdGVuY3kgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlY29yZCA9IGRvbWFpbk5hbWUuY3JlYXRlTGF0ZW5jeUFSZWNvcmQodGhpcywgdGFyZ2V0KTtcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMuZG9tYWluTmFtZT8ud2VpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZWNvcmQgPSBkb21haW5OYW1lLmNyZWF0ZVdlaWdodGVkQVJlY29yZCh0aGlzLCB0YXJnZXQsIHByb3BzLmRvbWFpbk5hbWUud2VpZ2h0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVjb3JkID0gZG9tYWluTmFtZS5jcmVhdGVBUmVjb3JkKHRoaXMsIHRhcmdldCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZGVwbG95IGxvY2FsIGFzc2V0cyB0byB0aGUgY3JlYXRlZCBidWNrZXQuIFRocyBmdW5jdGlvbiBhc3N1bWVzXG4gICAqIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCB0aGUgcGF0aCB0byB0aGUgbG9jYWwgYXNzZXRzXG4gICAqIEBwYXJhbSBtYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIHRvIGJyb3dzZXJzIHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICogQHBhcmFtIHNNYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIENsb3VkRnJvbnQgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5kYXlzKDcpXG4gICAqIEBwYXJhbSBwcnVuZVxuICAgKi9cbiAgZGVwbG95KHBhdGg6IHN0cmluZywgbWF4QWdlPzogRHVyYXRpb24sIHNNYXhBZ2U/OiBEdXJhdGlvbiwgcHJ1bmU/OiBib29sZWFuKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIFwiRGVwbG95XCIsIHtcbiAgICAgIHNvdXJjZXM6IFtTb3VyY2UuYXNzZXQocGF0aCldLFxuICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHRoaXMuYnVja2V0LFxuICAgICAgcHJ1bmU6IHBydW5lID8/IGZhbHNlLFxuICAgICAgbWVtb3J5TGltaXQ6IDUxMixcbiAgICAgIGNhY2hlQ29udHJvbDogW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UobWF4QWdlID8/IER1cmF0aW9uLm1pbnV0ZXMoMTUpKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2Uoc01heEFnZSA/PyBEdXJhdGlvbi5kYXlzKDcpKVxuICAgICAgXVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS1idWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3ZWJzaXRlLWJ1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQXlGO0FBQ3pGLG1EQUE4RTtBQUM5RSx5REFBMkU7QUFDM0UseUVBQW9FO0FBQ3BFLDZDQUFvRDtBQUNwRCxxRUFBcUY7QUFtRHJGOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFTMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGFBQWEsU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsYUFBYSxtQ0FBSSwyQkFBYSxDQUFDLE1BQU0sQ0FBQztRQUNuRSxNQUFNLGlCQUFpQixHQUFHLE9BQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGlCQUFpQixtQ0FBSSxLQUFLLENBQUMsSUFBSSxhQUFhLEtBQUssMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFFekcsTUFBTSxVQUFVLEdBQUcsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsVUFBVSxNQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLHdCQUFVLENBQUM7WUFDOUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1NBQzVCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN4QyxVQUFVLEVBQUUsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFFBQVEsRUFBRTtZQUNsQyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2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Q0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNILFVBQVUsQ0FBQyxRQUFvQixFQUFFLGlCQUF1QixFQUFFLHFCQUFnQztRQUN4RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUFDLFFBQW9CLEVBQUUsaUJBQXVCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFdBQVcsQ0FBQyxRQUFvQixFQUFFLGlCQUEwQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsUUFBb0IsRUFBRSxpQkFBdUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsY0FBYyxDQUFDLFFBQW9CLEVBQUUsaUJBQXVCO1FBQzFELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDakUsQ0FBQztDQUNGO0FBdktELHNDQXVLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtCdWNrZXQsIEJ1Y2tldEVuY3J5cHRpb24sIFJlZGlyZWN0VGFyZ2V0LCBSb3V0aW5nUnVsZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHtEb21haW5OYW1lLCBMYXRlbmN5QVJlY29yZCwgV2VpZ2h0ZWRBUmVjb3JkfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7QVJlY29yZCwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge0J1Y2tldFdlYnNpdGVUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQge1JlbW92YWxQb2xpY3ksIER1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7QnVja2V0RGVwbG95bWVudCwgQ2FjaGVDb250cm9sLCBTb3VyY2V9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczMtZGVwbG95bWVudFwiO1xuaW1wb3J0IHtHcmFudCwgSUdyYW50YWJsZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcblxuXG4vKipcbiAqIERvbWFpbiBuYW1lIHByb3BlcnRpZXMgZm9yIGEgYnVja2V0IGJhc2VkIHdlYnNpdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2Vic2l0ZURvbWFpbk5hbWVQcm9wcyB7XG5cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHpvbmU6IHN0cmluZyB8IElIb3N0ZWRab25lO1xuXG4gIHJlYWRvbmx5IHdlaWdodD86IG51bWJlcjtcblxuICByZWFkb25seSBsYXRlbmN5PzogYm9vbGVhbjtcblxuICByZWFkb25seSBjcmVhdGU/OiBib29sZWFuO1xuXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgV2Vic2l0ZUJ1Y2tldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXZWJzaXRlQnVja2V0UHJvcHMge1xuXG4gIC8qKlxuICAgKiBQb2xpY3kgdG8gYXBwbHkgd2hlbiB0aGUgYnVja2V0IGlzIHJlbW92ZWQgZnJvbSB0aGlzIHN0YWNrLlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWxsIG9iamVjdHMgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCB3aGVuIHRoZSBidWNrZXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzdGFjayBvciB3aGVuIHRoZSBzdGFjayBpcyBkZWxldGVkLlxuICAgKiBSZXF1aXJlcyB0aGUgcmVtb3ZhbFBvbGljeSB0byBiZSBzZXQgdG8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0RlbGV0ZU9iamVjdHM/OiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU/OiBXZWJzaXRlRG9tYWluTmFtZVByb3BzO1xuXG4gIHJlYWRvbmx5IHdlYnNpdGVJbmRleERvY3VtZW50Pzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHdlYnNpdGVFcnJvckRvY3VtZW50Pzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHdlYnNpdGVSZWRpcmVjdD86IFJlZGlyZWN0VGFyZ2V0O1xuXG4gIHJlYWRvbmx5IHdlYnNpdGVSb3V0aW5nUnVsZXM/OiBSb3V0aW5nUnVsZVtdO1xufVxuXG4vKipcbiAqIFNpbXBsZSBDb25zdHJ1Y3QgZm9yIGNyZWF0aW5nIGJ1Y2tldHMgdGhhdCB3aWxsIGJlIGFjY2Vzc2VkIGRpcmVjdGx5IGFzIGEgd2Vic2l0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFdlYnNpdGVCdWNrZXQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHJlYWRvbmx5IGJ1Y2tldDogQnVja2V0O1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1Y2tldEFybjogc3RyaW5nO1xuICByZWFkb25seSBidWNrZXRXZWJzaXRlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1Y2tldFdlYnNpdGVEb21haW5OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlY29yZDogQVJlY29yZCB8IFdlaWdodGVkQVJlY29yZCB8IExhdGVuY3lBUmVjb3JkO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogV2Vic2l0ZUJ1Y2tldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHJlbW92YWxQb2xpY3kgPSBwcm9wcz8ucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LlJFVEFJTjtcbiAgICBjb25zdCBhdXRvRGVsZXRlT2JqZWN0cyA9IChwcm9wcz8uYXV0b0RlbGV0ZU9iamVjdHMgPz8gZmFsc2UpICYmIHJlbW92YWxQb2xpY3kgPT09IFJlbW92YWxQb2xpY3kuREVTVFJPWTtcblxuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBwcm9wcz8uZG9tYWluTmFtZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogbmV3IERvbWFpbk5hbWUoe1xuICAgICAgcHJlZml4OiBwcm9wcy5kb21haW5OYW1lLnByZWZpeCxcbiAgICAgIHpvbmU6IHByb3BzLmRvbWFpbk5hbWUuem9uZVxuICAgIH0pO1xuXG4gICAgdGhpcy5idWNrZXQgPSBuZXcgQnVja2V0KHRoaXMsIFwiRGVmYXVsdFwiLCB7XG4gICAgICBidWNrZXROYW1lOiBkb21haW5OYW1lPy50b1N0cmluZygpLFxuICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgcHVibGljUmVhZEFjY2VzczogdHJ1ZSxcbiAgICAgIHdlYnNpdGVJbmRleERvY3VtZW50OiBwcm9wcz8ud2Vic2l0ZUluZGV4RG9jdW1lbnQgPz8gXCJpbmRleC5odG1sXCIsXG4gICAgICB3ZWJzaXRlRXJyb3JEb2N1bWVudDogcHJvcHM/LndlYnNpdGVFcnJvckRvY3VtZW50ID8/IFwiZXJyb3IuaHRtbFwiLFxuICAgICAgd2Vic2l0ZVJlZGlyZWN0OiBwcm9wcz8ud2Vic2l0ZVJlZGlyZWN0LFxuICAgICAgd2Vic2l0ZVJvdXRpbmdSdWxlczogcHJvcHM/LndlYnNpdGVSb3V0aW5nUnVsZXMsXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHMsXG4gICAgfSk7XG4gICAgdGhpcy5idWNrZXROYW1lID0gdGhpcy5idWNrZXQuYnVja2V0TmFtZTtcbiAgICB0aGlzLmJ1Y2tldEFybiA9IHRoaXMuYnVja2V0LmJ1Y2tldEFybjtcbiAgICB0aGlzLmJ1Y2tldFdlYnNpdGVVcmwgPSB0aGlzLmJ1Y2tldC5idWNrZXRXZWJzaXRlVXJsO1xuICAgIHRoaXMuYnVja2V0V2Vic2l0ZURvbWFpbk5hbWUgPSB0aGlzLmJ1Y2tldC5idWNrZXRXZWJzaXRlRG9tYWluTmFtZTtcblxuICAgIGlmIChkb21haW5OYW1lICE9PSB1bmRlZmluZWQgJiYgKHByb3BzPy5kb21haW5OYW1lPy5jcmVhdGUgPz8gdHJ1ZSkpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IEJ1Y2tldFdlYnNpdGVUYXJnZXQodGhpcy5idWNrZXQpKTtcbiAgICAgIC8vIFRPRE8gRXZhbHVhdGVcbiAgICAgIGlmIChwcm9wcz8uZG9tYWluTmFtZT8ubGF0ZW5jeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVjb3JkID0gZG9tYWluTmFtZS5jcmVhdGVMYXRlbmN5QVJlY29yZCh0aGlzLCB0YXJnZXQpO1xuICAgICAgfSBlbHNlIGlmIChwcm9wcz8uZG9tYWluTmFtZT8ud2VpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZWNvcmQgPSBkb21haW5OYW1lLmNyZWF0ZVdlaWdodGVkQVJlY29yZCh0aGlzLCB0YXJnZXQsIHByb3BzLmRvbWFpbk5hbWUud2VpZ2h0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVjb3JkID0gZG9tYWluTmFtZS5jcmVhdGVBUmVjb3JkKHRoaXMsIHRhcmdldCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZGVwbG95IGxvY2FsIGFzc2V0cyB0byB0aGUgY3JlYXRlZCBidWNrZXQuIFRocyBmdW5jdGlvbiBhc3N1bWVzXG4gICAqIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCB0aGUgcGF0aCB0byB0aGUgbG9jYWwgYXNzZXRzXG4gICAqIEBwYXJhbSBtYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIHRvIGJyb3dzZXJzIHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICogQHBhcmFtIHNNYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIENsb3VkRnJvbnQgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5kYXlzKDcpXG4gICAqIEBwYXJhbSBwcnVuZVxuICAgKi9cbiAgZGVwbG95KHBhdGg6IHN0cmluZywgbWF4QWdlPzogRHVyYXRpb24sIHNNYXhBZ2U/OiBEdXJhdGlvbiwgcHJ1bmU/OiBib29sZWFuKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIFwiRGVwbG95XCIsIHtcbiAgICAgIHNvdXJjZXM6IFtTb3VyY2UuYXNzZXQocGF0aCldLFxuICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHRoaXMuYnVja2V0LFxuICAgICAgcHJ1bmU6IHBydW5lID8/IGZhbHNlLFxuICAgICAgbWVtb3J5TGltaXQ6IDUxMixcbiAgICAgIGNhY2hlQ29udHJvbDogW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UobWF4QWdlID8/IER1cmF0aW9uLm1pbnV0ZXMoMTUpKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2Uoc01heEFnZSA/PyBEdXJhdGlvbi5kYXlzKDcpKVxuICAgICAgXVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGVuY3J5cHRpb24gaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSB0byBkZWNyeXB0IHRoZSBjb250ZW50c1xuICAgKiBvZiB0aGUgYnVja2V0IHdpbGwgYWxzbyBiZSBncmFudGVkIHRvIHRoZSBzYW1lIHByaW5jaXBhbC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudFJlYWQoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogYW55KTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFJlYWQoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGlzIGJ1Y2tldCB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdCB0aGUgY29udGVudHNcbiAgICogb2Ygd3JpdHRlbiBmaWxlcyB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIEJlZm9yZSBDREsgdmVyc2lvbiAxLjg1LjAsIHRoaXMgbWV0aG9kIGdyYW50ZWQgdGhlIGBzMzpQdXRPYmplY3QqYCBwZXJtaXNzaW9uIHRoYXQgaW5jbHVkZWQgYHMzOlB1dE9iamVjdEFjbGAsXG4gICAqIHdoaWNoIGNvdWxkIGJlIHVzZWQgdG8gZ3JhbnQgcmVhZC93cml0ZSBvYmplY3QgYWNjZXNzIHRvIElBTSBwcmluY2lwYWxzIGluIG90aGVyIGFjY291bnRzLlxuICAgKiBJZiB5b3Ugd2FudCB0byBnZXQgcmlkIG9mIHRoYXQgYmVoYXZpb3IsIHVwZGF0ZSB5b3VyIENESyB2ZXJzaW9uIHRvIDEuODUuMCBvciBsYXRlcixcbiAgICogYW5kIG1ha2Ugc3VyZSB0aGUgYEBhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbGAgZmVhdHVyZSBmbGFnIGlzIHNldCB0byBgdHJ1ZWBcbiAgICogaW4gdGhlIGBjb250ZXh0YCBrZXkgb2YgeW91ciBjZGsuanNvbiBmaWxlLlxuICAgKiBJZiB5b3UndmUgYWxyZWFkeSB1cGRhdGVkLCBidXQgc3RpbGwgbmVlZCB0aGUgcHJpbmNpcGFsIHRvIGhhdmUgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzLFxuICAgKiB1c2UgdGhlIGBncmFudFB1dEFjbGAgbWV0aG9kLlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICogQHBhcmFtIGFsbG93ZWRBY3Rpb25QYXR0ZXJucyBSZXN0cmljdCB0aGUgcGVybWlzc2lvbnMgdG8gY2VydGFpbiBsaXN0IG9mIGFjdGlvbiBwYXR0ZXJuc1xuICAgKi9cbiAgZ3JhbnRXcml0ZShpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiBhbnksIGFsbG93ZWRBY3Rpb25QYXR0ZXJucz86IHN0cmluZ1tdKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFdyaXRlKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybiwgYWxsb3dlZEFjdGlvblBhdHRlcm5zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6UHV0T2JqZWN0KiBhbmQgczM6QWJvcnQqIHBlcm1pc3Npb25zIGZvciB0aGlzIGJ1Y2tldCB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdCB0aGUgY29udGVudHNcbiAgICogb2Ygd3JpdHRlbiBmaWxlcyB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRQdXQoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogYW55KTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFB1dChpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBnaXZlbiBJQU0gaWRlbnRpdHkgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzIG9mIG9iamVjdHMgaW4gdGhlIGdpdmVuIEJ1Y2tldC5cbiAgICpcbiAgICogSWYgeW91ciBhcHBsaWNhdGlvbiBoYXMgdGhlICdAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2wnIGZlYXR1cmUgZmxhZyBzZXQsXG4gICAqIGNhbGxpbmcgYGdyYW50V3JpdGVgIG9yIGBncmFudFJlYWRXcml0ZWAgbm8gbG9uZ2VyIGdyYW50cyBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMgb2YgdGhlIG9iamVjdHM7XG4gICAqIGluIHRoaXMgY2FzZSwgaWYgeW91IG5lZWQgdG8gbW9kaWZ5IG9iamVjdCBBQ0xzLCBjYWxsIHRoaXMgbWV0aG9kIGV4cGxpY2l0bHkuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRQdXRBY2woaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogc3RyaW5nKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFB1dEFjbChpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBzMzpEZWxldGVPYmplY3QqIHBlcm1pc3Npb24gdG8gYW4gSUFNIHByaW5jaXBhbCBmb3Igb2JqZWN0c1xuICAgKiBpbiB0aGlzIGJ1Y2tldC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudERlbGV0ZShpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiBhbnkpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50RGVsZXRlKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQvd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGFuIGVuY3J5cHRpb24ga2V5IGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgZm9yXG4gICAqIGVuY3J5cHQvZGVjcnlwdCB3aWxsIGFsc28gYmUgZ3JhbnRlZC5cbiAgICpcbiAgICogQmVmb3JlIENESyB2ZXJzaW9uIDEuODUuMCwgdGhpcyBtZXRob2QgZ3JhbnRlZCB0aGUgYHMzOlB1dE9iamVjdCpgIHBlcm1pc3Npb24gdGhhdCBpbmNsdWRlZCBgczM6UHV0T2JqZWN0QWNsYCxcbiAgICogd2hpY2ggY291bGQgYmUgdXNlZCB0byBncmFudCByZWFkL3dyaXRlIG9iamVjdCBhY2Nlc3MgdG8gSUFNIHByaW5jaXBhbHMgaW4gb3RoZXIgYWNjb3VudHMuXG4gICAqIElmIHlvdSB3YW50IHRvIGdldCByaWQgb2YgdGhhdCBiZWhhdmlvciwgdXBkYXRlIHlvdXIgQ0RLIHZlcnNpb24gdG8gMS44NS4wIG9yIGxhdGVyLFxuICAgKiBhbmQgbWFrZSBzdXJlIHRoZSBgQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsYCBmZWF0dXJlIGZsYWcgaXMgc2V0IHRvIGB0cnVlYFxuICAgKiBpbiB0aGUgYGNvbnRleHRgIGtleSBvZiB5b3VyIGNkay5qc29uIGZpbGUuXG4gICAqIElmIHlvdSd2ZSBhbHJlYWR5IHVwZGF0ZWQsIGJ1dCBzdGlsbCBuZWVkIHRoZSBwcmluY2lwYWwgdG8gaGF2ZSBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMsXG4gICAqIHVzZSB0aGUgYGdyYW50UHV0QWNsYCBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogYW55KTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.6",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"publishConfig": {
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "cfd8ebcfcea1904a6b70a7b5590c9991e5a8ad24"
|
|
76
76
|
}
|