@spottoai/types-package 1.0.2-dev1138.12 → 1.0.2-dev1138.14

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.
Files changed (453) hide show
  1. package/README.md +3 -0
  2. package/dist/accounts/accounts.d.ts +13 -0
  3. package/dist/accounts/accounts.d.ts.map +1 -1
  4. package/dist/accounts/azureSpSetup.d.ts +5 -0
  5. package/dist/accounts/azureSpSetup.d.ts.map +1 -1
  6. package/dist/accounts/azureSpSetup.js.map +1 -1
  7. package/dist/accounts/index.d.ts +1 -0
  8. package/dist/accounts/index.d.ts.map +1 -1
  9. package/dist/accounts/index.js +1 -0
  10. package/dist/accounts/index.js.map +1 -1
  11. package/dist/accounts/subscriptionWriteAccess.d.ts +76 -0
  12. package/dist/accounts/subscriptionWriteAccess.d.ts.map +1 -0
  13. package/dist/accounts/subscriptionWriteAccess.js +119 -0
  14. package/dist/accounts/subscriptionWriteAccess.js.map +1 -0
  15. package/dist/accounts/writePermissions.d.ts +17 -1
  16. package/dist/accounts/writePermissions.d.ts.map +1 -1
  17. package/dist/accounts/writePermissions.js +47 -1
  18. package/dist/accounts/writePermissions.js.map +1 -1
  19. package/dist/ai/followUps.d.ts +16 -0
  20. package/dist/ai/followUps.d.ts.map +1 -0
  21. package/dist/ai/followUps.js +21 -0
  22. package/dist/ai/followUps.js.map +1 -0
  23. package/dist/ai/grounding.d.ts +42 -5
  24. package/dist/ai/grounding.d.ts.map +1 -1
  25. package/dist/ai/grounding.js +76 -8
  26. package/dist/ai/grounding.js.map +1 -1
  27. package/dist/ai/index.d.ts +4 -0
  28. package/dist/ai/index.d.ts.map +1 -1
  29. package/dist/ai/index.js +1 -0
  30. package/dist/ai/index.js.map +1 -1
  31. package/dist/aws/commitments-planning.d.ts +1 -1
  32. package/dist/aws/commitments-planning.d.ts.map +1 -1
  33. package/dist/aws/commitments-planning.js +1 -0
  34. package/dist/aws/commitments-planning.js.map +1 -1
  35. package/dist/aws/commitmentsPlanningValidation.d.ts +1 -1
  36. package/dist/aws/commitmentsPlanningValidation.d.ts.map +1 -1
  37. package/dist/aws/commitmentsPlanningValidation.js +26 -25
  38. package/dist/aws/commitmentsPlanningValidation.js.map +1 -1
  39. package/dist/aws/commitmentsPlanningView.d.ts +49 -0
  40. package/dist/aws/commitmentsPlanningView.d.ts.map +1 -0
  41. package/dist/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +1 -1
  42. package/dist/aws/commitmentsPlanningView.js.map +1 -0
  43. package/dist/aws/index.d.ts +2 -14
  44. package/dist/aws/index.d.ts.map +1 -1
  45. package/dist/aws/index.js +2 -13
  46. package/dist/aws/index.js.map +1 -1
  47. package/dist/aws/organizationCommitments.d.ts +2 -1
  48. package/dist/aws/organizationCommitments.d.ts.map +1 -1
  49. package/dist/aws/organizationCommitments.js +2 -2
  50. package/dist/aws/organizationCommitments.js.map +1 -1
  51. package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -1
  52. package/dist/aws/organizationCommitmentsApiValidation.js +64 -64
  53. package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -1
  54. package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -1
  55. package/dist/aws/organizationCommitmentsValidation.js +45 -44
  56. package/dist/aws/organizationCommitmentsValidation.js.map +1 -1
  57. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -1
  58. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +79 -76
  59. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -1
  60. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +1 -2
  61. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -1
  62. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -1
  63. package/dist/aws/publicArtifacts.d.ts +2 -37
  64. package/dist/aws/publicArtifacts.d.ts.map +1 -1
  65. package/dist/aws/publicArtifacts.js +3 -1
  66. package/dist/aws/publicArtifacts.js.map +1 -1
  67. package/dist/aws/relationships.d.ts +5 -3
  68. package/dist/aws/relationships.d.ts.map +1 -1
  69. package/dist/aws/relationships.js +18 -3
  70. package/dist/aws/relationships.js.map +1 -1
  71. package/dist/aws/requests.d.ts +35 -3
  72. package/dist/aws/requests.d.ts.map +1 -1
  73. package/dist/aws/requests.js +5 -3
  74. package/dist/aws/requests.js.map +1 -1
  75. package/dist/aws/resourceGraph.d.ts +14 -0
  76. package/dist/aws/resourceGraph.d.ts.map +1 -0
  77. package/dist/aws/resourceGraph.js +68 -0
  78. package/dist/aws/resourceGraph.js.map +1 -0
  79. package/dist/aws/validationHelpers.d.ts +8 -0
  80. package/dist/aws/validationHelpers.d.ts.map +1 -0
  81. package/dist/aws/validationHelpers.js +54 -0
  82. package/dist/aws/validationHelpers.js.map +1 -0
  83. package/dist/azure/commitmentsPlanning.d.ts +15 -46
  84. package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
  85. package/dist/azure/commitmentsPlanning.js +9 -0
  86. package/dist/azure/commitmentsPlanning.js.map +1 -1
  87. package/dist/azure/commitmentsPlanningValidation.d.ts +18 -0
  88. package/dist/azure/commitmentsPlanningValidation.d.ts.map +1 -0
  89. package/dist/azure/commitmentsPlanningValidation.js +50 -0
  90. package/dist/azure/commitmentsPlanningValidation.js.map +1 -0
  91. package/dist/azure/dataProtection.d.ts +40 -0
  92. package/dist/azure/dataProtection.d.ts.map +1 -1
  93. package/dist/azure/governance.d.ts +5 -0
  94. package/dist/azure/governance.d.ts.map +1 -1
  95. package/dist/azure/metrics.d.ts +2 -27
  96. package/dist/azure/metrics.d.ts.map +1 -1
  97. package/dist/azure/payloads.d.ts +24 -0
  98. package/dist/azure/payloads.d.ts.map +1 -1
  99. package/dist/azure/payloads.js +87 -0
  100. package/dist/azure/payloads.js.map +1 -1
  101. package/dist/azure/recommendationTracks.d.ts +1 -1
  102. package/dist/azure/recommendationTracks.d.ts.map +1 -1
  103. package/dist/azure/reportEvidence.d.ts +192 -11
  104. package/dist/azure/reportEvidence.d.ts.map +1 -1
  105. package/dist/azure/reportEvidence.js +9 -1
  106. package/dist/azure/reportEvidence.js.map +1 -1
  107. package/dist/azure/reportEvidenceValidation.d.ts.map +1 -1
  108. package/dist/azure/reportEvidenceValidation.js +201 -5
  109. package/dist/azure/reportEvidenceValidation.js.map +1 -1
  110. package/dist/azure/reportEvidenceValidationHelpers.d.ts +3 -16
  111. package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -1
  112. package/dist/azure/reportEvidenceValidationHelpers.js +80 -92
  113. package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -1
  114. package/dist/azure/resilienceFacts.d.ts +100 -0
  115. package/dist/azure/resilienceFacts.d.ts.map +1 -0
  116. package/dist/azure/resilienceFacts.js +20 -0
  117. package/dist/azure/resilienceFacts.js.map +1 -0
  118. package/dist/azure/resilienceFactsValidation.d.ts +4 -0
  119. package/dist/azure/resilienceFactsValidation.d.ts.map +1 -0
  120. package/dist/azure/resilienceFactsValidation.js +70 -0
  121. package/dist/azure/resilienceFactsValidation.js.map +1 -0
  122. package/dist/azure/savings.d.ts +4 -2
  123. package/dist/azure/savings.d.ts.map +1 -1
  124. package/dist/azure/serviceRetirement.d.ts +21 -2
  125. package/dist/azure/serviceRetirement.d.ts.map +1 -1
  126. package/dist/azure/views.d.ts +24 -1
  127. package/dist/azure/views.d.ts.map +1 -1
  128. package/dist/azure/views.js.map +1 -1
  129. package/dist/common/boundedRows.d.ts +7 -0
  130. package/dist/common/boundedRows.d.ts.map +1 -0
  131. package/dist/{scheduler/scheduler.js → common/boundedRows.js} +1 -1
  132. package/dist/common/boundedRows.js.map +1 -0
  133. package/dist/common/index.d.ts +3 -0
  134. package/dist/common/index.d.ts.map +1 -1
  135. package/dist/common/index.js +3 -0
  136. package/dist/common/index.js.map +1 -1
  137. package/dist/common/metricStats.d.ts +29 -0
  138. package/dist/common/metricStats.d.ts.map +1 -0
  139. package/dist/{scheduler/bastionSchedule.js → common/metricStats.js} +1 -1
  140. package/dist/common/metricStats.js.map +1 -0
  141. package/dist/common/provider.d.ts +2 -0
  142. package/dist/common/provider.d.ts.map +1 -1
  143. package/dist/common/relationships.d.ts +3 -3
  144. package/dist/common/relationships.d.ts.map +1 -1
  145. package/dist/common/resourceGraph.d.ts +137 -0
  146. package/dist/common/resourceGraph.d.ts.map +1 -0
  147. package/dist/common/resourceGraph.js +17 -0
  148. package/dist/common/resourceGraph.js.map +1 -0
  149. package/dist/common/resourceGraphValidation.d.ts +30 -0
  150. package/dist/common/resourceGraphValidation.d.ts.map +1 -0
  151. package/dist/common/resourceGraphValidation.js +369 -0
  152. package/dist/common/resourceGraphValidation.js.map +1 -0
  153. package/dist/common/resourceIdentity.d.ts +28 -0
  154. package/dist/common/resourceIdentity.d.ts.map +1 -0
  155. package/dist/common/resourceIdentity.js +35 -0
  156. package/dist/common/resourceIdentity.js.map +1 -0
  157. package/dist/common/sha256.d.ts +2 -0
  158. package/dist/common/sha256.d.ts.map +1 -1
  159. package/dist/common/sha256.js +3 -0
  160. package/dist/common/sha256.js.map +1 -1
  161. package/dist/common/utilizationStories.d.ts +695 -0
  162. package/dist/common/utilizationStories.d.ts.map +1 -0
  163. package/dist/common/utilizationStories.js +21 -0
  164. package/dist/common/utilizationStories.js.map +1 -0
  165. package/dist/common/utilizationStoriesValidation.d.ts +60 -0
  166. package/dist/common/utilizationStoriesValidation.d.ts.map +1 -0
  167. package/dist/common/utilizationStoriesValidation.js +762 -0
  168. package/dist/common/utilizationStoriesValidation.js.map +1 -0
  169. package/dist/common/validationHelpers.d.ts +37 -0
  170. package/dist/common/validationHelpers.d.ts.map +1 -0
  171. package/dist/common/validationHelpers.js +147 -0
  172. package/dist/common/validationHelpers.js.map +1 -0
  173. package/dist/esm/accounts/index.js +1 -0
  174. package/dist/esm/accounts/subscriptionWriteAccess.js +112 -0
  175. package/dist/esm/accounts/writePermissions.js +46 -0
  176. package/dist/esm/ai/followUps.js +16 -0
  177. package/dist/esm/ai/grounding.js +74 -7
  178. package/dist/esm/ai/index.js +1 -0
  179. package/dist/esm/aws/commitments-planning.js +1 -0
  180. package/dist/esm/aws/commitmentsPlanningValidation.js +2 -1
  181. package/dist/esm/aws/index.js +2 -13
  182. package/dist/esm/aws/organizationCommitments.js +2 -2
  183. package/dist/esm/aws/organizationCommitmentsApiValidation.js +5 -5
  184. package/dist/esm/aws/organizationCommitmentsValidation.js +2 -1
  185. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +8 -5
  186. package/dist/esm/aws/publicArtifacts.js +2 -0
  187. package/dist/esm/aws/relationships.js +4 -1
  188. package/dist/esm/aws/requests.js +4 -2
  189. package/dist/esm/aws/resourceGraph.js +63 -0
  190. package/dist/esm/aws/validationHelpers.js +46 -0
  191. package/dist/esm/azure/commitmentsPlanning.js +8 -1
  192. package/dist/esm/azure/commitmentsPlanningValidation.js +39 -0
  193. package/dist/esm/azure/payloads.js +84 -1
  194. package/dist/esm/azure/reportEvidence.js +8 -0
  195. package/dist/esm/azure/reportEvidenceValidation.js +202 -6
  196. package/dist/esm/azure/reportEvidenceValidationHelpers.js +7 -19
  197. package/dist/esm/azure/resilienceFacts.js +16 -0
  198. package/dist/esm/azure/resilienceFactsValidation.js +64 -0
  199. package/dist/esm/common/index.js +3 -0
  200. package/dist/esm/common/resourceGraph.js +13 -0
  201. package/dist/esm/common/resourceGraphValidation.js +365 -0
  202. package/dist/esm/common/resourceIdentity.js +24 -0
  203. package/dist/esm/common/sha256.js +2 -0
  204. package/dist/esm/common/utilizationStories.js +17 -0
  205. package/dist/esm/common/utilizationStoriesValidation.js +718 -0
  206. package/dist/esm/common/validationHelpers.js +115 -0
  207. package/dist/esm/entries/relationships.js +2 -2
  208. package/dist/esm/index.js +5 -0
  209. package/dist/esm/index.vite.js +1 -0
  210. package/dist/esm/reporting/jobs/index.js +13 -0
  211. package/dist/esm/reporting/jobs/reportJobIdentity.js +76 -0
  212. package/dist/esm/reporting/jobs/reportJobMessages.js +47 -0
  213. package/dist/esm/reporting/jobs/reportJobRow.js +264 -0
  214. package/dist/esm/reporting/jobs/reportJobSpec.js +295 -0
  215. package/dist/esm/reporting/jobs/reportJobStatus.js +87 -0
  216. package/dist/esm/reporting/shared/reportTableEntities.js +41 -0
  217. package/dist/esm/reporting/shared/reportingDigest.js +57 -0
  218. package/dist/esm/reporting/shared/reportingIds.js +88 -0
  219. package/dist/esm/reporting/shared/reportingPaths.js +23 -0
  220. package/dist/esm/scheduler/index.js +4 -4
  221. package/dist/esm/scheduler/resourceStrategy.js +2 -0
  222. package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +265 -0
  223. package/dist/esm/scheduler/resourceStrategyContracts.js +20 -0
  224. package/dist/esm/scheduler/resourceStrategyFinancialValidation.js +145 -0
  225. package/dist/esm/scheduler/resourceStrategyPermissionValidation.js +190 -0
  226. package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +506 -0
  227. package/dist/esm/scheduler/resourceStrategyValidation.js +4 -0
  228. package/dist/esm/scheduler/resourceStrategyValidationShared.js +261 -0
  229. package/dist/esm/scheduler/schedulerValidation.js +372 -0
  230. package/dist/esm/scheduler/weeklyAvailabilityFixtures.js +140 -0
  231. package/dist/index.d.ts +5 -0
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +5 -0
  234. package/dist/index.js.map +1 -1
  235. package/dist/index.vite.d.ts +1 -0
  236. package/dist/index.vite.d.ts.map +1 -1
  237. package/dist/index.vite.js +1 -0
  238. package/dist/index.vite.js.map +1 -1
  239. package/dist/reporting/jobs/index.d.ts +14 -0
  240. package/dist/reporting/jobs/index.d.ts.map +1 -0
  241. package/dist/reporting/jobs/index.js +45 -0
  242. package/dist/reporting/jobs/index.js.map +1 -0
  243. package/dist/reporting/jobs/reportJobIdentity.d.ts +44 -0
  244. package/dist/reporting/jobs/reportJobIdentity.d.ts.map +1 -0
  245. package/dist/reporting/jobs/reportJobIdentity.js +88 -0
  246. package/dist/reporting/jobs/reportJobIdentity.js.map +1 -0
  247. package/dist/reporting/jobs/reportJobMessages.d.ts +30 -0
  248. package/dist/reporting/jobs/reportJobMessages.d.ts.map +1 -0
  249. package/dist/reporting/jobs/reportJobMessages.js +54 -0
  250. package/dist/reporting/jobs/reportJobMessages.js.map +1 -0
  251. package/dist/reporting/jobs/reportJobRow.d.ts +98 -0
  252. package/dist/reporting/jobs/reportJobRow.d.ts.map +1 -0
  253. package/dist/reporting/jobs/reportJobRow.js +270 -0
  254. package/dist/reporting/jobs/reportJobRow.js.map +1 -0
  255. package/dist/reporting/jobs/reportJobSpec.d.ts +92 -0
  256. package/dist/reporting/jobs/reportJobSpec.d.ts.map +1 -0
  257. package/dist/reporting/jobs/reportJobSpec.js +304 -0
  258. package/dist/reporting/jobs/reportJobSpec.js.map +1 -0
  259. package/dist/reporting/jobs/reportJobStatus.d.ts +60 -0
  260. package/dist/reporting/jobs/reportJobStatus.d.ts.map +1 -0
  261. package/dist/reporting/jobs/reportJobStatus.js +98 -0
  262. package/dist/reporting/jobs/reportJobStatus.js.map +1 -0
  263. package/dist/reporting/shared/reportTableEntities.d.ts +23 -0
  264. package/dist/reporting/shared/reportTableEntities.d.ts.map +1 -0
  265. package/dist/reporting/shared/reportTableEntities.js +47 -0
  266. package/dist/reporting/shared/reportTableEntities.js.map +1 -0
  267. package/dist/reporting/shared/reportingDigest.d.ts +6 -0
  268. package/dist/reporting/shared/reportingDigest.d.ts.map +1 -0
  269. package/dist/reporting/shared/reportingDigest.js +63 -0
  270. package/dist/reporting/shared/reportingDigest.js.map +1 -0
  271. package/dist/reporting/shared/reportingIds.d.ts +34 -0
  272. package/dist/reporting/shared/reportingIds.d.ts.map +1 -0
  273. package/dist/reporting/shared/reportingIds.js +102 -0
  274. package/dist/reporting/shared/reportingIds.js.map +1 -0
  275. package/dist/reporting/shared/reportingPaths.d.ts +14 -0
  276. package/dist/reporting/shared/reportingPaths.d.ts.map +1 -0
  277. package/dist/reporting/shared/reportingPaths.js +29 -0
  278. package/dist/reporting/shared/reportingPaths.js.map +1 -0
  279. package/dist/scheduler/index.d.ts +4 -4
  280. package/dist/scheduler/index.d.ts.map +1 -1
  281. package/dist/scheduler/index.js +4 -4
  282. package/dist/scheduler/index.js.map +1 -1
  283. package/dist/scheduler/resourceStrategy.d.ts +3 -0
  284. package/dist/scheduler/resourceStrategy.d.ts.map +1 -0
  285. package/dist/scheduler/resourceStrategy.js +19 -0
  286. package/dist/scheduler/resourceStrategy.js.map +1 -0
  287. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts +4 -0
  288. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -0
  289. package/dist/scheduler/resourceStrategyCapabilityValidation.js +270 -0
  290. package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -0
  291. package/dist/scheduler/resourceStrategyContracts.d.ts +466 -0
  292. package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -0
  293. package/dist/scheduler/resourceStrategyContracts.js +24 -0
  294. package/dist/scheduler/resourceStrategyContracts.js.map +1 -0
  295. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts +5 -0
  296. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts.map +1 -0
  297. package/dist/scheduler/resourceStrategyFinancialValidation.js +151 -0
  298. package/dist/scheduler/resourceStrategyFinancialValidation.js.map +1 -0
  299. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts +4 -0
  300. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts.map +1 -0
  301. package/dist/scheduler/resourceStrategyPermissionValidation.js +195 -0
  302. package/dist/scheduler/resourceStrategyPermissionValidation.js.map +1 -0
  303. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +14 -0
  304. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -0
  305. package/dist/scheduler/resourceStrategyScheduleValidation.js +519 -0
  306. package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -0
  307. package/dist/scheduler/resourceStrategyValidation.d.ts +5 -0
  308. package/dist/scheduler/resourceStrategyValidation.d.ts.map +1 -0
  309. package/dist/scheduler/resourceStrategyValidation.js +21 -0
  310. package/dist/scheduler/resourceStrategyValidation.js.map +1 -0
  311. package/dist/scheduler/resourceStrategyValidationShared.d.ts +19 -0
  312. package/dist/scheduler/resourceStrategyValidationShared.d.ts.map +1 -0
  313. package/dist/scheduler/resourceStrategyValidationShared.js +281 -0
  314. package/dist/scheduler/resourceStrategyValidationShared.js.map +1 -0
  315. package/dist/scheduler/schedulerContracts.d.ts +184 -0
  316. package/dist/scheduler/schedulerContracts.d.ts.map +1 -0
  317. package/dist/{aws/portalPublicArtifactNestedEvidence.js → scheduler/schedulerContracts.js} +1 -1
  318. package/dist/scheduler/schedulerContracts.js.map +1 -0
  319. package/dist/scheduler/schedulerValidation.d.ts +15 -0
  320. package/dist/scheduler/schedulerValidation.d.ts.map +1 -0
  321. package/dist/scheduler/schedulerValidation.js +388 -0
  322. package/dist/scheduler/schedulerValidation.js.map +1 -0
  323. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts +26 -0
  324. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts.map +1 -0
  325. package/dist/scheduler/weeklyAvailabilityFixtures.js +144 -0
  326. package/dist/scheduler/weeklyAvailabilityFixtures.js.map +1 -0
  327. package/package.json +26 -7
  328. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +0 -10
  329. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +0 -1
  330. package/dist/aws/pluginPublicArtifactBodyValidation.js +0 -225
  331. package/dist/aws/pluginPublicArtifactBodyValidation.js.map +0 -1
  332. package/dist/aws/pluginPublicArtifactEvidence.d.ts +0 -161
  333. package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +0 -1
  334. package/dist/aws/pluginPublicArtifactEvidence.js.map +0 -1
  335. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +0 -4
  336. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +0 -1
  337. package/dist/aws/pluginPublicArtifactManifestValidation.js +0 -259
  338. package/dist/aws/pluginPublicArtifactManifestValidation.js.map +0 -1
  339. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +0 -6
  340. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +0 -1
  341. package/dist/aws/pluginPublicArtifactSectionValidation.js +0 -471
  342. package/dist/aws/pluginPublicArtifactSectionValidation.js.map +0 -1
  343. package/dist/aws/pluginPublicArtifactValidation.d.ts +0 -3
  344. package/dist/aws/pluginPublicArtifactValidation.d.ts.map +0 -1
  345. package/dist/aws/pluginPublicArtifactValidation.js +0 -9
  346. package/dist/aws/pluginPublicArtifactValidation.js.map +0 -1
  347. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +0 -23
  348. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +0 -1
  349. package/dist/aws/pluginPublicArtifactValidationHelpers.js +0 -240
  350. package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +0 -1
  351. package/dist/aws/pluginPublicArtifacts.d.ts +0 -253
  352. package/dist/aws/pluginPublicArtifacts.d.ts.map +0 -1
  353. package/dist/aws/pluginPublicArtifacts.js +0 -51
  354. package/dist/aws/pluginPublicArtifacts.js.map +0 -1
  355. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts +0 -4
  356. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts.map +0 -1
  357. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -513
  358. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js.map +0 -1
  359. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts +0 -13
  360. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts.map +0 -1
  361. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -5
  362. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js.map +0 -1
  363. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +0 -4
  364. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +0 -1
  365. package/dist/aws/portalPublicArtifactCurrentValidation.js +0 -333
  366. package/dist/aws/portalPublicArtifactCurrentValidation.js.map +0 -1
  367. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +0 -6
  368. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +0 -1
  369. package/dist/aws/portalPublicArtifactEvidenceValidation.js +0 -301
  370. package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +0 -1
  371. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +0 -8
  372. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +0 -1
  373. package/dist/aws/portalPublicArtifactHistoryAiValidation.js +0 -377
  374. package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +0 -1
  375. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +0 -178
  376. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +0 -1
  377. package/dist/aws/portalPublicArtifactHistoryTypes.js +0 -44
  378. package/dist/aws/portalPublicArtifactHistoryTypes.js.map +0 -1
  379. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +0 -127
  380. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +0 -1
  381. package/dist/aws/portalPublicArtifactNestedEvidence.js.map +0 -1
  382. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +0 -6
  383. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +0 -1
  384. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -405
  385. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +0 -1
  386. package/dist/aws/portalPublicArtifactValidation.d.ts +0 -3
  387. package/dist/aws/portalPublicArtifactValidation.d.ts.map +0 -1
  388. package/dist/aws/portalPublicArtifactValidation.js +0 -14
  389. package/dist/aws/portalPublicArtifactValidation.js.map +0 -1
  390. package/dist/aws/portalPublicArtifactValidationCommon.d.ts +0 -30
  391. package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +0 -1
  392. package/dist/aws/portalPublicArtifactValidationCommon.js +0 -167
  393. package/dist/aws/portalPublicArtifactValidationCommon.js.map +0 -1
  394. package/dist/aws/portalPublicArtifacts.d.ts +0 -400
  395. package/dist/aws/portalPublicArtifacts.d.ts.map +0 -1
  396. package/dist/aws/portalPublicArtifacts.js +0 -85
  397. package/dist/aws/portalPublicArtifacts.js.map +0 -1
  398. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts +0 -4
  399. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts.map +0 -1
  400. package/dist/aws/portalRelationshipPublicArtifactValidation.js +0 -338
  401. package/dist/aws/portalRelationshipPublicArtifactValidation.js.map +0 -1
  402. package/dist/aws/portalRelationshipPublicArtifacts.d.ts +0 -196
  403. package/dist/aws/portalRelationshipPublicArtifacts.d.ts.map +0 -1
  404. package/dist/aws/portalRelationshipPublicArtifacts.js +0 -63
  405. package/dist/aws/portalRelationshipPublicArtifacts.js.map +0 -1
  406. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts +0 -269
  407. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts.map +0 -1
  408. package/dist/aws/portalRelationshipResourceNodeTypes.js +0 -3
  409. package/dist/aws/portalRelationshipResourceNodeTypes.js.map +0 -1
  410. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts +0 -2
  411. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts.map +0 -1
  412. package/dist/aws/portalRelationshipResourceNodeValidation.js +0 -372
  413. package/dist/aws/portalRelationshipResourceNodeValidation.js.map +0 -1
  414. package/dist/esm/aws/pluginPublicArtifactBodyValidation.js +0 -217
  415. package/dist/esm/aws/pluginPublicArtifactManifestValidation.js +0 -255
  416. package/dist/esm/aws/pluginPublicArtifactSectionValidation.js +0 -464
  417. package/dist/esm/aws/pluginPublicArtifactValidation.js +0 -2
  418. package/dist/esm/aws/pluginPublicArtifactValidationHelpers.js +0 -216
  419. package/dist/esm/aws/pluginPublicArtifacts.js +0 -44
  420. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -509
  421. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -1
  422. package/dist/esm/aws/portalPublicArtifactCurrentValidation.js +0 -328
  423. package/dist/esm/aws/portalPublicArtifactEvidenceValidation.js +0 -294
  424. package/dist/esm/aws/portalPublicArtifactHistoryAiValidation.js +0 -368
  425. package/dist/esm/aws/portalPublicArtifactHistoryTypes.js +0 -40
  426. package/dist/esm/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -397
  427. package/dist/esm/aws/portalPublicArtifactValidation.js +0 -2
  428. package/dist/esm/aws/portalPublicArtifactValidationCommon.js +0 -139
  429. package/dist/esm/aws/portalPublicArtifacts.js +0 -73
  430. package/dist/esm/aws/portalRelationshipPublicArtifactValidation.js +0 -334
  431. package/dist/esm/aws/portalRelationshipPublicArtifacts.js +0 -59
  432. package/dist/esm/aws/portalRelationshipResourceNodeValidation.js +0 -368
  433. package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
  434. package/dist/esm/scheduler/bastionScheduleValidation.js +0 -401
  435. package/dist/esm/scheduler/scheduler.js +0 -1
  436. package/dist/scheduler/bastionSchedule.d.ts +0 -113
  437. package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
  438. package/dist/scheduler/bastionSchedule.js.map +0 -1
  439. package/dist/scheduler/bastionScheduleProfile.d.ts +0 -24
  440. package/dist/scheduler/bastionScheduleProfile.d.ts.map +0 -1
  441. package/dist/scheduler/bastionScheduleProfile.js +0 -210
  442. package/dist/scheduler/bastionScheduleProfile.js.map +0 -1
  443. package/dist/scheduler/bastionScheduleValidation.d.ts +0 -10
  444. package/dist/scheduler/bastionScheduleValidation.d.ts.map +0 -1
  445. package/dist/scheduler/bastionScheduleValidation.js +0 -412
  446. package/dist/scheduler/bastionScheduleValidation.js.map +0 -1
  447. package/dist/scheduler/scheduler.d.ts +0 -267
  448. package/dist/scheduler/scheduler.d.ts.map +0 -1
  449. package/dist/scheduler/scheduler.js.map +0 -1
  450. /package/dist/esm/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +0 -0
  451. /package/dist/esm/{aws/portalPublicArtifactNestedEvidence.js → common/boundedRows.js} +0 -0
  452. /package/dist/esm/{aws/portalRelationshipResourceNodeTypes.js → common/metricStats.js} +0 -0
  453. /package/dist/esm/scheduler/{bastionSchedule.js → schedulerContracts.js} +0 -0
