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"` }