@spottoai/types-package 1.0.2-beta.20 → 1.0.2-beta.200

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 (198) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -11
  3. package/dist/accounts/accounts.d.ts +45 -3
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/accounts/index.d.ts +3 -0
  6. package/dist/accounts/index.d.ts.map +1 -1
  7. package/dist/accounts/index.js +3 -0
  8. package/dist/accounts/index.js.map +1 -1
  9. package/dist/accounts/readPermissions.d.ts +45 -0
  10. package/dist/accounts/readPermissions.d.ts.map +1 -0
  11. package/dist/accounts/readPermissions.js +70 -0
  12. package/dist/accounts/readPermissions.js.map +1 -0
  13. package/dist/accounts/validation.d.ts +24 -0
  14. package/dist/accounts/validation.d.ts.map +1 -0
  15. package/dist/accounts/validation.js +3 -0
  16. package/dist/accounts/validation.js.map +1 -0
  17. package/dist/accounts/writePermissions.d.ts +34 -0
  18. package/dist/accounts/writePermissions.d.ts.map +1 -0
  19. package/dist/accounts/writePermissions.js +37 -0
  20. package/dist/accounts/writePermissions.js.map +1 -0
  21. package/dist/ai/index.d.ts +975 -9
  22. package/dist/ai/index.d.ts.map +1 -1
  23. package/dist/ai/index.js +1 -1
  24. package/dist/ai/index.js.map +1 -1
  25. package/dist/azure/benefits.d.ts +137 -0
  26. package/dist/azure/benefits.d.ts.map +1 -0
  27. package/dist/azure/benefits.js +3 -0
  28. package/dist/azure/benefits.js.map +1 -0
  29. package/dist/azure/billingPlots.d.ts +249 -0
  30. package/dist/azure/billingPlots.d.ts.map +1 -0
  31. package/dist/azure/billingPlots.js +6 -0
  32. package/dist/azure/billingPlots.js.map +1 -0
  33. package/dist/azure/budgets.d.ts +4 -0
  34. package/dist/azure/budgets.d.ts.map +1 -1
  35. package/dist/azure/commitmentsPlanning.d.ts +159 -0
  36. package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
  37. package/dist/azure/commitmentsPlanning.js +3 -0
  38. package/dist/azure/commitmentsPlanning.js.map +1 -0
  39. package/dist/azure/common.d.ts +34 -0
  40. package/dist/azure/common.d.ts.map +1 -1
  41. package/dist/azure/configs.d.ts +75 -2
  42. package/dist/azure/configs.d.ts.map +1 -1
  43. package/dist/azure/costEstimation.d.ts +78 -0
  44. package/dist/azure/costEstimation.d.ts.map +1 -0
  45. package/dist/azure/costEstimation.js +3 -0
  46. package/dist/azure/costEstimation.js.map +1 -0
  47. package/dist/azure/governance.d.ts +370 -0
  48. package/dist/azure/governance.d.ts.map +1 -0
  49. package/dist/azure/governance.js +8 -0
  50. package/dist/azure/governance.js.map +1 -0
  51. package/dist/azure/metrics.d.ts +75 -4
  52. package/dist/azure/metrics.d.ts.map +1 -1
  53. package/dist/azure/payloads.d.ts +20 -1
  54. package/dist/azure/payloads.d.ts.map +1 -1
  55. package/dist/azure/prices.d.ts +179 -1
  56. package/dist/azure/prices.d.ts.map +1 -1
  57. package/dist/azure/recommendationAudit.d.ts +113 -0
  58. package/dist/azure/recommendationAudit.d.ts.map +1 -0
  59. package/dist/azure/recommendationAudit.js +10 -0
  60. package/dist/azure/recommendationAudit.js.map +1 -0
  61. package/dist/azure/recommendationState.d.ts +91 -2
  62. package/dist/azure/recommendationState.d.ts.map +1 -1
  63. package/dist/azure/recommendations.d.ts +362 -5
  64. package/dist/azure/recommendations.d.ts.map +1 -1
  65. package/dist/azure/recommendations.js.map +1 -1
  66. package/dist/azure/relationships.d.ts +77 -0
  67. package/dist/azure/relationships.d.ts.map +1 -0
  68. package/dist/azure/relationships.js +3 -0
  69. package/dist/azure/relationships.js.map +1 -0
  70. package/dist/azure/reports.d.ts +248 -0
  71. package/dist/azure/reports.d.ts.map +1 -1
  72. package/dist/azure/reports.js +13 -0
  73. package/dist/azure/reports.js.map +1 -1
  74. package/dist/azure/resources.d.ts +39 -0
  75. package/dist/azure/resources.d.ts.map +1 -1
  76. package/dist/azure/reviewChecklist.d.ts +139 -0
  77. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  78. package/dist/azure/reviewChecklist.js +3 -0
  79. package/dist/azure/reviewChecklist.js.map +1 -0
  80. package/dist/azure/security.d.ts +15 -1
  81. package/dist/azure/security.d.ts.map +1 -1
  82. package/dist/azure/serviceRetirement.d.ts +28 -0
  83. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  84. package/dist/azure/serviceRetirement.js +3 -0
  85. package/dist/azure/serviceRetirement.js.map +1 -0
  86. package/dist/azure/serviceRetirementState.d.ts +22 -0
  87. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  88. package/dist/azure/serviceRetirementState.js +3 -0
  89. package/dist/azure/serviceRetirementState.js.map +1 -0
  90. package/dist/azure/storage-inventory.d.ts +241 -0
  91. package/dist/azure/storage-inventory.d.ts.map +1 -0
  92. package/dist/azure/storage-inventory.js +3 -0
  93. package/dist/azure/storage-inventory.js.map +1 -0
  94. package/dist/azure/subscriptions.d.ts +34 -13
  95. package/dist/azure/subscriptions.d.ts.map +1 -1
  96. package/dist/azure/views.d.ts +149 -3
  97. package/dist/azure/views.d.ts.map +1 -1
  98. package/dist/common/index.d.ts +1 -0
  99. package/dist/common/index.d.ts.map +1 -1
  100. package/dist/common/index.js +1 -0
  101. package/dist/common/index.js.map +1 -1
  102. package/dist/common/pagination.d.ts +3 -0
  103. package/dist/common/pagination.d.ts.map +1 -1
  104. package/dist/common/provider.d.ts +9 -0
  105. package/dist/common/provider.d.ts.map +1 -0
  106. package/dist/common/provider.js +9 -0
  107. package/dist/common/provider.js.map +1 -0
  108. package/dist/company/billingAccount.d.ts +30 -0
  109. package/dist/company/billingAccount.d.ts.map +1 -0
  110. package/dist/company/billingAccount.js +3 -0
  111. package/dist/company/billingAccount.js.map +1 -0
  112. package/dist/company/company.d.ts +28 -1
  113. package/dist/company/company.d.ts.map +1 -1
  114. package/dist/company/index.d.ts +1 -0
  115. package/dist/company/index.d.ts.map +1 -1
  116. package/dist/company/index.js +1 -0
  117. package/dist/company/index.js.map +1 -1
  118. package/dist/company/notification.d.ts +31 -1
  119. package/dist/company/notification.d.ts.map +1 -1
  120. package/dist/company/notification.js +24 -12
  121. package/dist/company/notification.js.map +1 -1
  122. package/dist/company/survey.d.ts +3 -0
  123. package/dist/company/survey.d.ts.map +1 -1
  124. package/dist/events/alertDefinitionRun.d.ts +23 -0
  125. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  126. package/dist/events/alertDefinitionRun.js +3 -0
  127. package/dist/events/alertDefinitionRun.js.map +1 -0
  128. package/dist/events/baseAlert.d.ts +130 -0
  129. package/dist/events/baseAlert.d.ts.map +1 -0
  130. package/dist/events/baseAlert.js +3 -0
  131. package/dist/events/baseAlert.js.map +1 -0
  132. package/dist/events/cost.d.ts +361 -0
  133. package/dist/events/cost.d.ts.map +1 -0
  134. package/dist/events/cost.js +3 -0
  135. package/dist/events/cost.js.map +1 -0
  136. package/dist/events/costAnomalies.d.ts +47 -0
  137. package/dist/events/costAnomalies.d.ts.map +1 -0
  138. package/dist/events/costAnomalies.js +3 -0
  139. package/dist/events/costAnomalies.js.map +1 -0
  140. package/dist/events/costViews.d.ts +23 -0
  141. package/dist/events/costViews.d.ts.map +1 -0
  142. package/dist/events/costViews.js +3 -0
  143. package/dist/events/costViews.js.map +1 -0
  144. package/dist/events/eventStatus.d.ts +67 -0
  145. package/dist/events/eventStatus.d.ts.map +1 -0
  146. package/dist/events/eventStatus.js +3 -0
  147. package/dist/events/eventStatus.js.map +1 -0
  148. package/dist/events/index.d.ts +7 -0
  149. package/dist/events/index.d.ts.map +1 -0
  150. package/dist/events/index.js +23 -0
  151. package/dist/events/index.js.map +1 -0
  152. package/dist/feedbacks/feedback.d.ts +9 -0
  153. package/dist/feedbacks/feedback.d.ts.map +1 -1
  154. package/dist/identity/apikey.d.ts +67 -0
  155. package/dist/identity/apikey.d.ts.map +1 -0
  156. package/dist/identity/apikey.js +3 -0
  157. package/dist/identity/apikey.js.map +1 -0
  158. package/dist/identity/index.d.ts +2 -0
  159. package/dist/identity/index.d.ts.map +1 -0
  160. package/dist/identity/index.js +18 -0
  161. package/dist/identity/index.js.map +1 -0
  162. package/dist/index.d.ts +17 -0
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +17 -1
  165. package/dist/index.js.map +1 -1
  166. package/dist/integrations/halo.d.ts +76 -0
  167. package/dist/integrations/halo.d.ts.map +1 -0
  168. package/dist/integrations/halo.js +3 -0
  169. package/dist/integrations/halo.js.map +1 -0
  170. package/dist/integrations/index.d.ts +3 -0
  171. package/dist/integrations/index.d.ts.map +1 -0
  172. package/dist/integrations/index.js +19 -0
  173. package/dist/integrations/index.js.map +1 -0
  174. package/dist/integrations/integrationTickets.d.ts +67 -0
  175. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  176. package/dist/integrations/integrationTickets.js +3 -0
  177. package/dist/integrations/integrationTickets.js.map +1 -0
  178. package/dist/scheduler/index.d.ts +2 -0
  179. package/dist/scheduler/index.d.ts.map +1 -0
  180. package/dist/scheduler/index.js +18 -0
  181. package/dist/scheduler/index.js.map +1 -0
  182. package/dist/scheduler/scheduler.d.ts +110 -0
  183. package/dist/scheduler/scheduler.d.ts.map +1 -0
  184. package/dist/scheduler/scheduler.js +3 -0
  185. package/dist/scheduler/scheduler.js.map +1 -0
  186. package/dist/tags/index.d.ts +2 -0
  187. package/dist/tags/index.d.ts.map +1 -0
  188. package/dist/tags/index.js +18 -0
  189. package/dist/tags/index.js.map +1 -0
  190. package/dist/tags/tags.d.ts +26 -0
  191. package/dist/tags/tags.d.ts.map +1 -0
  192. package/dist/tags/tags.js +10 -0
  193. package/dist/tags/tags.js.map +1 -0
  194. package/dist/unknown/services.d.ts +12 -0
  195. package/dist/unknown/services.d.ts.map +1 -0
  196. package/dist/unknown/services.js +3 -0
  197. package/dist/unknown/services.js.map +1 -0
  198. package/package.json +2 -2
