diff --git a/src/plugin/manager/advisor/recommendation_cost_manager.py b/src/plugin/manager/advisor/recommendation_cost_manager.py index e84a52a..a94122a 100644 --- a/src/plugin/manager/advisor/recommendation_cost_manager.py +++ b/src/plugin/manager/advisor/recommendation_cost_manager.py @@ -39,10 +39,11 @@ def create_cloud_service(self, options: dict, secret_data: dict, schema: str): category = recommendation_info.get("category") self.cloud_service_type = category - potential_yearly_savings_based_on_retail_pricing = recommendation_info.get("extended_properties").get( - "annualSavingsAmount") - recommendation_info["potential_yearly_savings_based_on_retail_pricing_display"] = float( - potential_yearly_savings_based_on_retail_pricing) + extended_properties = recommendation_info.get("extended_properties", {}) or {} + if extended_properties: + potential_yearly_savings_based_on_retail_pricing = extended_properties.get("annualSavingsAmount") + recommendation_info["potential_yearly_savings_based_on_retail_pricing_display"] = float( + potential_yearly_savings_based_on_retail_pricing) if recommendation_info.get("impacted_field") == "Microsoft.Subscriptions/subscriptions": recommendation_info["impacted_value_display"] = recommendation_info.get("subscription_name") @@ -65,7 +66,7 @@ def create_cloud_service(self, options: dict, secret_data: dict, schema: str): ) ) except Exception as e: - _LOGGER.error(f"[create_cloud_service] Error {self.service} {e}") + _LOGGER.error(f"[create_cloud_service] Error {self.service} {e}", exc_info=True) error_responses.append( make_error_response( error=e, @@ -93,17 +94,6 @@ def create_cloud_service_type(self): } ) - @staticmethod - def _create_impact_updates_display(updates: list, impacted_service: str, impacted_region: dict) -> list: - impact_updates_display = [] - for update in updates: - update.update( - {"impacted_service_display": impacted_service, - "impacted_region_display": impacted_region.get("impacted_region")} - ) - impact_updates_display.append(update) - return impact_updates_display - @staticmethod def _get_name_from_short_description(short_description: dict) -> str: return short_description["problem"] diff --git a/src/plugin/metadata/advisor/performance.yaml b/src/plugin/metadata/advisor/performance.yaml index 52c3ec5..aa958d6 100644 --- a/src/plugin/metadata/advisor/performance.yaml +++ b/src/plugin/metadata/advisor/performance.yaml @@ -20,8 +20,7 @@ table: - Impact: data.impact - Description: data.short_description.problem - Category: data.category - - Potential yearly savings based on retail pricing: data.potential_yearly_savings_based_on_retail_pricing_display - - Impacted resource name: data.impacted_resource_name + - Impacted resource name: data.impacted_value_display - Impacted resource: data.impacted_field - Last updated at: data.last_updated diff --git a/src/plugin/metadata/advisor/recommendations.yaml b/src/plugin/metadata/advisor/recommendations.yaml deleted file mode 100644 index a00a4b1..0000000 --- a/src/plugin/metadata/advisor/recommendations.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -search: - fields: - - Tenant ID: data.tenant_id - - Subscription Name: data.subscription_name - - Subscription ID: data.subscription_id - - Impact: data.impact - - Category: data.category - - Last updated at: data.last_updated - - -table: - sort: - key: data.impact - desc: true - fields: - - Impact: data.impact - - Description: data.short_description.problem - - Category: data.category - - Potential benefits: data.potential_benefits - - Last updated at: data.last_update_time - - Impact start time: data.impact_start_time - - End time: data.impact_mitigation_time - -tabs.0: - name: Details - type: item - fields: - - Tenant ID: data.tenant_id - - Subscription Name: data.subscription_name - - Subscription ID: data.subscription_id - - Recommendation name: data.name - - Impact: data.impact - - Category: data.category - - End time: data.impact_mitigation_time - - Last update time: data.last_update_time - - diff --git a/src/plugin/metadata/advisor/reliability.yaml b/src/plugin/metadata/advisor/reliability.yaml index 0c3ad50..aa958d6 100644 --- a/src/plugin/metadata/advisor/reliability.yaml +++ b/src/plugin/metadata/advisor/reliability.yaml @@ -20,7 +20,7 @@ table: - Impact: data.impact - Description: data.short_description.problem - Category: data.category - - Impacted resource name: data.impacted_value + - Impacted resource name: data.impacted_value_display - Impacted resource: data.impacted_field - Last updated at: data.last_updated diff --git a/src/plugin/metadata/advisor/security.yaml b/src/plugin/metadata/advisor/security.yaml index c31d3d7..b91fcbb 100644 --- a/src/plugin/metadata/advisor/security.yaml +++ b/src/plugin/metadata/advisor/security.yaml @@ -14,13 +14,13 @@ table: key: data.impact desc: true fields: + - Recommendation name: data.name - Impact: data.impact - Description: data.short_description.problem - Category: data.category - - Potential benefits: data.potential_benefits - - Last updated at: data.last_update_time - - Impact start time: data.impact_start_time - - End time: data.impact_mitigation_time + - Impacted resource name: data.impacted_value_display + - Impacted resource: data.impacted_field + - Last updated at: data.last_updated tabs.0: