@spottoai/types-package 1.0.2-beta.310 → 1.0.2-beta.312
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/README.md +14 -4
- package/dist/aws/index.d.ts +8 -0
- package/dist/aws/index.d.ts.map +1 -1
- package/dist/aws/index.js +8 -0
- package/dist/aws/index.js.map +1 -1
- package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +10 -0
- package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactBodyValidation.js +225 -0
- package/dist/aws/pluginPublicArtifactBodyValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactEvidence.d.ts +161 -0
- package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactEvidence.js +3 -0
- package/dist/aws/pluginPublicArtifactEvidence.js.map +1 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +4 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.js +259 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +6 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.js +471 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactValidation.d.ts +3 -0
- package/dist/aws/pluginPublicArtifactValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactValidation.js +9 -0
- package/dist/aws/pluginPublicArtifactValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +23 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.js +241 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +1 -0
- package/dist/aws/pluginPublicArtifacts.d.ts +253 -0
- package/dist/aws/pluginPublicArtifacts.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifacts.js +116 -0
- package/dist/aws/pluginPublicArtifacts.js.map +1 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +4 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.js +333 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +6 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.js +227 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +8 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.js +377 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +168 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.js +32 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.js.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +127 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.js +3 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.js.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +6 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +405 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactValidation.d.ts +3 -0
- package/dist/aws/portalPublicArtifactValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactValidation.js +14 -0
- package/dist/aws/portalPublicArtifactValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactValidationCommon.d.ts +30 -0
- package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactValidationCommon.js +167 -0
- package/dist/aws/portalPublicArtifactValidationCommon.js.map +1 -0
- package/dist/aws/portalPublicArtifacts.d.ts +371 -0
- package/dist/aws/portalPublicArtifacts.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifacts.js +85 -0
- package/dist/aws/portalPublicArtifacts.js.map +1 -0
- package/dist/aws/publicArtifacts.d.ts +3 -2
- package/dist/aws/publicArtifacts.d.ts.map +1 -1
- package/dist/aws/publicArtifacts.js +3 -0
- package/dist/aws/publicArtifacts.js.map +1 -1
- package/dist/integrations/autotask.d.ts +21 -3
- package/dist/integrations/autotask.d.ts.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAwsPortalBillingBlock = validateAwsPortalBillingBlock;
|
|
4
|
+
exports.validateAwsPortalRecommendationCoverage = validateAwsPortalRecommendationCoverage;
|
|
5
|
+
exports.validateRecommendationSourceEvidence = validateRecommendationSourceEvidence;
|
|
6
|
+
exports.validateRecommendationActionHealth = validateRecommendationActionHealth;
|
|
7
|
+
const portalPublicArtifactValidationCommon_1 = require("./portalPublicArtifactValidationCommon");
|
|
8
|
+
function validateAwsPortalBillingBlock(value, field, outerBilling, accountId, accountBody) {
|
|
9
|
+
const billing = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
10
|
+
const accountFields = [
|
|
11
|
+
'costViewByCurrency',
|
|
12
|
+
'groupedCosts',
|
|
13
|
+
'commitmentSpend',
|
|
14
|
+
'resourceAttribution',
|
|
15
|
+
'calendarSummary',
|
|
16
|
+
'periodSummary',
|
|
17
|
+
'spendTrend',
|
|
18
|
+
'comparison',
|
|
19
|
+
];
|
|
20
|
+
const resourceFields = ['pricingReferenceEstimation', 'estimatedBillingAuthority'];
|
|
21
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(billing, ['scope', 'freshness', 'summary', 'totalsByCurrency', ...(accountBody ? accountFields : resourceFields)], field);
|
|
22
|
+
validateBillingEvidenceScope(billing.scope, outerBilling, accountId, `${field}.scope`);
|
|
23
|
+
(0, portalPublicArtifactValidationCommon_1.validateFreshness)(billing.freshness, `${field}.freshness`, 'lastSuccessfulImportAt');
|
|
24
|
+
validateBillingSummary(billing.summary, `${field}.summary`);
|
|
25
|
+
validateBillingGroupedResult(billing.totalsByCurrency, `${field}.totalsByCurrency`);
|
|
26
|
+
if (!accountBody) {
|
|
27
|
+
if (billing.pricingReferenceEstimation !== undefined)
|
|
28
|
+
(0, portalPublicArtifactValidationCommon_1.validateJsonObject)(billing.pricingReferenceEstimation, `${field}.pricingReferenceEstimation`);
|
|
29
|
+
if (billing.estimatedBillingAuthority !== undefined)
|
|
30
|
+
(0, portalPublicArtifactValidationCommon_1.validateJsonObject)(billing.estimatedBillingAuthority, `${field}.estimatedBillingAuthority`);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
(0, portalPublicArtifactValidationCommon_1.validateJsonArray)(billing.costViewByCurrency, `${field}.costViewByCurrency`);
|
|
34
|
+
const grouped = (0, portalPublicArtifactValidationCommon_1.asRecord)(billing.groupedCosts, `${field}.groupedCosts`);
|
|
35
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(grouped, ['byChargeCategory', 'byServiceCode', 'byServiceCategory'], `${field}.groupedCosts`);
|
|
36
|
+
validateBillingGroupedResult(grouped.byChargeCategory, `${field}.groupedCosts.byChargeCategory`, 'chargeCategory');
|
|
37
|
+
validateBillingGroupedResult(grouped.byServiceCode, `${field}.groupedCosts.byServiceCode`, 'serviceCode');
|
|
38
|
+
if (grouped.byServiceCategory !== undefined)
|
|
39
|
+
validateBillingGroupedResult(grouped.byServiceCategory, `${field}.groupedCosts.byServiceCategory`, 'serviceCategory');
|
|
40
|
+
['commitmentSpend', 'resourceAttribution', 'calendarSummary', 'periodSummary', 'spendTrend', 'comparison'].forEach(key => {
|
|
41
|
+
if (billing[key] !== undefined)
|
|
42
|
+
(0, portalPublicArtifactValidationCommon_1.validateJsonObject)(billing[key], `${field}.${key}`);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function validateAwsPortalRecommendationCoverage(value, accountId, regions, field, sources, includeTrust) {
|
|
46
|
+
const recommendations = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
47
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(recommendations, ['sources'], field);
|
|
48
|
+
if (!Array.isArray(recommendations.sources))
|
|
49
|
+
throw new Error(`${field}.sources must be an array.`);
|
|
50
|
+
const seenSources = [];
|
|
51
|
+
recommendations.sources.forEach((entry, index) => {
|
|
52
|
+
const itemField = `${field}.sources[${index}]`;
|
|
53
|
+
const source = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
|
|
54
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(source, includeTrust
|
|
55
|
+
? ['source', 'scope', 'summary', 'counts', 'savings', 'sourceEvidence', 'actionHealth']
|
|
56
|
+
: ['source', 'scope', 'summary', 'counts', 'savings'], itemField);
|
|
57
|
+
const sourceName = (0, portalPublicArtifactValidationCommon_1.requiredString)(source.source, `${itemField}.source`);
|
|
58
|
+
if (!sources.includes(sourceName))
|
|
59
|
+
throw new Error(`${itemField}.source is not declared.`);
|
|
60
|
+
seenSources.push(sourceName);
|
|
61
|
+
const scope = (0, portalPublicArtifactValidationCommon_1.asRecord)(source.scope, `${itemField}.scope`);
|
|
62
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(scope, ['provider', 'source', 'scope', 'accountId', 'resourceRegions'], `${itemField}.scope`);
|
|
63
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.provider, 'aws', `${itemField}.scope.provider`);
|
|
64
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.source, sourceName, `${itemField}.scope.source`);
|
|
65
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.scope, 'account', `${itemField}.scope.scope`);
|
|
66
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.accountId, accountId, `${itemField}.scope.accountId`);
|
|
67
|
+
const nestedRegions = (0, portalPublicArtifactValidationCommon_1.stringArray)(scope.resourceRegions, `${itemField}.scope.resourceRegions`);
|
|
68
|
+
if (JSON.stringify(nestedRegions) !== JSON.stringify(regions))
|
|
69
|
+
throw new Error(`${itemField}.scope.resourceRegions must match artifact scope exactly.`);
|
|
70
|
+
validateRecommendationSummary(source.summary, `${itemField}.summary`);
|
|
71
|
+
validateRecommendationCounts(source.counts, `${itemField}.counts`);
|
|
72
|
+
validateRecommendationSavings(source.savings, `${itemField}.savings`);
|
|
73
|
+
if (source.sourceEvidence !== undefined)
|
|
74
|
+
validateRecommendationSourceEvidence(source.sourceEvidence, `${itemField}.sourceEvidence`);
|
|
75
|
+
if (source.actionHealth !== undefined)
|
|
76
|
+
validateRecommendationActionHealth(source.actionHealth, `${itemField}.actionHealth`);
|
|
77
|
+
});
|
|
78
|
+
(0, portalPublicArtifactValidationCommon_1.assertUnique)(seenSources, `${field}.sources`);
|
|
79
|
+
}
|
|
80
|
+
function validateBillingEvidenceScope(value, outerBilling, accountId, field) {
|
|
81
|
+
const scope = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
82
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(scope, ['provider', 'source', 'scope', 'accountId', 'reportName', 'billingPeriod'], field);
|
|
83
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.provider, 'aws', `${field}.provider`);
|
|
84
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.source, outerBilling.source, `${field}.source`);
|
|
85
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.scope, 'account', `${field}.scope`);
|
|
86
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.accountId, accountId, `${field}.accountId`);
|
|
87
|
+
(0, portalPublicArtifactValidationCommon_1.assertValue)(scope.reportName, outerBilling.source === 'cur' ? outerBilling.reportName : outerBilling.exportName, `${field}.reportName`);
|
|
88
|
+
if (JSON.stringify(scope.billingPeriod) !== JSON.stringify(outerBilling.billingPeriod))
|
|
89
|
+
throw new Error(`${field}.billingPeriod must match artifact scope exactly.`);
|
|
90
|
+
}
|
|
91
|
+
function validateBillingSummary(value, field) {
|
|
92
|
+
const summary = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
93
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(summary, ['totalPersistedExpenseCount', 'emptyScope', 'metadataFound', 'metadataMatchesRequestedBillingPeriod'], field);
|
|
94
|
+
(0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(summary.totalPersistedExpenseCount, `${field}.totalPersistedExpenseCount`);
|
|
95
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.emptyScope, `${field}.emptyScope`);
|
|
96
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.metadataFound, `${field}.metadataFound`);
|
|
97
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.metadataMatchesRequestedBillingPeriod, `${field}.metadataMatchesRequestedBillingPeriod`);
|
|
98
|
+
}
|
|
99
|
+
function validateBillingGroupedResult(value, field, label) {
|
|
100
|
+
const result = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
101
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(result, ['totalGroupCount', 'returnedGroupCount', 'truncated', 'items'], field);
|
|
102
|
+
const total = (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(result.totalGroupCount, `${field}.totalGroupCount`);
|
|
103
|
+
const returned = (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(result.returnedGroupCount, `${field}.returnedGroupCount`);
|
|
104
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(result.truncated, `${field}.truncated`);
|
|
105
|
+
if (returned > total)
|
|
106
|
+
throw new Error(`${field}.returnedGroupCount must not exceed totalGroupCount.`);
|
|
107
|
+
if (!Array.isArray(result.items) || result.items.length !== returned)
|
|
108
|
+
throw new Error(`${field}.items length must equal returnedGroupCount.`);
|
|
109
|
+
const identities = [];
|
|
110
|
+
result.items.forEach((entry, index) => {
|
|
111
|
+
const itemField = `${field}.items[${index}]`;
|
|
112
|
+
const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
|
|
113
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, [...(label ? [label] : []), 'currency', 'expenseCount', 'baseCostAmount', 'amortizedCostAmount', 'amortizedExpenseCount'], itemField);
|
|
114
|
+
if (label)
|
|
115
|
+
(0, portalPublicArtifactValidationCommon_1.requiredString)(item[label], `${itemField}.${label}`);
|
|
116
|
+
const currency = (0, portalPublicArtifactValidationCommon_1.requiredString)(item.currency, `${itemField}.currency`);
|
|
117
|
+
(0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.expenseCount, `${itemField}.expenseCount`);
|
|
118
|
+
(0, portalPublicArtifactValidationCommon_1.finiteNumber)(item.baseCostAmount, `${itemField}.baseCostAmount`);
|
|
119
|
+
if (item.amortizedCostAmount !== undefined)
|
|
120
|
+
(0, portalPublicArtifactValidationCommon_1.finiteNumber)(item.amortizedCostAmount, `${itemField}.amortizedCostAmount`);
|
|
121
|
+
if (item.amortizedExpenseCount !== undefined)
|
|
122
|
+
(0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.amortizedExpenseCount, `${itemField}.amortizedExpenseCount`);
|
|
123
|
+
identities.push(`${label ? String(item[label]) : ''}|${currency}`);
|
|
124
|
+
});
|
|
125
|
+
(0, portalPublicArtifactValidationCommon_1.assertUnique)(identities, `${field}.items`);
|
|
126
|
+
}
|
|
127
|
+
function validateRecommendationSummary(value, field) {
|
|
128
|
+
const summary = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
129
|
+
const counts = [
|
|
130
|
+
'totalStateCount',
|
|
131
|
+
'currentStateCount',
|
|
132
|
+
'missingStateCount',
|
|
133
|
+
'snapshotBackedCount',
|
|
134
|
+
'orphanSnapshotCount',
|
|
135
|
+
'matchedStateCount',
|
|
136
|
+
'filteredOutStateCount',
|
|
137
|
+
];
|
|
138
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(summary, [...counts, 'emptyScope', 'emptyResult'], field);
|
|
139
|
+
counts.forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(summary[key], `${field}.${key}`));
|
|
140
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.emptyScope, `${field}.emptyScope`);
|
|
141
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.emptyResult, `${field}.emptyResult`);
|
|
142
|
+
}
|
|
143
|
+
function validateRecommendationCounts(value, field) {
|
|
144
|
+
const counts = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
145
|
+
const groups = [
|
|
146
|
+
['byLifecycleStatus', 'lifecycleStatus'],
|
|
147
|
+
['bySourcePresence', 'sourcePresence'],
|
|
148
|
+
['byCategory', 'category'],
|
|
149
|
+
['byRegion', 'region'],
|
|
150
|
+
['bySourceService', 'sourceService'],
|
|
151
|
+
['byResourceType', 'resourceType'],
|
|
152
|
+
['byActionType', 'actionType'],
|
|
153
|
+
['byImplementationEffort', 'implementationEffort'],
|
|
154
|
+
];
|
|
155
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(counts, groups.map(([group]) => group), field);
|
|
156
|
+
groups.forEach(([group, label]) => validateCountGroup(counts[group], `${field}.${group}`, label));
|
|
157
|
+
}
|
|
158
|
+
function validateCountGroup(value, field, label) {
|
|
159
|
+
if (!Array.isArray(value))
|
|
160
|
+
throw new Error(`${field} must be an array.`);
|
|
161
|
+
const identities = [];
|
|
162
|
+
value.forEach((entry, index) => {
|
|
163
|
+
const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, `${field}[${index}]`);
|
|
164
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, [label, 'count'], `${field}[${index}]`);
|
|
165
|
+
identities.push((0, portalPublicArtifactValidationCommon_1.requiredString)(item[label], `${field}[${index}].${label}`));
|
|
166
|
+
(0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.count, `${field}[${index}].count`);
|
|
167
|
+
});
|
|
168
|
+
(0, portalPublicArtifactValidationCommon_1.assertUnique)(identities, field);
|
|
169
|
+
}
|
|
170
|
+
function validateRecommendationSavings(value, field) {
|
|
171
|
+
const savings = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
172
|
+
const counts = [
|
|
173
|
+
'snapshotBackedMatchedCount',
|
|
174
|
+
'positiveEstimatedSavingsRecommendationCount',
|
|
175
|
+
'nonPositiveEstimatedSavingsCount',
|
|
176
|
+
'missingEstimatedSavingsCount',
|
|
177
|
+
'missingCurrencyCodeCount',
|
|
178
|
+
];
|
|
179
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(savings, [...counts, 'emptySavings', 'mixedCurrencies', 'byCurrency'], field);
|
|
180
|
+
counts.forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(savings[key], `${field}.${key}`));
|
|
181
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(savings.emptySavings, `${field}.emptySavings`);
|
|
182
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(savings.mixedCurrencies, `${field}.mixedCurrencies`);
|
|
183
|
+
if (!Array.isArray(savings.byCurrency))
|
|
184
|
+
throw new Error(`${field}.byCurrency must be an array.`);
|
|
185
|
+
const currencies = [];
|
|
186
|
+
savings.byCurrency.forEach((entry, index) => {
|
|
187
|
+
const itemField = `${field}.byCurrency[${index}]`;
|
|
188
|
+
const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
|
|
189
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, ['currencyCode', 'recommendationCount', 'totalEstimatedMonthlySavings'], itemField);
|
|
190
|
+
currencies.push((0, portalPublicArtifactValidationCommon_1.requiredString)(item.currencyCode, `${itemField}.currencyCode`));
|
|
191
|
+
(0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.recommendationCount, `${itemField}.recommendationCount`);
|
|
192
|
+
(0, portalPublicArtifactValidationCommon_1.finiteNumber)(item.totalEstimatedMonthlySavings, `${itemField}.totalEstimatedMonthlySavings`);
|
|
193
|
+
});
|
|
194
|
+
(0, portalPublicArtifactValidationCommon_1.assertUnique)(currencies, `${field}.byCurrency`);
|
|
195
|
+
}
|
|
196
|
+
function validateRecommendationSourceEvidence(value, field) {
|
|
197
|
+
const evidence = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
198
|
+
const baseKeys = [
|
|
199
|
+
'totalStateCount',
|
|
200
|
+
'currentStateCount',
|
|
201
|
+
'missingStateCount',
|
|
202
|
+
'snapshotBackedCount',
|
|
203
|
+
'orphanSnapshotCount',
|
|
204
|
+
'matchedStateCount',
|
|
205
|
+
'filteredOutStateCount',
|
|
206
|
+
'emptyScope',
|
|
207
|
+
'emptyResult',
|
|
208
|
+
];
|
|
209
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(evidence, [...baseKeys, 'partialSourceEvidence', 'oldestRecommendationSynchronizedAt', 'latestRecommendationSynchronizedAt', 'exactScopeCoverage'], field);
|
|
210
|
+
baseKeys.filter(key => !['emptyScope', 'emptyResult'].includes(key)).forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(evidence[key], `${field}.${key}`));
|
|
211
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(evidence.emptyScope, `${field}.emptyScope`);
|
|
212
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(evidence.emptyResult, `${field}.emptyResult`);
|
|
213
|
+
(0, portalPublicArtifactValidationCommon_1.requiredBoolean)(evidence.partialSourceEvidence, `${field}.partialSourceEvidence`);
|
|
214
|
+
if (evidence.oldestRecommendationSynchronizedAt !== undefined)
|
|
215
|
+
(0, portalPublicArtifactValidationCommon_1.isoTimestamp)(evidence.oldestRecommendationSynchronizedAt, `${field}.oldestRecommendationSynchronizedAt`);
|
|
216
|
+
if (evidence.latestRecommendationSynchronizedAt !== undefined)
|
|
217
|
+
(0, portalPublicArtifactValidationCommon_1.isoTimestamp)(evidence.latestRecommendationSynchronizedAt, `${field}.latestRecommendationSynchronizedAt`);
|
|
218
|
+
if (evidence.exactScopeCoverage !== undefined)
|
|
219
|
+
(0, portalPublicArtifactValidationCommon_1.validateJsonObject)(evidence.exactScopeCoverage, `${field}.exactScopeCoverage`);
|
|
220
|
+
}
|
|
221
|
+
function validateRecommendationActionHealth(value, field) {
|
|
222
|
+
const health = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
|
|
223
|
+
(0, portalPublicArtifactValidationCommon_1.assertExactKeys)(health, ['latestActionCount', 'byLatestActionStatus'], field);
|
|
224
|
+
(0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(health.latestActionCount, `${field}.latestActionCount`);
|
|
225
|
+
validateCountGroup(health.byLatestActionStatus, `${field}.byLatestActionStatus`, 'status');
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=portalPublicArtifactEvidenceValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalPublicArtifactEvidenceValidation.js","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactEvidenceValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type AwsPortalAccountSummaryAiCostSummaryArtifact, type AwsPortalAccountSummaryHistoryArtifact, type AwsPortalResourceCollectionHistoryArtifact, type AwsPortalRetainedHistoryBodyReference } from './portalPublicArtifactHistoryTypes';
|
|
2
|
+
export declare function validateAwsPortalResourceCollectionHistoryArtifact(value: unknown): AwsPortalResourceCollectionHistoryArtifact;
|
|
3
|
+
export declare function validateAwsPortalAccountSummaryHistoryArtifact(value: unknown): AwsPortalAccountSummaryHistoryArtifact;
|
|
4
|
+
export declare function validateAwsPortalRetainedHistoryBodyReference(value: unknown): AwsPortalRetainedHistoryBodyReference;
|
|
5
|
+
export declare function validateAwsPortalRetainedHistoryBodyBinding(referenceValue: unknown, artifactValue: unknown): AwsPortalRetainedHistoryBodyReference;
|
|
6
|
+
export declare function validateAwsPortalAccountSummaryAiCostSummaryArtifact(value: unknown): AwsPortalAccountSummaryAiCostSummaryArtifact;
|
|
7
|
+
export declare function validateAwsPortalAccountSummaryAiCostSummarySiblingBinding(aiValue: unknown, siblingValue: unknown, siblingBodyDescriptorValue: unknown): AwsPortalAccountSummaryAiCostSummaryArtifact;
|
|
8
|
+
//# sourceMappingURL=portalPublicArtifactHistoryAiValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalPublicArtifactHistoryAiValidation.d.ts","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactHistoryAiValidation.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,4CAA4C,EACjD,KAAK,sCAAsC,EAC3C,KAAK,0CAA0C,EAC/C,KAAK,qCAAqC,EAC3C,MAAM,oCAAoC,CAAC;AA+E5C,wBAAgB,kDAAkD,CAAC,KAAK,EAAE,OAAO,GAAG,0CAA0C,CAgB7H;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE,OAAO,GAAG,sCAAsC,CAgBrH;AAED,wBAAgB,6CAA6C,CAAC,KAAK,EAAE,OAAO,GAAG,qCAAqC,CAiBnH;AAED,wBAAgB,2CAA2C,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,qCAAqC,CAWlJ;AAED,wBAAgB,oDAAoD,CAAC,KAAK,EAAE,OAAO,GAAG,4CAA4C,CA6BjI;AAED,wBAAgB,0DAA0D,CACxE,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,0BAA0B,EAAE,OAAO,GAClC,4CAA4C,CAe9C"}
|