@spottoai/types-package 1.0.2-beta.21 → 1.0.2-beta.211
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 -13
- package/dist/accounts/accounts.d.ts +45 -3
- package/dist/accounts/accounts.d.ts.map +1 -1
- package/dist/accounts/index.d.ts +3 -0
- package/dist/accounts/index.d.ts.map +1 -1
- package/dist/accounts/index.js +3 -0
- package/dist/accounts/index.js.map +1 -1
- package/dist/accounts/readPermissions.d.ts +45 -0
- package/dist/accounts/readPermissions.d.ts.map +1 -0
- package/dist/accounts/readPermissions.js +70 -0
- package/dist/accounts/readPermissions.js.map +1 -0
- package/dist/accounts/validation.d.ts +24 -0
- package/dist/accounts/validation.d.ts.map +1 -0
- package/dist/accounts/validation.js +3 -0
- package/dist/accounts/validation.js.map +1 -0
- 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 +975 -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/activityLogs.d.ts +65 -0
- package/dist/azure/activityLogs.d.ts.map +1 -0
- package/dist/azure/activityLogs.js +6 -0
- package/dist/azure/activityLogs.js.map +1 -0
- package/dist/azure/benefits.d.ts +137 -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 +249 -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 +159 -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 +75 -2
- 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/governance.d.ts +627 -0
- package/dist/azure/governance.d.ts.map +1 -0
- package/dist/azure/governance.js +12 -0
- package/dist/azure/governance.js.map +1 -0
- package/dist/azure/metrics.d.ts +75 -4
- package/dist/azure/metrics.d.ts.map +1 -1
- package/dist/azure/payloads.d.ts +22 -1
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/prices.d.ts +178 -1
- package/dist/azure/prices.d.ts.map +1 -1
- package/dist/azure/publicIpAddresses.d.ts +96 -0
- package/dist/azure/publicIpAddresses.d.ts.map +1 -0
- package/dist/azure/publicIpAddresses.js +6 -0
- package/dist/azure/publicIpAddresses.js.map +1 -0
- 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 +92 -3
- package/dist/azure/recommendationState.d.ts.map +1 -1
- package/dist/azure/recommendations.d.ts +411 -6
- 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 +248 -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 +80 -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 +34 -13
- package/dist/azure/subscriptions.d.ts.map +1 -1
- package/dist/azure/views.d.ts +252 -3
- 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 +32 -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 +19 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -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/scheduler/index.d.ts +2 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js +18 -0
- package/dist/scheduler/index.js.map +1 -0
- package/dist/scheduler/scheduler.d.ts +110 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/scheduler/scheduler.js +3 -0
- package/dist/scheduler/scheduler.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
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { Comment, RecommendationHistory } from './recommendationState';
|
|
2
|
-
import {
|
|
1
|
+
import type { Comment, CommentScope, RecommendationHistory } from './recommendationState';
|
|
2
|
+
import type { ProviderScope } from '../common/provider';
|
|
3
|
+
import { SecurityAssessmentStatus, SecurityImpact, SubscriptionSecurityStatus } from './security';
|
|
4
|
+
import { SubscriptionSummaryLite } from './subscriptions';
|
|
5
|
+
import { CostSavingsSummary, SavingsPotential, VmPricePerformanceInsights } from './views';
|
|
6
|
+
import type { HaloRoutingOverrides } from '../integrations/halo';
|
|
3
7
|
export declare enum RecommendationCategory {
|
|
4
8
|
Cost = "Cost",
|
|
5
9
|
Performance = "Performance",
|
|
@@ -9,14 +13,155 @@ export declare enum RecommendationCategory {
|
|
|
9
13
|
OperationalExcellence = "OperationalExcellence",
|
|
10
14
|
OperationalExcellenceAlternative = "Operational Excellence"
|
|
11
15
|
}
|
|
16
|
+
export type RecommendationPriorityTier = 'must_do' | 'normal';
|
|
17
|
+
export type EffortEstimateProfileName = 'clickops' | 'devops' | 'enterprise';
|
|
18
|
+
export interface RecommendationBaseScores {
|
|
19
|
+
cost_optimization: number;
|
|
20
|
+
security: number;
|
|
21
|
+
performance: number;
|
|
22
|
+
reliability: number;
|
|
23
|
+
compliance: number;
|
|
24
|
+
operational_excellence: number;
|
|
25
|
+
}
|
|
26
|
+
export interface RecommendationEffortEstimateBreakdown {
|
|
27
|
+
discovery: number;
|
|
28
|
+
implementation: number;
|
|
29
|
+
validation: number;
|
|
30
|
+
rollbackPlanning: number;
|
|
31
|
+
coordination: number;
|
|
32
|
+
}
|
|
33
|
+
export interface RecommendationEffortEstimateProfile {
|
|
34
|
+
effortHours: number;
|
|
35
|
+
breakdown: RecommendationEffortEstimateBreakdown;
|
|
36
|
+
reason: string;
|
|
37
|
+
}
|
|
38
|
+
export interface RecommendationEffortEstimateProfiles {
|
|
39
|
+
clickops: RecommendationEffortEstimateProfile;
|
|
40
|
+
devops: RecommendationEffortEstimateProfile;
|
|
41
|
+
enterprise: RecommendationEffortEstimateProfile;
|
|
42
|
+
}
|
|
43
|
+
export interface RecommendationBulkEffortEstimateProfile {
|
|
44
|
+
setupHours: number;
|
|
45
|
+
perResourceHours: number;
|
|
46
|
+
validationHours: number;
|
|
47
|
+
}
|
|
48
|
+
export interface RecommendationBulkEffortEstimateProfiles {
|
|
49
|
+
clickops: RecommendationBulkEffortEstimateProfile;
|
|
50
|
+
devops: RecommendationBulkEffortEstimateProfile;
|
|
51
|
+
enterprise: RecommendationBulkEffortEstimateProfile;
|
|
52
|
+
}
|
|
53
|
+
export interface RecommendationBulkEffortEstimates {
|
|
54
|
+
supported: boolean;
|
|
55
|
+
threshold: number;
|
|
56
|
+
profiles: RecommendationBulkEffortEstimateProfiles;
|
|
57
|
+
}
|
|
58
|
+
export interface RecommendationEffortEstimates {
|
|
59
|
+
profiles: RecommendationEffortEstimateProfiles;
|
|
60
|
+
bulk: RecommendationBulkEffortEstimates;
|
|
61
|
+
overridden?: boolean;
|
|
62
|
+
lastUpdatedAt?: string;
|
|
63
|
+
notes?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface RecommendationActionImpactAssessment {
|
|
66
|
+
downtime: string;
|
|
67
|
+
dataLoss: string;
|
|
68
|
+
accessImpact: string;
|
|
69
|
+
dependencies: string;
|
|
70
|
+
}
|
|
71
|
+
export type RecommendationActionRiskLevel = 'low' | 'medium' | 'high';
|
|
72
|
+
export interface RecommendationActionRollback {
|
|
73
|
+
supported: boolean;
|
|
74
|
+
description: string;
|
|
75
|
+
limitations: string[];
|
|
76
|
+
}
|
|
77
|
+
export interface RecommendationActionCheck {
|
|
78
|
+
label: string;
|
|
79
|
+
description: string;
|
|
80
|
+
}
|
|
81
|
+
export interface RecommendationActionLink {
|
|
82
|
+
label: string;
|
|
83
|
+
url: string;
|
|
84
|
+
}
|
|
85
|
+
export interface RecommendationActionPostValidation {
|
|
86
|
+
label: string;
|
|
87
|
+
description: string;
|
|
88
|
+
expectedResult: string;
|
|
89
|
+
links?: RecommendationActionLink[];
|
|
90
|
+
}
|
|
91
|
+
export interface RecommendationActionDefinition {
|
|
92
|
+
verified: boolean;
|
|
93
|
+
title: string;
|
|
94
|
+
description: string;
|
|
95
|
+
estimatedDuration: string;
|
|
96
|
+
riskLevel: RecommendationActionRiskLevel;
|
|
97
|
+
impactAssessment: RecommendationActionImpactAssessment;
|
|
98
|
+
rollback: RecommendationActionRollback;
|
|
99
|
+
humanPreChecks: RecommendationActionCheck[];
|
|
100
|
+
postValidation: RecommendationActionPostValidation[];
|
|
101
|
+
}
|
|
102
|
+
export type RecommendationActionMetadata = RecommendationActionDefinition;
|
|
103
|
+
export type RecommendationImplementActionImpactAssessment = RecommendationActionImpactAssessment;
|
|
104
|
+
export type RecommendationImplementAction = RecommendationActionMetadata;
|
|
12
105
|
export interface RecommendationResources {
|
|
13
106
|
recommendation: CustomAzureRecommendation;
|
|
14
107
|
resourceIds: string[];
|
|
15
108
|
}
|
|
109
|
+
export type HddSsdMigrationTargetTier = 'standardSsd' | 'premiumSsd';
|
|
110
|
+
export type HddDiskPricingRedundancy = 'LRS' | 'ZRS';
|
|
111
|
+
export interface HddOsRetirementCurrentDiskPricing {
|
|
112
|
+
storageTier: 'standardHdd';
|
|
113
|
+
skuName: string;
|
|
114
|
+
pricingRedundancy?: HddDiskPricingRedundancy;
|
|
115
|
+
sizeGiB: number;
|
|
116
|
+
monthlyActual: number;
|
|
117
|
+
monthlyRetail: number;
|
|
118
|
+
}
|
|
119
|
+
export interface HddOsRetirementTargetDiskPricing {
|
|
120
|
+
storageTier: HddSsdMigrationTargetTier;
|
|
121
|
+
skuName: string;
|
|
122
|
+
pricingRedundancy?: HddDiskPricingRedundancy;
|
|
123
|
+
sizeGiB: number;
|
|
124
|
+
monthlyRetail: number;
|
|
125
|
+
}
|
|
126
|
+
export interface HddOsRetirementDiskRenderItem {
|
|
127
|
+
resourceId: string;
|
|
128
|
+
resourceName: string;
|
|
129
|
+
resourceType: string;
|
|
130
|
+
/** Canonical location key used for pricing lookup, e.g. "westus". */
|
|
131
|
+
pricingLocation?: string;
|
|
132
|
+
current: HddOsRetirementCurrentDiskPricing;
|
|
133
|
+
standardSsd: HddOsRetirementTargetDiskPricing & {
|
|
134
|
+
storageTier: 'standardSsd';
|
|
135
|
+
};
|
|
136
|
+
premiumSsd: HddOsRetirementTargetDiskPricing & {
|
|
137
|
+
storageTier: 'premiumSsd';
|
|
138
|
+
};
|
|
139
|
+
defaultSelection?: HddSsdMigrationTargetTier;
|
|
140
|
+
}
|
|
141
|
+
export interface HddOsRetirementRenderStrategyPayload {
|
|
142
|
+
retirementDate: string;
|
|
143
|
+
retirementLink: string;
|
|
144
|
+
currencyCode?: string;
|
|
145
|
+
currencySymbol?: string;
|
|
146
|
+
defaultTargetTier?: HddSsdMigrationTargetTier;
|
|
147
|
+
impactedDiskCount: number;
|
|
148
|
+
currentMonthlyActual: number;
|
|
149
|
+
currentMonthlyRetail: number;
|
|
150
|
+
standardSsdMonthlyRetail: number;
|
|
151
|
+
premiumSsdMonthlyRetail: number;
|
|
152
|
+
standardSsdMonthlyDelta: number;
|
|
153
|
+
premiumSsdMonthlyDelta: number;
|
|
154
|
+
disks: HddOsRetirementDiskRenderItem[];
|
|
155
|
+
}
|
|
156
|
+
export type RecommendationKnownRenderData = HddOsRetirementRenderStrategyPayload | VmPricePerformanceInsights;
|
|
157
|
+
export type AnyRecommendationRenderData = Record<string, unknown>;
|
|
16
158
|
export interface Recommendation {
|
|
159
|
+
/** Business identity of a recommendation record (routing/state/sharing/dedupe). */
|
|
17
160
|
id: string;
|
|
18
161
|
name: string;
|
|
19
162
|
category: RecommendationCategory;
|
|
163
|
+
subCategory?: string;
|
|
164
|
+
/** custom */
|
|
20
165
|
type?: string;
|
|
21
166
|
description?: string;
|
|
22
167
|
remediation?: string;
|
|
@@ -30,28 +175,76 @@ export interface Recommendation {
|
|
|
30
175
|
potentialBenefits?: string;
|
|
31
176
|
effort?: string;
|
|
32
177
|
effortReason?: string;
|
|
178
|
+
/** e.g. 10 hours */
|
|
179
|
+
effortHours?: number;
|
|
180
|
+
/** Detailed implementation estimates by delivery profile and bulk rollout mode. */
|
|
181
|
+
effortEstimates?: RecommendationEffortEstimates;
|
|
33
182
|
risk?: string;
|
|
34
183
|
riskReason?: string;
|
|
184
|
+
/** Could deprecate later */
|
|
35
185
|
costImpact?: number;
|
|
36
186
|
costImpactReason?: string;
|
|
37
|
-
costImpactDetails
|
|
187
|
+
/*** costImpactDetails is deprecated **/
|
|
38
188
|
performanceImpact?: number;
|
|
39
189
|
performanceImpactReason?: string;
|
|
40
190
|
confidencePercentage?: number;
|
|
41
191
|
confidenceReason?: string;
|
|
192
|
+
/** array of resources that have this recommendation */
|
|
42
193
|
resources?: ResourceReference[];
|
|
194
|
+
/** only for security recommendations */
|
|
43
195
|
securityImpactDetails?: SecurityImpact;
|
|
44
|
-
|
|
196
|
+
/** whether the recommendation has been resolved or not, eg, Security Assessment is "Healthy" should be true */
|
|
197
|
+
resolved?: boolean;
|
|
198
|
+
securityAssessmentStatuses?: SecurityAssessmentStatus[];
|
|
199
|
+
/** Deprecated fields, kept for compatibility */
|
|
45
200
|
solution?: string;
|
|
46
201
|
source?: string;
|
|
47
202
|
service?: string;
|
|
203
|
+
/**
|
|
204
|
+
* Stored as string to allow JSON persistence.
|
|
205
|
+
* Uses a different name to avoid conflict with RecommendationWithState.createdAt.
|
|
206
|
+
*/
|
|
48
207
|
createdTime?: string;
|
|
208
|
+
/** Avoids conflict with RecommendationWithState.updatedAt */
|
|
49
209
|
lastUpdatedTime?: string;
|
|
210
|
+
/** Business story properties */
|
|
211
|
+
headline: string;
|
|
212
|
+
bottomLine: string;
|
|
213
|
+
plainSummary: string;
|
|
214
|
+
quickSteps: string[];
|
|
215
|
+
businessOwner: string;
|
|
216
|
+
keyConstraint: string;
|
|
217
|
+
validationEvidence: string;
|
|
218
|
+
/** Technical playbook (only for multi-step implementations) */
|
|
219
|
+
technicalPlaybook?: string;
|
|
220
|
+
/** Static recommendation scoring metadata (library-level). */
|
|
221
|
+
baseScores?: RecommendationBaseScores;
|
|
222
|
+
overallBaseScore?: number;
|
|
223
|
+
overallBaseReason?: string;
|
|
224
|
+
priorityTier?: RecommendationPriorityTier;
|
|
225
|
+
/** Runtime scoring metadata (per company/tenant). */
|
|
226
|
+
adjustedScore?: number;
|
|
227
|
+
objectiveMultiplier?: number;
|
|
228
|
+
finalScore?: number;
|
|
229
|
+
/** UI display-only normalized score (0-100). */
|
|
230
|
+
normalizedScore?: number;
|
|
231
|
+
/** Cross-feature linkage IDs used for deep links and related views. */
|
|
232
|
+
linkingIds?: RecommendationLinkingIds;
|
|
233
|
+
/** Optional UI render payload consumed by recommendation-specific components. */
|
|
234
|
+
renderData?: RecommendationKnownRenderData | AnyRecommendationRenderData;
|
|
235
|
+
/** Optional action definition for implement-capable recommendations. */
|
|
236
|
+
action?: RecommendationActionMetadata;
|
|
50
237
|
}
|
|
238
|
+
export interface RecommendationLinkingIds {
|
|
239
|
+
serviceRetirementIds?: string[];
|
|
240
|
+
}
|
|
241
|
+
/** Deprecated **/
|
|
51
242
|
export interface CostImpactDetails {
|
|
243
|
+
/** e.g. "Saving Plan", "Reserved Instance", "Windows migration to Linux" */
|
|
52
244
|
name: string;
|
|
53
245
|
monthlySavings?: number;
|
|
54
246
|
currentSpend?: number;
|
|
247
|
+
/** e.g. 20 for 20% */
|
|
55
248
|
savingPercentage?: number;
|
|
56
249
|
minMonthlySavings?: number;
|
|
57
250
|
maxMonthlySavings?: number;
|
|
@@ -66,6 +259,18 @@ export interface RecommendationSummary {
|
|
|
66
259
|
export interface RecommendationWithResources {
|
|
67
260
|
recommendation: Recommendation;
|
|
68
261
|
resources: RecommendationResource[];
|
|
262
|
+
savings?: SavingsPotential;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Contextual links from one recommendation row to other resources.
|
|
266
|
+
* Used to model "this disk belongs to that VM" style associations
|
|
267
|
+
* without changing which resource owns savings totals.
|
|
268
|
+
*/
|
|
269
|
+
export interface RecommendationResourceAssociation {
|
|
270
|
+
id: string;
|
|
271
|
+
name?: string;
|
|
272
|
+
type?: string;
|
|
273
|
+
relationship?: ResourceRelationship;
|
|
69
274
|
}
|
|
70
275
|
export interface RecommendationResource {
|
|
71
276
|
id: string;
|
|
@@ -73,9 +278,19 @@ export interface RecommendationResource {
|
|
|
73
278
|
type: string;
|
|
74
279
|
spend: number;
|
|
75
280
|
spendAmortized: number;
|
|
281
|
+
savings?: SavingsPotential;
|
|
282
|
+
currency?: string;
|
|
283
|
+
currencySymbol?: string;
|
|
284
|
+
relationship?: ResourceRelationship;
|
|
285
|
+
associations?: RecommendationResourceAssociation[];
|
|
76
286
|
}
|
|
77
287
|
export interface RecommendationsView {
|
|
78
288
|
recommendations: RecommendationWithResources[];
|
|
289
|
+
securityImpactDetails?: SecurityImpact[];
|
|
290
|
+
subscriptionSecurityStatus?: SubscriptionSecurityStatus;
|
|
291
|
+
savings?: SavingsPotential;
|
|
292
|
+
subscription: SubscriptionSummaryLite;
|
|
293
|
+
costSavingsSummary?: CostSavingsSummary;
|
|
79
294
|
}
|
|
80
295
|
export interface ResourceId {
|
|
81
296
|
id: string;
|
|
@@ -83,7 +298,19 @@ export interface ResourceId {
|
|
|
83
298
|
export interface ResourceReference {
|
|
84
299
|
id: string;
|
|
85
300
|
name: string;
|
|
301
|
+
type?: string;
|
|
302
|
+
savings?: SavingsPotential;
|
|
303
|
+
currency?: string;
|
|
304
|
+
currencySymbol?: string;
|
|
305
|
+
relationship?: ResourceRelationship;
|
|
306
|
+
associations?: RecommendationResourceAssociation[];
|
|
86
307
|
}
|
|
308
|
+
export type ResourceRelationship = {
|
|
309
|
+
role?: 'primary' | 'related';
|
|
310
|
+
type?: string;
|
|
311
|
+
allocationId?: string;
|
|
312
|
+
metadata?: Record<string, string>;
|
|
313
|
+
};
|
|
87
314
|
export interface ReliabilityRecommendation extends Recommendation {
|
|
88
315
|
referenceID: string;
|
|
89
316
|
resourceType: string;
|
|
@@ -91,7 +318,6 @@ export interface ReliabilityRecommendation extends Recommendation {
|
|
|
91
318
|
service: string;
|
|
92
319
|
}
|
|
93
320
|
export interface CustomAzureRecommendation extends Recommendation {
|
|
94
|
-
subcategory: string;
|
|
95
321
|
service: string;
|
|
96
322
|
source: string;
|
|
97
323
|
fileName: string;
|
|
@@ -101,6 +327,7 @@ export interface RecommendationCollection {
|
|
|
101
327
|
results: ResourceId[];
|
|
102
328
|
}
|
|
103
329
|
export interface AzureRecommendationLite {
|
|
330
|
+
/** e.g. Cost, Performance, Reliability, Security, Compliance, OperationalExcellence, Operational Excellence, HighAvailability */
|
|
104
331
|
category: string;
|
|
105
332
|
total: number;
|
|
106
333
|
high: number;
|
|
@@ -108,13 +335,18 @@ export interface AzureRecommendationLite {
|
|
|
108
335
|
low: number;
|
|
109
336
|
}
|
|
110
337
|
export interface RecommendationStats {
|
|
338
|
+
/** total number of recommendations in the subscription */
|
|
111
339
|
total: number;
|
|
340
|
+
/** total number of high recommendations in the subscription */
|
|
112
341
|
high: number;
|
|
342
|
+
/** total number of medium recommendations in the subscription */
|
|
113
343
|
medium: number;
|
|
344
|
+
/** total number of low recommendations in the subscription */
|
|
114
345
|
low: number;
|
|
115
346
|
}
|
|
347
|
+
/** Recommendation with state information, name "ExtendedRecommendation" in the portal at the moment */
|
|
116
348
|
export interface RecommendationWithState extends Recommendation {
|
|
117
|
-
status?: 'Active' | 'Prioritized' | 'Postponed' | 'Dismissed' | 'Completed' | 'Archived';
|
|
349
|
+
status?: 'Active' | 'Prioritized' | 'Postponed' | 'Dismissed' | 'Completed' | 'Archived' | 'Implementing' | 'Implemented' | 'Failed';
|
|
118
350
|
read?: boolean;
|
|
119
351
|
scheduledAt?: Date;
|
|
120
352
|
createdAt?: Date;
|
|
@@ -123,4 +355,177 @@ export interface RecommendationWithState extends Recommendation {
|
|
|
123
355
|
comments?: Comment[];
|
|
124
356
|
history?: RecommendationHistory[];
|
|
125
357
|
}
|
|
358
|
+
export interface DismissRecommendationRequest extends RecommendationActionRequest {
|
|
359
|
+
dismissReason: string;
|
|
360
|
+
}
|
|
361
|
+
export interface ShareRecommendationRequest extends RecommendationActionRequest {
|
|
362
|
+
shareType: 'email' | 'slack' | 'teams' | 'jira' | 'halo' | 'connectwise';
|
|
363
|
+
email?: string;
|
|
364
|
+
halo?: HaloRoutingOverrides;
|
|
365
|
+
connectwise?: ConnectWiseRoutingFields;
|
|
366
|
+
}
|
|
367
|
+
export interface RecommendationActionRequest extends ProviderScope {
|
|
368
|
+
/** `providerScope` maps to subscription identity for Azure providers. */
|
|
369
|
+
scope?: CommentScope;
|
|
370
|
+
/** Optional cloud-account identity enriched by trusted server-side callers before queue publish. */
|
|
371
|
+
cloudAccountId?: string;
|
|
372
|
+
/** Optional user-provided reason for queue-backed actions such as implement. */
|
|
373
|
+
reason?: string;
|
|
374
|
+
recommendationId: string;
|
|
375
|
+
recommendationTitle?: string;
|
|
376
|
+
resourceIds: string[];
|
|
377
|
+
resourceGroupName?: string;
|
|
378
|
+
companyId: string;
|
|
379
|
+
byUserId?: string;
|
|
380
|
+
byUserDisplayName?: string;
|
|
381
|
+
}
|
|
382
|
+
export interface RecommendationActionResponse {
|
|
383
|
+
success: boolean;
|
|
384
|
+
message?: string;
|
|
385
|
+
affectedResources?: string[];
|
|
386
|
+
eventId?: string;
|
|
387
|
+
}
|
|
388
|
+
export interface ServiceRetirementRecommendation {
|
|
389
|
+
Id: string;
|
|
390
|
+
ServiceName: string;
|
|
391
|
+
RetiringFeature: string;
|
|
392
|
+
RetirementDate: string;
|
|
393
|
+
Link: string;
|
|
394
|
+
effort: string;
|
|
395
|
+
effortHours: number;
|
|
396
|
+
effortReason: string;
|
|
397
|
+
risk: string;
|
|
398
|
+
riskReason: string;
|
|
399
|
+
considerations: string;
|
|
400
|
+
confidencePercentage: number;
|
|
401
|
+
confidenceReason: string;
|
|
402
|
+
lastProcessedAt: string;
|
|
403
|
+
/** Related recommendation IDs for cross-navigation from retirement tracker. */
|
|
404
|
+
linkedRecommendationIds?: string[];
|
|
405
|
+
}
|
|
406
|
+
export interface JiraShareDetails {
|
|
407
|
+
projectKey?: string;
|
|
408
|
+
epicKey?: string;
|
|
409
|
+
label?: string;
|
|
410
|
+
}
|
|
411
|
+
export interface JiraIntegrationRequestBase {
|
|
412
|
+
siteUrl: string;
|
|
413
|
+
email: string;
|
|
414
|
+
secret?: string;
|
|
415
|
+
useStoredSecret?: boolean;
|
|
416
|
+
}
|
|
417
|
+
export interface JiraIntegrationTestPayload extends JiraIntegrationRequestBase {
|
|
418
|
+
projectKey?: string;
|
|
419
|
+
}
|
|
420
|
+
export interface JiraIntegrationEpicsPayload extends JiraIntegrationRequestBase {
|
|
421
|
+
projectKey: string;
|
|
422
|
+
maxResults?: number;
|
|
423
|
+
}
|
|
424
|
+
export interface JiraIntegrationProjectsPayload extends JiraIntegrationRequestBase {
|
|
425
|
+
maxResults?: number;
|
|
426
|
+
}
|
|
427
|
+
export interface JiraIntegrationLabelsPayload extends JiraIntegrationRequestBase {
|
|
428
|
+
projectKey: string;
|
|
429
|
+
maxResults?: number;
|
|
430
|
+
searchQuery?: string;
|
|
431
|
+
}
|
|
432
|
+
export interface JiraEntity {
|
|
433
|
+
id: string;
|
|
434
|
+
key: string;
|
|
435
|
+
name: string;
|
|
436
|
+
}
|
|
437
|
+
export interface JiraLabel {
|
|
438
|
+
name: string;
|
|
439
|
+
}
|
|
440
|
+
export interface ConnectWiseIntegrationRequestBase {
|
|
441
|
+
siteUrl: string;
|
|
442
|
+
companyId: string;
|
|
443
|
+
publicKey: string;
|
|
444
|
+
secret?: string;
|
|
445
|
+
useStoredSecret?: boolean;
|
|
446
|
+
credentialOwnerCompanyId?: string;
|
|
447
|
+
}
|
|
448
|
+
export type ConnectWiseId = string | number;
|
|
449
|
+
export interface ConnectWiseRoutingFields {
|
|
450
|
+
boardId?: ConnectWiseId;
|
|
451
|
+
boardName?: string;
|
|
452
|
+
statusId?: ConnectWiseId;
|
|
453
|
+
statusName?: string;
|
|
454
|
+
customerId?: ConnectWiseId;
|
|
455
|
+
customerName?: string;
|
|
456
|
+
projectId?: ConnectWiseId;
|
|
457
|
+
projectName?: string;
|
|
458
|
+
typeId?: ConnectWiseId;
|
|
459
|
+
typeName?: string;
|
|
460
|
+
subTypeId?: ConnectWiseId;
|
|
461
|
+
subTypeName?: string;
|
|
462
|
+
itemId?: ConnectWiseId;
|
|
463
|
+
itemName?: string;
|
|
464
|
+
priorityId?: ConnectWiseId;
|
|
465
|
+
priorityName?: string;
|
|
466
|
+
contactId?: ConnectWiseId;
|
|
467
|
+
contactName?: string;
|
|
468
|
+
agreementId?: ConnectWiseId;
|
|
469
|
+
agreementName?: string;
|
|
470
|
+
slaId?: ConnectWiseId;
|
|
471
|
+
slaName?: string;
|
|
472
|
+
source?: string;
|
|
473
|
+
}
|
|
474
|
+
export interface ConnectWiseIntegrationTestPayload extends ConnectWiseIntegrationRequestBase, ConnectWiseRoutingFields {
|
|
475
|
+
}
|
|
476
|
+
export type ConnectWiseBoardsPayload = ConnectWiseIntegrationRequestBase;
|
|
477
|
+
export type ConnectWiseCompaniesPayload = ConnectWiseIntegrationRequestBase;
|
|
478
|
+
export type ConnectWiseProjectsPayload = ConnectWiseIntegrationRequestBase;
|
|
479
|
+
export interface ConnectWiseStatusesPayload extends ConnectWiseIntegrationRequestBase {
|
|
480
|
+
boardId?: string;
|
|
481
|
+
boardName?: string;
|
|
482
|
+
}
|
|
483
|
+
export interface ConnectWiseTypesPayload extends ConnectWiseIntegrationRequestBase {
|
|
484
|
+
boardId?: string;
|
|
485
|
+
boardName?: string;
|
|
486
|
+
}
|
|
487
|
+
export interface ConnectWiseSubTypesPayload extends ConnectWiseIntegrationRequestBase {
|
|
488
|
+
boardId?: string;
|
|
489
|
+
boardName?: string;
|
|
490
|
+
typeId?: string;
|
|
491
|
+
typeName?: string;
|
|
492
|
+
}
|
|
493
|
+
export interface ConnectWiseItemsPayload extends ConnectWiseIntegrationRequestBase {
|
|
494
|
+
boardId?: string;
|
|
495
|
+
boardName?: string;
|
|
496
|
+
typeId?: string;
|
|
497
|
+
typeName?: string;
|
|
498
|
+
subTypeId?: string;
|
|
499
|
+
subTypeName?: string;
|
|
500
|
+
}
|
|
501
|
+
export interface ConnectWiseTypeSubTypeItemAssociationsPayload extends ConnectWiseIntegrationRequestBase {
|
|
502
|
+
boardId?: string;
|
|
503
|
+
boardName?: string;
|
|
504
|
+
}
|
|
505
|
+
export interface ConnectWisePrioritiesPayload extends ConnectWiseIntegrationRequestBase {
|
|
506
|
+
boardId?: string;
|
|
507
|
+
boardName?: string;
|
|
508
|
+
}
|
|
509
|
+
export interface ConnectWiseContactsPayload extends ConnectWiseIntegrationRequestBase {
|
|
510
|
+
searchQuery?: string;
|
|
511
|
+
}
|
|
512
|
+
export type ConnectWiseSourcesPayload = ConnectWiseIntegrationRequestBase;
|
|
513
|
+
export type ConnectWiseAgreementsPayload = ConnectWiseIntegrationRequestBase;
|
|
514
|
+
export type ConnectWiseSlasPayload = ConnectWiseIntegrationRequestBase;
|
|
515
|
+
export interface ConnectWiseEntity {
|
|
516
|
+
id: string | number;
|
|
517
|
+
name: string;
|
|
518
|
+
}
|
|
519
|
+
export interface ConnectWiseTypeSubTypeItemAssociation {
|
|
520
|
+
type?: ConnectWiseEntity;
|
|
521
|
+
subType?: ConnectWiseEntity;
|
|
522
|
+
item?: ConnectWiseEntity;
|
|
523
|
+
}
|
|
524
|
+
export interface ConnectWiseContact extends ConnectWiseEntity {
|
|
525
|
+
email?: string;
|
|
526
|
+
}
|
|
527
|
+
export interface ConnectWiseTicketMetadata extends ConnectWiseRoutingFields {
|
|
528
|
+
ticketId: ConnectWiseId;
|
|
529
|
+
ticketUrl?: string;
|
|
530
|
+
}
|
|
126
531
|
//# sourceMappingURL=recommendations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":"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"}
|
|
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":";;;AAMA,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"}
|
|
@@ -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":""}
|