@spottoai/types-package 1.0.2-beta.15 → 1.0.2-beta.150
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/LICENSE +18 -40
- package/README.md +4 -12
- package/dist/accounts/accounts.d.ts +32 -3
- package/dist/accounts/accounts.d.ts.map +1 -1
- package/dist/accounts/index.d.ts +1 -0
- package/dist/accounts/index.d.ts.map +1 -1
- package/dist/accounts/index.js +1 -0
- package/dist/accounts/index.js.map +1 -1
- package/dist/accounts/writePermissions.d.ts +34 -0
- package/dist/accounts/writePermissions.d.ts.map +1 -0
- package/dist/accounts/writePermissions.js +37 -0
- package/dist/accounts/writePermissions.js.map +1 -0
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +0 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/azure/billingPlots.d.ts +108 -0
- package/dist/azure/billingPlots.d.ts.map +1 -0
- package/dist/azure/billingPlots.js +6 -0
- package/dist/azure/billingPlots.js.map +1 -0
- package/dist/azure/common.d.ts +34 -0
- package/dist/azure/common.d.ts.map +1 -1
- package/dist/azure/configs.d.ts +12 -0
- package/dist/azure/configs.d.ts.map +1 -1
- package/dist/azure/costEstimation.d.ts +78 -0
- package/dist/azure/costEstimation.d.ts.map +1 -0
- package/dist/azure/costEstimation.js +3 -0
- package/dist/azure/costEstimation.js.map +1 -0
- package/dist/azure/metrics.d.ts +27 -0
- package/dist/azure/metrics.d.ts.map +1 -1
- package/dist/azure/payloads.d.ts +9 -0
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/prices.d.ts +140 -0
- package/dist/azure/prices.d.ts.map +1 -1
- package/dist/azure/recommendationState.d.ts +16 -0
- package/dist/azure/recommendationState.d.ts.map +1 -1
- package/dist/azure/recommendations.d.ts +191 -3
- package/dist/azure/recommendations.d.ts.map +1 -1
- package/dist/azure/recommendations.js.map +1 -1
- package/dist/azure/reports.d.ts +218 -0
- package/dist/azure/reports.d.ts.map +1 -1
- package/dist/azure/reports.js +13 -0
- package/dist/azure/reports.js.map +1 -1
- package/dist/azure/resources.d.ts +14 -0
- package/dist/azure/resources.d.ts.map +1 -1
- package/dist/azure/reviewChecklist.d.ts +139 -0
- package/dist/azure/reviewChecklist.d.ts.map +1 -0
- package/dist/azure/reviewChecklist.js +3 -0
- package/dist/azure/reviewChecklist.js.map +1 -0
- package/dist/azure/security.d.ts +28 -0
- package/dist/azure/security.d.ts.map +1 -0
- package/dist/azure/security.js +3 -0
- package/dist/azure/security.js.map +1 -0
- package/dist/azure/serviceRetirement.d.ts +26 -0
- package/dist/azure/serviceRetirement.d.ts.map +1 -0
- package/dist/azure/serviceRetirement.js +3 -0
- package/dist/azure/serviceRetirement.js.map +1 -0
- package/dist/azure/serviceRetirementState.d.ts +22 -0
- package/dist/azure/serviceRetirementState.d.ts.map +1 -0
- package/dist/azure/serviceRetirementState.js +3 -0
- package/dist/azure/serviceRetirementState.js.map +1 -0
- package/dist/azure/storage-inventory.d.ts +194 -0
- package/dist/azure/storage-inventory.d.ts.map +1 -0
- package/dist/azure/storage-inventory.js +3 -0
- package/dist/azure/storage-inventory.js.map +1 -0
- package/dist/azure/subscriptions.d.ts +9 -13
- package/dist/azure/subscriptions.d.ts.map +1 -1
- package/dist/azure/views.d.ts +89 -1
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/common/pagination.d.ts +3 -0
- package/dist/common/pagination.d.ts.map +1 -1
- package/dist/company/billingAccount.d.ts +30 -0
- package/dist/company/billingAccount.d.ts.map +1 -0
- package/dist/company/billingAccount.js +3 -0
- package/dist/company/billingAccount.js.map +1 -0
- package/dist/company/company.d.ts +18 -1
- package/dist/company/company.d.ts.map +1 -1
- package/dist/company/index.d.ts +1 -0
- package/dist/company/index.d.ts.map +1 -1
- package/dist/company/index.js +1 -0
- package/dist/company/index.js.map +1 -1
- package/dist/company/notification.d.ts +31 -1
- package/dist/company/notification.d.ts.map +1 -1
- package/dist/company/notification.js +24 -12
- package/dist/company/notification.js.map +1 -1
- package/dist/company/survey.d.ts +3 -0
- package/dist/company/survey.d.ts.map +1 -1
- package/dist/events/alertDefinitionRun.d.ts +23 -0
- package/dist/events/alertDefinitionRun.d.ts.map +1 -0
- package/dist/events/alertDefinitionRun.js +3 -0
- package/dist/events/alertDefinitionRun.js.map +1 -0
- package/dist/events/baseAlert.d.ts +130 -0
- package/dist/events/baseAlert.d.ts.map +1 -0
- package/dist/events/baseAlert.js +3 -0
- package/dist/events/baseAlert.js.map +1 -0
- package/dist/events/cost.d.ts +361 -0
- package/dist/events/cost.d.ts.map +1 -0
- package/dist/events/cost.js +3 -0
- package/dist/events/cost.js.map +1 -0
- package/dist/events/costAnomalies.d.ts +47 -0
- package/dist/events/costAnomalies.d.ts.map +1 -0
- package/dist/events/costAnomalies.js +3 -0
- package/dist/events/costAnomalies.js.map +1 -0
- package/dist/events/costViews.d.ts +23 -0
- package/dist/events/costViews.d.ts.map +1 -0
- package/dist/events/costViews.js +3 -0
- package/dist/events/costViews.js.map +1 -0
- package/dist/events/eventStatus.d.ts +59 -0
- package/dist/events/eventStatus.d.ts.map +1 -0
- package/dist/events/eventStatus.js +3 -0
- package/dist/events/eventStatus.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +23 -0
- package/dist/events/index.js.map +1 -0
- package/dist/feedbacks/feedback.d.ts +9 -0
- package/dist/feedbacks/feedback.d.ts.map +1 -1
- package/dist/identity/apikey.d.ts +67 -0
- package/dist/identity/apikey.d.ts.map +1 -0
- package/dist/identity/apikey.js +3 -0
- package/dist/identity/apikey.js.map +1 -0
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +18 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/tags/index.d.ts +2 -0
- package/dist/tags/index.d.ts.map +1 -0
- package/dist/tags/index.js +18 -0
- package/dist/tags/index.js.map +1 -0
- package/dist/tags/tags.d.ts +26 -0
- package/dist/tags/tags.d.ts.map +1 -0
- package/dist/tags/tags.js +10 -0
- package/dist/tags/tags.js.map +1 -0
- package/dist/unknown/services.d.ts +12 -0
- package/dist/unknown/services.d.ts.map +1 -0
- package/dist/unknown/services.js +3 -0
- package/dist/unknown/services.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Comment, RecommendationHistory } from './recommendationState';
|
|
2
|
+
import { SecurityAssessmentStatus, SecurityImpact, SubscriptionSecurityStatus } from './security';
|
|
3
|
+
import { SubscriptionSummaryLite } from './subscriptions';
|
|
4
|
+
import { CostSavingsSummary, SavingsPotential } from './views';
|
|
2
5
|
export declare enum RecommendationCategory {
|
|
3
6
|
Cost = "Cost",
|
|
4
7
|
Performance = "Performance",
|
|
@@ -8,6 +11,15 @@ export declare enum RecommendationCategory {
|
|
|
8
11
|
OperationalExcellence = "OperationalExcellence",
|
|
9
12
|
OperationalExcellenceAlternative = "Operational Excellence"
|
|
10
13
|
}
|
|
14
|
+
export type RecommendationPriorityTier = 'must_do' | 'normal';
|
|
15
|
+
export interface RecommendationBaseScores {
|
|
16
|
+
cost_optimization: number;
|
|
17
|
+
security: number;
|
|
18
|
+
performance: number;
|
|
19
|
+
reliability: number;
|
|
20
|
+
compliance: number;
|
|
21
|
+
operational_excellence: number;
|
|
22
|
+
}
|
|
11
23
|
export interface RecommendationResources {
|
|
12
24
|
recommendation: CustomAzureRecommendation;
|
|
13
25
|
resourceIds: string[];
|
|
@@ -16,6 +28,8 @@ export interface Recommendation {
|
|
|
16
28
|
id: string;
|
|
17
29
|
name: string;
|
|
18
30
|
category: RecommendationCategory;
|
|
31
|
+
subCategory?: string;
|
|
32
|
+
/** custom */
|
|
19
33
|
type?: string;
|
|
20
34
|
description?: string;
|
|
21
35
|
remediation?: string;
|
|
@@ -29,26 +43,65 @@ export interface Recommendation {
|
|
|
29
43
|
potentialBenefits?: string;
|
|
30
44
|
effort?: string;
|
|
31
45
|
effortReason?: string;
|
|
46
|
+
/** e.g. 10 hours */
|
|
47
|
+
effortHours?: number;
|
|
32
48
|
risk?: string;
|
|
33
49
|
riskReason?: string;
|
|
50
|
+
/** Could deprecate later */
|
|
34
51
|
costImpact?: number;
|
|
35
52
|
costImpactReason?: string;
|
|
36
|
-
costImpactDetails
|
|
53
|
+
/*** costImpactDetails is deprecated **/
|
|
37
54
|
performanceImpact?: number;
|
|
38
55
|
performanceImpactReason?: string;
|
|
39
56
|
confidencePercentage?: number;
|
|
40
57
|
confidenceReason?: string;
|
|
58
|
+
/** array of resources that have this recommendation */
|
|
41
59
|
resources?: ResourceReference[];
|
|
42
|
-
|
|
60
|
+
/** only for security recommendations */
|
|
61
|
+
securityImpactDetails?: SecurityImpact;
|
|
62
|
+
/** whether the recommendation has been resolved or not, eg, Security Assessment is "Healthy" should be true */
|
|
63
|
+
resolved?: boolean;
|
|
64
|
+
securityAssessmentStatuses?: SecurityAssessmentStatus[];
|
|
65
|
+
/** Deprecated fields, kept for compatibility */
|
|
43
66
|
solution?: string;
|
|
44
67
|
source?: string;
|
|
45
68
|
service?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Stored as string to allow JSON persistence.
|
|
71
|
+
* Uses a different name to avoid conflict with RecommendationWithState.createdAt.
|
|
72
|
+
*/
|
|
46
73
|
createdTime?: string;
|
|
74
|
+
/** Avoids conflict with RecommendationWithState.updatedAt */
|
|
47
75
|
lastUpdatedTime?: string;
|
|
76
|
+
/** Business story properties */
|
|
77
|
+
headline: string;
|
|
78
|
+
bottomLine: string;
|
|
79
|
+
plainSummary: string;
|
|
80
|
+
quickSteps: string[];
|
|
81
|
+
businessOwner: string;
|
|
82
|
+
keyConstraint: string;
|
|
83
|
+
validationEvidence: string;
|
|
84
|
+
/** Technical playbook (only for multi-step implementations) */
|
|
85
|
+
technicalPlaybook?: string;
|
|
86
|
+
/** Static recommendation scoring metadata (library-level). */
|
|
87
|
+
baseScores?: RecommendationBaseScores;
|
|
88
|
+
overallBaseScore?: number;
|
|
89
|
+
overallBaseReason?: string;
|
|
90
|
+
priorityTier?: RecommendationPriorityTier;
|
|
91
|
+
/** Runtime scoring metadata (per company/tenant). */
|
|
92
|
+
adjustedScore?: number;
|
|
93
|
+
objectiveMultiplier?: number;
|
|
94
|
+
finalScore?: number;
|
|
95
|
+
/** UI display-only normalized score (0-100). */
|
|
96
|
+
normalizedScore?: number;
|
|
48
97
|
}
|
|
98
|
+
/** Deprecated **/
|
|
49
99
|
export interface CostImpactDetails {
|
|
100
|
+
/** e.g. "Saving Plan", "Reserved Instance", "Windows migration to Linux" */
|
|
50
101
|
name: string;
|
|
51
102
|
monthlySavings?: number;
|
|
103
|
+
currentSpend?: number;
|
|
104
|
+
/** e.g. 20 for 20% */
|
|
52
105
|
savingPercentage?: number;
|
|
53
106
|
minMonthlySavings?: number;
|
|
54
107
|
maxMonthlySavings?: number;
|
|
@@ -63,6 +116,7 @@ export interface RecommendationSummary {
|
|
|
63
116
|
export interface RecommendationWithResources {
|
|
64
117
|
recommendation: Recommendation;
|
|
65
118
|
resources: RecommendationResource[];
|
|
119
|
+
savings?: SavingsPotential;
|
|
66
120
|
}
|
|
67
121
|
export interface RecommendationResource {
|
|
68
122
|
id: string;
|
|
@@ -70,9 +124,18 @@ export interface RecommendationResource {
|
|
|
70
124
|
type: string;
|
|
71
125
|
spend: number;
|
|
72
126
|
spendAmortized: number;
|
|
127
|
+
savings?: SavingsPotential;
|
|
128
|
+
currency?: string;
|
|
129
|
+
currencySymbol?: string;
|
|
130
|
+
relationship?: ResourceRelationship;
|
|
73
131
|
}
|
|
74
132
|
export interface RecommendationsView {
|
|
75
133
|
recommendations: RecommendationWithResources[];
|
|
134
|
+
securityImpactDetails?: SecurityImpact[];
|
|
135
|
+
subscriptionSecurityStatus?: SubscriptionSecurityStatus;
|
|
136
|
+
savings?: SavingsPotential;
|
|
137
|
+
subscription: SubscriptionSummaryLite;
|
|
138
|
+
costSavingsSummary?: CostSavingsSummary;
|
|
76
139
|
}
|
|
77
140
|
export interface ResourceId {
|
|
78
141
|
id: string;
|
|
@@ -80,7 +143,18 @@ export interface ResourceId {
|
|
|
80
143
|
export interface ResourceReference {
|
|
81
144
|
id: string;
|
|
82
145
|
name: string;
|
|
146
|
+
type?: string;
|
|
147
|
+
savings?: SavingsPotential;
|
|
148
|
+
currency?: string;
|
|
149
|
+
currencySymbol?: string;
|
|
150
|
+
relationship?: ResourceRelationship;
|
|
83
151
|
}
|
|
152
|
+
export type ResourceRelationship = {
|
|
153
|
+
role?: 'primary' | 'related';
|
|
154
|
+
type?: string;
|
|
155
|
+
allocationId?: string;
|
|
156
|
+
metadata?: Record<string, string>;
|
|
157
|
+
};
|
|
84
158
|
export interface ReliabilityRecommendation extends Recommendation {
|
|
85
159
|
referenceID: string;
|
|
86
160
|
resourceType: string;
|
|
@@ -88,7 +162,6 @@ export interface ReliabilityRecommendation extends Recommendation {
|
|
|
88
162
|
service: string;
|
|
89
163
|
}
|
|
90
164
|
export interface CustomAzureRecommendation extends Recommendation {
|
|
91
|
-
subcategory: string;
|
|
92
165
|
service: string;
|
|
93
166
|
source: string;
|
|
94
167
|
fileName: string;
|
|
@@ -98,6 +171,7 @@ export interface RecommendationCollection {
|
|
|
98
171
|
results: ResourceId[];
|
|
99
172
|
}
|
|
100
173
|
export interface AzureRecommendationLite {
|
|
174
|
+
/** e.g. Cost, Performance, Reliability, Security, Compliance, OperationalExcellence, Operational Excellence, HighAvailability */
|
|
101
175
|
category: string;
|
|
102
176
|
total: number;
|
|
103
177
|
high: number;
|
|
@@ -105,11 +179,16 @@ export interface AzureRecommendationLite {
|
|
|
105
179
|
low: number;
|
|
106
180
|
}
|
|
107
181
|
export interface RecommendationStats {
|
|
182
|
+
/** total number of recommendations in the subscription */
|
|
108
183
|
total: number;
|
|
184
|
+
/** total number of high recommendations in the subscription */
|
|
109
185
|
high: number;
|
|
186
|
+
/** total number of medium recommendations in the subscription */
|
|
110
187
|
medium: number;
|
|
188
|
+
/** total number of low recommendations in the subscription */
|
|
111
189
|
low: number;
|
|
112
190
|
}
|
|
191
|
+
/** Recommendation with state information, name "ExtendedRecommendation" in the portal at the moment */
|
|
113
192
|
export interface RecommendationWithState extends Recommendation {
|
|
114
193
|
status?: 'Active' | 'Prioritized' | 'Postponed' | 'Dismissed' | 'Completed' | 'Archived';
|
|
115
194
|
read?: boolean;
|
|
@@ -120,4 +199,113 @@ export interface RecommendationWithState extends Recommendation {
|
|
|
120
199
|
comments?: Comment[];
|
|
121
200
|
history?: RecommendationHistory[];
|
|
122
201
|
}
|
|
202
|
+
export interface DismissRecommendationRequest extends RecommendationActionRequest {
|
|
203
|
+
dismissReason: string;
|
|
204
|
+
}
|
|
205
|
+
export interface ShareRecommendationRequest extends RecommendationActionRequest {
|
|
206
|
+
shareType: 'email' | 'slack' | 'teams' | 'jira' | 'halo' | 'connectwise';
|
|
207
|
+
email?: string;
|
|
208
|
+
}
|
|
209
|
+
export interface RecommendationActionRequest {
|
|
210
|
+
recommendationId: string;
|
|
211
|
+
recommendationTitle?: string;
|
|
212
|
+
subscriptionId: string;
|
|
213
|
+
resourceIds: string[];
|
|
214
|
+
resourceGroupName?: string;
|
|
215
|
+
companyId: string;
|
|
216
|
+
byUserId?: string;
|
|
217
|
+
}
|
|
218
|
+
export interface RecommendationActionResponse {
|
|
219
|
+
success: boolean;
|
|
220
|
+
message?: string;
|
|
221
|
+
affectedResources?: string[];
|
|
222
|
+
}
|
|
223
|
+
export interface ServiceRetirementRecommendation {
|
|
224
|
+
Id: string;
|
|
225
|
+
ServiceName: string;
|
|
226
|
+
RetiringFeature: string;
|
|
227
|
+
RetirementDate: string;
|
|
228
|
+
Link: string;
|
|
229
|
+
effort: string;
|
|
230
|
+
effortHours: number;
|
|
231
|
+
effortReason: string;
|
|
232
|
+
risk: string;
|
|
233
|
+
riskReason: string;
|
|
234
|
+
considerations: string;
|
|
235
|
+
confidencePercentage: number;
|
|
236
|
+
confidenceReason: string;
|
|
237
|
+
lastProcessedAt: string;
|
|
238
|
+
}
|
|
239
|
+
export interface JiraShareDetails {
|
|
240
|
+
projectKey?: string;
|
|
241
|
+
epicKey?: string;
|
|
242
|
+
label?: string;
|
|
243
|
+
}
|
|
244
|
+
export interface JiraIntegrationRequestBase {
|
|
245
|
+
siteUrl: string;
|
|
246
|
+
email: string;
|
|
247
|
+
secret?: string;
|
|
248
|
+
useStoredSecret?: boolean;
|
|
249
|
+
}
|
|
250
|
+
export interface JiraIntegrationTestPayload extends JiraIntegrationRequestBase {
|
|
251
|
+
projectKey?: string;
|
|
252
|
+
}
|
|
253
|
+
export interface JiraIntegrationEpicsPayload extends JiraIntegrationRequestBase {
|
|
254
|
+
projectKey: string;
|
|
255
|
+
maxResults?: number;
|
|
256
|
+
}
|
|
257
|
+
export interface JiraIntegrationProjectsPayload extends JiraIntegrationRequestBase {
|
|
258
|
+
maxResults?: number;
|
|
259
|
+
}
|
|
260
|
+
export interface JiraIntegrationLabelsPayload extends JiraIntegrationRequestBase {
|
|
261
|
+
projectKey: string;
|
|
262
|
+
maxResults?: number;
|
|
263
|
+
searchQuery?: string;
|
|
264
|
+
}
|
|
265
|
+
export interface JiraEntity {
|
|
266
|
+
id: string;
|
|
267
|
+
key: string;
|
|
268
|
+
name: string;
|
|
269
|
+
}
|
|
270
|
+
export interface JiraLabel {
|
|
271
|
+
name: string;
|
|
272
|
+
}
|
|
273
|
+
export interface ConnectWiseIntegrationRequestBase {
|
|
274
|
+
siteUrl: string;
|
|
275
|
+
companyId: string;
|
|
276
|
+
publicKey: string;
|
|
277
|
+
secret?: string;
|
|
278
|
+
useStoredSecret?: boolean;
|
|
279
|
+
}
|
|
280
|
+
export interface ConnectWiseIntegrationTestPayload extends ConnectWiseIntegrationRequestBase {
|
|
281
|
+
boardId?: string;
|
|
282
|
+
boardName?: string;
|
|
283
|
+
statusId?: string;
|
|
284
|
+
statusName?: string;
|
|
285
|
+
}
|
|
286
|
+
export type ConnectWiseBoardsPayload = ConnectWiseIntegrationRequestBase;
|
|
287
|
+
export interface ConnectWiseStatusesPayload extends ConnectWiseIntegrationRequestBase {
|
|
288
|
+
boardId?: string;
|
|
289
|
+
boardName?: string;
|
|
290
|
+
}
|
|
291
|
+
export type ConnectWiseTypesPayload = ConnectWiseIntegrationRequestBase;
|
|
292
|
+
export interface ConnectWiseSubTypesPayload extends ConnectWiseIntegrationRequestBase {
|
|
293
|
+
typeId?: string;
|
|
294
|
+
typeName?: string;
|
|
295
|
+
}
|
|
296
|
+
export interface ConnectWiseItemsPayload extends ConnectWiseIntegrationRequestBase {
|
|
297
|
+
subTypeId?: string;
|
|
298
|
+
subTypeName?: string;
|
|
299
|
+
}
|
|
300
|
+
export type ConnectWisePrioritiesPayload = ConnectWiseIntegrationRequestBase;
|
|
301
|
+
export interface ConnectWiseContactsPayload extends ConnectWiseIntegrationRequestBase {
|
|
302
|
+
searchQuery?: string;
|
|
303
|
+
}
|
|
304
|
+
export interface ConnectWiseEntity {
|
|
305
|
+
id: string | number;
|
|
306
|
+
name: string;
|
|
307
|
+
}
|
|
308
|
+
export interface ConnectWiseContact extends ConnectWiseEntity {
|
|
309
|
+
email?: string;
|
|
310
|
+
}
|
|
123
311
|
//# sourceMappingURL=recommendations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":";;;AAKA,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,qDAA2B,CAAA;IAC3B,qDAA2B,CAAA;IAC3B,+CAAqB,CAAA;IACrB,mDAAyB,CAAA;IACzB,yEAA+C,CAAA;IAC/C,qFAA2D,CAAA;AAC7D,CAAC,EARW,sBAAsB,sCAAtB,sBAAsB,QAQjC"}
|
package/dist/azure/reports.d.ts
CHANGED
|
@@ -1,14 +1,43 @@
|
|
|
1
|
+
import { Tags } from '../tags';
|
|
1
2
|
export interface DecompositionTreeNode {
|
|
3
|
+
/** e.g., "Resource Group A", "Storage", "Standard Page Blob v2", "Storage Account", "mystorageaccount" */
|
|
2
4
|
name: string;
|
|
3
5
|
cost: number;
|
|
4
6
|
costAmortized?: number;
|
|
5
7
|
costPrevious?: number;
|
|
6
8
|
costAmortizedPrevious?: number;
|
|
9
|
+
/** e.g., 80.5 (for 80.5%) */
|
|
7
10
|
percentageOfTotal: number;
|
|
11
|
+
/** Absolute change from previous period */
|
|
8
12
|
costChange?: number;
|
|
13
|
+
/** Percentage change from previous period */
|
|
9
14
|
costChangePercent?: number;
|
|
10
15
|
children?: DecompositionTreeNode[];
|
|
16
|
+
/** Total spend at this level (for percentage calculation) */
|
|
11
17
|
totalSpend: number;
|
|
18
|
+
/** Analysis of why costs changed (only present on leaf nodes) */
|
|
19
|
+
changeAnalysis?: CostChangeAnalysis;
|
|
20
|
+
/** Only present on leaf nodes (individual resources) */
|
|
21
|
+
meterDetails?: MeterDetail[];
|
|
22
|
+
tags?: Record<string, string>;
|
|
23
|
+
spottoTags?: Tags;
|
|
24
|
+
resourceId?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface MeterDetail {
|
|
27
|
+
/** "P1 v3 App" */
|
|
28
|
+
meter: string;
|
|
29
|
+
/** "Azure App Service" */
|
|
30
|
+
meterCategory: string;
|
|
31
|
+
/** "Premium Plan" */
|
|
32
|
+
meterSubCategory: string;
|
|
33
|
+
/** 24 (hours, GB, etc.) */
|
|
34
|
+
quantity: number;
|
|
35
|
+
/** 12.721536 */
|
|
36
|
+
cost: number;
|
|
37
|
+
/** 12.721536 */
|
|
38
|
+
costAmortized: number;
|
|
39
|
+
/** cost / quantity = rate per unit */
|
|
40
|
+
unitCost?: number;
|
|
12
41
|
}
|
|
13
42
|
export interface DecompositionTree {
|
|
14
43
|
root: DecompositionTreeNode;
|
|
@@ -24,8 +53,117 @@ export interface DecompositionTree {
|
|
|
24
53
|
totalSpendAmortizedPrevious?: number;
|
|
25
54
|
currency: string;
|
|
26
55
|
currencySymbol: string;
|
|
56
|
+
version?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface EstimationTree extends DecompositionTree {
|
|
59
|
+
dataSource: 'estimated' | 'blended' | 'actual' | 'metrics_pricing';
|
|
60
|
+
coveragePercent?: number;
|
|
61
|
+
confidence?: number;
|
|
62
|
+
actualShare?: number;
|
|
63
|
+
estimatedShare?: number;
|
|
64
|
+
billingReconciliationStatus?: 'pending' | 'matched' | 'mismatch';
|
|
65
|
+
actualArrivedAt?: string;
|
|
66
|
+
lastActualCoverageAt?: string;
|
|
67
|
+
reconciledAt?: string;
|
|
68
|
+
root: EstimationTreeNode;
|
|
69
|
+
}
|
|
70
|
+
export interface EstimationTreeNode extends DecompositionTreeNode {
|
|
71
|
+
dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
|
|
72
|
+
coveragePercent?: number;
|
|
73
|
+
coverageDays?: number;
|
|
74
|
+
actualShare?: number;
|
|
75
|
+
estimatedShare?: number;
|
|
76
|
+
confidence?: number;
|
|
77
|
+
serviceCategory?: 'A' | 'B' | 'C' | 'D';
|
|
78
|
+
componentCategory?: 'A' | 'B' | 'C' | 'D';
|
|
79
|
+
metricsInput?: Record<string, unknown>;
|
|
80
|
+
unitRates?: Record<string, number>;
|
|
81
|
+
pricingSource?: 'billing' | 'retail' | 'manual';
|
|
82
|
+
estimationMethod?: string;
|
|
83
|
+
estimatedDays?: string[];
|
|
84
|
+
estimatedDaysSource?: 'metrics' | 'ma7' | 'ma14' | 'ma';
|
|
85
|
+
estimatedDaysBySource?: {
|
|
86
|
+
metrics?: string[];
|
|
87
|
+
ma7?: string[];
|
|
88
|
+
ma14?: string[];
|
|
89
|
+
ma?: string[];
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Type of this node: 'subscription' | 'resourceGroup' | 'provider' | 'service' | 'resource' | 'deployment' | 'component'
|
|
93
|
+
* Helps frontend understand the hierarchy and render appropriately
|
|
94
|
+
*/
|
|
95
|
+
nodeType?: 'subscription' | 'resourceGroup' | 'provider' | 'service' | 'resource' | 'deployment' | 'component';
|
|
96
|
+
/**
|
|
97
|
+
* Azure resource type (e.g., "microsoft.cognitiveservices/accounts")
|
|
98
|
+
* Only present on resource nodes and their children
|
|
99
|
+
* Helps frontend determine how to display child nodes
|
|
100
|
+
*/
|
|
101
|
+
resourceType?: string;
|
|
102
|
+
/**
|
|
103
|
+
* For deployment/component nodes: identifies the parent resource
|
|
104
|
+
* For resource nodes: same as resourceId
|
|
105
|
+
*/
|
|
106
|
+
parentResourceId?: string;
|
|
107
|
+
/**
|
|
108
|
+
* Deployment-specific metadata (only for cognitive services)
|
|
109
|
+
* Frontend can use this to display deployment-level details
|
|
110
|
+
*/
|
|
111
|
+
deployment?: string;
|
|
112
|
+
model?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Generic metadata for other resource types
|
|
115
|
+
* Allows extensibility for future resource types with sub-components
|
|
116
|
+
*/
|
|
117
|
+
metadata?: Record<string, unknown>;
|
|
118
|
+
blendedComponents?: Array<{
|
|
119
|
+
componentCategory?: 'A' | 'B' | 'C' | 'D';
|
|
120
|
+
dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
|
|
121
|
+
actualCost: number;
|
|
122
|
+
estimatedCost: number;
|
|
123
|
+
estimatedCostByMetrics?: number;
|
|
124
|
+
estimatedCostByMA?: number;
|
|
125
|
+
coverageDays: number;
|
|
126
|
+
coveragePercent?: number;
|
|
127
|
+
missingDays: number;
|
|
128
|
+
method: string;
|
|
129
|
+
estimationMethod?: string;
|
|
130
|
+
estimatedDays?: string[];
|
|
131
|
+
estimatedDaysSource?: 'metrics' | 'ma7' | 'ma14' | 'ma';
|
|
132
|
+
estimatedDaysBySource?: {
|
|
133
|
+
metrics?: string[];
|
|
134
|
+
ma7?: string[];
|
|
135
|
+
ma14?: string[];
|
|
136
|
+
ma?: string[];
|
|
137
|
+
};
|
|
138
|
+
pricingSource?: 'billing' | 'retail' | 'manual';
|
|
139
|
+
actualShare?: number;
|
|
140
|
+
estimatedShare?: number;
|
|
141
|
+
}> | {
|
|
142
|
+
componentCategory?: 'A' | 'B' | 'C' | 'D';
|
|
143
|
+
dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
|
|
144
|
+
actualCost: number;
|
|
145
|
+
estimatedCost: number;
|
|
146
|
+
estimatedCostByMetrics?: number;
|
|
147
|
+
estimatedCostByMA?: number;
|
|
148
|
+
coverageDays: number;
|
|
149
|
+
missingDays: number;
|
|
150
|
+
method: string;
|
|
151
|
+
estimationMethod?: string;
|
|
152
|
+
estimatedDays?: string[];
|
|
153
|
+
estimatedDaysSource?: 'metrics' | 'ma7' | 'ma14' | 'ma';
|
|
154
|
+
estimatedDaysBySource?: {
|
|
155
|
+
metrics?: string[];
|
|
156
|
+
ma7?: string[];
|
|
157
|
+
ma14?: string[];
|
|
158
|
+
ma?: string[];
|
|
159
|
+
};
|
|
160
|
+
actualShare?: number;
|
|
161
|
+
estimatedShare?: number;
|
|
162
|
+
};
|
|
163
|
+
children?: EstimationTreeNode[];
|
|
27
164
|
}
|
|
28
165
|
export interface DecompositionTreeEntry {
|
|
166
|
+
/** e.g., "2025-01" for calendar month, "2025-01-01_2025-01-31" for billing period */
|
|
29
167
|
period: string;
|
|
30
168
|
startDate: string;
|
|
31
169
|
endDate: string;
|
|
@@ -35,4 +173,84 @@ export interface DecompositionTreeSummary {
|
|
|
35
173
|
entries: DecompositionTreeEntry[];
|
|
36
174
|
lastUpdated: string;
|
|
37
175
|
}
|
|
176
|
+
/** Type of change detected in cost analysis */
|
|
177
|
+
export type ChangeType = 'increase' | 'decrease' | 'no_change' | 'new_resource' | 'removed_resource';
|
|
178
|
+
/** Specific reason types for cost changes */
|
|
179
|
+
export declare enum ChangeReasonType {
|
|
180
|
+
NEW_RESOURCE = "new_resource",
|
|
181
|
+
REMOVED_RESOURCE = "removed_resource",
|
|
182
|
+
QUANTITY_INCREASE = "quantity_increase",
|
|
183
|
+
QUANTITY_DECREASE = "quantity_decrease",
|
|
184
|
+
RATE_CHANGE = "rate_change",
|
|
185
|
+
SKU_CHANGE = "sku_change",
|
|
186
|
+
NEW_METER = "new_meter",
|
|
187
|
+
REMOVED_METER = "removed_meter"
|
|
188
|
+
}
|
|
189
|
+
export type BillingModifierType = 'reservation' | 'savings_plan' | 'spot' | 'promotion' | 'other';
|
|
190
|
+
export interface BillingModifierDetail {
|
|
191
|
+
type: BillingModifierType;
|
|
192
|
+
name?: string;
|
|
193
|
+
coverageHours?: number;
|
|
194
|
+
coveragePercent?: number;
|
|
195
|
+
previousCoveragePercent?: number;
|
|
196
|
+
coveragePercentDelta?: number;
|
|
197
|
+
notes?: string;
|
|
198
|
+
}
|
|
199
|
+
export interface RateChangeContext {
|
|
200
|
+
previousEffectiveRate?: number;
|
|
201
|
+
currentEffectiveRate?: number;
|
|
202
|
+
previousPaidRate?: number;
|
|
203
|
+
currentPaidRate?: number;
|
|
204
|
+
totalHours?: number;
|
|
205
|
+
paidHours?: number;
|
|
206
|
+
coveredHours?: number;
|
|
207
|
+
previousCoveredHours?: number;
|
|
208
|
+
previousCoveredPercent?: number;
|
|
209
|
+
currentCoveredPercent?: number;
|
|
210
|
+
coverageDeltaPercent?: number;
|
|
211
|
+
modifier?: BillingModifierDetail;
|
|
212
|
+
}
|
|
213
|
+
/** Details about a specific change reason */
|
|
214
|
+
export interface ChangeReasonDetails {
|
|
215
|
+
/** The meter name (e.g., "P1 v3 App") */
|
|
216
|
+
meter?: string;
|
|
217
|
+
/** The meter category (e.g., "Azure App Service") */
|
|
218
|
+
meterCategory?: string;
|
|
219
|
+
/** The meter sub-category */
|
|
220
|
+
meterSubCategory?: string;
|
|
221
|
+
/** Previous value (could be cost, quantity, rate, or SKU name) */
|
|
222
|
+
oldValue?: string | number;
|
|
223
|
+
/** New value (could be cost, quantity, rate, or SKU name) */
|
|
224
|
+
newValue?: string | number;
|
|
225
|
+
/** Human-readable description of the change */
|
|
226
|
+
description: string;
|
|
227
|
+
/** Additional rate-change context (coverage shifts, modifier attribution, etc.) */
|
|
228
|
+
rateContext?: RateChangeContext;
|
|
229
|
+
/** Optional narrative fragments to help surface a story in the UI */
|
|
230
|
+
storyFragments?: string[];
|
|
231
|
+
}
|
|
232
|
+
/** A single reason explaining a cost change */
|
|
233
|
+
export interface ChangeReason {
|
|
234
|
+
/** Type of change */
|
|
235
|
+
type: ChangeReasonType;
|
|
236
|
+
/** Dollar impact of this change (can be positive or negative) */
|
|
237
|
+
impact: number;
|
|
238
|
+
/** Percentage of total change this reason represents */
|
|
239
|
+
impactPercent: number;
|
|
240
|
+
/** Detailed information about the change */
|
|
241
|
+
details: ChangeReasonDetails;
|
|
242
|
+
/** Optional narrative fragments tied to this reason */
|
|
243
|
+
storyFragments?: string[];
|
|
244
|
+
}
|
|
245
|
+
/** Complete analysis of cost changes for a resource */
|
|
246
|
+
export interface CostChangeAnalysis {
|
|
247
|
+
/** Overall type of change */
|
|
248
|
+
changeType: ChangeType;
|
|
249
|
+
/** List of specific reasons for the change, ordered by impact */
|
|
250
|
+
changeReasons: ChangeReason[];
|
|
251
|
+
/** Human-readable summary of the changes */
|
|
252
|
+
summary: string;
|
|
253
|
+
/** Optional narrative fragments surfaced for display */
|
|
254
|
+
storyFragments?: string[];
|
|
255
|
+
}
|
|
38
256
|
//# sourceMappingURL=reports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,0GAA0G;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,wDAAwD;IACxD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;KAC/D,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,UAAU,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2BAA2B,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,UAAU,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,iBAAiB,CAAC;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxC,iBAAiB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,qBAAqB,CAAC,EAAE;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;IAC/G;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,iBAAiB,CAAC,EACd,KAAK,CAAC;QACJ,iBAAiB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAC1C,UAAU,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,iBAAiB,CAAC;QACpE,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,mBAAmB,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;QACxD,qBAAqB,CAAC,EAAE;YACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;SACf,CAAC;QACF,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAChD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,GAEF;QACE,iBAAiB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAC1C,UAAU,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,iBAAiB,CAAC;QACpE,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,mBAAmB,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;QACxD,qBAAqB,CAAC,EAAE;YACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;SACf,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACN,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAErG,6CAA6C;AAC7C,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,aAAa,kBAAkB;CAChC;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IAEpB,mFAAmF;IACnF,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,IAAI,EAAE,gBAAgB,CAAC;IAEvB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,OAAO,EAAE,mBAAmB,CAAC;IAE7B,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,UAAU,EAAE,UAAU,CAAC;IAEvB,iEAAiE;IACjE,aAAa,EAAE,YAAY,EAAE,CAAC;IAE9B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
|
package/dist/azure/reports.js
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChangeReasonType = void 0;
|
|
4
|
+
/** Specific reason types for cost changes */
|
|
5
|
+
var ChangeReasonType;
|
|
6
|
+
(function (ChangeReasonType) {
|
|
7
|
+
ChangeReasonType["NEW_RESOURCE"] = "new_resource";
|
|
8
|
+
ChangeReasonType["REMOVED_RESOURCE"] = "removed_resource";
|
|
9
|
+
ChangeReasonType["QUANTITY_INCREASE"] = "quantity_increase";
|
|
10
|
+
ChangeReasonType["QUANTITY_DECREASE"] = "quantity_decrease";
|
|
11
|
+
ChangeReasonType["RATE_CHANGE"] = "rate_change";
|
|
12
|
+
ChangeReasonType["SKU_CHANGE"] = "sku_change";
|
|
13
|
+
ChangeReasonType["NEW_METER"] = "new_meter";
|
|
14
|
+
ChangeReasonType["REMOVED_METER"] = "removed_meter";
|
|
15
|
+
})(ChangeReasonType || (exports.ChangeReasonType = ChangeReasonType = {}));
|
|
3
16
|
//# sourceMappingURL=reports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":";;;AA8LA,6CAA6C;AAC7C,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,+CAA2B,CAAA;IAC3B,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mDAA+B,CAAA;AACjC,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B"}
|
|
@@ -1,32 +1,46 @@
|
|
|
1
1
|
export interface ResourcesByType {
|
|
2
2
|
type: string;
|
|
3
3
|
resources: number;
|
|
4
|
+
/** total spend in the current billing period */
|
|
4
5
|
spendBilling?: number;
|
|
6
|
+
/** total amortized spend in the current billing period */
|
|
5
7
|
spendBillingAmortized?: number;
|
|
8
|
+
/** total spend in the previous billing period */
|
|
6
9
|
spendPreviousBilling?: number;
|
|
7
10
|
spendPreviousBillingAmortized?: number;
|
|
11
|
+
/** total spend over the last 30 days */
|
|
8
12
|
spend30Days?: number;
|
|
9
13
|
spend30DaysAmortized?: number;
|
|
14
|
+
/** total spend over the previous 30 days */
|
|
10
15
|
spendPrevious30Days?: number;
|
|
11
16
|
spendPrevious30DaysAmortized?: number;
|
|
17
|
+
/** total spend over the last 7 days */
|
|
12
18
|
spend7Days?: number;
|
|
13
19
|
spend7DaysAmortized?: number;
|
|
20
|
+
/** total spend over the previous 7 days */
|
|
14
21
|
spendPrevious7Days?: number;
|
|
15
22
|
spendPrevious7DaysAmortized?: number;
|
|
16
23
|
}
|
|
17
24
|
export interface ResourceByLocation {
|
|
18
25
|
location: string;
|
|
19
26
|
resources: number;
|
|
27
|
+
/** total spend in the current billing period */
|
|
20
28
|
spendBilling?: number;
|
|
29
|
+
/** total amortized spend in the current billing period */
|
|
21
30
|
spendBillingAmortized?: number;
|
|
31
|
+
/** total spend in the previous billing period */
|
|
22
32
|
spendPreviousBilling?: number;
|
|
23
33
|
spendPreviousBillingAmortized?: number;
|
|
34
|
+
/** total spend over the last 30 days */
|
|
24
35
|
spend30Days?: number;
|
|
25
36
|
spend30DaysAmortized?: number;
|
|
37
|
+
/** total spend over the previous 30 days */
|
|
26
38
|
spendPrevious30Days?: number;
|
|
27
39
|
spendPrevious30DaysAmortized?: number;
|
|
40
|
+
/** total spend over the last 7 days */
|
|
28
41
|
spend7Days?: number;
|
|
29
42
|
spend7DaysAmortized?: number;
|
|
43
|
+
/** total spend over the previous 7 days */
|
|
30
44
|
spendPrevious7Days?: number;
|
|
31
45
|
spendPrevious7DaysAmortized?: number;
|
|
32
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/azure/resources.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/azure/resources.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|