@@ -0,0 +1,159 @@
1
+ import type { BenefitCostBasis, BenefitScope, BenefitType, IBenefitCoverageBreakdownEntry, IBenefitUtilization } from './benefits.js';
2
+ import type { SubscriptionSummaryLite } from './subscriptions.js';
3
+ export type CommitmentsPlanningVersion = '1.0';
4
+ export interface CommitmentsPlanningView {
5
+ version: CommitmentsPlanningVersion;
6
+ generatedAt: string;
7
+ month?: string;
8
+ subscription?: SubscriptionSummaryLite;
9
+ utilizationSummary: CommitmentsUtilizationSummary;
10
+ expirySummary: CommitmentsExpirySummary;
11
+ inventory: CommitmentsInventoryItem[];
12
+ resourceCoverage: CommitmentsResourceCoverageItem[];
13
+ obsoleteCandidates: CommitmentsObsoleteCandidate[];
14
+ reallocationOpportunities?: CommitmentsReallocationOpportunity[];
15
+ pricingContext: CommitmentsPricingContext;
16
+ termStrategy: CommitmentsTermStrategyScenario[];
17
+ }
18
+ export interface CommitmentsUtilizationSummary {
19
+ total: number;
20
+ withData: number;
21
+ sevenDayAverage?: number;
22
+ thirtyDayAverage?: number;
23
+ byBenefitType: Array<{
24
+ benefitType: BenefitType;
25
+ total: number;
26
+ withData: number;
27
+ sevenDayAverage?: number;
28
+ thirtyDayAverage?: number;
29
+ }>;
30
+ }
31
+ export interface CommitmentsExpirySummary {
32
+ expired: number;
33
+ expiring30d: number;
34
+ expiring60d: number;
35
+ expiring90d: number;
36
+ expiring180d: number;
37
+ }
38
+ export interface CommitmentsInventoryItem {
39
+ id: string;
40
+ benefitType: BenefitType;
41
+ scope: BenefitScope;
42
+ type: string;
43
+ displayName?: string;
44
+ status: 'active' | 'expired';
45
+ subscriptionId?: string;
46
+ purchaseDate?: string;
47
+ expiryDate?: string;
48
+ daysToExpiry?: number;
49
+ reservedQuantity?: number;
50
+ commitmentAmount?: number;
51
+ commitmentCurrencyCode?: string;
52
+ commitmentGrain?: string;
53
+ commitmentUnit?: string;
54
+ skuName?: string;
55
+ skuDescription?: string;
56
+ location?: string;
57
+ term?: string;
58
+ billingPlan?: string;
59
+ billingScopeId?: string;
60
+ appliedScopeDisplayName?: string;
61
+ provisioningState?: string;
62
+ renew?: boolean;
63
+ purchasedQuantity?: number;
64
+ usedQuantity?: number;
65
+ remainingQuantity?: number;
66
+ totalReservedQuantity?: number;
67
+ reservedHours?: number;
68
+ usedHours?: number;
69
+ utilization?: IBenefitUtilization;
70
+ }
71
+ export interface CommitmentsResourceCoverageItem {
72
+ resourceId: string;
73
+ resourceName?: string;
74
+ resourceType?: string;
75
+ month?: string;
76
+ benefitIds: string[];
77
+ benefitNames: string[];
78
+ basis?: BenefitCostBasis;
79
+ coveredQuantity?: number;
80
+ eligibleQuantity?: number;
81
+ coveredCost?: number;
82
+ eligibleCost?: number;
83
+ uncoveredCost?: number;
84
+ coveragePercent?: number;
85
+ recommendationIds?: string[];
86
+ recommendationType?: CommitmentsRecommendationType;
87
+ recommendedAction?: CommitmentsRecommendationAction;
88
+ recommendationImpact?: {
89
+ amount?: number;
90
+ currency?: string;
91
+ source?: 'payg-cost' | 'amortized' | 'retail' | 'unknown';
92
+ };
93
+ benefitBreakdown?: IBenefitCoverageBreakdownEntry[];
94
+ }
95
+ export type CommitmentsRecommendationType = 'reserved-instance' | 'savings-plan' | 'hybrid';
96
+ export type CommitmentsRecommendationAction = 'buy' | 'exchange' | 'resize' | 'review';
97
+ export type CommitmentsObsoleteCandidateType = 'underutilized' | 'coverage-drift' | 'sku-mismatch' | 'near-expiry';
98
+ export type CommitmentsSuggestedAction = 'renew' | 'let-expire' | 'exchange' | 'resize' | 'review';
99
+ export interface CommitmentsObsoleteCandidate {
100
+ id: string;
101
+ candidateType: CommitmentsObsoleteCandidateType;
102
+ reasonCodes: string[];
103
+ suggestedAction: CommitmentsSuggestedAction;
104
+ confidence?: number;
105
+ impactEstimate?: {
106
+ amount?: number;
107
+ currency?: string;
108
+ source?: 'payg-cost' | 'amortized' | 'retail' | 'unknown';
109
+ notes?: string;
110
+ };
111
+ relatedBenefitIds?: string[];
112
+ }
113
+ export interface CommitmentsReallocationResourceReference {
114
+ resourceId: string;
115
+ resourceName?: string;
116
+ resourceType?: string;
117
+ subscriptionId?: string;
118
+ subscriptionName?: string;
119
+ }
120
+ export interface CommitmentsReallocationOpportunity {
121
+ id: string;
122
+ fromResource: CommitmentsReallocationResourceReference;
123
+ toResource: CommitmentsReallocationResourceReference;
124
+ estimatedNetSavings?: number;
125
+ currency?: string;
126
+ source?: 'payg-cost' | 'amortized' | 'retail' | 'unknown';
127
+ confidence?: number;
128
+ assumptions?: string[];
129
+ benefitIds?: string[];
130
+ benefitNames?: string[];
131
+ recommendationIds?: string[];
132
+ obsoleteCandidateIds?: string[];
133
+ }
134
+ export interface CommitmentsPricingContext {
135
+ source: 'retail' | 'negotiated' | 'unknown' | 'recommendation-apis';
136
+ currency?: string;
137
+ assumptions?: string[];
138
+ confidenceNotes?: string;
139
+ calculatorDeepLink?: string;
140
+ }
141
+ export interface CommitmentsPolicyInputs {
142
+ earlyTerminationFeePercent?: number;
143
+ rollingCancellationCap?: number;
144
+ exchangeAllowed: boolean;
145
+ policyVersion: string;
146
+ }
147
+ export interface CommitmentsTermStrategyScenario {
148
+ scenarioId: string;
149
+ termMonths: number;
150
+ breakMonth?: number;
151
+ policyInputs: CommitmentsPolicyInputs;
152
+ projectedGrossSavings?: number;
153
+ projectedBreakCost?: number;
154
+ projectedNetSavings?: number;
155
+ breakEvenMonth?: number;
156
+ recommended?: boolean;
157
+ notes?: string;
158
+ }
159
+ //# sourceMappingURL=commitmentsPlanning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitmentsPlanning.d.ts","sourceRoot":"","sources":["../../src/azure/commitmentsPlanning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=commitmentsPlanning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitmentsPlanning.js","sourceRoot":"","sources":["../../src/azure/commitmentsPlanning.ts"],"names":[],"mappings":""}
@@ -1,22 +1,50 @@
1
1
  export interface AzureLocation {
2
+ /** e.g. "eastus" */
2
3
  name: string;
4
+ /** e.g. "East US" */
3
5
  displayName: string;
4
6
  }
