@robhan-cdk-lib/aws_aps 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/scraper.js ADDED
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Scraper = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const utils_1 = require("@robhan-cdk-lib/utils");
7
+ const aws_aps_1 = require("aws-cdk-lib/aws-aps");
8
+ const scraper_base_1 = require("./scraper-base");
9
+ const scraper_base_2 = require("./validation/scraper-base");
10
+ const IS_SCRAPER = Symbol.for('@robhan-cdk-lib/aws_aps.Scraper');
11
+ class Scraper extends scraper_base_1.ScraperBase {
12
+ static isScraper(x) {
13
+ return IS_SCRAPER in x;
14
+ }
15
+ static frommScraperAttributes(scope, id, attrs) {
16
+ class Import extends scraper_base_1.ScraperBase {
17
+ constructor(attributes) {
18
+ super(scope, id);
19
+ this.alias = attributes.alias;
20
+ this.destination = attributes.destination;
21
+ this.roleConfiguration = attributes.roleConfiguration;
22
+ this.scrapeConfiguration = attributes.scrapeConfiguration;
23
+ this.source = attributes.source;
24
+ this.scraperId = this.getScraperId(attributes.scraperArn);
25
+ this.scraperArn = attributes.scraperArn;
26
+ }
27
+ }
28
+ return new Import(attrs);
29
+ }
30
+ /**
31
+ * Validates all scraper properties.
32
+ *
33
+ * @param props - The scraper properties to validate
34
+ * @returns An array of error messages if validation fails, or an empty array if valid
35
+ *
36
+ * This method aggregates validation results from all individual property validators.
37
+ * It throws an error if props is not an object.
38
+ */
39
+ static validateProps(props) {
40
+ const errors = [];
41
+ if (!props || typeof props !== 'object') {
42
+ throw new Error('Scraper constructor properties must be an object');
43
+ }
44
+ errors.push(...(0, utils_1.validateObjectAttributes)({
45
+ inputObject: props,
46
+ mandatoryAttributes: ['destination', 'scrapeConfiguration', 'source'],
47
+ optionalAttributes: ['alias', 'roleConfiguration'],
48
+ }));
49
+ const scraperProps = props;
50
+ if (scraperProps.alias !== undefined) {
51
+ errors.push(...(0, scraper_base_2.validateAlias)(scraperProps.alias).map((e) => `alias: ${e}`));
52
+ }
53
+ if (scraperProps.destination !== undefined) {
54
+ errors.push(...(0, scraper_base_2.validateDestination)(scraperProps.destination).map((e) => `destination: ${e}`));
55
+ }
56
+ if (scraperProps.roleConfiguration !== undefined) {
57
+ errors.push(...(0, scraper_base_2.validateRoleConfiguration)(scraperProps.roleConfiguration).map((e) => `roleConfiguration: ${e}`));
58
+ }
59
+ if (scraperProps.scrapeConfiguration !== undefined) {
60
+ errors.push(...(0, scraper_base_2.validateScrapeConfiguration)(scraperProps.scrapeConfiguration).map((e) => `scrapeConfiguration: ${e}`));
61
+ }
62
+ if (scraperProps.source !== undefined) {
63
+ errors.push(...(0, scraper_base_2.validateSource)(scraperProps.source).map((e) => `source: ${e}`));
64
+ }
65
+ return errors;
66
+ }
67
+ constructor(scope, id, props) {
68
+ super(scope, id);
69
+ Object.defineProperty(this, IS_SCRAPER, { value: true });
70
+ const errors = Scraper.validateProps(props);
71
+ if (errors.length > 0) {
72
+ throw new Error(`Invalid props:\n${errors.join('\n')}`);
73
+ }
74
+ this.alias = props.alias;
75
+ this.destination = props.destination;
76
+ this.roleConfiguration = props.roleConfiguration;
77
+ this.scrapeConfiguration = props.scrapeConfiguration;
78
+ this.source = props.source;
79
+ let cfnScraperProps = {
80
+ alias: props.alias,
81
+ destination: {
82
+ ampConfiguration: {
83
+ workspaceArn: props.destination.ampConfiguration.workspace.workspaceArn,
84
+ },
85
+ },
86
+ roleConfiguration: {
87
+ sourceRoleArn: props.roleConfiguration?.sourceRole?.roleArn,
88
+ targetRoleArn: props.roleConfiguration?.targetRole?.roleArn,
89
+ },
90
+ scrapeConfiguration: props.scrapeConfiguration,
91
+ source: {
92
+ eksConfiguration: {
93
+ clusterArn: props.source.eksConfiguration.cluster.clusterArn,
94
+ securityGroupIds: props.source.eksConfiguration.securityGroups?.map(x => x.securityGroupId),
95
+ subnetIds: props.source.eksConfiguration.subnets.map(x => x.subnetId),
96
+ },
97
+ },
98
+ };
99
+ this.scraper = new aws_aps_1.CfnScraper(this, 'Resource', cfnScraperProps);
100
+ this.node.defaultChild = this.scraper;
101
+ this.scraperId = this.scraper.attrArn;
102
+ this.scraperArn = this.scraper.attrArn;
103
+ }
104
+ }
105
+ exports.Scraper = Scraper;
106
+ _a = JSII_RTTI_SYMBOL_1;
107
+ Scraper[_a] = { fqn: "@robhan-cdk-lib/aws_aps.Scraper", version: "0.0.0" };
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyYXBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zY3JhcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQWlFO0FBQ2pFLGlEQUFrRTtBQUVsRSxpREFBb0g7QUFDcEgsNERBQXVKO0FBMkV2SixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFFakUsTUFBYSxPQUFRLFNBQVEsMEJBQVc7SUFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFNO1FBQzVCLE9BQU8sVUFBVSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ3pGLE1BQU0sTUFBTyxTQUFRLDBCQUFXO1lBUTlCLFlBQVksVUFBNkI7Z0JBQ3ZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDO2dCQUN0RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFDO2dCQUMxRCxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUMxQyxDQUFDO1NBQ0Y7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7Ozs7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VSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUV0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekMsQ0FBQzs7QUFyS0gsMEJBc0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmFsaWRhdGVPYmplY3RBdHRyaWJ1dGVzIH0gZnJvbSAnQHJvYmhhbi1jZGstbGliL3V0aWxzJztcbmltcG9ydCB7IENmblNjcmFwZXIsIENmblNjcmFwZXJQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEZXN0aW5hdGlvbiwgSVNjcmFwZXIsIFJvbGVDb25maWd1cmF0aW9uLCBTY3JhcGVDb25maWd1cmF0aW9uLCBTY3JhcGVyQmFzZSwgU291cmNlIH0gZnJvbSAnLi9zY3JhcGVyLWJhc2UnO1xuaW1wb3J0IHsgdmFsaWRhdGVBbGlhcywgdmFsaWRhdGVEZXN0aW5hdGlvbiwgdmFsaWRhdGVSb2xlQ29uZmlndXJhdGlvbiwgdmFsaWRhdGVTY3JhcGVDb25maWd1cmF0aW9uLCB2YWxpZGF0ZVNvdXJjZSB9IGZyb20gJy4vdmFsaWRhdGlvbi9zY3JhcGVyLWJhc2UnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGFuIEFtYXpvbiBNYW5hZ2VkIFNlcnZpY2UgZm9yIFByb21ldGhldXMgU2NyYXBlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY3JhcGVyUHJvcHMge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdXNlci1hc3NpZ25lZCBzY3JhcGVyIGFsaWFzLlxuICAgKlxuICAgKiAxLTEwMCBjaGFyYWN0ZXJzLlxuICAgKlxuICAgKiBQYXR0ZXJuOiBeWzAtOUEtWmEtel1bLS4wLTlBLVpfYS16XSokXG4gICAqL1xuICByZWFkb25seSBhbGlhcz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFtYXpvbiBNYW5hZ2VkIFNlcnZpY2UgZm9yIFByb21ldGhldXMgd29ya3NwYWNlIHRoZSBzY3JhcGVyIHNlbmRzIG1ldHJpY3MgdG8uXG4gICAqL1xuICByZWFkb25seSBkZXN0aW5hdGlvbjogRGVzdGluYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIGNvbmZpZ3VyYXRpb24gaW4gYW4gQW1hem9uIE1hbmFnZWQgU2VydmljZSBmb3IgUHJvbWV0aGV1cyBzY3JhcGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUNvbmZpZ3VyYXRpb24/OiBSb2xlQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gaW4gdXNlIGJ5IHRoZSBzY3JhcGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NyYXBlQ29uZmlndXJhdGlvbjogU2NyYXBlQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIEFtYXpvbiBFS1MgY2x1c3RlciBmcm9tIHdoaWNoIHRoZSBzY3JhcGVyIGNvbGxlY3RzIG1ldHJpY3MuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U6IFNvdXJjZTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBpbXBvcnRpbmcgYW4gQW1hem9uIE1hbmFnZWQgU2VydmljZSBmb3IgUHJvbWV0aGV1cyBTY3JhcGVyIGZyb20gYXR0cmlidXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY3JhcGVyQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCB1c2VyLWFzc2lnbmVkIHNjcmFwZXIgYWxpYXMuXG4gICAqXG4gICAqIDEtMTAwIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIFBhdHRlcm46IF5bMC05QS1aYS16XVstLjAtOUEtWl9hLXpdKiRcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIE1hbmFnZWQgU2VydmljZSBmb3IgUHJvbWV0aGV1cyB3b3Jrc3BhY2UgdGhlIHNjcmFwZXIgc2VuZHMgbWV0cmljcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uOiBEZXN0aW5hdGlvbjtcblxuICAvKipcbiAgICogVGhlIHJvbGUgY29uZmlndXJhdGlvbiBpbiBhbiBBbWF6b24gTWFuYWdlZCBTZXJ2aWNlIGZvciBQcm9tZXRoZXVzIHNjcmFwZXIuXG4gICAqL1xuICByZWFkb25seSByb2xlQ29uZmlndXJhdGlvbj86IFJvbGVDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBpbiB1c2UgYnkgdGhlIHNjcmFwZXIuXG4gICAqL1xuICByZWFkb25seSBzY3JhcGVDb25maWd1cmF0aW9uOiBTY3JhcGVDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIEVLUyBjbHVzdGVyIGZyb20gd2hpY2ggdGhlIHNjcmFwZXIgY29sbGVjdHMgbWV0cmljcy5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogU291cmNlO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzY3JhcGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NyYXBlckFybjogc3RyaW5nO1xufVxuXG5jb25zdCBJU19TQ1JBUEVSID0gU3ltYm9sLmZvcignQHJvYmhhbi1jZGstbGliL2F3c19hcHMuU2NyYXBlcicpO1xuXG5leHBvcnQgY2xhc3MgU2NyYXBlciBleHRlbmRzIFNjcmFwZXJCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBpc1NjcmFwZXIoeDogYW55KTogeCBpcyBTY3JhcGVyIHtcbiAgICByZXR1cm4gSVNfU0NSQVBFUiBpbiB4O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tbVNjcmFwZXJBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBTY3JhcGVyQXR0cmlidXRlcyk6IElTY3JhcGVyIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBTY3JhcGVyQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYWxpYXM/OiBzdHJpbmc7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZGVzdGluYXRpb246IERlc3RpbmF0aW9uO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHJvbGVDb25maWd1cmF0aW9uPzogUm9sZUNvbmZpZ3VyYXRpb247XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgc2NyYXBlQ29uZmlndXJhdGlvbjogU2NyYXBlQ29uZmlndXJhdGlvbjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IFNvdXJjZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzY3JhcGVySWQ6IHN0cmluZztcbiAgICAgIHB1YmxpYyByZWFkb25seSBzY3JhcGVyQXJuOiBzdHJpbmc7XG4gICAgICBjb25zdHJ1Y3RvcihhdHRyaWJ1dGVzOiBTY3JhcGVyQXR0cmlidXRlcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIHRoaXMuYWxpYXMgPSBhdHRyaWJ1dGVzLmFsaWFzO1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uID0gYXR0cmlidXRlcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgdGhpcy5yb2xlQ29uZmlndXJhdGlvbiA9IGF0dHJpYnV0ZXMucm9sZUNvbmZpZ3VyYXRpb247XG4gICAgICAgIHRoaXMuc2NyYXBlQ29uZmlndXJhdGlvbiA9IGF0dHJpYnV0ZXMuc2NyYXBlQ29uZmlndXJhdGlvbjtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBhdHRyaWJ1dGVzLnNvdXJjZTtcbiAgICAgICAgdGhpcy5zY3JhcGVySWQgPSB0aGlzLmdldFNjcmFwZXJJZChhdHRyaWJ1dGVzLnNjcmFwZXJBcm4pO1xuICAgICAgICB0aGlzLnNjcmFwZXJBcm4gPSBhdHRyaWJ1dGVzLnNjcmFwZXJBcm47XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KGF0dHJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYWxsIHNjcmFwZXIgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIC0gVGhlIHNjcmFwZXIgcHJvcGVydGllcyB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBlcnJvciBtZXNzYWdlcyBpZiB2YWxpZGF0aW9uIGZhaWxzLCBvciBhbiBlbXB0eSBhcnJheSBpZiB2YWxpZFxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhZ2dyZWdhdGVzIHZhbGlkYXRpb24gcmVzdWx0cyBmcm9tIGFsbCBpbmRpdmlkdWFsIHByb3BlcnR5IHZhbGlkYXRvcnMuXG4gICAqIEl0IHRocm93cyBhbiBlcnJvciBpZiBwcm9wcyBpcyBub3QgYW4gb2JqZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgdmFsaWRhdGVQcm9wcyhwcm9wczogdW5rbm93bik6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoIXByb3BzIHx8IHR5cGVvZiBwcm9wcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2NyYXBlciBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG11c3QgYmUgYW4gb2JqZWN0Jyk7XG4gICAgfVxuXG4gICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVPYmplY3RBdHRyaWJ1dGVzKHtcbiAgICAgIGlucHV0T2JqZWN0OiBwcm9wcyxcbiAgICAgIG1hbmRhdG9yeUF0dHJpYnV0ZXM6IFsnZGVzdGluYXRpb24nLCAnc2NyYXBlQ29uZmlndXJhdGlvbicsICdzb3VyY2UnXSxcbiAgICAgIG9wdGlvbmFsQXR0cmlidXRlczogWydhbGlhcycsICdyb2xlQ29uZmlndXJhdGlvbiddLFxuICAgIH0pKTtcblxuXG4gICAgY29uc3Qgc2NyYXBlclByb3BzID0gcHJvcHMgYXMgU2NyYXBlclByb3BzO1xuXG4gICAgaWYgKFxuICAgICAgc2NyYXBlclByb3BzLmFsaWFzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlQWxpYXMoc2NyYXBlclByb3BzLmFsaWFzKS5tYXAoKGUpID0+IGBhbGlhczogJHtlfWApKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzY3JhcGVyUHJvcHMuZGVzdGluYXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVEZXN0aW5hdGlvbihzY3JhcGVyUHJvcHMuZGVzdGluYXRpb24pLm1hcCgoZSkgPT4gYGRlc3RpbmF0aW9uOiAke2V9YCkpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNjcmFwZXJQcm9wcy5yb2xlQ29uZmlndXJhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZVJvbGVDb25maWd1cmF0aW9uKHNjcmFwZXJQcm9wcy5yb2xlQ29uZmlndXJhdGlvbikubWFwKChlKSA9PiBgcm9sZUNvbmZpZ3VyYXRpb246ICR7ZX1gKSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgc2NyYXBlclByb3BzLnNjcmFwZUNvbmZpZ3VyYXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTY3JhcGVDb25maWd1cmF0aW9uKHNjcmFwZXJQcm9wcy5zY3JhcGVDb25maWd1cmF0aW9uKS5tYXAoKGUpID0+IGBzY3JhcGVDb25maWd1cmF0aW9uOiAke2V9YCkpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNjcmFwZXJQcm9wcy5zb3VyY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTb3VyY2Uoc2NyYXBlclByb3BzLnNvdXJjZSkubWFwKChlKSA9PiBgc291cmNlOiAke2V9YCkpO1xuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdXNlci1hc3NpZ25lZCBzY3JhcGVyIGFsaWFzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIE1hbmFnZWQgU2VydmljZSBmb3IgUHJvbWV0aGV1cyB3b3Jrc3BhY2UgdGhlIHNjcmFwZXIgc2VuZHMgbWV0cmljcyB0by5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXN0aW5hdGlvbjogRGVzdGluYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIGNvbmZpZ3VyYXRpb24gaW4gYW4gQW1hem9uIE1hbmFnZWQgU2VydmljZSBmb3IgUHJvbWV0aGV1cyBzY3JhcGVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVDb25maWd1cmF0aW9uPzogUm9sZUNvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIGluIHVzZSBieSB0aGUgc2NyYXBlci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY3JhcGVDb25maWd1cmF0aW9uOiBTY3JhcGVDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIEVLUyBjbHVzdGVyIGZyb20gd2hpY2ggdGhlIHNjcmFwZXIgY29sbGVjdHMgbWV0cmljcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IFNvdXJjZTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBzY3JhcGVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjcmFwZXJJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzY3JhcGVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjcmFwZXJBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHNjcmFwZXI6IENmblNjcmFwZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNjcmFwZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgSVNfU0NSQVBFUiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IGVycm9ycyA9IFNjcmFwZXIudmFsaWRhdGVQcm9wcyhwcm9wcyk7XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9wczpcXG4ke2Vycm9ycy5qb2luKCdcXG4nKX1gKTtcbiAgICB9XG5cbiAgICB0aGlzLmFsaWFzID0gcHJvcHMuYWxpYXM7XG4gICAgdGhpcy5kZXN0aW5hdGlvbiA9IHByb3BzLmRlc3RpbmF0aW9uO1xuICAgIHRoaXMucm9sZUNvbmZpZ3VyYXRpb24gPSBwcm9wcy5yb2xlQ29uZmlndXJhdGlvbjtcbiAgICB0aGlzLnNjcmFwZUNvbmZpZ3VyYXRpb24gPSBwcm9wcy5zY3JhcGVDb25maWd1cmF0aW9uO1xuICAgIHRoaXMuc291cmNlID0gcHJvcHMuc291cmNlO1xuXG4gICAgbGV0IGNmblNjcmFwZXJQcm9wczogQ2ZuU2NyYXBlclByb3BzID0ge1xuICAgICAgYWxpYXM6IHByb3BzLmFsaWFzLFxuICAgICAgZGVzdGluYXRpb246IHtcbiAgICAgICAgYW1wQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIHdvcmtzcGFjZUFybjogcHJvcHMuZGVzdGluYXRpb24uYW1wQ29uZmlndXJhdGlvbi53b3Jrc3BhY2Uud29ya3NwYWNlQXJuLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJvbGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIHNvdXJjZVJvbGVBcm46IHByb3BzLnJvbGVDb25maWd1cmF0aW9uPy5zb3VyY2VSb2xlPy5yb2xlQXJuLFxuICAgICAgICB0YXJnZXRSb2xlQXJuOiBwcm9wcy5yb2xlQ29uZmlndXJhdGlvbj8udGFyZ2V0Um9sZT8ucm9sZUFybixcbiAgICAgIH0sXG4gICAgICBzY3JhcGVDb25maWd1cmF0aW9uOiBwcm9wcy5zY3JhcGVDb25maWd1cmF0aW9uLFxuICAgICAgc291cmNlOiB7XG4gICAgICAgIGVrc0NvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICBjbHVzdGVyQXJuOiBwcm9wcy5zb3VyY2UuZWtzQ29uZmlndXJhdGlvbi5jbHVzdGVyLmNsdXN0ZXJBcm4sXG4gICAgICAgICAgc2VjdXJpdHlHcm91cElkczogcHJvcHMuc291cmNlLmVrc0NvbmZpZ3VyYXRpb24uc2VjdXJpdHlHcm91cHM/Lm1hcCh4ID0+IHguc2VjdXJpdHlHcm91cElkKSxcbiAgICAgICAgICBzdWJuZXRJZHM6IHByb3BzLnNvdXJjZS5la3NDb25maWd1cmF0aW9uLnN1Ym5ldHMubWFwKHggPT4geC5zdWJuZXRJZCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLnNjcmFwZXIgPSBuZXcgQ2ZuU2NyYXBlcih0aGlzLCAnUmVzb3VyY2UnLCBjZm5TY3JhcGVyUHJvcHMpO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLnNjcmFwZXI7XG5cbiAgICB0aGlzLnNjcmFwZXJJZCA9IHRoaXMuc2NyYXBlci5hdHRyQXJuO1xuICAgIHRoaXMuc2NyYXBlckFybiA9IHRoaXMuc2NyYXBlci5hdHRyQXJuO1xuICB9XG59Il19
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Validates the data property.
3
+ *
4
+ * @param data - The rule groups namespace data to validate
5
+ * @returns An array of error messages if validation fails, or an empty array if valid
6
+ *
7
+ * Validation rules:
8
+ * - Must be a string
9
+ */
10
+ export declare function validateData(data: unknown): string[];
11
+ /**
12
+ * Validates the name property.
13
+ *
14
+ * @param name - The rule groups namespace name to validate
15
+ * @returns An array of error messages if validation fails, or an empty array if valid
16
+ *
17
+ * Validation rules:
18
+ * - Must be a string
19
+ * - Must be between 1 and 64 characters long
20
+ */
21
+ export declare function validateName(name: unknown): string[];
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateData = validateData;
4
+ exports.validateName = validateName;
5
+ const utils_1 = require("@robhan-cdk-lib/utils");
6
+ /**
7
+ * Validates the data property.
8
+ *
9
+ * @param data - The rule groups namespace data to validate
10
+ * @returns An array of error messages if validation fails, or an empty array if valid
11
+ *
12
+ * Validation rules:
13
+ * - Must be a string
14
+ */
15
+ function validateData(data) {
16
+ const errors = [];
17
+ if (typeof data !== 'string') {
18
+ errors.push('must be a string');
19
+ return errors; // No need to check further if not a string
20
+ }
21
+ return errors;
22
+ }
23
+ /**
24
+ * Validates the name property.
25
+ *
26
+ * @param name - The rule groups namespace name to validate
27
+ * @returns An array of error messages if validation fails, or an empty array if valid
28
+ *
29
+ * Validation rules:
30
+ * - Must be a string
31
+ * - Must be between 1 and 64 characters long
32
+ */
33
+ function validateName(name) {
34
+ const errors = [];
35
+ if (typeof name !== 'string') {
36
+ errors.push('must be a string');
37
+ return errors; // No need to check further if not a string
38
+ }
39
+ errors.push(...(0, utils_1.validateStringLength)({
40
+ value: name,
41
+ min: 1,
42
+ max: 64,
43
+ }));
44
+ return errors;
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1ncm91cHMtbmFtZXNwYWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi9ydWxlLWdyb3Vwcy1uYW1lc3BhY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLG9DQVNDO0FBWUQsb0NBZUM7QUEvQ0QsaURBQTZEO0FBRTdEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLElBQWE7SUFDeEMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLENBQUMsMkNBQTJDO0lBQzVELENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLElBQWE7SUFDeEMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLENBQUMsMkNBQTJDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSw0QkFBb0IsRUFBQztRQUNsQyxLQUFLLEVBQUUsSUFBSTtRQUNYLEdBQUcsRUFBRSxDQUFDO1FBQ04sR0FBRyxFQUFFLEVBQUU7S0FDUixDQUFDLENBQUMsQ0FBQztJQUVKLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2YWxpZGF0ZVN0cmluZ0xlbmd0aCB9IGZyb20gJ0Byb2JoYW4tY2RrLWxpYi91dGlscyc7XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBkYXRhIHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJ1bGUgZ3JvdXBzIG5hbWVzcGFjZSBkYXRhIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiBlcnJvciBtZXNzYWdlcyBpZiB2YWxpZGF0aW9uIGZhaWxzLCBvciBhbiBlbXB0eSBhcnJheSBpZiB2YWxpZFxuICpcbiAqIFZhbGlkYXRpb24gcnVsZXM6XG4gKiAtIE11c3QgYmUgYSBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGF0YShkYXRhOiB1bmtub3duKTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYgKHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJykge1xuICAgIGVycm9ycy5wdXNoKCdtdXN0IGJlIGEgc3RyaW5nJyk7XG4gICAgcmV0dXJuIGVycm9yczsgLy8gTm8gbmVlZCB0byBjaGVjayBmdXJ0aGVyIGlmIG5vdCBhIHN0cmluZ1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIG5hbWUgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgcnVsZSBncm91cHMgbmFtZXNwYWNlIG5hbWUgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGVycm9yIG1lc3NhZ2VzIGlmIHZhbGlkYXRpb24gZmFpbHMsIG9yIGFuIGVtcHR5IGFycmF5IGlmIHZhbGlkXG4gKlxuICogVmFsaWRhdGlvbiBydWxlczpcbiAqIC0gTXVzdCBiZSBhIHN0cmluZ1xuICogLSBNdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycyBsb25nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU5hbWUobmFtZTogdW5rbm93bik6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmICh0eXBlb2YgbmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICBlcnJvcnMucHVzaCgnbXVzdCBiZSBhIHN0cmluZycpO1xuICAgIHJldHVybiBlcnJvcnM7IC8vIE5vIG5lZWQgdG8gY2hlY2sgZnVydGhlciBpZiBub3QgYSBzdHJpbmdcbiAgfVxuXG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlU3RyaW5nTGVuZ3RoKHtcbiAgICB2YWx1ZTogbmFtZSxcbiAgICBtaW46IDEsXG4gICAgbWF4OiA2NCxcbiAgfSkpO1xuXG4gIHJldHVybiBlcnJvcnM7XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export declare function validateAmpConfiguration(ampConfiguration: unknown): string[];
2
+ export declare function validateDestination(destination: unknown): string[];
3
+ export declare function validateRoleConfiguration(roleConfiguration: unknown): string[];
4
+ export declare function validateScrapeConfiguration(scrapeConfiguration: unknown): string[];
5
+ export declare function validateEksConfiguration(eksConfiguration: unknown): string[];
6
+ export declare function validateSource(source: unknown): string[];
7
+ export declare function validateAlias(alias: unknown): string[];
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAmpConfiguration = validateAmpConfiguration;
4
+ exports.validateDestination = validateDestination;
5
+ exports.validateRoleConfiguration = validateRoleConfiguration;
6
+ exports.validateScrapeConfiguration = validateScrapeConfiguration;
7
+ exports.validateEksConfiguration = validateEksConfiguration;
8
+ exports.validateSource = validateSource;
9
+ exports.validateAlias = validateAlias;
10
+ const utils_1 = require("@robhan-cdk-lib/utils");
11
+ function validateAmpConfiguration(ampConfiguration) {
12
+ const errors = [];
13
+ if (typeof ampConfiguration !== 'object') {
14
+ errors.push('must be an object');
15
+ return errors; // No need to check further if not an object
16
+ }
17
+ const ampConfigurationObject = ampConfiguration;
18
+ errors.push(...(0, utils_1.validateObjectAttributes)({
19
+ inputObject: ampConfigurationObject,
20
+ mandatoryAttributes: ['workspace'],
21
+ optionalAttributes: [],
22
+ }));
23
+ return errors;
24
+ }
25
+ function validateDestination(destination) {
26
+ const errors = [];
27
+ if (typeof destination !== 'object') {
28
+ errors.push('must be an object');
29
+ return errors; // No need to check further if not an object
30
+ }
31
+ const destinationObject = destination;
32
+ errors.push(...(0, utils_1.validateObjectAttributes)({
33
+ inputObject: destinationObject,
34
+ mandatoryAttributes: ['ampConfiguration'],
35
+ optionalAttributes: [],
36
+ }));
37
+ if (destinationObject.ampConfiguration !== undefined) {
38
+ errors.push(...validateAmpConfiguration(destinationObject.ampConfiguration).map((err) => `ampConfiguration: ${err}`));
39
+ }
40
+ return errors;
41
+ }
42
+ function validateRoleConfiguration(roleConfiguration) {
43
+ const errors = [];
44
+ if (typeof roleConfiguration !== 'object') {
45
+ errors.push('must be an object');
46
+ return errors; // No need to check further if not an object
47
+ }
48
+ const roleConfigurationObject = roleConfiguration;
49
+ errors.push(...(0, utils_1.validateObjectAttributes)({
50
+ inputObject: roleConfigurationObject,
51
+ mandatoryAttributes: [],
52
+ optionalAttributes: ['sourceRole', 'targetRole'],
53
+ }));
54
+ return errors;
55
+ }
56
+ function validateScrapeConfiguration(scrapeConfiguration) {
57
+ const errors = [];
58
+ if (typeof scrapeConfiguration !== 'object') {
59
+ errors.push('must be an object');
60
+ return errors; // No need to check further if not an object
61
+ }
62
+ const scrapeConfigurationObject = scrapeConfiguration;
63
+ errors.push(...(0, utils_1.validateObjectAttributes)({
64
+ inputObject: scrapeConfigurationObject,
65
+ mandatoryAttributes: ['configurationBlob'],
66
+ optionalAttributes: [],
67
+ }));
68
+ if (scrapeConfigurationObject.configurationBlob !== undefined && typeof scrapeConfigurationObject.configurationBlob !== 'string') {
69
+ errors.push('configurationBlob: must be a string');
70
+ }
71
+ return errors;
72
+ }
73
+ function validateEksConfiguration(eksConfiguration) {
74
+ const errors = [];
75
+ if (typeof eksConfiguration !== 'object') {
76
+ errors.push('must be an object');
77
+ return errors; // No need to check further if not an object
78
+ }
79
+ const eksConfigurationObject = eksConfiguration;
80
+ errors.push(...(0, utils_1.validateObjectAttributes)({
81
+ inputObject: eksConfigurationObject,
82
+ mandatoryAttributes: ['cluster', 'subnets'],
83
+ optionalAttributes: ['securityGroups'],
84
+ }));
85
+ if (eksConfigurationObject.securityGroups !== undefined) {
86
+ if (!Array.isArray(eksConfigurationObject.securityGroups)) {
87
+ errors.push('securityGroups: must be an array');
88
+ }
89
+ else {
90
+ errors.push(...(0, utils_1.validateArrayLength)({
91
+ value: eksConfigurationObject.securityGroups,
92
+ min: 1,
93
+ max: 5,
94
+ messagePrefix: 'securityGroups: ',
95
+ }));
96
+ }
97
+ }
98
+ if (eksConfigurationObject.subnets !== undefined) {
99
+ if (!Array.isArray(eksConfigurationObject.subnets)) {
100
+ errors.push('subnets: must be an array');
101
+ }
102
+ else {
103
+ errors.push(...(0, utils_1.validateArrayLength)({
104
+ value: eksConfigurationObject.subnets,
105
+ min: 1,
106
+ max: 5,
107
+ messagePrefix: 'subnets: ',
108
+ }));
109
+ }
110
+ }
111
+ return errors;
112
+ }
113
+ function validateSource(source) {
114
+ const errors = [];
115
+ if (typeof source !== 'object') {
116
+ errors.push('must be an object');
117
+ return errors; // No need to check further if not an object
118
+ }
119
+ const sourceObject = source;
120
+ errors.push(...(0, utils_1.validateObjectAttributes)({
121
+ inputObject: sourceObject,
122
+ mandatoryAttributes: ['eksConfiguration'],
123
+ optionalAttributes: [],
124
+ }));
125
+ if (sourceObject.eksConfiguration !== undefined) {
126
+ errors.push(...validateEksConfiguration(sourceObject.eksConfiguration).map((err) => `eksConfiguration: ${err}`));
127
+ }
128
+ return errors;
129
+ }
130
+ function validateAlias(alias) {
131
+ const errors = [];
132
+ if (typeof alias !== 'string') {
133
+ errors.push('must be a string');
134
+ return errors; // No need to check further if not a string
135
+ }
136
+ errors.push(...(0, utils_1.validateStringLength)({
137
+ value: alias,
138
+ min: 1,
139
+ max: 100,
140
+ }));
141
+ errors.push(...(0, utils_1.validateRegExp)({
142
+ regExp: /^[0-9A-Za-z][-.0-9A-Z_a-z]*$/,
143
+ value: alias,
144
+ }));
145
+ return errors;
146
+ }
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyYXBlci1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb24vc2NyYXBlci1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsNERBZ0JDO0FBRUQsa0RBb0JDO0FBRUQsOERBZUM7QUFFRCxrRUFvQkM7QUFFRCw0REEwQ0M7QUFFRCx3Q0FvQkM7QUFFRCxzQ0FvQkM7QUF4S0QsaURBQTRIO0FBRzVILFNBQWdCLHdCQUF3QixDQUFDLGdCQUF5QjtJQUNoRSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsSUFBSSxPQUFPLGdCQUFnQixLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLDRDQUE0QztJQUM3RCxDQUFDO0lBRUQsTUFBTSxzQkFBc0IsR0FBRyxnQkFBb0MsQ0FBQztJQUNwRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSxnQ0FBd0IsRUFBQztRQUN0QyxXQUFXLEVBQUUsc0JBQXNCO1FBQ25DLG1CQUFtQixFQUFFLENBQUMsV0FBVyxDQUFDO1FBQ2xDLGtCQUFrQixFQUFFLEVBQUU7S0FDdkIsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsV0FBb0I7SUFDdEQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLENBQUMsNENBQTRDO0lBQzdELENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFdBQTBCLENBQUM7SUFDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsZ0NBQXdCLEVBQUM7UUFDdEMsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixtQkFBbUIsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1FBQ3pDLGtCQUFrQixFQUFFLEVBQUU7S0FDdkIsQ0FBQyxDQUFDLENBQUM7SUFFSixJQUFJLGlCQUFpQixDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQWdCLHlCQUF5QixDQUFDLGlCQUEwQjtJQUNsRSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsSUFBSSxPQUFPLGlCQUFpQixLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLDRDQUE0QztJQUM3RCxDQUFDO0lBQ0QsTUFBTSx1QkFBdUIsR0FBRyxpQkFBc0MsQ0FBQztJQUN2RSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSxnQ0FBd0IsRUFBQztRQUN0QyxXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLG1CQUFtQixFQUFFLEVBQUU7UUFDdkIsa0JBQWtCLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO0tBQ2pELENBQUMsQ0FBQyxDQUFDO0lBRUosT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQWdCLDJCQUEyQixDQUFDLG1CQUE0QjtJQUN0RSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsSUFBSSxPQUFPLG1CQUFtQixLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLDRDQUE0QztJQUM3RCxDQUFDO0lBRUQsTUFBTSx5QkFBeUIsR0FBRyxtQkFBMEMsQ0FBQztJQUM3RSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSxnQ0FBd0IsRUFBQztRQUN0QyxXQUFXLEVBQUUseUJBQXlCO1FBQ3RDLG1CQUFtQixFQUFFLENBQUMsbUJBQW1CLENBQUM7UUFDMUMsa0JBQWtCLEVBQUUsRUFBRTtLQUN2QixDQUFDLENBQUMsQ0FBQztJQUVKLElBQUkseUJBQXlCLENBQUMsaUJBQWlCLEtBQUssU0FBUyxJQUFJLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDakksTUFBTSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsZ0JBQXlCO0lBQ2hFLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUU1QixJQUFJLE9BQU8sZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLENBQUMsNENBQTRDO0lBQzdELENBQUM7SUFFRCxNQUFNLHNCQUFzQixHQUFHLGdCQUFvQyxDQUFDO0lBQ3BFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLGdDQUF3QixFQUFDO1FBQ3RDLFdBQVcsRUFBRSxzQkFBc0I7UUFDbkMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQzNDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLENBQUM7S0FDdkMsQ0FBQyxDQUFDLENBQUM7SUFFSixJQUFJLHNCQUFzQixDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzFELE1BQU0sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUNsRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLDJCQUFtQixFQUFDO2dCQUNqQyxLQUFLLEVBQUUsc0JBQXNCLENBQUMsY0FBYztnQkFDNUMsR0FBRyxFQUFFLENBQUM7Z0JBQ04sR0FBRyxFQUFFLENBQUM7Z0JBQ04sYUFBYSxFQUFFLGtCQUFrQjthQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSwyQkFBbUIsRUFBQztnQkFDakMsS0FBSyxFQUFFLHNCQUFzQixDQUFDLE9BQU87Z0JBQ3JDLEdBQUcsRUFBRSxDQUFDO2dCQUNOLEdBQUcsRUFBRSxDQUFDO2dCQUNOLGFBQWEsRUFBRSxXQUFXO2FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLE1BQWU7SUFDNUMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLENBQUMsNENBQTRDO0lBQzdELENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxNQUFnQixDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLGdDQUF3QixFQUFDO1FBQ3RDLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLG1CQUFtQixFQUFFLENBQUMsa0JBQWtCLENBQUM7UUFDekMsa0JBQWtCLEVBQUUsRUFBRTtLQUN2QixDQUFDLENBQUMsQ0FBQztJQUVKLElBQUksWUFBWSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsS0FBYztJQUMxQyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEMsT0FBTyxNQUFNLENBQUMsQ0FBQywyQ0FBMkM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLDRCQUFvQixFQUFDO1FBQ2xDLEtBQUssRUFBRSxLQUFLO1FBQ1osR0FBRyxFQUFFLENBQUM7UUFDTixHQUFHLEVBQUUsR0FBRztLQUNULENBQUMsQ0FBQyxDQUFDO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsc0JBQWMsRUFBQztRQUM1QixNQUFNLEVBQUUsOEJBQThCO1FBQ3RDLEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmFsaWRhdGVPYmplY3RBdHRyaWJ1dGVzLCB2YWxpZGF0ZUFycmF5TGVuZ3RoLCB2YWxpZGF0ZVN0cmluZ0xlbmd0aCwgdmFsaWRhdGVSZWdFeHAgfSBmcm9tICdAcm9iaGFuLWNkay1saWIvdXRpbHMnO1xuaW1wb3J0IHsgQW1wQ29uZmlndXJhdGlvbiwgRGVzdGluYXRpb24sIFJvbGVDb25maWd1cmF0aW9uLCBTY3JhcGVDb25maWd1cmF0aW9uLCBFa3NDb25maWd1cmF0aW9uLCBTb3VyY2UgfSBmcm9tICcuLi9zY3JhcGVyLWJhc2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBbXBDb25maWd1cmF0aW9uKGFtcENvbmZpZ3VyYXRpb246IHVua25vd24pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAodHlwZW9mIGFtcENvbmZpZ3VyYXRpb24gIT09ICdvYmplY3QnKSB7XG4gICAgZXJyb3JzLnB1c2goJ211c3QgYmUgYW4gb2JqZWN0Jyk7XG4gICAgcmV0dXJuIGVycm9yczsgLy8gTm8gbmVlZCB0byBjaGVjayBmdXJ0aGVyIGlmIG5vdCBhbiBvYmplY3RcbiAgfVxuXG4gIGNvbnN0IGFtcENvbmZpZ3VyYXRpb25PYmplY3QgPSBhbXBDb25maWd1cmF0aW9uIGFzIEFtcENvbmZpZ3VyYXRpb247XG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlT2JqZWN0QXR0cmlidXRlcyh7XG4gICAgaW5wdXRPYmplY3Q6IGFtcENvbmZpZ3VyYXRpb25PYmplY3QsXG4gICAgbWFuZGF0b3J5QXR0cmlidXRlczogWyd3b3Jrc3BhY2UnXSxcbiAgICBvcHRpb25hbEF0dHJpYnV0ZXM6IFtdLFxuICB9KSk7XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGVzdGluYXRpb24oZGVzdGluYXRpb246IHVua25vd24pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAodHlwZW9mIGRlc3RpbmF0aW9uICE9PSAnb2JqZWN0Jykge1xuICAgIGVycm9ycy5wdXNoKCdtdXN0IGJlIGFuIG9iamVjdCcpO1xuICAgIHJldHVybiBlcnJvcnM7IC8vIE5vIG5lZWQgdG8gY2hlY2sgZnVydGhlciBpZiBub3QgYW4gb2JqZWN0XG4gIH1cblxuICBjb25zdCBkZXN0aW5hdGlvbk9iamVjdCA9IGRlc3RpbmF0aW9uIGFzIERlc3RpbmF0aW9uO1xuICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZU9iamVjdEF0dHJpYnV0ZXMoe1xuICAgIGlucHV0T2JqZWN0OiBkZXN0aW5hdGlvbk9iamVjdCxcbiAgICBtYW5kYXRvcnlBdHRyaWJ1dGVzOiBbJ2FtcENvbmZpZ3VyYXRpb24nXSxcbiAgICBvcHRpb25hbEF0dHJpYnV0ZXM6IFtdLFxuICB9KSk7XG5cbiAgaWYgKGRlc3RpbmF0aW9uT2JqZWN0LmFtcENvbmZpZ3VyYXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlQW1wQ29uZmlndXJhdGlvbihkZXN0aW5hdGlvbk9iamVjdC5hbXBDb25maWd1cmF0aW9uKS5tYXAoKGVycikgPT4gYGFtcENvbmZpZ3VyYXRpb246ICR7ZXJyfWApKTtcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVJvbGVDb25maWd1cmF0aW9uKHJvbGVDb25maWd1cmF0aW9uOiB1bmtub3duKTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYgKHR5cGVvZiByb2xlQ29uZmlndXJhdGlvbiAhPT0gJ29iamVjdCcpIHtcbiAgICBlcnJvcnMucHVzaCgnbXVzdCBiZSBhbiBvYmplY3QnKTtcbiAgICByZXR1cm4gZXJyb3JzOyAvLyBObyBuZWVkIHRvIGNoZWNrIGZ1cnRoZXIgaWYgbm90IGFuIG9iamVjdFxuICB9XG4gIGNvbnN0IHJvbGVDb25maWd1cmF0aW9uT2JqZWN0ID0gcm9sZUNvbmZpZ3VyYXRpb24gYXMgUm9sZUNvbmZpZ3VyYXRpb247XG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlT2JqZWN0QXR0cmlidXRlcyh7XG4gICAgaW5wdXRPYmplY3Q6IHJvbGVDb25maWd1cmF0aW9uT2JqZWN0LFxuICAgIG1hbmRhdG9yeUF0dHJpYnV0ZXM6IFtdLFxuICAgIG9wdGlvbmFsQXR0cmlidXRlczogWydzb3VyY2VSb2xlJywgJ3RhcmdldFJvbGUnXSxcbiAgfSkpO1xuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNjcmFwZUNvbmZpZ3VyYXRpb24oc2NyYXBlQ29uZmlndXJhdGlvbjogdW5rbm93bik6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmICh0eXBlb2Ygc2NyYXBlQ29uZmlndXJhdGlvbiAhPT0gJ29iamVjdCcpIHtcbiAgICBlcnJvcnMucHVzaCgnbXVzdCBiZSBhbiBvYmplY3QnKTtcbiAgICByZXR1cm4gZXJyb3JzOyAvLyBObyBuZWVkIHRvIGNoZWNrIGZ1cnRoZXIgaWYgbm90IGFuIG9iamVjdFxuICB9XG5cbiAgY29uc3Qgc2NyYXBlQ29uZmlndXJhdGlvbk9iamVjdCA9IHNjcmFwZUNvbmZpZ3VyYXRpb24gYXMgU2NyYXBlQ29uZmlndXJhdGlvbjtcbiAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVPYmplY3RBdHRyaWJ1dGVzKHtcbiAgICBpbnB1dE9iamVjdDogc2NyYXBlQ29uZmlndXJhdGlvbk9iamVjdCxcbiAgICBtYW5kYXRvcnlBdHRyaWJ1dGVzOiBbJ2NvbmZpZ3VyYXRpb25CbG9iJ10sXG4gICAgb3B0aW9uYWxBdHRyaWJ1dGVzOiBbXSxcbiAgfSkpO1xuXG4gIGlmIChzY3JhcGVDb25maWd1cmF0aW9uT2JqZWN0LmNvbmZpZ3VyYXRpb25CbG9iICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHNjcmFwZUNvbmZpZ3VyYXRpb25PYmplY3QuY29uZmlndXJhdGlvbkJsb2IgIT09ICdzdHJpbmcnKSB7XG4gICAgZXJyb3JzLnB1c2goJ2NvbmZpZ3VyYXRpb25CbG9iOiBtdXN0IGJlIGEgc3RyaW5nJyk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVFa3NDb25maWd1cmF0aW9uKGVrc0NvbmZpZ3VyYXRpb246IHVua25vd24pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAodHlwZW9mIGVrc0NvbmZpZ3VyYXRpb24gIT09ICdvYmplY3QnKSB7XG4gICAgZXJyb3JzLnB1c2goJ211c3QgYmUgYW4gb2JqZWN0Jyk7XG4gICAgcmV0dXJuIGVycm9yczsgLy8gTm8gbmVlZCB0byBjaGVjayBmdXJ0aGVyIGlmIG5vdCBhbiBvYmplY3RcbiAgfVxuXG4gIGNvbnN0IGVrc0NvbmZpZ3VyYXRpb25PYmplY3QgPSBla3NDb25maWd1cmF0aW9uIGFzIEVrc0NvbmZpZ3VyYXRpb247XG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlT2JqZWN0QXR0cmlidXRlcyh7XG4gICAgaW5wdXRPYmplY3Q6IGVrc0NvbmZpZ3VyYXRpb25PYmplY3QsXG4gICAgbWFuZGF0b3J5QXR0cmlidXRlczogWydjbHVzdGVyJywgJ3N1Ym5ldHMnXSxcbiAgICBvcHRpb25hbEF0dHJpYnV0ZXM6IFsnc2VjdXJpdHlHcm91cHMnXSxcbiAgfSkpO1xuXG4gIGlmIChla3NDb25maWd1cmF0aW9uT2JqZWN0LnNlY3VyaXR5R3JvdXBzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZWtzQ29uZmlndXJhdGlvbk9iamVjdC5zZWN1cml0eUdyb3VwcykpIHtcbiAgICAgIGVycm9ycy5wdXNoKCdzZWN1cml0eUdyb3VwczogbXVzdCBiZSBhbiBhcnJheScpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUFycmF5TGVuZ3RoKHtcbiAgICAgICAgdmFsdWU6IGVrc0NvbmZpZ3VyYXRpb25PYmplY3Quc2VjdXJpdHlHcm91cHMsXG4gICAgICAgIG1pbjogMSxcbiAgICAgICAgbWF4OiA1LFxuICAgICAgICBtZXNzYWdlUHJlZml4OiAnc2VjdXJpdHlHcm91cHM6ICcsXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVrc0NvbmZpZ3VyYXRpb25PYmplY3Quc3VibmV0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGVrc0NvbmZpZ3VyYXRpb25PYmplY3Quc3VibmV0cykpIHtcbiAgICAgIGVycm9ycy5wdXNoKCdzdWJuZXRzOiBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlQXJyYXlMZW5ndGgoe1xuICAgICAgICB2YWx1ZTogZWtzQ29uZmlndXJhdGlvbk9iamVjdC5zdWJuZXRzLFxuICAgICAgICBtaW46IDEsXG4gICAgICAgIG1heDogNSxcbiAgICAgICAgbWVzc2FnZVByZWZpeDogJ3N1Ym5ldHM6ICcsXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU291cmNlKHNvdXJjZTogdW5rbm93bik6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmICh0eXBlb2Ygc291cmNlICE9PSAnb2JqZWN0Jykge1xuICAgIGVycm9ycy5wdXNoKCdtdXN0IGJlIGFuIG9iamVjdCcpO1xuICAgIHJldHVybiBlcnJvcnM7IC8vIE5vIG5lZWQgdG8gY2hlY2sgZnVydGhlciBpZiBub3QgYW4gb2JqZWN0XG4gIH1cblxuICBjb25zdCBzb3VyY2VPYmplY3QgPSBzb3VyY2UgYXMgU291cmNlO1xuICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZU9iamVjdEF0dHJpYnV0ZXMoe1xuICAgIGlucHV0T2JqZWN0OiBzb3VyY2VPYmplY3QsXG4gICAgbWFuZGF0b3J5QXR0cmlidXRlczogWydla3NDb25maWd1cmF0aW9uJ10sXG4gICAgb3B0aW9uYWxBdHRyaWJ1dGVzOiBbXSxcbiAgfSkpO1xuXG4gIGlmIChzb3VyY2VPYmplY3QuZWtzQ29uZmlndXJhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVFa3NDb25maWd1cmF0aW9uKHNvdXJjZU9iamVjdC5la3NDb25maWd1cmF0aW9uKS5tYXAoKGVycikgPT4gYGVrc0NvbmZpZ3VyYXRpb246ICR7ZXJyfWApKTtcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUFsaWFzKGFsaWFzOiB1bmtub3duKTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYgKHR5cGVvZiBhbGlhcyAhPT0gJ3N0cmluZycpIHtcbiAgICBlcnJvcnMucHVzaCgnbXVzdCBiZSBhIHN0cmluZycpO1xuICAgIHJldHVybiBlcnJvcnM7IC8vIE5vIG5lZWQgdG8gY2hlY2sgZnVydGhlciBpZiBub3QgYSBzdHJpbmdcbiAgfVxuXG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlU3RyaW5nTGVuZ3RoKHtcbiAgICB2YWx1ZTogYWxpYXMsXG4gICAgbWluOiAxLFxuICAgIG1heDogMTAwLFxuICB9KSk7XG5cbiAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVSZWdFeHAoe1xuICAgIHJlZ0V4cDogL15bMC05QS1aYS16XVstLjAtOUEtWl9hLXpdKiQvLFxuICAgIHZhbHVlOiBhbGlhcyxcbiAgfSkpO1xuXG4gIHJldHVybiBlcnJvcnM7XG59Il19
@@ -0,0 +1,11 @@
1
+ export declare function validateLoggingConfiguration(loggingConfiguration: unknown): string[];
2
+ export declare function validateCloudWatchLogDestination(cloudWatchLogDestination: unknown): string[];
3
+ export declare function validateLoggingFilter(loggingFilter: unknown): string[];
4
+ export declare function validateLoggingDestination(loggingDestination: unknown): string[];
5
+ export declare function validateQueryLoggingConfiguration(queryLoggingConfiguration: unknown): string[];
6
+ export declare function validateLimitsPerLabelSetEntry(limitsPerLabelSetEntry: unknown): string[];
7
+ export declare function validateLabel(label: unknown): string[];
8
+ export declare function validateLimitsPerLabelSet(limitsPerLabelSet: unknown): string[];
9
+ export declare function validateWorkspaceConfiguration(workspaceConfiguration: unknown): string[];
10
+ export declare function validateAlertManagerDefinition(alertManagerDefinition: unknown): string[];
11
+ export declare function validateAlias(alias: unknown): string[];