Documentation
¶
Index ¶
- func GenerateActionableReport(report AKSAdvisorReport) (string, error)
- func GenerateDetailedReport(report AKSAdvisorReport) (string, error)
- func GenerateExecutiveSummary(report AKSAdvisorReport) (string, error)
- func GetAdvisorRecommendationHandler(cfg *config.ConfigData) tools.ResourceHandler
- func HandleAdvisorRecommendation(params map[string]interface{}, cfg *config.ConfigData) (string, error)
- func RegisterAdvisorRecommendationTool() mcp.Tool
- type AKSActionItem
- type AKSAdvisorReport
- type AKSRecommendationDetails
- type AKSRecommendationSummary
- type AKSReportSummary
- type ActionableItem
- type ActionableReport
- type CLIRecommendation
- type CategoryBreakdown
- type CategoryCount
- type ClusterAnalysis
- type ClusterRecommendations
- type CostSavings
- type DetailedReport
- type ExecutiveSummary
- type ImplementationGuide
- type ImplementationPhase
- type PriorityMatrixItem
- type TimelineItem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateActionableReport ¶
func GenerateActionableReport(report AKSAdvisorReport) (string, error)
GenerateActionableReport creates a focused report with actionable items
func GenerateDetailedReport ¶
func GenerateDetailedReport(report AKSAdvisorReport) (string, error)
GenerateDetailedReport creates a detailed report with all recommendation information
func GenerateExecutiveSummary ¶
func GenerateExecutiveSummary(report AKSAdvisorReport) (string, error)
GenerateExecutiveSummary creates an executive summary of AKS recommendations
func GetAdvisorRecommendationHandler ¶
func GetAdvisorRecommendationHandler(cfg *config.ConfigData) tools.ResourceHandler
GetAdvisorRecommendationHandler returns a handler for the az_advisor_recommendation command
func HandleAdvisorRecommendation ¶
func HandleAdvisorRecommendation(params map[string]interface{}, cfg *config.ConfigData) (string, error)
HandleAdvisorRecommendation is the main handler for Azure Advisor recommendation operations
func RegisterAdvisorRecommendationTool ¶
RegisterAdvisorRecommendationTool registers the az_advisor_recommendation tool
Types ¶
type AKSActionItem ¶
type AKSActionItem struct {
Priority int `json:"priority"`
RecommendationID string `json:"recommendation_id"`
ClusterName string `json:"cluster_name"`
Category string `json:"category"`
Description string `json:"description"`
EstimatedEffort string `json:"estimated_effort"`
PotentialImpact string `json:"potential_impact"`
}
AKSActionItem represents a prioritized action item
type AKSAdvisorReport ¶
type AKSAdvisorReport struct {
SubscriptionID string `json:"subscription_id"`
GeneratedAt time.Time `json:"generated_at"`
Summary AKSReportSummary `json:"summary"`
Recommendations []AKSRecommendationSummary `json:"recommendations"`
ActionItems []AKSActionItem `json:"action_items"`
ClusterBreakdown []ClusterRecommendations `json:"cluster_breakdown"`
}
AKSAdvisorReport represents a comprehensive report of AKS recommendations
type AKSRecommendationDetails ¶
type AKSRecommendationDetails struct {
ClusterVersion string `json:"cluster_version,omitempty"`
NodePoolNames []string `json:"node_pool_names,omitempty"`
WorkloadType string `json:"workload_type,omitempty"`
ConfigurationArea string `json:"configuration_area,omitempty"` // networking, compute, storage, security
}
AKSRecommendationDetails contains AKS-specific information
type AKSRecommendationSummary ¶
type AKSRecommendationSummary struct {
ID string `json:"id"`
Category string `json:"category"`
Impact string `json:"impact"`
ClusterName string `json:"cluster_name"`
ResourceGroup string `json:"resource_group"`
ResourceID string `json:"resource_id"`
Description string `json:"description"`
Severity string `json:"severity"`
PotentialSavings *CostSavings `json:"potential_savings,omitempty"`
LastUpdated time.Time `json:"last_updated"`
Status string `json:"status"`
AKSSpecific AKSRecommendationDetails `json:"aks_specific"`
}
AKSRecommendationSummary represents an Azure Advisor recommendation for AKS resources
type AKSReportSummary ¶
type AKSReportSummary struct {
TotalRecommendations int `json:"total_recommendations"`
ByCategory map[string]int `json:"by_category"`
BySeverity map[string]int `json:"by_severity"`
TotalPotentialSavings *CostSavings `json:"total_potential_savings,omitempty"`
ClustersAffected int `json:"clusters_affected"`
}
AKSReportSummary provides high-level statistics
type ActionableItem ¶
type ActionableItem struct {
RecommendationID string `json:"recommendation_id"`
ClusterName string `json:"cluster_name"`
Title string `json:"title"`
Description string `json:"description"`
Steps []string `json:"steps"`
ExpectedOutcome string `json:"expected_outcome"`
TimeEstimate string `json:"time_estimate"`
}
type ActionableReport ¶
type ActionableReport struct {
GeneratedAt time.Time `json:"generated_at"`
SubscriptionID string `json:"subscription_id"`
QuickWins []ActionableItem `json:"quick_wins"`
HighImpactItems []ActionableItem `json:"high_impact_items"`
CostOptimization []ActionableItem `json:"cost_optimization"`
SecurityImprovements []ActionableItem `json:"security_improvements"`
PerformanceBoosts []ActionableItem `json:"performance_boosts"`
ImplementationGuide ImplementationGuide `json:"implementation_guide"`
}
type CLIRecommendation ¶
type CLIRecommendation struct {
ID string `json:"id"`
Name string `json:"name"`
Category string `json:"category"`
Impact string `json:"impact"`
ImpactedValue string `json:"impactedValue"`
LastUpdated string `json:"lastUpdated"`
ShortDescription struct {
Problem string `json:"problem"`
Solution string `json:"solution"`
} `json:"shortDescription"`
}
CLIRecommendation represents the raw Azure CLI recommendation structure
type CategoryBreakdown ¶
type CategoryBreakdown struct {
Category string `json:"category"`
Count int `json:"count"`
Recommendations []AKSRecommendationSummary `json:"recommendations"`
Impact string `json:"impact"`
}
type CategoryCount ¶
type ClusterAnalysis ¶
type ClusterAnalysis struct {
ClusterName string `json:"cluster_name"`
ResourceGroup string `json:"resource_group"`
RecommendationCount int `json:"recommendation_count"`
HighPriorityCount int `json:"high_priority_count"`
PrimaryCategories []string `json:"primary_categories"`
OverallRisk string `json:"overall_risk"`
}
type ClusterRecommendations ¶
type ClusterRecommendations struct {
ClusterName string `json:"cluster_name"`
ResourceGroup string `json:"resource_group"`
Recommendations []AKSRecommendationSummary `json:"recommendations"`
TotalSavings *CostSavings `json:"total_savings,omitempty"`
}
ClusterRecommendations groups recommendations by cluster
type CostSavings ¶
type CostSavings struct {
Currency string `json:"currency"`
AnnualSavings float64 `json:"annual_savings"`
MonthlySavings float64 `json:"monthly_savings"`
}
CostSavings represents potential cost savings information
type DetailedReport ¶
type DetailedReport struct {
ExecutiveSummary ExecutiveSummary `json:"executive_summary"`
CategoryBreakdown []CategoryBreakdown `json:"category_breakdown"`
ClusterAnalysis []ClusterAnalysis `json:"cluster_analysis"`
PriorityMatrix []PriorityMatrixItem `json:"priority_matrix"`
ImplementationTimeline []TimelineItem `json:"implementation_timeline"`
AllRecommendations []AKSRecommendationSummary `json:"all_recommendations"`
}
type ExecutiveSummary ¶
type ExecutiveSummary struct {
GeneratedAt time.Time `json:"generated_at"`
SubscriptionID string `json:"subscription_id"`
TotalClusters int `json:"total_clusters"`
TotalRecommendations int `json:"total_recommendations"`
HighPriorityCount int `json:"high_priority_count"`
MediumPriorityCount int `json:"medium_priority_count"`
LowPriorityCount int `json:"low_priority_count"`
TopCategories []CategoryCount `json:"top_categories"`
KeyFindings []string `json:"key_findings"`
NextSteps []string `json:"next_steps"`
}
Report structure types
type ImplementationGuide ¶
type ImplementationGuide struct {
Phase1 ImplementationPhase `json:"phase_1"`
Phase2 ImplementationPhase `json:"phase_2"`
Phase3 ImplementationPhase `json:"phase_3"`
}