5
7
  export interface MonthSummaryEntry {
8
+ /** YYYY-MM format */
6
9
  month: string;
10
+ /** sum of actual cost for the month */
7
11
  cost?: number;
12
+ /** sum of costAmortized for the month */
8
13
  costAmortized?: number;
14
+ /** YYYY-MM format - start date of billing period */
9
15
  startDate?: string;
16
+ /** YYYY-MM format - end date of billing period */
10
17
  endDate?: string;
18
+ /** Top resources by cost */
11
19
  resourceTypes: ResourceCostType[];
12
20
  }
13
21
  export interface ResourceCostType {
22
+ /** e.g. "Virtual Machines" */
14
23
  name: string;
24
+ /** e.g. 100 */
15
25
  cost: number;
26
+ /** e.g. 100 */
16
27
  costAmortized?: number;
17
28
  }
18
29
  export interface MonthSummary {
19
30
  entries: MonthSummaryEntry[];
31
+ /** ISO date string */
32
+ lastUpdated: string;
33
+ }
34
+ export interface DailySummaryEntry {
35
+ /** YYYY-MM-DD format */
36
+ date: string;
37
+ /** sum of actual cost for the day */
38
+ cost?: number;
39
+ /** sum of costAmortized for the day */
40
+ costAmortized?: number;
41
+ /** Top resources by cost */
42
+ resourceTypes: ResourceCostType[];
43
+ }
44
+ export interface DailySummary {
45
+ /** rolling last 30 days */
46
+ entries: DailySummaryEntry[];
47
+ /** ISO date string */
20
48
  lastUpdated: string;
21
49
  }
22
50
  export interface ActiveDates {
@@ -24,8 +52,11 @@ export interface ActiveDates {
24
52
  endDate: number;
25
53
  }
26
54
  export interface SpecItem {
55
+ /** e.g. RAM */
27
56
  name: string;
57
+ /** e.g. 3.5 */
28
58
  value: string;
59
+ /** e.g. GB */
29
60
  unit: string;
30
61
  }
31
62
  export interface Link {
@@ -44,8 +75,11 @@ export interface LogAnalyticsTable {
44
75
  rows: unknown[][];
45
76
  }
46
77
  export interface ActivityLog {
78
+ /** e.g. "user@contoso.com" */
47
79
  caller: string;
80
+ /** e.g. Update hosting plan */
48
81
  change: string;
82
+ /** e.g. Use the submissionTimestamp */
49
83
  timestamp: string;
50
84
  }
51
85
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/azure/common.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/azure/common.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,sBAAsB;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,sBAAsB;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,6 +1,59 @@
1
- import { MetricDescription, MetricsDisplay } from './metrics.js';
1
+ import { AzureResourceMetric, MetricDescription, MetricsDisplay } from './metrics.js';
2
2
  import { ResourceLink, ResourceTypeReference } from './resources.js';
3
- import { AzureResourceMetric } from './metrics.js';
3
+ export type BillingProfileSupport = 'ready' | 'partial' | 'manual_review';
4
+ export type BillingScope = 'none' | 'self' | 'parent' | 'derived';
5
+ export type BillingModel = 'non_billable' | 'base_only' | 'usage_only' | 'base_plus_usage' | 'tiered_usage' | 'conditional' | 'variant_priced' | 'unknown';
6
+ export type BillingComponentKind = 'base' | 'usage' | 'supporting' | 'linked' | 'parent_rollup';
7
+ export type BillingQuantitySource = 'none' | 'fixed_time' | 'resource_property' | 'billing_row' | 'metric' | 'linked_resource';
8
+ export type PricingLookupLocationPolicy = 'local_only' | 'local_then_global';
9
+ export type PricingLookupMatchCondition = 'vm_license_charge' | 'public_ip_base_charge';
10
+ export interface BillingVariantSignal {
11
+ expression: string;
12
+ notes?: string;
13
+ }
14
+ export interface BillingCandidatePolicy {
15
+ policy: string;
16
+ when?: string;
17
+ value?: string | boolean | number;
18
+ notes?: string;
19
+ }
20
+ export interface BillingComponentProfile {
21
+ key: string;
22
+ kind: BillingComponentKind;
23
+ enabledWhen?: string;
24
+ quantitySource: BillingQuantitySource;
25
+ pricingServiceNames?: string[];
26
+ lookupMeterHints?: string[];
27
+ lookupUnitFamily?: string;
28
+ metricKeys?: string[];
29
+ resourcePropertyExpression?: string;
30
+ parentResourceExpression?: string;
31
+ notes?: string;
32
+ }
33
+ export interface BillingProfile {
34
+ support: BillingProfileSupport;
35
+ billingScope: BillingScope;
36
+ billingModel: BillingModel;
37
+ pricingServiceNames?: string[];
38
+ billableExpression?: string;
39
+ variantSignals?: Record<string, BillingVariantSignal>;
40
+ candidatePolicies?: BillingCandidatePolicy[];
41
+ parentBillingResourceExpression?: string;
42
+ notes?: string;
43
+ components?: BillingComponentProfile[];
44
+ }
45
+ export interface PricingLookupVariant {
46
+ when: PricingLookupMatchCondition;
47
+ locationPolicy?: PricingLookupLocationPolicy;
48
+ preferredBaseServiceNames?: string[];
49
+ contextualAliases?: string[];
50
+ }
51
+ export interface PricingLookup {
52
+ locationPolicy?: PricingLookupLocationPolicy;
53
+ preferredBaseServiceNames?: string[];
54
+ contextualAliases?: string[];
55
+ variants?: PricingLookupVariant[];
56
+ }
4
57
  export interface ResourceConfig {
5
58
  resourceGroups: ResourceConfigItem;
6
59
  resourcesAll: ResourceConfigItem;
@@ -14,30 +67,50 @@ export interface ResourceConfigItem {
14
67
  overrideSourceProperty?: string;
15
68
  isArray?: boolean;
16
69
  mandatory?: boolean;
70
+ /** if true, then the resource is supported by the platform (e.g. activity logs, scaling plans, billing) */
17
71
  supporting?: boolean;
18
72
  displayServiceName?: string;
73
+ /** an expression to determine the display service name */
19
74
  displayServiceNameExpression?: string;
20
75
  icon?: string;
76
+ /** an expression to determine the icon */
21
77
  iconExpression?: string;
78
+ /** a description of the service */
22
79
  description?: string;
80
+ /** an expression to determine the description */
23
81
  descriptionExpression?: string;
82
+ /** a link to the product page */
24
83
  product?: string;
84
+ /** an expression to determine the product */
25
85
  productExpression?: string;
86
+ /** jsonata expression evaluated against parent resource to decide if a child should run */
87
+ when?: string;
88
+ ttlHours?: number;
26
89
  references: {
27
90
  [key: string]: ResourceTypeReference;
28
91
  };
92
+ metricsBatchSupport?: boolean;
29
93
  metrics?: AzureResourceMetric[];
30
94
  metricsDescription?: MetricDescription[];
31
95
  metricsDisplay?: MetricsDisplay[];
96
+ /** Loaded during processing */
32
97
  name: string;
33
98
  type: string;
34
99
  parameters: object;
35
100
  alias: AliasConfig;
36
101
  resources: ResourceConfigItem[];
102
+ /** e.g. "Virtual Network" used for bill / price matching */
37
103
  serviceName?: string;
104
+ pricingServiceName?: string;
105
+ pricingServiceNames?: string[];
106
+ aliases?: string[];
107
+ pricingLookup?: PricingLookup;
108
+ billingProfile?: BillingProfile;
38
109
  label1?: string;
39
110
  label2?: string;
40
111
  label3?: string;
112
+ meter?: string;
113
+ meterSubCategory?: string;
41
114
  sku?: string;
42
115
  }
43
116
  export interface AliasConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../src/azure/configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,kBAAkB,CAAC;IACnC,YAAY,EAAE,kBAAkB,CAAC;IACjC,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;IACrD,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAGlC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../src/azure/configs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ export interface ResourceCostEstimationSegmentMeter {
2
+ meterName: string;
3
+ productName: string;
4
+ skuName: string;
5
+ meterId?: string | null;
6
+ quantity: number;
7
+ unitListPrice: number | null;
8
+ discount: number | null;
9
+ unitEffectivePrice: number | null;
10
+ cost: number | null;
11
+ unitOfMeasure?: string;
12
+ notes?: string;
13
+ }
14
+ export interface ResourceCostEstimationSegment {
15
+ name: string;
16
+ description: string | null;
17
+ usage: Record<string, number>;
18
+ usageMetadata?: Record<string, {
19
+ label: string;
20
+ unit?: string;
21
+ description?: string;
22
+ }>;
23
+ meters: Record<string, ResourceCostEstimationSegmentMeter>;
24
+ subtotal: number;
25
+ }
26
+ export interface ResourceCostEstimationPlan {
27
+ tierKey: string;
28
+ label: string;
29
+ recommendationIds: string[];
30
+ parameters: Record<string, number>;
31
+ segments: ResourceCostEstimationSegment[];
32
+ summaryTotals: Record<string, number>;
33
+ projectedMonthlyCost: number;
34
+ savingsAmount: number;
35
+ savingsPercent: number;
36
+ }
37
+ export interface ResourceCostEstimationSummary {
38
+ sourceProfile?: string;
39
+ currency: string;
40
+ currentMonthlyCost: number;
41
+ currentObservedDiscounts?: Record<string, DiscountObservation>;
42
+ plans: ResourceCostEstimationPlan[];
43
+ currentCost?: number;
44
+ sourceMeta?: CostEstimationSourceMeta;
45
+ }
46
+ export type CostEstimationSourceType = 'rolling-30-days' | 'calendar-month';
47
+ export interface CostEstimationSourceMeta {
48
+ type: CostEstimationSourceType;
49
+ startDate: string;
50
+ endDate: string;
51
+ excludedRecentDays?: number;
52
+ sourcePath?: string;
53
+ }
54
+ export interface ResourceSimpleCostEstimationPlan {
55
+ label: string;
56
+ recommendationIds: string[];
57
+ projectedMonthlyCost: number;
58
+ savingsAmount: number;
59
+ }
60
+ export interface ResourceSimpleCostEstimationSummary {
61
+ currency: string;
62
+ currentMonthlyCost: number;
63
+ currentObservedDiscounts?: Record<string, DiscountObservation>;
64
+ plans: ResourceSimpleCostEstimationPlan[];
65
+ savingsRange?: {
66
+ min: number;
67
+ max: number;
68
+ };
69
+ }
70
+ export interface DiscountObservation {
71
+ meter: string;
72
+ retailPrice: number;
73
+ unitActual: number;
74
+ discount: number;
75
+ quantity: number;
76
+ cost: number;
77
+ }
78
+ //# sourceMappingURL=costEstimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costEstimation.d.ts","sourceRoot":"","sources":["../../src/azure/costEstimation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=costEstimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costEstimation.js","sourceRoot":"","sources":["../../src/azure/costEstimation.ts"],"names":[],"mappings":""}