@@ -1,372 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateAwsPortalRelationshipResourceNode = validateAwsPortalRelationshipResourceNode;
4
- const portalRelationshipPublicArtifacts_1 = require("./portalRelationshipPublicArtifacts");
5
- const portalPublicArtifactNestedEvidenceValidation_1 = require("./portalPublicArtifactNestedEvidenceValidation");
6
- const portalPublicArtifactValidationCommon_1 = require("./portalPublicArtifactValidationCommon");
7
- const pluginPublicArtifactValidationHelpers_1 = require("./pluginPublicArtifactValidationHelpers");
8
- const RESOURCE_COMMON_KEYS = ['provider', 'accountId', 'family', 'resourceRegion', 'stableKey', 'resourceType', 'tags', 'billing'];
9
- const RESOURCE_KEYS = {
10
- 'ec2-instance': ['instanceId', 'instanceArn', 'name', 'state', 'instanceType', 'availabilityZone', 'subnetId', 'vpcId'],
11
- 'ebs-volume': ['volumeId', 'volumeArn', 'state', 'availabilityZone', 'volumeType', 'sizeGiB', 'encrypted', 'snapshotId', 'attachments'],
12
- vpc: [
13
- 'vpcId',
14
- 'vpcArn',
15
- 'state',
16
- 'cidrBlock',
17
- 'dhcpOptionsId',
18
- 'instanceTenancy',
19
- 'isDefault',
20
- 'ownerId',
21
- 'cidrBlockAssociations',
22
- 'ipv6CidrBlockAssociations',
23
- ],
24
- subnet: [
25
- 'subnetArn',
26
- 'subnetId',
27
- 'vpcId',
28
- 'availabilityZone',
29
- 'availabilityZoneId',
30
- 'state',
31
- 'cidrBlock',
32
- 'availableIpAddressCount',
33
- 'defaultForAz',
34
- 'mapPublicIpOnLaunch',
35
- 'assignIpv6AddressOnCreation',
36
- 'ipv6Native',
37
- 'ownerId',
38
- 'customerOwnedIpv4Pool',
39
- 'mapCustomerOwnedIpOnLaunch',
40
- 'outpostArn',
41
- 'enableDns64',
42
- 'enableLniAtDeviceIndex',
43
- 'privateDnsHostnameType',
44
- 'privateDnsEnableResourceNameDnsARecord',
45
- 'privateDnsEnableResourceNameDnsAAAARecord',
46
- 'ipv6CidrBlockAssociations',
47
- ],
48
- 'route-table': ['routeTableArn', 'routeTableId', 'vpcId', 'ownerId', 'hasMainAssociation', 'associations'],
49
- 'internet-gateway': ['internetGatewayArn', 'internetGatewayId', 'ownerId', 'attachments', 'attachedVpcIds'],
50
- 'virtual-private-gateway': [
51
- 'virtualPrivateGatewayArn',
52
- 'virtualPrivateGatewayId',
53
- 'amazonSideAsn',
54
- 'availabilityZone',
55
- 'state',
56
- 'type',
57
- 'attachments',
58
- 'attachedVpcIds',
59
- ],
60
- 'network-interface': [
61
- 'networkInterfaceId',
62
- 'ownerId',
63
- 'subnetId',
64
- 'vpcId',
65
- 'availabilityZone',
66
- 'status',
67
- 'interfaceType',
68
- 'requesterManaged',
69
- 'requesterId',
70
- 'privateIpAddress',
71
- 'attachmentInstanceId',
72
- ],
73
- 'nat-gateway': [
74
- 'natGatewayId',
75
- 'natGatewayArn',
76
- 'subnetId',
77
- 'vpcId',
78
- 'availabilityZone',
79
- 'state',
80
- 'connectivityType',
81
- 'failureCode',
82
- 'failureMessage',
83
- 'createTime',
84
- 'deleteTime',
85
- 'addresses',
86
- ],
87
- 'security-group': ['groupId', 'securityGroupArn', 'groupName', 'description', 'vpcId', 'ownerId'],
88
- 'rds-db-cluster': [
89
- 'dbClusterResourceId',
90
- 'dbClusterIdentifier',
91
- 'dbClusterArn',
92
- 'engine',
93
- 'engineVersion',
94
- 'engineMode',
95
- 'status',
96
- 'serverlessV2MinCapacityAcu',
97
- 'serverlessV2MaxCapacityAcu',
98
- 'serverlessV2SecondsUntilAutoPause',
99
- 'serverlessV2PlatformVersion',
100
- 'globalClusterIdentifier',
101
- 'clusterScalabilityType',
102
- 'limitlessDatabaseStatus',
103
- 'endpointAddress',
104
- 'readerEndpointAddress',
105
- 'hostedZoneId',
106
- 'endpointPort',
107
- 'availabilityZones',
108
- 'storageEncrypted',
109
- 'kmsKeyId',
110
- 'deletionProtection',
111
- 'copyTagsToSnapshot',
112
- 'dbProxyNames',
113
- 'dbClusterMemberIdentifiers',
114
- 'dbClusterMembers',
115
- ],
116
- 'rds-db-instance': [
117
- 'dbInstanceIdentifier',
118
- 'dbiResourceId',
119
- 'dbInstanceArn',
120
- 'engine',
121
- 'engineVersion',
122
- 'dbInstanceClass',
123
- 'status',
124
- 'availabilityZone',
125
- 'vpcId',
126
- 'dbSubnetGroupName',
127
- 'dbClusterIdentifier',
128
- ],
129
- 'load-balancer-v2': ['loadBalancerArn', 'loadBalancerName', 'loadBalancerType', 'scheme', 'state', 'vpcId', 'subnetIds', 'availabilityZoneNames'],
130
- 'classic-load-balancer': ['loadBalancerName', 'scheme', 'vpcId', 'subnetIds', 'availabilityZoneNames', 'securityGroupIds', 'instanceIds'],
131
- 'elasticache-cache-cluster': [
132
- 'cacheClusterId',
133
- 'cacheClusterArn',
134
- 'engine',
135
- 'engineVersion',
136
- 'status',
137
- 'cacheNodeType',
138
- 'preferredAvailabilityZone',
139
- 'cacheSubnetGroupName',
140
- 'replicationGroupId',
141
- 'replicationGroupGlobalReplicationGroupId',
142
- 'kmsKeyId',
143
- ],
144
- 'elasticache-serverless-cache': ['serverlessCacheName', 'serverlessCacheArn', 'engine', 'majorEngineVersion', 'status', 'subnetIds', 'kmsKeyId'],
145
- 'efs-file-system': ['fileSystemId', 'fileSystemArn', 'name', 'state', 'availabilityZoneName', 'encrypted', 'kmsKeyId'],
146
- };
147
- const REQUIRED_RESOURCE_KEYS = {
148
- 'ec2-instance': ['instanceId', 'instanceArn'],
149
- 'ebs-volume': ['volumeId', 'volumeArn', 'attachments'],
150
- vpc: ['vpcId', 'vpcArn', 'cidrBlockAssociations', 'ipv6CidrBlockAssociations'],
151
- subnet: ['subnetArn', 'subnetId', 'ipv6CidrBlockAssociations'],
152
- 'route-table': ['routeTableArn', 'routeTableId', 'hasMainAssociation', 'associations'],
153
- 'internet-gateway': ['internetGatewayArn', 'internetGatewayId', 'attachments', 'attachedVpcIds'],
154
- 'virtual-private-gateway': ['virtualPrivateGatewayArn', 'virtualPrivateGatewayId', 'attachments', 'attachedVpcIds'],
155
- 'network-interface': ['networkInterfaceId'],
156
- 'nat-gateway': ['natGatewayId', 'natGatewayArn', 'addresses'],
157
- 'security-group': ['groupId', 'groupName'],
158
- 'rds-db-cluster': [
159
- 'dbClusterResourceId',
160
- 'dbClusterIdentifier',
161
- 'dbClusterArn',
162
- 'availabilityZones',
163
- 'dbProxyNames',
164
- 'dbClusterMemberIdentifiers',
165
- 'dbClusterMembers',
166
- ],
167
- 'rds-db-instance': ['dbInstanceIdentifier', 'dbiResourceId', 'dbInstanceArn'],
168
- 'load-balancer-v2': ['loadBalancerArn', 'loadBalancerName', 'subnetIds', 'availabilityZoneNames'],
169
- 'classic-load-balancer': ['loadBalancerName', 'subnetIds', 'availabilityZoneNames', 'securityGroupIds', 'instanceIds'],
170
- 'elasticache-cache-cluster': ['cacheClusterId', 'cacheClusterArn'],
171
- 'elasticache-serverless-cache': ['serverlessCacheName', 'serverlessCacheArn', 'subnetIds'],
172
- 'efs-file-system': ['fileSystemId', 'fileSystemArn'],
173
- };
174
- const STRING_FIELDS = new Set([
175
- 'stableKey',
176
- 'resourceType',
177
- ...Object.values(RESOURCE_KEYS)
178
- .flat()
179
- .filter(field => ![
180
- 'attachments',
181
- 'addresses',
182
- 'associations',
183
- 'attachedVpcIds',
184
- 'availabilityZoneNames',
185
- 'availabilityZones',
186
- 'cidrBlockAssociations',
187
- 'dbClusterMemberIdentifiers',
188
- 'dbClusterMembers',
189
- 'dbProxyNames',
190
- 'instanceIds',
191
- 'ipv6CidrBlockAssociations',
192
- 'securityGroupIds',
193
- 'subnetIds',
194
- 'availableIpAddressCount',
195
- 'amazonSideAsn',
196
- 'enableLniAtDeviceIndex',
197
- 'endpointPort',
198
- 'serverlessV2MaxCapacityAcu',
199
- 'serverlessV2MinCapacityAcu',
200
- 'serverlessV2SecondsUntilAutoPause',
201
- 'sizeGiB',
202
- 'assignIpv6AddressOnCreation',
203
- 'copyTagsToSnapshot',
204
- 'defaultForAz',
205
- 'deletionProtection',
206
- 'enableDns64',
207
- 'encrypted',
208
- 'hasMainAssociation',
209
- 'ipv6Native',
210
- 'isDefault',
211
- 'mapCustomerOwnedIpOnLaunch',
212
- 'mapPublicIpOnLaunch',
213
- 'privateDnsEnableResourceNameDnsARecord',
214
- 'privateDnsEnableResourceNameDnsAAAARecord',
215
- 'requesterManaged',
216
- 'storageEncrypted',
217
- ].includes(field)),
218
- ]);
219
- const NUMBER_FIELDS = new Set([
220
- 'amazonSideAsn',
221
- 'availableIpAddressCount',
222
- 'enableLniAtDeviceIndex',
223
- 'endpointPort',
224
- 'serverlessV2MaxCapacityAcu',
225
- 'serverlessV2MinCapacityAcu',
226
- 'serverlessV2SecondsUntilAutoPause',
227
- 'sizeGiB',
228
- ]);
229
- const BOOLEAN_FIELDS = new Set([
230
- 'assignIpv6AddressOnCreation',
231
- 'copyTagsToSnapshot',
232
- 'defaultForAz',
233
- 'deletionProtection',
234
- 'enableDns64',
235
- 'encrypted',
236
- 'hasMainAssociation',
237
- 'ipv6Native',
238
- 'isDefault',
239
- 'mapCustomerOwnedIpOnLaunch',
240
- 'mapPublicIpOnLaunch',
241
- 'privateDnsEnableResourceNameDnsARecord',
242
- 'privateDnsEnableResourceNameDnsAAAARecord',
243
- 'requesterManaged',
244
- 'storageEncrypted',
245
- ]);
246
- const STRING_ARRAY_FIELDS = new Set([
247
- 'attachedVpcIds',
248
- 'availabilityZoneNames',
249
- 'availabilityZones',
250
- 'dbClusterMemberIdentifiers',
251
- 'dbProxyNames',
252
- 'instanceIds',
253
- 'securityGroupIds',
254
- 'subnetIds',
255
- ]);
256
- function validateAwsPortalRelationshipResourceNode(data, accountId, regions, field) {
257
- (0, portalPublicArtifactValidationCommon_1.assertValue)(data.provider, 'aws', `${field}.provider`);
258
- (0, pluginPublicArtifactValidationHelpers_1.assertAccount)(data.accountId, accountId, `${field}.accountId`);
259
- const resourceRegion = (0, portalPublicArtifactValidationCommon_1.requiredString)(data.resourceRegion, `${field}.resourceRegion`);
260
- if (!regions.has(resourceRegion))
261
- throw new Error(`${field}.resourceRegion is outside artifact scope.`);
262
- const family = (0, portalPublicArtifactValidationCommon_1.requiredEnum)(data.family, portalRelationshipPublicArtifacts_1.AWS_PORTAL_RELATIONSHIP_DISCOVERY_FAMILIES, `${field}.family`);
263
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(data, [...RESOURCE_COMMON_KEYS, ...RESOURCE_KEYS[family]], field);
264
- (0, pluginPublicArtifactValidationHelpers_1.assertRequiredKeys)(data, ['provider', 'accountId', 'family', 'resourceRegion', 'stableKey', 'resourceType', ...REQUIRED_RESOURCE_KEYS[family]], field);
265
- for (const key of Object.keys(data)) {
266
- if (STRING_FIELDS.has(key) && data[key] !== undefined)
267
- (0, portalPublicArtifactValidationCommon_1.requiredString)(data[key], `${field}.${key}`);
268
- if (NUMBER_FIELDS.has(key) && data[key] !== undefined)
269
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(data[key], `${field}.${key}`);
270
- if (BOOLEAN_FIELDS.has(key) && data[key] !== undefined)
271
- (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(data[key], `${field}.${key}`);
272
- if (STRING_ARRAY_FIELDS.has(key) && data[key] !== undefined)
273
- (0, portalPublicArtifactValidationCommon_1.stringArray)(data[key], `${field}.${key}`);
274
- }
275
- if (data.tags !== undefined)
276
- validateTags(data.tags, `${field}.tags`);
277
- if (data.billing !== undefined)
278
- (0, portalPublicArtifactNestedEvidenceValidation_1.validateResourceBillingEvidence)(data.billing, `${field}.billing`);
279
- validateNativeScopeIdentity(data, accountId, resourceRegion, field);
280
- validateNestedResourceArrays(data, family, field);
281
- }
282
- function validateNativeScopeIdentity(data, accountId, resourceRegion, field) {
283
- if (data.ownerId !== undefined)
284
- (0, pluginPublicArtifactValidationHelpers_1.assertAccount)(data.ownerId, accountId, `${field}.ownerId`);
285
- Object.entries(data).forEach(([key, value]) => {
286
- if (typeof value !== 'string')
287
- return;
288
- if (key.endsWith('Arn') || key === 'stableKey' || key === 'kmsKeyId') {
289
- if (value.startsWith('arn:'))
290
- validateScopedArn(value, accountId, resourceRegion, `${field}.${key}`);
291
- }
292
- if (['availabilityZone', 'availabilityZoneName', 'preferredAvailabilityZone'].includes(key))
293
- validateAvailabilityZone(value, resourceRegion, `${field}.${key}`);
294
- });
295
- for (const key of ['availabilityZones', 'availabilityZoneNames']) {
296
- if (!Array.isArray(data[key]))
297
- continue;
298
- data[key].forEach((value, index) => {
299
- if (typeof value === 'string')
300
- validateAvailabilityZone(value, resourceRegion, `${field}.${key}[${index}]`);
301
- });
302
- }
303
- }
304
- function validateScopedArn(value, accountId, resourceRegion, field) {
305
- const match = /^arn:(aws(?:-[a-z0-9-]+)?):[^:]+:([^:]*):([^:]*):.+$/.exec(value);
306
- if (!match)
307
- throw new Error(`${field} must be a canonical AWS ARN.`);
308
- const [, , arnRegion, arnAccountId] = match;
309
- if (arnRegion !== resourceRegion)
310
- throw new Error(`${field} ARN Region must match its resource node.`);
311
- if (arnAccountId !== accountId)
312
- throw new Error(`${field} ARN account must match its resource node.`);
313
- }
314
- function validateAvailabilityZone(value, resourceRegion, field) {
315
- if (resourceRegion === 'global' || value === resourceRegion || !value.startsWith(resourceRegion))
316
- throw new Error(`${field} must belong to its resource Region.`);
317
- }
318
- function validateTags(value, field) {
319
- const tags = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
320
- Object.entries(tags).forEach(([key, tagValue]) => {
321
- (0, portalPublicArtifactValidationCommon_1.requiredString)(key, `${field} key`);
322
- (0, portalPublicArtifactValidationCommon_1.requiredString)(tagValue, `${field}.${key}`);
323
- });
324
- }
325
- function validateNestedResourceArrays(data, family, field) {
326
- if (family === 'vpc') {
327
- validateObjectArray(data.cidrBlockAssociations, ['associationId', 'cidrBlock', 'state'], ['cidrBlock'], `${field}.cidrBlockAssociations`);
328
- validateObjectArray(data.ipv6CidrBlockAssociations, ['associationId', 'ipv6CidrBlock', 'state'], ['ipv6CidrBlock'], `${field}.ipv6CidrBlockAssociations`);
329
- }
330
- else if (family === 'subnet') {
331
- validateObjectArray(data.ipv6CidrBlockAssociations, ['associationId', 'ipv6CidrBlock', 'state'], ['ipv6CidrBlock'], `${field}.ipv6CidrBlockAssociations`);
332
- }
333
- else if (family === 'route-table') {
334
- validateObjectArray(data.associations, ['associationId', 'subnetId', 'gatewayId', 'main', 'associationState', 'associationStateMessage'], [], `${field}.associations`);
335
- }
336
- else if (family === 'internet-gateway' || family === 'virtual-private-gateway') {
337
- validateObjectArray(data.attachments, ['vpcId', 'state'], [], `${field}.attachments`);
338
- }
339
- else if (family === 'ebs-volume') {
340
- validateObjectArray(data.attachments, ['instanceId', 'device', 'state', 'attachTime', 'deleteOnTermination'], [], `${field}.attachments`);
341
- }
342
- else if (family === 'nat-gateway') {
343
- validateObjectArray(data.addresses, ['allocationId', 'associationId', 'isPrimary', 'networkInterfaceId', 'privateIp', 'publicIp', 'status'], [], `${field}.addresses`);
344
- }
345
- else if (family === 'rds-db-cluster') {
346
- validateObjectArray(data.dbClusterMembers, ['dbInstanceIdentifier', 'isClusterWriter', 'promotionTier'], ['dbInstanceIdentifier'], `${field}.dbClusterMembers`);
347
- }
348
- }
349
- function validateObjectArray(value, keys, required, field) {
350
- asArray(value, field).forEach((entry, index) => {
351
- const itemField = `${field}[${index}]`;
352
- const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
353
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, keys, itemField);
354
- (0, pluginPublicArtifactValidationHelpers_1.assertRequiredKeys)(item, required, itemField);
355
- Object.entries(item).forEach(([key, itemValue]) => {
356
- if (itemValue === undefined)
357
- return;
358
- if (['main', 'deleteOnTermination', 'isPrimary', 'isClusterWriter'].includes(key))
359
- (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(itemValue, `${itemField}.${key}`);
360
- else if (key === 'promotionTier')
361
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(itemValue, `${itemField}.${key}`);
362
- else
363
- (0, portalPublicArtifactValidationCommon_1.requiredString)(itemValue, `${itemField}.${key}`);
364
- });
365
- });
366
- }
367
- function asArray(value, field) {
368
- if (!Array.isArray(value))
369
- throw new Error(`${field} must be an array.`);
370
- return value;
371
- }
372
- //# sourceMappingURL=portalRelationshipResourceNodeValidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portalRelationshipResourceNodeValidation.js","sourceRoot":"","sources":["../../src/aws/portalRelationshipResourceNodeValidation.ts"],"names":[],"mappings":"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"}
@@ -1,217 +0,0 @@
1
- import { AWS_PLUGIN_PUBLIC_ARTIFACT_SCHEMA_VERSION, buildAwsPluginResourceLogicalName, buildAwsPluginSubscriptionLogicalName, sha256AwsPluginIdentity, } from './pluginPublicArtifacts.js';
2
- import { AWS_PUBLIC_ARTIFACT_SCHEMA_VERSION } from './publicArtifacts.js';
3
- import { asRecord, assertAccount, assertExactKeys, assertJsonEqual, assertPublicJson, assertValue, isoTimestamp, optionalEnum, requiredEnum, requiredString, sha256, stringArray, validateBilling, validateMetricWindow, validateSelector, validateTagRuleScope, } from './pluginPublicArtifactValidationHelpers.js';
4
- import { validateResourceSections, validateSubscriptionSections } from './pluginPublicArtifactSectionValidation.js';
5
- export { validateSourceBinding } from './pluginPublicArtifactSectionValidation.js';
6
- /** Validates and returns one lossless AWS plugin subscription-detail body. */
7
- export function validateAwsPluginSubscriptionDetailArtifact(value) {
8
- const artifact = asRecord(value, 'artifact');
9
- assertExactKeys(artifact, [
10
- 'schemaVersion',
11
- 'pluginSchemaVersion',
12
- 'provider',
13
- 'accountId',
14
- 'artifactType',
15
- 'artifactGeneration',
16
- 'generatedAt',
17
- 'logicalName',
18
- 'target',
19
- 'sections',
20
- ], 'artifact');
21
- validateArtifactEnvelope(artifact, 'plugin-subscription');
22
- const target = validateTarget(artifact.target, 'subscription-detail');
23
- const accountId = requiredString(artifact.accountId, 'artifact.accountId');
24
- assertAccount(target.accountId, accountId, 'artifact.target.accountId');
25
- assertValue(artifact.logicalName, buildAwsPluginSubscriptionLogicalName(target.targetKeySha256), 'artifact.logicalName');
26
- validateSubscriptionSections(artifact.sections, target, requiredString(artifact.generatedAt, 'artifact.generatedAt'));
27
- assertPublicJson(artifact, 'artifact');
28
- return value;
29
- }
30
- /** Validates and returns one lossless AWS plugin resource-detail body. */
31
- export function validateAwsPluginResourceDetailArtifact(value) {
32
- const artifact = asRecord(value, 'artifact');
33
- assertExactKeys(artifact, [
34
- 'schemaVersion',
35
- 'pluginSchemaVersion',
36
- 'provider',
37
- 'accountId',
38
- 'artifactType',
39
- 'artifactGeneration',
40
- 'generatedAt',
41
- 'logicalName',
42
- 'target',
43
- 'selector',
44
- 'stableKey',
45
- 'sections',
46
- ], 'artifact');
47
- validateArtifactEnvelope(artifact, 'plugin-resource');
48
- const target = validateTarget(artifact.target, 'resource-detail');
49
- const accountId = requiredString(artifact.accountId, 'artifact.accountId');
50
- assertAccount(target.accountId, accountId, 'artifact.target.accountId');
51
- assertValue(artifact.logicalName, buildAwsPluginResourceLogicalName(target.stableKeySha256, target.targetKeySha256), 'artifact.logicalName');
52
- assertJsonEqual(artifact.selector, target.selector, 'artifact.selector');
53
- assertValue(artifact.stableKey, target.stableKey, 'artifact.stableKey');
54
- validateResourceSections(artifact.sections, target, requiredString(artifact.generatedAt, 'artifact.generatedAt'));
55
- assertPublicJson(artifact, 'artifact');
56
- return value;
57
- }
58
- function validateArtifactEnvelope(artifact, artifactType) {
59
- assertValue(artifact.schemaVersion, AWS_PUBLIC_ARTIFACT_SCHEMA_VERSION, 'artifact.schemaVersion');
60
- assertValue(artifact.pluginSchemaVersion, AWS_PLUGIN_PUBLIC_ARTIFACT_SCHEMA_VERSION, 'artifact.pluginSchemaVersion');
61
- assertValue(artifact.provider, 'aws', 'artifact.provider');
62
- requiredString(artifact.accountId, 'artifact.accountId');
63
- assertValue(artifact.artifactType, artifactType, 'artifact.artifactType');
64
- const generation = validateGeneration(artifact.artifactGeneration, 'artifact.artifactGeneration');
65
- assertValue(isoTimestamp(artifact.generatedAt, 'artifact.generatedAt'), generation.generatedAt, 'artifact.generatedAt');
66
- }
67
- function validateGeneration(value, field) {
68
- const generation = asRecord(value, field);
69
- assertExactKeys(generation, ['runId', 'generatedAt'], field);
70
- return {
71
- runId: requiredString(generation.runId, `${field}.runId`),
72
- generatedAt: isoTimestamp(generation.generatedAt, `${field}.generatedAt`),
73
- };
74
- }
75
- export function validateTarget(value, kind) {
76
- const target = asRecord(value, 'target');
77
- assertValue(target.kind, kind, 'target.kind');
78
- assertValue(target.provider, 'aws', 'target.provider');
79
- requiredString(target.accountId, 'target.accountId');
80
- requiredString(target.targetKey, 'target.targetKey');
81
- sha256(target.targetKeySha256, 'target.targetKeySha256');
82
- assertValue(target.targetKeySha256, sha256AwsPluginIdentity(requiredString(target.targetKey, 'target.targetKey')), 'target.targetKeySha256');
83
- validateBilling(target.billing);
84
- stringArray(target.resourceRegions, 'target.resourceRegions');
85
- validateMetricWindow(target.metricTimeWindow, 'target.metricTimeWindow');
86
- validateRecommendationScopes(target.recommendationScopes, requiredString(target.accountId, 'target.accountId'));
87
- if (kind === 'subscription-detail') {
88
- assertExactKeys(target, [
89
- 'kind',
90
- 'provider',
91
- 'accountId',
92
- 'targetKey',
93
- 'targetKeySha256',
94
- 'accountSummaryTargetKey',
95
- 'resourceCollectionTargetKey',
96
- 'recommendationsTargetKey',
97
- 'aiCostSummaryTargetKey',
98
- 'serviceRetirementTargetKey',
99
- 'commitmentAnalysisTargetKey',
100
- 'reliabilityTargetKey',
101
- 'accountGovernanceTargetKey',
102
- 'billing',
103
- 'resourceRegions',
104
- 'metricTimeWindow',
105
- 'aiCostSummaryAudience',
106
- 'serviceRetirementRegions',
107
- 'recommendationScopes',
108
- 'commitmentAnalysis',
109
- 'reliability',
110
- 'accountGovernance',
111
- ], 'target');
112
- optionalEnum(target.aiCostSummaryAudience, ['portal', 'plugin'], 'target.aiCostSummaryAudience');
113
- requiredString(target.accountSummaryTargetKey, 'target.accountSummaryTargetKey');
114
- requiredString(target.resourceCollectionTargetKey, 'target.resourceCollectionTargetKey');
115
- requiredString(target.recommendationsTargetKey, 'target.recommendationsTargetKey');
116
- requiredString(target.serviceRetirementTargetKey, 'target.serviceRetirementTargetKey');
117
- validateOptionalTargetKey(target.aiCostSummaryTargetKey, target.aiCostSummaryAudience !== undefined, 'target.aiCostSummaryTargetKey');
118
- validateOptionalTargetKey(target.commitmentAnalysisTargetKey, target.commitmentAnalysis !== undefined, 'target.commitmentAnalysisTargetKey');
119
- validateOptionalTargetKey(target.reliabilityTargetKey, target.reliability !== undefined, 'target.reliabilityTargetKey');
120
- validateOptionalTargetKey(target.accountGovernanceTargetKey, target.accountGovernance !== undefined, 'target.accountGovernanceTargetKey');
121
- stringArray(target.serviceRetirementRegions, 'target.serviceRetirementRegions');
122
- validateCommitmentAnalysisTarget(target.commitmentAnalysis);
123
- validateReliabilityTarget(target.reliability);
124
- validateAccountGovernanceTarget(target.accountGovernance);
125
- }
126
- else {
127
- assertExactKeys(target, [
128
- 'kind',
129
- 'provider',
130
- 'accountId',
131
- 'targetKey',
132
- 'targetKeySha256',
133
- 'resourceCollectionTargetKey',
134
- 'recommendationsTargetKey',
135
- 'billing',
136
- 'resourceRegions',
137
- 'metricTimeWindow',
138
- 'tagRuleScope',
139
- 'selector',
140
- 'stableKey',
141
- 'stableKeySha256',
142
- 'relationshipTargetKey',
143
- 'serviceRetirementTargetKey',
144
- 'recommendationScopes',
145
- ], 'target');
146
- validateTagRuleScope(target.tagRuleScope);
147
- requiredString(target.resourceCollectionTargetKey, 'target.resourceCollectionTargetKey');
148
- requiredString(target.recommendationsTargetKey, 'target.recommendationsTargetKey');
149
- validateSelector(target.selector, 'target.selector');
150
- const stableKey = requiredString(target.stableKey, 'target.stableKey');
151
- if (asRecord(target.selector, 'target.selector').kind === 'stable-key') {
152
- assertValue(asRecord(target.selector, 'target.selector').stableKey, stableKey, 'target.selector.stableKey');
153
- }
154
- sha256(target.stableKeySha256, 'target.stableKeySha256');
155
- assertValue(target.stableKeySha256, sha256AwsPluginIdentity(stableKey), 'target.stableKeySha256');
156
- requiredString(target.relationshipTargetKey, 'target.relationshipTargetKey');
157
- requiredString(target.serviceRetirementTargetKey, 'target.serviceRetirementTargetKey');
158
- }
159
- return value;
160
- }
161
- function validateOptionalTargetKey(value, required, field) {
162
- if (required)
163
- requiredString(value, field);
164
- else if (value !== undefined)
165
- throw new Error(`${field} requires its corresponding optional target.`);
166
- }
167
- function validateCommitmentAnalysisTarget(value) {
168
- if (value === undefined)
169
- return;
170
- const target = asRecord(value, 'target.commitmentAnalysis');
171
- assertExactKeys(target, ['resourceRegions', 'maxBenefitEntries'], 'target.commitmentAnalysis');
172
- stringArray(target.resourceRegions, 'target.commitmentAnalysis.resourceRegions');
173
- if (!Number.isSafeInteger(target.maxBenefitEntries) || Number(target.maxBenefitEntries) <= 0) {
174
- throw new Error('target.commitmentAnalysis.maxBenefitEntries must be a positive safe integer.');
175
- }
176
- }
177
- function validateReliabilityTarget(value) {
178
- if (value === undefined)
179
- return;
180
- const target = asRecord(value, 'target.reliability');
181
- assertExactKeys(target, ['includeTemplateContent', 'includeScoring', 'maxResultsPerSection', 'sectionScopeKeys'], 'target.reliability');
182
- if (target.includeTemplateContent !== undefined)
183
- assertValue(target.includeTemplateContent, true, 'target.reliability.includeTemplateContent');
184
- if (target.includeScoring !== undefined)
185
- assertValue(target.includeScoring, true, 'target.reliability.includeScoring');
186
- if (!Number.isSafeInteger(target.maxResultsPerSection) || Number(target.maxResultsPerSection) <= 0) {
187
- throw new Error('target.reliability.maxResultsPerSection must be a positive safe integer.');
188
- }
189
- stringArray(target.sectionScopeKeys, 'target.reliability.sectionScopeKeys');
190
- }
191
- function validateAccountGovernanceTarget(value) {
192
- if (value === undefined)
193
- return;
194
- const target = asRecord(value, 'target.accountGovernance');
195
- assertExactKeys(target, ['apiRegion'], 'target.accountGovernance');
196
- requiredString(target.apiRegion, 'target.accountGovernance.apiRegion');
197
- }
198
- function validateRecommendationScopes(value, accountId) {
199
- if (!Array.isArray(value))
200
- throw new Error('target.recommendationScopes must be an array.');
201
- const scopes = value;
202
- scopes.forEach((value, index) => {
203
- const field = `target.recommendationScopes[${index}]`;
204
- const scope = asRecord(value, field);
205
- assertExactKeys(scope, ['source', 'scope', 'accountId', 'scopeDiscriminator', 'computeOptimizerFamily', 'resourceRegions', 'targetKey', 'actionabilityTargetKey'], field);
206
- requiredEnum(scope.source, ['custom', 'compute-optimizer', 'cost-optimization-hub', 'resilience-hub', 'security-hub', 'trusted-advisor', 'well-architected'], `${field}.source`);
207
- assertValue(scope.scope, 'account', `${field}.scope`);
208
- assertAccount(scope.accountId, accountId, `${field}.accountId`);
209
- if (scope.scopeDiscriminator !== undefined)
210
- requiredString(scope.scopeDiscriminator, `${field}.scopeDiscriminator`);
211
- if (scope.computeOptimizerFamily !== undefined)
212
- requiredString(scope.computeOptimizerFamily, `${field}.computeOptimizerFamily`);
213
- stringArray(scope.resourceRegions, `${field}.resourceRegions`);
214
- requiredString(scope.targetKey, `${field}.targetKey`);
215
- requiredString(scope.actionabilityTargetKey, `${field}.actionabilityTargetKey`);
216
- });
217
- }