@spottoai/types-package 1.0.2-beta.421 → 1.0.2-beta.423
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/dist/azure/payloads.d.ts +24 -0
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/payloads.js +88 -0
- package/dist/azure/payloads.js.map +1 -1
- package/dist/azure/reportEvidence.d.ts +90 -2
- package/dist/azure/reportEvidence.d.ts.map +1 -1
- package/dist/azure/reportEvidence.js +4 -0
- package/dist/azure/reportEvidence.js.map +1 -1
- package/dist/azure/reportEvidenceValidation.d.ts.map +1 -1
- package/dist/azure/reportEvidenceValidation.js +102 -5
- package/dist/azure/reportEvidenceValidation.js.map +1 -1
- package/dist/esm/azure/payloads.js +85 -1
- package/dist/esm/azure/reportEvidence.js +4 -0
- package/dist/esm/azure/reportEvidenceValidation.js +102 -5
- package/dist/esm/scheduler/resourceStrategyContracts.js +4 -0
- package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +67 -1
- package/dist/scheduler/resourceStrategyContracts.d.ts +26 -0
- package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -1
- package/dist/scheduler/resourceStrategyContracts.js +4 -0
- package/dist/scheduler/resourceStrategyContracts.js.map +1 -1
- package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +3 -1
- package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -1
- package/dist/scheduler/resourceStrategyScheduleValidation.js +68 -1
- package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -1
- package/package.json +3 -2
|
@@ -26,6 +26,54 @@ const isCostSavingsCategory = (value) => (0, reportEvidenceValidationHelpers_1.i
|
|
|
26
26
|
(0, reportEvidenceValidationHelpers_1.isCount)(value.recommendationCount) &&
|
|
27
27
|
(0, reportEvidenceValidationHelpers_1.isCount)(value.resourceCount) &&
|
|
28
28
|
['currentMonthlyCost', 'potentialMonthlyCost', 'minimumMonthlySavings', 'maximumMonthlySavings'].every(key => (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value[key]));
|
|
29
|
+
const REPORT_COST_CHANGE_LEVELS = new Set(['service', 'resource-group', 'resource', 'meter']);
|
|
30
|
+
const REPORT_COST_CHANGE_TYPES = new Set(['increase', 'decrease', 'no_change', 'new_resource', 'removed_resource']);
|
|
31
|
+
const REPORT_COST_CHANGE_REASON_TYPES = new Set([
|
|
32
|
+
'new_resource',
|
|
33
|
+
'removed_resource',
|
|
34
|
+
'quantity_increase',
|
|
35
|
+
'quantity_decrease',
|
|
36
|
+
'rate_change',
|
|
37
|
+
'sku_change',
|
|
38
|
+
'new_meter',
|
|
39
|
+
'removed_meter',
|
|
40
|
+
]);
|
|
41
|
+
const isStringOrFiniteNumber = (value) => (0, reportEvidenceValidationHelpers_1.isString)(value) || (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value);
|
|
42
|
+
const isCostChangeReason = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
|
|
43
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.type) &&
|
|
44
|
+
REPORT_COST_CHANGE_REASON_TYPES.has(value.type) &&
|
|
45
|
+
(0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.impact) &&
|
|
46
|
+
(0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.impactPercent) &&
|
|
47
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.description) &&
|
|
48
|
+
(value.oldValue === undefined || isStringOrFiniteNumber(value.oldValue)) &&
|
|
49
|
+
(value.newValue === undefined || isStringOrFiniteNumber(value.newValue));
|
|
50
|
+
const isCostChangeDriver = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
|
|
51
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.key) &&
|
|
52
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.level) &&
|
|
53
|
+
REPORT_COST_CHANGE_LEVELS.has(value.level) &&
|
|
54
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.label) &&
|
|
55
|
+
(0, reportEvidenceValidationHelpers_1.isOptionalString)(value.resourceId) &&
|
|
56
|
+
(0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.currentCost) &&
|
|
57
|
+
(0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.previousCost) &&
|
|
58
|
+
(0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.change) &&
|
|
59
|
+
(0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.changePercent) &&
|
|
60
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.changeType) &&
|
|
61
|
+
REPORT_COST_CHANGE_TYPES.has(value.changeType) &&
|
|
62
|
+
(0, reportEvidenceValidationHelpers_1.isOptionalString)(value.summary) &&
|
|
63
|
+
(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.reasons, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangeReasons, isCostChangeReason);
|
|
64
|
+
const isCostChangePeriod = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
|
|
65
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.period) &&
|
|
66
|
+
/^\d{4}-(0[1-9]|1[0-2])$/u.test(value.period) &&
|
|
67
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.previousPeriod) &&
|
|
68
|
+
/^\d{4}-(0[1-9]|1[0-2])$/u.test(value.previousPeriod) &&
|
|
69
|
+
value.previousPeriod < value.period &&
|
|
70
|
+
(0, reportEvidenceValidationHelpers_1.isString)(value.currency) &&
|
|
71
|
+
/^[A-Z]{3}$/u.test(value.currency) &&
|
|
72
|
+
(0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.currentCost) &&
|
|
73
|
+
(0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.previousCost) &&
|
|
74
|
+
(0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.change) &&
|
|
75
|
+
(0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.changePercent) &&
|
|
76
|
+
(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.drivers, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangeDrivers, isCostChangeDriver);
|
|
29
77
|
const hasRequiredCountKeys = (value, keys) => (0, reportEvidenceValidationHelpers_1.isCountRecord)(value) && keys.every(key => Object.prototype.hasOwnProperty.call(value, key));
|
|
30
78
|
const isRecommendationPortfolio = (value) => {
|
|
31
79
|
if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value))
|
|
@@ -146,13 +194,45 @@ const isCommitments = (value) => {
|
|
|
146
194
|
return false;
|
|
147
195
|
}
|
|
148
196
|
if (value.inventorySummary.totalCount !== value.inventory.totalCount ||
|
|
149
|
-
(0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount
|
|
197
|
+
(0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount ||
|
|
198
|
+
(value.inventorySummary.benefitTypeCounts !== undefined &&
|
|
199
|
+
(!(0, reportEvidenceValidationHelpers_1.isCountRecord)(value.inventorySummary.benefitTypeCounts) ||
|
|
200
|
+
(0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.benefitTypeCounts) !== value.inventorySummary.totalCount))) {
|
|
150
201
|
return false;
|
|
151
202
|
}
|
|
152
203
|
if (value.resourceCoverage !== undefined && !(0, reportEvidenceValidationHelpers_1.isProjectionRows)(value.resourceCoverage))
|
|
153
204
|
return false;
|
|
154
205
|
return ['coverage', 'obsoleteCandidates', 'reallocationOpportunities', 'purchaseRecommendations', 'renewals'].every(key => (0, reportEvidenceValidationHelpers_1.isProjectionRows)(value[key]));
|
|
155
206
|
};
|
|
207
|
+
const isDataProtectionCostSummary = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
|
|
208
|
+
(0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['currencyCode', 'currencySymbol']) &&
|
|
209
|
+
(value.billingWindow === undefined || (0, reportEvidenceValidationHelpers_1.isRecord)(value.billingWindow)) &&
|
|
210
|
+
(value.totals === undefined ||
|
|
211
|
+
((0, reportEvidenceValidationHelpers_1.isRecord)(value.totals) &&
|
|
212
|
+
(0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value.totals, [
|
|
213
|
+
'actualCostLast30Days',
|
|
214
|
+
'actualAmortizedCostLast30Days',
|
|
215
|
+
'allocatedCostLast30Days',
|
|
216
|
+
'estimatedMonthlyCostForUnprotected',
|
|
217
|
+
])));
|
|
218
|
+
const isResourceHealthEvent = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
|
|
219
|
+
(0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, [
|
|
220
|
+
'id',
|
|
221
|
+
'trackingId',
|
|
222
|
+
'eventType',
|
|
223
|
+
'status',
|
|
224
|
+
'level',
|
|
225
|
+
'title',
|
|
226
|
+
'summary',
|
|
227
|
+
'impactStartTime',
|
|
228
|
+
'impactMitigationTime',
|
|
229
|
+
'lastUpdateTime',
|
|
230
|
+
]) &&
|
|
231
|
+
(0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.priority) &&
|
|
232
|
+
(value.durationSeconds === undefined || ((0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.durationSeconds) && value.durationSeconds >= 0)) &&
|
|
233
|
+
(value.impactedResourceCount === undefined || (0, reportEvidenceValidationHelpers_1.isCount)(value.impactedResourceCount)) &&
|
|
234
|
+
(value.impactedServices === undefined || (0, reportEvidenceValidationHelpers_1.isStringArray)(value.impactedServices)) &&
|
|
235
|
+
(value.impactedRegions === undefined || (0, reportEvidenceValidationHelpers_1.isStringArray)(value.impactedRegions));
|
|
156
236
|
function isCommitmentInventoryRow(value) {
|
|
157
237
|
return ((0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
|
|
158
238
|
(0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, [
|
|
@@ -179,6 +259,11 @@ const isReportingProjection = (value) => {
|
|
|
179
259
|
return false;
|
|
180
260
|
if (value.spend !== undefined && !(0, reportSpendValidation_1.isReportSpendProjection)(value.spend))
|
|
181
261
|
return false;
|
|
262
|
+
if (value.costChangePeriods !== undefined &&
|
|
263
|
+
(!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.costChangePeriods, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangePeriods, isCostChangePeriod) ||
|
|
264
|
+
new Set(value.costChangePeriods.rows.map(period => period.period)).size !== value.costChangePeriods.rows.length)) {
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
182
267
|
const subscription = (0, reportEvidenceValidationHelpers_1.isRecord)(value.dashboard.subscription) ? value.dashboard.subscription : undefined;
|
|
183
268
|
const properties = subscription && (0, reportEvidenceValidationHelpers_1.isRecord)(subscription.properties) ? subscription.properties : undefined;
|
|
184
269
|
if (properties?.secureScoreEvidence !== undefined && !(0, exports.isReportSecureScoreEvidence)(properties.secureScoreEvidence))
|
|
@@ -209,13 +294,14 @@ const isReportingProjection = (value) => {
|
|
|
209
294
|
return ((0, reportEvidenceValidationHelpers_1.isRecord)(patch) &&
|
|
210
295
|
(0, reportEvidenceValidationHelpers_1.isProjectionRows)(patch.machines) &&
|
|
211
296
|
(0, reportEvidenceValidationHelpers_1.isRecord)(protection) &&
|
|
297
|
+
(protection.costSummary === undefined || isDataProtectionCostSummary(protection.costSummary)) &&
|
|
212
298
|
(0, reportEvidenceValidationHelpers_1.isProjectionRows)(protection.items) &&
|
|
213
299
|
(0, reportEvidenceValidationHelpers_1.isProjectionRows)(protection.issues) &&
|
|
214
300
|
(0, reportEvidenceValidationHelpers_1.isRecord)(health) &&
|
|
215
|
-
(health.eventCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.eventCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue,
|
|
301
|
+
(health.eventCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.eventCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue, isResourceHealthEvent)) &&
|
|
216
302
|
(health.availabilityCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.availabilityCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue, reportEvidenceValidationHelpers_1.isRecord)) &&
|
|
217
303
|
(0, reportEvidenceValidationHelpers_1.isRecord)(health.events) &&
|
|
218
|
-
(0, reportEvidenceValidationHelpers_1.
|
|
304
|
+
(0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.events.events, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isResourceHealthEvent) &&
|
|
219
305
|
(health.eventCatalogue === undefined || health.eventCatalogue.totalCount === health.events.events.totalCount) &&
|
|
220
306
|
(0, reportEvidenceValidationHelpers_1.isRecord)(health.availabilityStatuses) &&
|
|
221
307
|
(0, reportEvidenceValidationHelpers_1.isProjectionRows)(health.availabilityStatuses.statuses) &&
|
|
@@ -329,6 +415,12 @@ const isHistoryMetrics = (value) => (0, reportEvidenceValidationHelpers_1.isReco
|
|
|
329
415
|
value.securityRecommendationCount <= value.recommendationCount &&
|
|
330
416
|
value.securityImpactedResourceCount <= value.impactedResourceCount &&
|
|
331
417
|
(0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.maximumMonthlySavings);
|
|
418
|
+
const isUniqueIdentityRows = (value, itemValidator = reportEvidenceValidationHelpers_1.isString) => (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyComparisonIdentities, itemValidator) &&
|
|
419
|
+
new Set(value.rows).size === value.rows.length;
|
|
420
|
+
const isHistoryComparisonIdentities = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
|
|
421
|
+
isUniqueIdentityRows(value.costRecommendationIds) &&
|
|
422
|
+
isUniqueIdentityRows(value.undersizedResourceIds) &&
|
|
423
|
+
isUniqueIdentityRows(value.regulatoryAssessmentKeys, (item) => (0, reportEvidenceValidationHelpers_1.isString)(item) && /^[a-f0-9]{64}$/u.test(item));
|
|
332
424
|
const isSubscriptionReportHistory = (value) => {
|
|
333
425
|
if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) ||
|
|
334
426
|
!(0, reportEvidenceValidationHelpers_1.isString)(value.subscriptionId) ||
|
|
@@ -348,7 +440,8 @@ const isSubscriptionReportHistory = (value) => {
|
|
|
348
440
|
!(0, reportEvidenceValidationHelpers_1.isString)(period.sourceRunId) ||
|
|
349
441
|
!(0, reportEvidenceValidationHelpers_1.isDateTime)(period.sourceGeneratedAt) ||
|
|
350
442
|
!isHistoryMetrics(period.metrics) ||
|
|
351
|
-
!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(period.recommendations, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint)
|
|
443
|
+
!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(period.recommendations, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint) ||
|
|
444
|
+
(period.comparisonIdentities !== undefined && !isHistoryComparisonIdentities(period.comparisonIdentities))) {
|
|
352
445
|
return false;
|
|
353
446
|
}
|
|
354
447
|
if (period.recommendations.omittedCount === 0 &&
|
|
@@ -398,7 +491,11 @@ const isTenantPrincipal = (value) => (0, reportEvidenceValidationHelpers_1.isRec
|
|
|
398
491
|
typeof value.isPimBacked === 'boolean' &&
|
|
399
492
|
(0, reportEvidenceValidationHelpers_1.isString)(value.lastActivatedEvidence) &&
|
|
400
493
|
(0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['displayName', 'userPrincipalName', 'mfaStatus', 'lastActivatedAt']) &&
|
|
401
|
-
(0, reportEvidenceValidationHelpers_1.isOptionalBoolean)(value.accountEnabled)
|
|
494
|
+
(0, reportEvidenceValidationHelpers_1.isOptionalBoolean)(value.accountEnabled) &&
|
|
495
|
+
((value.lastSignInAt === undefined && value.lastSignInEvidence === undefined) ||
|
|
496
|
+
(value.lastSignInAt === undefined && value.lastSignInEvidence === 'unavailable') ||
|
|
497
|
+
((0, reportEvidenceValidationHelpers_1.isDateTime)(value.lastSignInAt) &&
|
|
498
|
+
(value.lastSignInEvidence === 'last-successful-sign-in' || value.lastSignInEvidence === 'last-interactive-sign-in')));
|
|
402
499
|
const isTenantReportEvidencePack = (value) => {
|
|
403
500
|
if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) ||
|
|
404
501
|
!(0, reportEvidenceValidationHelpers_1.isDateTime)(value.generatedAt) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportEvidenceValidation.js","sourceRoot":"","sources":["../../src/azure/reportEvidenceValidation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reportEvidenceValidation.js","sourceRoot":"","sources":["../../src/azure/reportEvidenceValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
const RESOURCE_SCHEDULER_TICK_PREFIX_V1 = 'resource-scheduler:tick:';
|
|
2
|
+
const RESOURCE_SCHEDULER_TICK_MAX_ID_LENGTH_V1 = 128;
|
|
3
|
+
const RESOURCE_SCHEDULER_TICK_KEYS_V1 = [
|
|
4
|
+
'schemaVersion',
|
|
5
|
+
'entity',
|
|
6
|
+
'action',
|
|
7
|
+
'companyId',
|
|
8
|
+
'cloudAccountId',
|
|
9
|
+
'tenantId',
|
|
10
|
+
'clientId',
|
|
11
|
+
'tickId',
|
|
12
|
+
'scheduledAtUtc',
|
|
13
|
+
'correlationId',
|
|
14
|
+
];
|
|
15
|
+
const CANONICAL_UTC_TIMESTAMP_MILLISECONDS = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u;
|
|
16
|
+
const isCanonicalUtcTimestampMilliseconds = (value) => {
|
|
17
|
+
if (typeof value !== 'string' || !CANONICAL_UTC_TIMESTAMP_MILLISECONDS.test(value))
|
|
18
|
+
return false;
|
|
19
|
+
const parsed = Date.parse(value);
|
|
20
|
+
return Number.isFinite(parsed) && new Date(parsed).toISOString() === value;
|
|
21
|
+
};
|
|
22
|
+
const hasExactResourceSchedulerTickKeysV1 = (value) => {
|
|
23
|
+
const keys = Object.keys(value);
|
|
24
|
+
return (keys.length === RESOURCE_SCHEDULER_TICK_KEYS_V1.length &&
|
|
25
|
+
RESOURCE_SCHEDULER_TICK_KEYS_V1.every(key => Object.prototype.hasOwnProperty.call(value, key)));
|
|
26
|
+
};
|
|
27
|
+
const normalizeResourceSchedulerTickInstantV1 = (scheduledAt) => {
|
|
28
|
+
if (typeof scheduledAt === 'string') {
|
|
29
|
+
if (!isCanonicalUtcTimestampMilliseconds(scheduledAt)) {
|
|
30
|
+
throw new TypeError('Resource scheduler tick time must be a canonical UTC timestamp with milliseconds');
|
|
31
|
+
}
|
|
32
|
+
return scheduledAt;
|
|
33
|
+
}
|
|
34
|
+
const milliseconds = scheduledAt instanceof Date ? scheduledAt.getTime() : scheduledAt;
|
|
35
|
+
if (!Number.isFinite(milliseconds))
|
|
36
|
+
throw new TypeError('Resource scheduler tick time must be finite');
|
|
37
|
+
const normalized = new Date(milliseconds).toISOString();
|
|
38
|
+
if (!isCanonicalUtcTimestampMilliseconds(normalized)) {
|
|
39
|
+
throw new TypeError('Resource scheduler tick time must use a four-digit UTC year');
|
|
40
|
+
}
|
|
41
|
+
return normalized;
|
|
42
|
+
};
|
|
43
|
+
/** Creates the deterministic internal queue envelope for one cron occurrence. */
|
|
44
|
+
export const createResourceSchedulerTickRequestMessageV1 = (scheduledAt) => {
|
|
45
|
+
const scheduledAtUtc = normalizeResourceSchedulerTickInstantV1(scheduledAt);
|
|
46
|
+
const tickId = `${RESOURCE_SCHEDULER_TICK_PREFIX_V1}${scheduledAtUtc}`;
|
|
47
|
+
return {
|
|
48
|
+
schemaVersion: 1,
|
|
49
|
+
entity: 'resource-scheduler',
|
|
50
|
+
action: 'tick',
|
|
51
|
+
companyId: '*',
|
|
52
|
+
cloudAccountId: '*',
|
|
53
|
+
tenantId: '*',
|
|
54
|
+
clientId: '*',
|
|
55
|
+
tickId,
|
|
56
|
+
scheduledAtUtc,
|
|
57
|
+
correlationId: tickId,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
/** Exact validator for the internal resource-scheduler tick queue boundary. */
|
|
61
|
+
export const isResourceSchedulerTickRequestMessageV1 = (value) => {
|
|
62
|
+
try {
|
|
63
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
64
|
+
return false;
|
|
65
|
+
const candidate = value;
|
|
66
|
+
if (!hasExactResourceSchedulerTickKeysV1(candidate) || !isCanonicalUtcTimestampMilliseconds(candidate['scheduledAtUtc'])) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
const expectedTickId = `${RESOURCE_SCHEDULER_TICK_PREFIX_V1}${candidate['scheduledAtUtc']}`;
|
|
70
|
+
return (candidate['schemaVersion'] === 1 &&
|
|
71
|
+
candidate['entity'] === 'resource-scheduler' &&
|
|
72
|
+
candidate['action'] === 'tick' &&
|
|
73
|
+
candidate['companyId'] === '*' &&
|
|
74
|
+
candidate['cloudAccountId'] === '*' &&
|
|
75
|
+
candidate['tenantId'] === '*' &&
|
|
76
|
+
candidate['clientId'] === '*' &&
|
|
77
|
+
typeof candidate['tickId'] === 'string' &&
|
|
78
|
+
candidate['tickId'].length <= RESOURCE_SCHEDULER_TICK_MAX_ID_LENGTH_V1 &&
|
|
79
|
+
candidate['tickId'] === expectedTickId &&
|
|
80
|
+
candidate['correlationId'] === expectedTickId);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
@@ -17,5 +17,9 @@ export const REPORT_EVIDENCE_LIMITS = {
|
|
|
17
17
|
upcomingEvents: 20,
|
|
18
18
|
historyPeriods: 13,
|
|
19
19
|
historyRecommendations: 2000,
|
|
20
|
+
historyComparisonIdentities: 2000,
|
|
21
|
+
costChangePeriods: 13,
|
|
22
|
+
costChangeDrivers: 50,
|
|
23
|
+
costChangeReasons: 10,
|
|
20
24
|
tenantGlobalAdministrators: 50,
|
|
21
25
|
};
|
|
@@ -22,6 +22,54 @@ const isCostSavingsCategory = (value) => isRecord(value) &&
|
|
|
22
22
|
isCount(value.recommendationCount) &&
|
|
23
23
|
isCount(value.resourceCount) &&
|
|
24
24
|
['currentMonthlyCost', 'potentialMonthlyCost', 'minimumMonthlySavings', 'maximumMonthlySavings'].every(key => isFiniteNumber(value[key]));
|
|
25
|
+
const REPORT_COST_CHANGE_LEVELS = new Set(['service', 'resource-group', 'resource', 'meter']);
|
|
26
|
+
const REPORT_COST_CHANGE_TYPES = new Set(['increase', 'decrease', 'no_change', 'new_resource', 'removed_resource']);
|
|
27
|
+
const REPORT_COST_CHANGE_REASON_TYPES = new Set([
|
|
28
|
+
'new_resource',
|
|
29
|
+
'removed_resource',
|
|
30
|
+
'quantity_increase',
|
|
31
|
+
'quantity_decrease',
|
|
32
|
+
'rate_change',
|
|
33
|
+
'sku_change',
|
|
34
|
+
'new_meter',
|
|
35
|
+
'removed_meter',
|
|
36
|
+
]);
|
|
37
|
+
const isStringOrFiniteNumber = (value) => isString(value) || isFiniteNumber(value);
|
|
38
|
+
const isCostChangeReason = (value) => isRecord(value) &&
|
|
39
|
+
isString(value.type) &&
|
|
40
|
+
REPORT_COST_CHANGE_REASON_TYPES.has(value.type) &&
|
|
41
|
+
isFiniteNumber(value.impact) &&
|
|
42
|
+
isOptionalFiniteNumber(value.impactPercent) &&
|
|
43
|
+
isString(value.description) &&
|
|
44
|
+
(value.oldValue === undefined || isStringOrFiniteNumber(value.oldValue)) &&
|
|
45
|
+
(value.newValue === undefined || isStringOrFiniteNumber(value.newValue));
|
|
46
|
+
const isCostChangeDriver = (value) => isRecord(value) &&
|
|
47
|
+
isString(value.key) &&
|
|
48
|
+
isString(value.level) &&
|
|
49
|
+
REPORT_COST_CHANGE_LEVELS.has(value.level) &&
|
|
50
|
+
isString(value.label) &&
|
|
51
|
+
isOptionalString(value.resourceId) &&
|
|
52
|
+
isFiniteNumber(value.currentCost) &&
|
|
53
|
+
isFiniteNumber(value.previousCost) &&
|
|
54
|
+
isFiniteNumber(value.change) &&
|
|
55
|
+
isOptionalFiniteNumber(value.changePercent) &&
|
|
56
|
+
isString(value.changeType) &&
|
|
57
|
+
REPORT_COST_CHANGE_TYPES.has(value.changeType) &&
|
|
58
|
+
isOptionalString(value.summary) &&
|
|
59
|
+
isBoundedRows(value.reasons, REPORT_EVIDENCE_LIMITS.costChangeReasons, isCostChangeReason);
|
|
60
|
+
const isCostChangePeriod = (value) => isRecord(value) &&
|
|
61
|
+
isString(value.period) &&
|
|
62
|
+
/^\d{4}-(0[1-9]|1[0-2])$/u.test(value.period) &&
|
|
63
|
+
isString(value.previousPeriod) &&
|
|
64
|
+
/^\d{4}-(0[1-9]|1[0-2])$/u.test(value.previousPeriod) &&
|
|
65
|
+
value.previousPeriod < value.period &&
|
|
66
|
+
isString(value.currency) &&
|
|
67
|
+
/^[A-Z]{3}$/u.test(value.currency) &&
|
|
68
|
+
isFiniteNumber(value.currentCost) &&
|
|
69
|
+
isFiniteNumber(value.previousCost) &&
|
|
70
|
+
isFiniteNumber(value.change) &&
|
|
71
|
+
isOptionalFiniteNumber(value.changePercent) &&
|
|
72
|
+
isBoundedRows(value.drivers, REPORT_EVIDENCE_LIMITS.costChangeDrivers, isCostChangeDriver);
|
|
25
73
|
const hasRequiredCountKeys = (value, keys) => isCountRecord(value) && keys.every(key => Object.prototype.hasOwnProperty.call(value, key));
|
|
26
74
|
const isRecommendationPortfolio = (value) => {
|
|
27
75
|
if (!isRecord(value))
|
|
@@ -142,13 +190,45 @@ const isCommitments = (value) => {
|
|
|
142
190
|
return false;
|
|
143
191
|
}
|
|
144
192
|
if (value.inventorySummary.totalCount !== value.inventory.totalCount ||
|
|
145
|
-
countTotal(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount
|
|
193
|
+
countTotal(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount ||
|
|
194
|
+
(value.inventorySummary.benefitTypeCounts !== undefined &&
|
|
195
|
+
(!isCountRecord(value.inventorySummary.benefitTypeCounts) ||
|
|
196
|
+
countTotal(value.inventorySummary.benefitTypeCounts) !== value.inventorySummary.totalCount))) {
|
|
146
197
|
return false;
|
|
147
198
|
}
|
|
148
199
|
if (value.resourceCoverage !== undefined && !isProjectionRows(value.resourceCoverage))
|
|
149
200
|
return false;
|
|
150
201
|
return ['coverage', 'obsoleteCandidates', 'reallocationOpportunities', 'purchaseRecommendations', 'renewals'].every(key => isProjectionRows(value[key]));
|
|
151
202
|
};
|
|
203
|
+
const isDataProtectionCostSummary = (value) => isRecord(value) &&
|
|
204
|
+
hasOptionalStrings(value, ['currencyCode', 'currencySymbol']) &&
|
|
205
|
+
(value.billingWindow === undefined || isRecord(value.billingWindow)) &&
|
|
206
|
+
(value.totals === undefined ||
|
|
207
|
+
(isRecord(value.totals) &&
|
|
208
|
+
hasOptionalNumbers(value.totals, [
|
|
209
|
+
'actualCostLast30Days',
|
|
210
|
+
'actualAmortizedCostLast30Days',
|
|
211
|
+
'allocatedCostLast30Days',
|
|
212
|
+
'estimatedMonthlyCostForUnprotected',
|
|
213
|
+
])));
|
|
214
|
+
const isResourceHealthEvent = (value) => isRecord(value) &&
|
|
215
|
+
hasOptionalStrings(value, [
|
|
216
|
+
'id',
|
|
217
|
+
'trackingId',
|
|
218
|
+
'eventType',
|
|
219
|
+
'status',
|
|
220
|
+
'level',
|
|
221
|
+
'title',
|
|
222
|
+
'summary',
|
|
223
|
+
'impactStartTime',
|
|
224
|
+
'impactMitigationTime',
|
|
225
|
+
'lastUpdateTime',
|
|
226
|
+
]) &&
|
|
227
|
+
isOptionalFiniteNumber(value.priority) &&
|
|
228
|
+
(value.durationSeconds === undefined || (isFiniteNumber(value.durationSeconds) && value.durationSeconds >= 0)) &&
|
|
229
|
+
(value.impactedResourceCount === undefined || isCount(value.impactedResourceCount)) &&
|
|
230
|
+
(value.impactedServices === undefined || isStringArray(value.impactedServices)) &&
|
|
231
|
+
(value.impactedRegions === undefined || isStringArray(value.impactedRegions));
|
|
152
232
|
function isCommitmentInventoryRow(value) {
|
|
153
233
|
return (isRecord(value) &&
|
|
154
234
|
hasOptionalStrings(value, [
|
|
@@ -175,6 +255,11 @@ const isReportingProjection = (value) => {
|
|
|
175
255
|
return false;
|
|
176
256
|
if (value.spend !== undefined && !isReportSpendProjection(value.spend))
|
|
177
257
|
return false;
|
|
258
|
+
if (value.costChangePeriods !== undefined &&
|
|
259
|
+
(!isBoundedRows(value.costChangePeriods, REPORT_EVIDENCE_LIMITS.costChangePeriods, isCostChangePeriod) ||
|
|
260
|
+
new Set(value.costChangePeriods.rows.map(period => period.period)).size !== value.costChangePeriods.rows.length)) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
178
263
|
const subscription = isRecord(value.dashboard.subscription) ? value.dashboard.subscription : undefined;
|
|
179
264
|
const properties = subscription && isRecord(subscription.properties) ? subscription.properties : undefined;
|
|
180
265
|
if (properties?.secureScoreEvidence !== undefined && !isReportSecureScoreEvidence(properties.secureScoreEvidence))
|
|
@@ -205,13 +290,14 @@ const isReportingProjection = (value) => {
|
|
|
205
290
|
return (isRecord(patch) &&
|
|
206
291
|
isProjectionRows(patch.machines) &&
|
|
207
292
|
isRecord(protection) &&
|
|
293
|
+
(protection.costSummary === undefined || isDataProtectionCostSummary(protection.costSummary)) &&
|
|
208
294
|
isProjectionRows(protection.items) &&
|
|
209
295
|
isProjectionRows(protection.issues) &&
|
|
210
296
|
isRecord(health) &&
|
|
211
|
-
(health.eventCatalogue === undefined || isBoundedRows(health.eventCatalogue, REPORT_EVIDENCE_LIMITS.healthCatalogue,
|
|
297
|
+
(health.eventCatalogue === undefined || isBoundedRows(health.eventCatalogue, REPORT_EVIDENCE_LIMITS.healthCatalogue, isResourceHealthEvent)) &&
|
|
212
298
|
(health.availabilityCatalogue === undefined || isBoundedRows(health.availabilityCatalogue, REPORT_EVIDENCE_LIMITS.healthCatalogue, isRecord)) &&
|
|
213
299
|
isRecord(health.events) &&
|
|
214
|
-
|
|
300
|
+
isBoundedRows(health.events.events, REPORT_EVIDENCE_LIMITS.detailRows, isResourceHealthEvent) &&
|
|
215
301
|
(health.eventCatalogue === undefined || health.eventCatalogue.totalCount === health.events.events.totalCount) &&
|
|
216
302
|
isRecord(health.availabilityStatuses) &&
|
|
217
303
|
isProjectionRows(health.availabilityStatuses.statuses) &&
|
|
@@ -324,6 +410,12 @@ const isHistoryMetrics = (value) => isRecord(value) &&
|
|
|
324
410
|
value.securityRecommendationCount <= value.recommendationCount &&
|
|
325
411
|
value.securityImpactedResourceCount <= value.impactedResourceCount &&
|
|
326
412
|
isOptionalFiniteNumber(value.maximumMonthlySavings);
|
|
413
|
+
const isUniqueIdentityRows = (value, itemValidator = isString) => isBoundedRows(value, REPORT_EVIDENCE_LIMITS.historyComparisonIdentities, itemValidator) &&
|
|
414
|
+
new Set(value.rows).size === value.rows.length;
|
|
415
|
+
const isHistoryComparisonIdentities = (value) => isRecord(value) &&
|
|
416
|
+
isUniqueIdentityRows(value.costRecommendationIds) &&
|
|
417
|
+
isUniqueIdentityRows(value.undersizedResourceIds) &&
|
|
418
|
+
isUniqueIdentityRows(value.regulatoryAssessmentKeys, (item) => isString(item) && /^[a-f0-9]{64}$/u.test(item));
|
|
327
419
|
export const isSubscriptionReportHistory = (value) => {
|
|
328
420
|
if (!isRecord(value) ||
|
|
329
421
|
!isString(value.subscriptionId) ||
|
|
@@ -343,7 +435,8 @@ export const isSubscriptionReportHistory = (value) => {
|
|
|
343
435
|
!isString(period.sourceRunId) ||
|
|
344
436
|
!isDateTime(period.sourceGeneratedAt) ||
|
|
345
437
|
!isHistoryMetrics(period.metrics) ||
|
|
346
|
-
!isBoundedRows(period.recommendations, REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint)
|
|
438
|
+
!isBoundedRows(period.recommendations, REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint) ||
|
|
439
|
+
(period.comparisonIdentities !== undefined && !isHistoryComparisonIdentities(period.comparisonIdentities))) {
|
|
347
440
|
return false;
|
|
348
441
|
}
|
|
349
442
|
if (period.recommendations.omittedCount === 0 &&
|
|
@@ -392,7 +485,11 @@ const isTenantPrincipal = (value) => isRecord(value) &&
|
|
|
392
485
|
typeof value.isPimBacked === 'boolean' &&
|
|
393
486
|
isString(value.lastActivatedEvidence) &&
|
|
394
487
|
hasOptionalStrings(value, ['displayName', 'userPrincipalName', 'mfaStatus', 'lastActivatedAt']) &&
|
|
395
|
-
isOptionalBoolean(value.accountEnabled)
|
|
488
|
+
isOptionalBoolean(value.accountEnabled) &&
|
|
489
|
+
((value.lastSignInAt === undefined && value.lastSignInEvidence === undefined) ||
|
|
490
|
+
(value.lastSignInAt === undefined && value.lastSignInEvidence === 'unavailable') ||
|
|
491
|
+
(isDateTime(value.lastSignInAt) &&
|
|
492
|
+
(value.lastSignInEvidence === 'last-successful-sign-in' || value.lastSignInEvidence === 'last-interactive-sign-in')));
|
|
396
493
|
export const isTenantReportEvidencePack = (value) => {
|
|
397
494
|
if (!isRecord(value) ||
|
|
398
495
|
!isDateTime(value.generatedAt) ||
|
|
@@ -9,6 +9,10 @@ export const RESOURCE_STRATEGY_CONTRACT_LIMITS = {
|
|
|
9
9
|
grantGroups: 128,
|
|
10
10
|
permissionOperations: 8192,
|
|
11
11
|
listResults: 100,
|
|
12
|
+
dryRunChecks: 8,
|
|
13
|
+
dryRunReasonCodes: 32,
|
|
14
|
+
dryRunDtoBytes: 16384,
|
|
15
|
+
dryRunMaxTtlMs: 5 * 60000,
|
|
12
16
|
parameterBytes: 32768,
|
|
13
17
|
publicDtoBytes: 262144,
|
|
14
18
|
};
|