@spottoai/types-package 1.0.2-beta.17 → 1.0.2-beta.171
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 -11
- 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 +944 -9
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/azure/benefits.d.ts +119 -0
- package/dist/azure/benefits.d.ts.map +1 -0
- package/dist/azure/benefits.js +3 -0
- package/dist/azure/benefits.js.map +1 -0
- 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/budgets.d.ts +4 -0
- package/dist/azure/budgets.d.ts.map +1 -1
- package/dist/azure/commitmentsPlanning.d.ts +108 -0
- package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
- package/dist/azure/commitmentsPlanning.js +3 -0
- package/dist/azure/commitmentsPlanning.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 +40 -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/recommendationAudit.d.ts +113 -0
- package/dist/azure/recommendationAudit.d.ts.map +1 -0
- package/dist/azure/recommendationAudit.js +10 -0
- package/dist/azure/recommendationAudit.js.map +1 -0
- package/dist/azure/recommendationState.d.ts +91 -2
- package/dist/azure/recommendationState.d.ts.map +1 -1
- package/dist/azure/recommendations.d.ts +249 -5
- package/dist/azure/recommendations.d.ts.map +1 -1
- package/dist/azure/recommendations.js.map +1 -1
- package/dist/azure/relationships.d.ts +77 -0
- package/dist/azure/relationships.d.ts.map +1 -0
- package/dist/azure/relationships.js +3 -0
- package/dist/azure/relationships.js.map +1 -0
- 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 +15 -1
- package/dist/azure/security.d.ts.map +1 -1
- package/dist/azure/serviceRetirement.d.ts +28 -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 +241 -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 +30 -13
- package/dist/azure/subscriptions.d.ts.map +1 -1
- package/dist/azure/views.d.ts +110 -2
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +1 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/pagination.d.ts +3 -0
- package/dist/common/pagination.d.ts.map +1 -1
- package/dist/common/provider.d.ts +9 -0
- package/dist/common/provider.d.ts.map +1 -0
- package/dist/common/provider.js +9 -0
- package/dist/common/provider.js.map +1 -0
- 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 +26 -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 +67 -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 +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/halo.d.ts +76 -0
- package/dist/integrations/halo.d.ts.map +1 -0
- package/dist/integrations/halo.js +3 -0
- package/dist/integrations/halo.js.map +1 -0
- package/dist/integrations/index.d.ts +3 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +19 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/integrationTickets.d.ts +67 -0
- package/dist/integrations/integrationTickets.d.ts.map +1 -0
- package/dist/integrations/integrationTickets.js +3 -0
- package/dist/integrations/integrationTickets.js.map +1 -0
- 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
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export type RelationshipSnapshotNodeKind = 'subscription' | 'resourceGroup' | 'resource' | 'location' | 'availabilityZone' | 'managementGroup';
|
|
2
|
+
export type RelationshipSnapshotEdgeKind = 'contains' | 'depends_on';
|
|
3
|
+
export interface RelationshipSnapshotCostOverlay {
|
|
4
|
+
spend30d?: number;
|
|
5
|
+
spend30dAmortized?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface RelationshipSnapshotNodeData {
|
|
8
|
+
resourceGroup?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
location?: string;
|
|
12
|
+
tags?: Record<string, string>;
|
|
13
|
+
placeholder?: boolean;
|
|
14
|
+
displayName?: string;
|
|
15
|
+
icon?: string;
|
|
16
|
+
label1?: string;
|
|
17
|
+
label2?: string;
|
|
18
|
+
label3?: string;
|
|
19
|
+
properties?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export interface RelationshipSnapshotNode {
|
|
22
|
+
id: string;
|
|
23
|
+
kind: RelationshipSnapshotNodeKind;
|
|
24
|
+
data: RelationshipSnapshotNodeData;
|
|
25
|
+
cost?: RelationshipSnapshotCostOverlay;
|
|
26
|
+
}
|
|
27
|
+
export interface RelationshipSnapshotEdgeEvidence {
|
|
28
|
+
method: string;
|
|
29
|
+
ruleName?: string;
|
|
30
|
+
propertyPath?: string;
|
|
31
|
+
matchedValue?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface RelationshipSnapshotEdge {
|
|
34
|
+
id: string;
|
|
35
|
+
from: string;
|
|
36
|
+
to: string;
|
|
37
|
+
kind: RelationshipSnapshotEdgeKind;
|
|
38
|
+
relationshipTypes: string[];
|
|
39
|
+
confidence: number;
|
|
40
|
+
evidence: RelationshipSnapshotEdgeEvidence[];
|
|
41
|
+
costImpact?: {
|
|
42
|
+
type: 'full' | 'partial' | 'indirect' | 'none';
|
|
43
|
+
weight?: number;
|
|
44
|
+
category?: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export interface UnresolvedRelationshipReference {
|
|
49
|
+
sourceId: string;
|
|
50
|
+
ruleName?: string;
|
|
51
|
+
propertyPath?: string;
|
|
52
|
+
value: string;
|
|
53
|
+
resolverTried?: string;
|
|
54
|
+
reason?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface RelationshipSnapshotStats {
|
|
57
|
+
totalNodes: number;
|
|
58
|
+
totalEdges: number;
|
|
59
|
+
unresolvedCount: number;
|
|
60
|
+
buildMs: number;
|
|
61
|
+
unresolvedTruncated?: boolean;
|
|
62
|
+
edgesTruncated?: boolean;
|
|
63
|
+
edgesDroppedCount?: number;
|
|
64
|
+
snapshotBytes?: number;
|
|
65
|
+
}
|
|
66
|
+
export interface RelationshipSnapshot {
|
|
67
|
+
schemaVersion: 1;
|
|
68
|
+
generatedAt: string;
|
|
69
|
+
subscriptionId: string;
|
|
70
|
+
currency?: string;
|
|
71
|
+
currencySymbol?: string;
|
|
72
|
+
nodes: RelationshipSnapshotNode[];
|
|
73
|
+
edges: RelationshipSnapshotEdge[];
|
|
74
|
+
unresolved: UnresolvedRelationshipReference[];
|
|
75
|
+
stats: RelationshipSnapshotStats;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/azure/relationships.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/azure/relationships.ts"],"names":[],"mappings":""}
|
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":"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"}
|
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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
export interface ReviewChecklistRequest {
|
|
2
|
+
tenantId?: string;
|
|
3
|
+
subscriptionIds: string[];
|
|
4
|
+
checklistId?: string;
|
|
5
|
+
categories?: string[];
|
|
6
|
+
onlyFailed?: boolean;
|
|
7
|
+
limitEvidence?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ReviewChecklistPayload extends ReviewChecklistRequest {
|
|
10
|
+
cloudAccountId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ReviewChecklistScanRequest {
|
|
13
|
+
cloudAccountId: string;
|
|
14
|
+
subscriptionId: string;
|
|
15
|
+
}
|
|
16
|
+
export type ReviewChecklistItemStatus = 'NotVerified' | 'Open' | 'Fulfilled' | 'Error' | 'NotRequired' | 'NA';
|
|
17
|
+
export interface ReviewChecklistItem {
|
|
18
|
+
guid: string;
|
|
19
|
+
id?: string;
|
|
20
|
+
category?: string;
|
|
21
|
+
subcategory?: string;
|
|
22
|
+
text?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
severity?: string;
|
|
25
|
+
waf?: string;
|
|
26
|
+
service?: string;
|
|
27
|
+
topics?: string[];
|
|
28
|
+
link?: string;
|
|
29
|
+
training?: string;
|
|
30
|
+
headline?: string;
|
|
31
|
+
plainSummary?: string;
|
|
32
|
+
effortHours?: number;
|
|
33
|
+
effortReason?: string;
|
|
34
|
+
graph?: string;
|
|
35
|
+
hasGraph?: boolean;
|
|
36
|
+
graphSourceAI?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface ReviewChecklistItemState {
|
|
39
|
+
guid: string;
|
|
40
|
+
checklistId: string;
|
|
41
|
+
subscriptionId: string;
|
|
42
|
+
status?: ReviewChecklistItemStatus;
|
|
43
|
+
statusSource?: 'system' | 'user';
|
|
44
|
+
comments?: string;
|
|
45
|
+
lastUpdated?: string;
|
|
46
|
+
updatedBy?: string;
|
|
47
|
+
updatedByUserId?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface ReviewChecklistItemStateUpdateRequest {
|
|
50
|
+
status?: ReviewChecklistItemStatus;
|
|
51
|
+
comments?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface ReviewChecklistDefinition {
|
|
54
|
+
checklistId: string;
|
|
55
|
+
source?: {
|
|
56
|
+
commit?: string;
|
|
57
|
+
syncedAt?: string;
|
|
58
|
+
};
|
|
59
|
+
metadata?: {
|
|
60
|
+
name?: string;
|
|
61
|
+
state?: string;
|
|
62
|
+
timestamp?: string;
|
|
63
|
+
[key: string]: unknown;
|
|
64
|
+
};
|
|
65
|
+
categories?: string[];
|
|
66
|
+
items: ReviewChecklistItem[];
|
|
67
|
+
}
|
|
68
|
+
export interface ReviewChecklistItemResult {
|
|
69
|
+
guid: string;
|
|
70
|
+
status: ReviewChecklistItemStatus;
|
|
71
|
+
compliantCount: number;
|
|
72
|
+
nonCompliantCount: number;
|
|
73
|
+
compliantIds: string[];
|
|
74
|
+
nonCompliantIds: string[];
|
|
75
|
+
error?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface ReviewChecklistItemOutput extends ReviewChecklistItemResult {
|
|
78
|
+
id: string | null;
|
|
79
|
+
category: string | null;
|
|
80
|
+
subcategory: string | null;
|
|
81
|
+
text: string | null;
|
|
82
|
+
description: string | null;
|
|
83
|
+
severity: string | null;
|
|
84
|
+
waf: string | null;
|
|
85
|
+
service: string | null;
|
|
86
|
+
link: string | null;
|
|
87
|
+
training: string | null;
|
|
88
|
+
headline: string | null;
|
|
89
|
+
plainSummary: string | null;
|
|
90
|
+
effortHours: number | null;
|
|
91
|
+
effortReason: string | null;
|
|
92
|
+
hasGraph: boolean | null;
|
|
93
|
+
graphSourceAI: boolean | null;
|
|
94
|
+
comments?: string | null;
|
|
95
|
+
statusSource?: 'system' | 'user';
|
|
96
|
+
lastUpdated?: string | null;
|
|
97
|
+
updatedBy?: string | null;
|
|
98
|
+
}
|
|
99
|
+
export interface ReviewChecklistSubscriptionResult {
|
|
100
|
+
subscriptionId: string;
|
|
101
|
+
items: ReviewChecklistItemOutput[];
|
|
102
|
+
}
|
|
103
|
+
export type ChecklistScanStatus = 'Completed' | 'Failed' | 'In Progress';
|
|
104
|
+
export interface ReviewChecklistDocument {
|
|
105
|
+
checklistId: string;
|
|
106
|
+
tenantId: string;
|
|
107
|
+
subscriptionId: string;
|
|
108
|
+
sourceVersion?: string;
|
|
109
|
+
name: string | null;
|
|
110
|
+
state: string | null;
|
|
111
|
+
timestamp: string | null;
|
|
112
|
+
scanStatus: ChecklistScanStatus;
|
|
113
|
+
/** ISO 8601 timestamp */
|
|
114
|
+
generatedAt: string;
|
|
115
|
+
items: ReviewChecklistItemOutput[];
|
|
116
|
+
}
|
|
117
|
+
export interface ReviewChecklistRunResult {
|
|
118
|
+
checklistId: string;
|
|
119
|
+
tenantId: string;
|
|
120
|
+
sourceVersion?: string;
|
|
121
|
+
name: string | null;
|
|
122
|
+
state: string | null;
|
|
123
|
+
timestamp: string | null;
|
|
124
|
+
scanStatus: ChecklistScanStatus;
|
|
125
|
+
generatedAt: string;
|
|
126
|
+
subscriptions: ReviewChecklistSubscriptionResult[];
|
|
127
|
+
}
|
|
128
|
+
export type ReviewChecklistCatalogueState = 'Preview' | 'preview' | 'GA' | 'Deprecated' | string | null;
|
|
129
|
+
export interface ReviewChecklistCatalogueEntry {
|
|
130
|
+
id: string;
|
|
131
|
+
name: string;
|
|
132
|
+
serviceName: string;
|
|
133
|
+
state: ReviewChecklistCatalogueState;
|
|
134
|
+
/** ISO 8601 date (YYYY-MM-DD) */
|
|
135
|
+
lastModified: string;
|
|
136
|
+
star: boolean;
|
|
137
|
+
}
|
|
138
|
+
export type ReviewChecklistCatalogue = ReviewChecklistCatalogueEntry[];
|
|
139
|
+
//# sourceMappingURL=reviewChecklist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewChecklist.d.ts","sourceRoot":"","sources":["../../src/azure/reviewChecklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewChecklist.js","sourceRoot":"","sources":["../../src/azure/reviewChecklist.ts"],"names":[],"mappings":""}
|
package/dist/azure/security.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export interface SecurityImpact {
|
|
2
|
-
|
|
2
|
+
id?: string;
|
|
3
3
|
controlDisplayName: string;
|
|
4
4
|
controlName: string;
|
|
5
|
+
/** Recommendation ids */
|
|
5
6
|
recommendationIds: string[];
|
|
6
7
|
notApplicableResourceCount: number;
|
|
7
8
|
unhealthyResourceCount: number;
|
|
@@ -11,4 +12,17 @@ export interface SecurityImpact {
|
|
|
11
12
|
currentScore: number;
|
|
12
13
|
potentialScoreIncrease: number;
|
|
13
14
|
}
|
|
15
|
+
/** For individual resource status */
|
|
16
|
+
export interface SecurityAssessmentStatus {
|
|
17
|
+
resourceId: string;
|
|
18
|
+
status: 'Healthy' | 'Unhealthy' | 'NotApplicable';
|
|
19
|
+
}
|
|
20
|
+
/** For subscription level */
|
|
21
|
+
export interface SubscriptionSecurityStatus {
|
|
22
|
+
activeRecommendations: number;
|
|
23
|
+
totalRecommendations: number;
|
|
24
|
+
healthyResources: number;
|
|
25
|
+
unhealthyResources: number;
|
|
26
|
+
notApplicableResources: number;
|
|
27
|
+
}
|
|
14
28
|
//# sourceMappingURL=security.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/azure/security.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/azure/security.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,qCAAqC;AACrC,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;CACnD;AAED,6BAA6B;AAC7B,MAAM,WAAW,0BAA0B;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Tags } from '../tags';
|
|
2
|
+
import { ServiceRetirementRecommendation } from './recommendations';
|
|
3
|
+
import type { BenefitCoverageSummary } from './views.js';
|
|
4
|
+
export interface ServiceRetirement {
|
|
5
|
+
id: string;
|
|
6
|
+
subscriptionId: string;
|
|
7
|
+
resourceId: string;
|
|
8
|
+
resourceName: string;
|
|
9
|
+
resourceType: string;
|
|
10
|
+
resourceGroup: string;
|
|
11
|
+
location: string;
|
|
12
|
+
retiringFeature: string;
|
|
13
|
+
retirementDate: string;
|
|
14
|
+
effort?: 'high' | 'medium' | 'low';
|
|
15
|
+
effortHours?: number;
|
|
16
|
+
tags?: Record<string, string>;
|
|
17
|
+
spottoTags?: Tags;
|
|
18
|
+
}
|
|
19
|
+
export interface ServiceRetirementPortalResource {
|
|
20
|
+
id: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
resourceType?: string;
|
|
23
|
+
benefitsCoverage?: BenefitCoverageSummary;
|
|
24
|
+
}
|
|
25
|
+
export interface ServiceRetirementPortalEntry extends ServiceRetirementRecommendation {
|
|
26
|
+
resources: ServiceRetirementPortalResource[];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=serviceRetirement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serviceRetirement.d.ts","sourceRoot":"","sources":["../../src/azure/serviceRetirement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,4BAA6B,SAAQ,+BAA+B;IACnF,SAAS,EAAE,+BAA+B,EAAE,CAAC;CAC9C"}
|