@spottoai/types-package 1.0.2-beta.373 → 1.0.2-beta.375
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 +9 -0
- package/dist/accounts/accounts.d.ts +4 -2
- package/dist/accounts/accounts.d.ts.map +1 -1
- package/dist/accounts/accounts.js.map +1 -1
- package/dist/accounts/azureSpSetup.d.ts +1 -1
- package/dist/accounts/azureSpSetup.d.ts.map +1 -1
- package/dist/aws/commitments-planning.d.ts +5 -0
- package/dist/aws/commitments-planning.d.ts.map +1 -1
- package/dist/aws/commitments-planning.js +19 -0
- package/dist/aws/commitments-planning.js.map +1 -1
- package/dist/aws/estates.d.ts +1 -1
- package/dist/aws/estates.d.ts.map +1 -1
- package/dist/aws/estates.js +7 -1
- package/dist/aws/estates.js.map +1 -1
- package/dist/aws/index.d.ts +5 -0
- package/dist/aws/index.d.ts.map +1 -1
- package/dist/aws/index.js +5 -0
- package/dist/aws/index.js.map +1 -1
- package/dist/aws/onboarding.d.ts +3 -0
- package/dist/aws/onboarding.d.ts.map +1 -1
- package/dist/aws/organizationCommitments.d.ts +260 -0
- package/dist/aws/organizationCommitments.d.ts.map +1 -0
- package/dist/aws/organizationCommitments.js +53 -0
- package/dist/aws/organizationCommitments.js.map +1 -0
- package/dist/aws/organizationCommitmentsApiValidation.d.ts +21 -0
- package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -0
- package/dist/aws/organizationCommitmentsApiValidation.js +226 -0
- package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -0
- package/dist/aws/organizationCommitmentsValidation.d.ts +12 -0
- package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -0
- package/dist/aws/organizationCommitmentsValidation.js +228 -0
- package/dist/aws/organizationCommitmentsValidation.js.map +1 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts +9 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +407 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +17 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +6 -0
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -0
- package/dist/aws/requests.d.ts +13 -2
- package/dist/aws/requests.d.ts.map +1 -1
- package/dist/aws/requests.js +1 -1
- package/dist/aws/requests.js.map +1 -1
- package/dist/azure/commitmentsPlanning.d.ts +2 -2
- package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
- package/dist/azure/governance.d.ts +4 -0
- package/dist/azure/governance.d.ts.map +1 -1
- package/dist/common/provider.d.ts +53 -0
- package/dist/common/provider.d.ts.map +1 -1
- package/dist/common/provider.js.map +1 -1
- package/dist/esm/aws/commitments-planning.js +5 -0
- package/dist/esm/aws/estates.js +7 -1
- package/dist/esm/aws/index.js +5 -0
- package/dist/esm/aws/organizationCommitments.js +48 -0
- package/dist/esm/aws/organizationCommitmentsApiValidation.js +220 -0
- package/dist/esm/aws/organizationCommitmentsValidation.js +224 -0
- package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +402 -0
- package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +2 -0
- package/dist/esm/aws/requests.js +1 -1
- package/dist/esm/entries/commitments-planning.js +2 -2
- package/package.json +4 -3
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAwsOrganizationCommitmentsPlanningViewIdentity = validateAwsOrganizationCommitmentsPlanningViewIdentity;
|
|
4
|
+
const provider_js_1 = require("../common/provider.js");
|
|
5
|
+
const pluginPublicArtifactValidationHelpers_js_1 = require("./pluginPublicArtifactValidationHelpers.js");
|
|
6
|
+
const ORGANIZATION_ID = /^o-[a-z0-9]{10,32}$/u;
|
|
7
|
+
const FORBIDDEN_ORGANIZATION_COMMITMENTS_KEYS = new Set([
|
|
8
|
+
'billingScopeId',
|
|
9
|
+
'blobPath',
|
|
10
|
+
'checkpoint',
|
|
11
|
+
'cloudAccountId',
|
|
12
|
+
'connectionString',
|
|
13
|
+
'credentialHealth',
|
|
14
|
+
'credentialId',
|
|
15
|
+
'credentialReference',
|
|
16
|
+
'externalId',
|
|
17
|
+
'managementGroupId',
|
|
18
|
+
'pricingQuote',
|
|
19
|
+
'quotePolicy',
|
|
20
|
+
'resourceGroupId',
|
|
21
|
+
'roleArn',
|
|
22
|
+
'saga',
|
|
23
|
+
'sasToken',
|
|
24
|
+
'secretArn',
|
|
25
|
+
'secretReference',
|
|
26
|
+
'storageCapacity',
|
|
27
|
+
'storagePath',
|
|
28
|
+
'subscription',
|
|
29
|
+
'subscriptionId',
|
|
30
|
+
'tenantId',
|
|
31
|
+
'unlockFinancialLedger',
|
|
32
|
+
]);
|
|
33
|
+
/** Validates the multi-account identity boundary of an AWS organization commitments view. */
|
|
34
|
+
function validateAwsOrganizationCommitmentsPlanningViewIdentity(value, expected) {
|
|
35
|
+
const view = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(value, 'organizationCommitmentsPlanning');
|
|
36
|
+
const providerScope = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(view.providerScope, 'organizationCommitmentsPlanning.providerScope');
|
|
37
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertExactKeys)(providerScope, ['providerName', 'providerScopeId', 'scopeType', 'companyId', 'estateId', 'organizationId', 'managementAccountId'], 'organizationCommitmentsPlanning.providerScope');
|
|
38
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(providerScope.providerName, provider_js_1.ProviderName.Aws, 'organizationCommitmentsPlanning.providerScope.providerName');
|
|
39
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(providerScope.scopeType, 'organization', 'organizationCommitmentsPlanning.providerScope.scopeType');
|
|
40
|
+
const companyId = (0, pluginPublicArtifactValidationHelpers_js_1.requiredString)(providerScope.companyId, 'organizationCommitmentsPlanning.providerScope.companyId');
|
|
41
|
+
const estateId = (0, pluginPublicArtifactValidationHelpers_js_1.requiredString)(providerScope.estateId, 'organizationCommitmentsPlanning.providerScope.estateId');
|
|
42
|
+
const organizationId = requiredOrganizationId(providerScope.organizationId, 'organizationCommitmentsPlanning.providerScope.organizationId');
|
|
43
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(providerScope.providerScopeId, organizationId, 'organizationCommitmentsPlanning.providerScope.providerScopeId');
|
|
44
|
+
const managementAccountId = requiredAccountId(providerScope.managementAccountId, 'organizationCommitmentsPlanning.providerScope.managementAccountId');
|
|
45
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(expected.companyId, companyId, 'expected.companyId');
|
|
46
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(expected.estateId, estateId, 'expected.estateId');
|
|
47
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(expected.organizationId, organizationId, 'expected.organizationId');
|
|
48
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(expected.managementAccountId, managementAccountId, 'expected.managementAccountId');
|
|
49
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(expected.manifestRevision, (0, pluginPublicArtifactValidationHelpers_js_1.requiredString)(view.manifestRevision, 'organizationCommitmentsPlanning.manifestRevision'), 'expected.manifestRevision');
|
|
50
|
+
const accountMembership = validateAccounts(view.accounts, managementAccountId);
|
|
51
|
+
validateExpectedMembers(expected.memberAccountIds, accountMembership.accountIds);
|
|
52
|
+
validateInventory(view.inventory, accountMembership.members);
|
|
53
|
+
validatePayerAggregates(view.payerAggregates, accountMembership.members, managementAccountId);
|
|
54
|
+
validatePurchaseRecommendations(view.purchaseRecommendations, accountMembership.members, managementAccountId);
|
|
55
|
+
validateAttribution(view.allocation, accountMembership.members, false, 'organizationCommitmentsPlanning.allocation');
|
|
56
|
+
validateAttribution(view.resourceAttribution, accountMembership.members, true, 'organizationCommitmentsPlanning.resourceAttribution');
|
|
57
|
+
validateBoundIdentities(view, accountMembership.members, organizationId, companyId, estateId, managementAccountId, 'organizationCommitmentsPlanning');
|
|
58
|
+
}
|
|
59
|
+
function validateAccounts(value, managementAccountId) {
|
|
60
|
+
if (!Array.isArray(value) || value.length === 0)
|
|
61
|
+
throw new Error('organizationCommitmentsPlanning.accounts must be a non-empty array.');
|
|
62
|
+
const accountIds = value.map((entry, index) => {
|
|
63
|
+
const field = `organizationCommitmentsPlanning.accounts[${index}]`;
|
|
64
|
+
const account = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(entry, field);
|
|
65
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertExactKeys)(account, ['accountId', 'displayName', 'role', 'inventoryStatus', 'lastSuccessfulRefreshAt'], field);
|
|
66
|
+
const accountId = requiredAccountId(account.accountId, `${field}.accountId`);
|
|
67
|
+
const role = (0, pluginPublicArtifactValidationHelpers_js_1.requiredEnum)(account.role, ['management', 'member'], `${field}.role`);
|
|
68
|
+
if ((accountId === managementAccountId) !== (role === 'management')) {
|
|
69
|
+
throw new Error(`${field}.role must identify the exact management account.`);
|
|
70
|
+
}
|
|
71
|
+
return accountId;
|
|
72
|
+
});
|
|
73
|
+
if (new Set(accountIds).size !== accountIds.length)
|
|
74
|
+
throw new Error('organizationCommitmentsPlanning.accounts must not contain duplicates.');
|
|
75
|
+
const sorted = [...accountIds].sort((left, right) => left.localeCompare(right));
|
|
76
|
+
if (JSON.stringify(sorted) !== JSON.stringify(accountIds))
|
|
77
|
+
throw new Error('organizationCommitmentsPlanning.accounts must be sorted by accountId.');
|
|
78
|
+
if (!accountIds.includes(managementAccountId))
|
|
79
|
+
throw new Error('organizationCommitmentsPlanning.accounts must contain the management account.');
|
|
80
|
+
return { accountIds, members: new Set(accountIds) };
|
|
81
|
+
}
|
|
82
|
+
function validateInventory(value, members) {
|
|
83
|
+
if (!Array.isArray(value))
|
|
84
|
+
throw new Error('organizationCommitmentsPlanning.inventory must be an array.');
|
|
85
|
+
value.forEach((entry, index) => {
|
|
86
|
+
const field = `organizationCommitmentsPlanning.inventory[${index}]`;
|
|
87
|
+
const item = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(entry, field);
|
|
88
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(item.sourceKind, 'aws-native', `${field}.sourceKind`);
|
|
89
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(item.provider, provider_js_1.ProviderName.Aws, `${field}.provider`);
|
|
90
|
+
requiredMember(item.ownerAccountId, members, `${field}.ownerAccountId`);
|
|
91
|
+
if (item.shape !== undefined)
|
|
92
|
+
validateAwsShape(item.shape, `${field}.shape`);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function validatePayerAggregates(value, members, managementAccountId) {
|
|
96
|
+
if (!Array.isArray(value))
|
|
97
|
+
throw new Error('organizationCommitmentsPlanning.payerAggregates must be an array.');
|
|
98
|
+
value.forEach((entry, index) => {
|
|
99
|
+
const field = `organizationCommitmentsPlanning.payerAggregates[${index}]`;
|
|
100
|
+
const aggregate = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(entry, field);
|
|
101
|
+
const payerAccountId = requiredMember(aggregate.payerAccountId, members, `${field}.payerAccountId`);
|
|
102
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(payerAccountId, managementAccountId, `${field}.payerAccountId`);
|
|
103
|
+
validateAwsSource(aggregate.source, `${field}.source`);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function validatePurchaseRecommendations(value, members, managementAccountId) {
|
|
107
|
+
if (value === undefined)
|
|
108
|
+
return;
|
|
109
|
+
if (!Array.isArray(value))
|
|
110
|
+
throw new Error('organizationCommitmentsPlanning.purchaseRecommendations must be an array.');
|
|
111
|
+
value.forEach((entry, index) => {
|
|
112
|
+
const field = `organizationCommitmentsPlanning.purchaseRecommendations[${index}]`;
|
|
113
|
+
const recommendation = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(entry, field);
|
|
114
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(recommendation.purchaseScope, 'payer', `${field}.purchaseScope`);
|
|
115
|
+
const payerAccountId = requiredMember(recommendation.payerAccountId, members, `${field}.payerAccountId`);
|
|
116
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(payerAccountId, managementAccountId, `${field}.payerAccountId`);
|
|
117
|
+
if (recommendation.recommendedAccountId !== undefined) {
|
|
118
|
+
requiredMember(recommendation.recommendedAccountId, members, `${field}.recommendedAccountId`);
|
|
119
|
+
}
|
|
120
|
+
validateAwsSource(recommendation.source, `${field}.source`);
|
|
121
|
+
validateAwsShape(recommendation.targetShape, `${field}.targetShape`);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function validateAttribution(value, members, resource, field) {
|
|
125
|
+
const evidence = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(value, field);
|
|
126
|
+
if (evidence.status === 'unavailable') {
|
|
127
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertExactKeys)(evidence, ['status', 'reason'], field);
|
|
128
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.requiredEnum)(evidence.reason, ['not-collected', 'not-proved', 'source-unavailable'], `${field}.reason`);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(evidence.status, 'available', `${field}.status`);
|
|
132
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertExactKeys)(evidence, ['status', 'source', 'records'], field);
|
|
133
|
+
validateAwsSource(evidence.source, `${field}.source`, true);
|
|
134
|
+
if (!Array.isArray(evidence.records) || evidence.records.length === 0) {
|
|
135
|
+
throw new Error(`${field}.records must be non-empty when attribution is available.`);
|
|
136
|
+
}
|
|
137
|
+
evidence.records.forEach((entry, index) => {
|
|
138
|
+
const record = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(entry, `${field}.records[${index}]`);
|
|
139
|
+
if (resource) {
|
|
140
|
+
requiredMember(record.accountId, members, `${field}.records[${index}].accountId`);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
requiredMember(record.beneficiaryAccountId, members, `${field}.records[${index}].beneficiaryAccountId`);
|
|
144
|
+
if (record.ownerAccountId !== undefined)
|
|
145
|
+
requiredMember(record.ownerAccountId, members, `${field}.records[${index}].ownerAccountId`);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
function validateAwsSource(value, field, allowDerived = false) {
|
|
150
|
+
const source = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(value, field);
|
|
151
|
+
const allowed = allowDerived ? ['aws-native', 'spotto-derived'] : ['aws-native'];
|
|
152
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.requiredEnum)(source.sourceKind, allowed, `${field}.sourceKind`);
|
|
153
|
+
}
|
|
154
|
+
function validateAwsShape(value, field) {
|
|
155
|
+
const shape = (0, pluginPublicArtifactValidationHelpers_js_1.asRecord)(value, field);
|
|
156
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(shape.provider, 'aws', `${field}.provider`);
|
|
157
|
+
}
|
|
158
|
+
function validateBoundIdentities(value, members, organizationId, companyId, estateId, managementAccountId, field) {
|
|
159
|
+
if (Array.isArray(value)) {
|
|
160
|
+
value.forEach((entry, index) => validateBoundIdentities(entry, members, organizationId, companyId, estateId, managementAccountId, `${field}[${index}]`));
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
if (!value || typeof value !== 'object') {
|
|
164
|
+
if (typeof value === 'string')
|
|
165
|
+
validateArnAccount(value, members, field);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
for (const [key, child] of Object.entries(value)) {
|
|
169
|
+
if (FORBIDDEN_ORGANIZATION_COMMITMENTS_KEYS.has(key)) {
|
|
170
|
+
throw new Error(`${field}.${key} is not allowed in an AWS organization commitments artifact.`);
|
|
171
|
+
}
|
|
172
|
+
if (key === 'accountId' || key === 'ownerAccountId' || key === 'beneficiaryAccountId' || key === 'payerAccountId') {
|
|
173
|
+
requiredMember(child, members, `${field}.${key}`);
|
|
174
|
+
}
|
|
175
|
+
if (key === 'organizationId')
|
|
176
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(child, organizationId, `${field}.${key}`);
|
|
177
|
+
if (key === 'companyId')
|
|
178
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(child, companyId, `${field}.${key}`);
|
|
179
|
+
if (key === 'estateId')
|
|
180
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(child, estateId, `${field}.${key}`);
|
|
181
|
+
if (key === 'managementAccountId')
|
|
182
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertAccount)(child, managementAccountId, `${field}.${key}`);
|
|
183
|
+
if (key === 'providerName')
|
|
184
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(child, provider_js_1.ProviderName.Aws, `${field}.${key}`);
|
|
185
|
+
if (key === 'provider')
|
|
186
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertValue)(child, 'aws', `${field}.${key}`);
|
|
187
|
+
if (key === 'sourceKind' && child === 'azure-native') {
|
|
188
|
+
throw new Error(`${field}.${key} cannot contain Azure-native evidence.`);
|
|
189
|
+
}
|
|
190
|
+
validateBoundIdentities(child, members, organizationId, companyId, estateId, managementAccountId, `${field}.${key}`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
function validateArnAccount(value, members, field) {
|
|
194
|
+
if (!value.startsWith('arn:'))
|
|
195
|
+
return;
|
|
196
|
+
const arnAccountId = value.split(':', 6)[4];
|
|
197
|
+
if (arnAccountId && !members.has(arnAccountId))
|
|
198
|
+
throw new Error(`${field} contains an ARN outside the declared organization membership.`);
|
|
199
|
+
}
|
|
200
|
+
function requiredMember(value, members, field) {
|
|
201
|
+
const accountId = requiredAccountId(value, field);
|
|
202
|
+
if (!members.has(accountId))
|
|
203
|
+
throw new Error(`${field} must belong to the declared organization membership.`);
|
|
204
|
+
return accountId;
|
|
205
|
+
}
|
|
206
|
+
function requiredAccountId(value, field) {
|
|
207
|
+
const accountId = (0, pluginPublicArtifactValidationHelpers_js_1.requiredString)(value, field);
|
|
208
|
+
(0, pluginPublicArtifactValidationHelpers_js_1.assertAccount)(value, accountId, field);
|
|
209
|
+
return accountId;
|
|
210
|
+
}
|
|
211
|
+
function requiredOrganizationId(value, field) {
|
|
212
|
+
const organizationId = (0, pluginPublicArtifactValidationHelpers_js_1.requiredString)(value, field);
|
|
213
|
+
if (!ORGANIZATION_ID.test(organizationId))
|
|
214
|
+
throw new Error(`${field} must be a canonical AWS organization id.`);
|
|
215
|
+
return organizationId;
|
|
216
|
+
}
|
|
217
|
+
function validateExpectedMembers(expected, actual) {
|
|
218
|
+
const normalized = expected.map((accountId, index) => requiredAccountId(accountId, `expected.memberAccountIds[${index}]`));
|
|
219
|
+
if (new Set(normalized).size !== normalized.length)
|
|
220
|
+
throw new Error('expected.memberAccountIds must not contain duplicates.');
|
|
221
|
+
const sorted = [...normalized].sort((left, right) => left.localeCompare(right));
|
|
222
|
+
if (JSON.stringify(sorted) !== JSON.stringify(normalized))
|
|
223
|
+
throw new Error('expected.memberAccountIds must be sorted.');
|
|
224
|
+
if (JSON.stringify(normalized) !== JSON.stringify(actual)) {
|
|
225
|
+
throw new Error('expected.memberAccountIds must match the artifact membership exactly.');
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=organizationCommitmentsValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organizationCommitmentsValidation.js","sourceRoot":"","sources":["../../src/aws/organizationCommitmentsValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type AwsOrganizationCommitmentsPlanningView } from './organizationCommitments.js';
|
|
2
|
+
import { type AwsOrganizationCommitmentsExpectedIdentity } from './organizationCommitmentsValidation.js';
|
|
3
|
+
import { type AwsPortalOrganizationCommitmentsPlanningArtifact } from './portalOrganizationCommitmentsPlanningPublicArtifacts.js';
|
|
4
|
+
export type AwsPortalOrganizationCommitmentsExpectedIdentity = AwsOrganizationCommitmentsExpectedIdentity;
|
|
5
|
+
/** Validates one untrusted organization Commitments Planning view without its Portal envelope. */
|
|
6
|
+
export declare function validateAwsOrganizationCommitmentsPlanningView(value: unknown, expected: AwsOrganizationCommitmentsExpectedIdentity): AwsOrganizationCommitmentsPlanningView;
|
|
7
|
+
/** Validates one untrusted immutable AWS organization Commitments Planning artifact. */
|
|
8
|
+
export declare function validateAwsPortalOrganizationCommitmentsPlanningArtifact(value: unknown, expected: AwsPortalOrganizationCommitmentsExpectedIdentity): AwsPortalOrganizationCommitmentsPlanningArtifact;
|
|
9
|
+
//# sourceMappingURL=portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts","sourceRoot":"","sources":["../../src/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sCAAsC,EAC5C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,0CAA0C,EAChD,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAGL,KAAK,gDAAgD,EACtD,MAAM,2DAA2D,CAAC;AAuCnE,MAAM,MAAM,gDAAgD,GAAG,0CAA0C,CAAC;AAE1G,kGAAkG;AAClG,wBAAgB,8CAA8C,CAC5D,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,0CAA0C,GACnD,sCAAsC,CAKxC;AAED,wFAAwF;AACxF,wBAAgB,wDAAwD,CACtE,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,gDAAgD,GACzD,gDAAgD,CAoBlD"}
|