google-maps-solar-v1 1.0.0

Google Cloud Client Libraries for Rust - Solar API
Documentation
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by sidekick. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;

impl std::fmt::Debug for super::FindClosestBuildingInsightsRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FindClosestBuildingInsightsRequest");
        debug_struct.field("location", &self.location);
        debug_struct.field("required_quality", &self.required_quality);
        debug_struct.field("exact_quality_required", &self.exact_quality_required);
        debug_struct.field("experiments", &self.experiments);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::LatLngBox {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("LatLngBox");
        debug_struct.field("sw", &self.sw);
        debug_struct.field("ne", &self.ne);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::BuildingInsights {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("BuildingInsights");
        debug_struct.field("name", &self.name);
        debug_struct.field("center", &self.center);
        debug_struct.field("bounding_box", &self.bounding_box);
        debug_struct.field("imagery_date", &self.imagery_date);
        debug_struct.field("imagery_processed_date", &self.imagery_processed_date);
        debug_struct.field("postal_code", &self.postal_code);
        debug_struct.field("administrative_area", &self.administrative_area);
        debug_struct.field("statistical_area", &self.statistical_area);
        debug_struct.field("region_code", &self.region_code);
        debug_struct.field("solar_potential", &self.solar_potential);
        debug_struct.field("imagery_quality", &self.imagery_quality);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SolarPotential {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SolarPotential");
        debug_struct.field("max_array_panels_count", &self.max_array_panels_count);
        debug_struct.field("panel_capacity_watts", &self.panel_capacity_watts);
        debug_struct.field("panel_height_meters", &self.panel_height_meters);
        debug_struct.field("panel_width_meters", &self.panel_width_meters);
        debug_struct.field("panel_lifetime_years", &self.panel_lifetime_years);
        debug_struct.field("max_array_area_meters2", &self.max_array_area_meters2);
        debug_struct.field(
            "max_sunshine_hours_per_year",
            &self.max_sunshine_hours_per_year,
        );
        debug_struct.field(
            "carbon_offset_factor_kg_per_mwh",
            &self.carbon_offset_factor_kg_per_mwh,
        );
        debug_struct.field("whole_roof_stats", &self.whole_roof_stats);
        debug_struct.field("building_stats", &self.building_stats);
        debug_struct.field("roof_segment_stats", &self.roof_segment_stats);
        debug_struct.field("solar_panels", &self.solar_panels);
        debug_struct.field("solar_panel_configs", &self.solar_panel_configs);
        debug_struct.field("financial_analyses", &self.financial_analyses);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::RoofSegmentSizeAndSunshineStats {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("RoofSegmentSizeAndSunshineStats");
        debug_struct.field("pitch_degrees", &self.pitch_degrees);
        debug_struct.field("azimuth_degrees", &self.azimuth_degrees);
        debug_struct.field("stats", &self.stats);
        debug_struct.field("center", &self.center);
        debug_struct.field("bounding_box", &self.bounding_box);
        debug_struct.field(
            "plane_height_at_center_meters",
            &self.plane_height_at_center_meters,
        );
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SizeAndSunshineStats {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SizeAndSunshineStats");
        debug_struct.field("area_meters2", &self.area_meters2);
        debug_struct.field("sunshine_quantiles", &self.sunshine_quantiles);
        debug_struct.field("ground_area_meters2", &self.ground_area_meters2);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SolarPanel {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SolarPanel");
        debug_struct.field("center", &self.center);
        debug_struct.field("orientation", &self.orientation);
        debug_struct.field("yearly_energy_dc_kwh", &self.yearly_energy_dc_kwh);
        debug_struct.field("segment_index", &self.segment_index);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SolarPanelConfig {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SolarPanelConfig");
        debug_struct.field("panels_count", &self.panels_count);
        debug_struct.field("yearly_energy_dc_kwh", &self.yearly_energy_dc_kwh);
        debug_struct.field("roof_segment_summaries", &self.roof_segment_summaries);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::RoofSegmentSummary {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("RoofSegmentSummary");
        debug_struct.field("pitch_degrees", &self.pitch_degrees);
        debug_struct.field("azimuth_degrees", &self.azimuth_degrees);
        debug_struct.field("panels_count", &self.panels_count);
        debug_struct.field("yearly_energy_dc_kwh", &self.yearly_energy_dc_kwh);
        debug_struct.field("segment_index", &self.segment_index);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FinancialAnalysis {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FinancialAnalysis");
        debug_struct.field("monthly_bill", &self.monthly_bill);
        debug_struct.field("default_bill", &self.default_bill);
        debug_struct.field("average_kwh_per_month", &self.average_kwh_per_month);
        debug_struct.field("panel_config_index", &self.panel_config_index);
        debug_struct.field("financial_details", &self.financial_details);
        debug_struct.field("leasing_savings", &self.leasing_savings);
        debug_struct.field("cash_purchase_savings", &self.cash_purchase_savings);
        debug_struct.field("financed_purchase_savings", &self.financed_purchase_savings);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FinancialDetails {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FinancialDetails");
        debug_struct.field("initial_ac_kwh_per_year", &self.initial_ac_kwh_per_year);
        debug_struct.field(
            "remaining_lifetime_utility_bill",
            &self.remaining_lifetime_utility_bill,
        );
        debug_struct.field("federal_incentive", &self.federal_incentive);
        debug_struct.field("state_incentive", &self.state_incentive);
        debug_struct.field("utility_incentive", &self.utility_incentive);
        debug_struct.field("lifetime_srec_total", &self.lifetime_srec_total);
        debug_struct.field(
            "cost_of_electricity_without_solar",
            &self.cost_of_electricity_without_solar,
        );
        debug_struct.field("net_metering_allowed", &self.net_metering_allowed);
        debug_struct.field("solar_percentage", &self.solar_percentage);
        debug_struct.field(
            "percentage_exported_to_grid",
            &self.percentage_exported_to_grid,
        );
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::SavingsOverTime {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SavingsOverTime");
        debug_struct.field("savings_year1", &self.savings_year1);
        debug_struct.field("savings_year20", &self.savings_year20);
        debug_struct.field(
            "present_value_of_savings_year20",
            &self.present_value_of_savings_year20,
        );
        debug_struct.field("savings_lifetime", &self.savings_lifetime);
        debug_struct.field(
            "present_value_of_savings_lifetime",
            &self.present_value_of_savings_lifetime,
        );
        debug_struct.field("financially_viable", &self.financially_viable);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::LeasingSavings {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("LeasingSavings");
        debug_struct.field("leases_allowed", &self.leases_allowed);
        debug_struct.field("leases_supported", &self.leases_supported);
        debug_struct.field("annual_leasing_cost", &self.annual_leasing_cost);
        debug_struct.field("savings", &self.savings);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::CashPurchaseSavings {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("CashPurchaseSavings");
        debug_struct.field("out_of_pocket_cost", &self.out_of_pocket_cost);
        debug_struct.field("upfront_cost", &self.upfront_cost);
        debug_struct.field("rebate_value", &self.rebate_value);
        debug_struct.field("payback_years", &self.payback_years);
        debug_struct.field("savings", &self.savings);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::FinancedPurchaseSavings {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("FinancedPurchaseSavings");
        debug_struct.field("annual_loan_payment", &self.annual_loan_payment);
        debug_struct.field("rebate_value", &self.rebate_value);
        debug_struct.field("loan_interest_rate", &self.loan_interest_rate);
        debug_struct.field("savings", &self.savings);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::GetDataLayersRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("GetDataLayersRequest");
        debug_struct.field("location", &self.location);
        debug_struct.field("radius_meters", &self.radius_meters);
        debug_struct.field("view", &self.view);
        debug_struct.field("required_quality", &self.required_quality);
        debug_struct.field("pixel_size_meters", &self.pixel_size_meters);
        debug_struct.field("exact_quality_required", &self.exact_quality_required);
        debug_struct.field("experiments", &self.experiments);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::DataLayers {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("DataLayers");
        debug_struct.field("imagery_date", &self.imagery_date);
        debug_struct.field("imagery_processed_date", &self.imagery_processed_date);
        debug_struct.field("dsm_url", &self.dsm_url);
        debug_struct.field("rgb_url", &self.rgb_url);
        debug_struct.field("mask_url", &self.mask_url);
        debug_struct.field("annual_flux_url", &self.annual_flux_url);
        debug_struct.field("monthly_flux_url", &self.monthly_flux_url);
        debug_struct.field("hourly_shade_urls", &self.hourly_shade_urls);
        debug_struct.field("imagery_quality", &self.imagery_quality);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::GetGeoTiffRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("GetGeoTiffRequest");
        debug_struct.field("id", &self.id);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}