Documentation
¶
Index ¶
- type AccessDecisionEnum
- type ActionType
- type CarbonEmissionData
- type CarbonEmissionDataAvailableDateRange
- type CarbonEmissionDataClassification
- type CarbonEmissionDataListResult
- type CarbonEmissionItemDetailData
- type CarbonEmissionMonthlySummaryData
- type CarbonEmissionOverallSummaryData
- type CarbonEmissionTopItemMonthlySummaryData
- type CarbonEmissionTopItemsSummaryData
- type CarbonServiceClient
- func (client *CarbonServiceClient) QueryCarbonEmissionDataAvailableDateRange(ctx context.Context, ...) (CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeResponse, error)
- func (client *CarbonServiceClient) QueryCarbonEmissionReports(ctx context.Context, queryParameters QueryFilterClassification, ...) (CarbonServiceClientQueryCarbonEmissionReportsResponse, error)
- type CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeOptions
- type CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeResponse
- type CarbonServiceClientQueryCarbonEmissionReportsOptions
- type CarbonServiceClientQueryCarbonEmissionReportsResponse
- type CategoryTypeEnum
- type ClientFactory
- type DateRange
- type EmissionScopeEnum
- type ItemDetailsQueryFilter
- type MonthlySummaryReportQueryFilter
- type Operation
- type OperationDisplay
- type OperationListResult
- type OperationsClient
- type OperationsClientListOptions
- type OperationsClientListResponse
- type OrderByColumnEnum
- type Origin
- type OverallSummaryReportQueryFilter
- type QueryFilter
- type QueryFilterClassification
- type ReportTypeEnum
- type ResourceCarbonEmissionItemDetailData
- type ResourceCarbonEmissionTopItemMonthlySummaryData
- type ResourceCarbonEmissionTopItemsSummaryData
- type ResourceGroupCarbonEmissionItemDetailData
- type ResourceGroupCarbonEmissionTopItemMonthlySummaryData
- type ResourceGroupCarbonEmissionTopItemsSummaryData
- type ResponseDataTypeEnum
- type SortDirectionEnum
- type SubscriptionAccessDecision
- type TopItemsMonthlySummaryReportQueryFilter
- type TopItemsSummaryReportQueryFilter
Examples ¶
- CarbonServiceClient.QueryCarbonEmissionDataAvailableDateRange
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionLocationItemDetailsReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionMonthlySummaryReportWithOptionalFilterLocationListResourceTypeListResourceGroupUrlList)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionOverallMonthlySummaryReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionOverallSummaryReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionOverallSummaryReportWithOptionalFilterLocationListResourceTypeListResourceGroupUrlList)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionResourceGroupItemDetailsReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionResourceItemDetailsReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionResourceItemDetailsReportWithPaginationToken)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionResourceTypeItemDetailsReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionSubscriptionsItemDetailsReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNLocationsMonthlyReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNLocationsReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNResourceGroupMonthlyReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNResourceGroupReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNResourceMonthlyReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNResourceReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNResourceTypeMonthlyReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNResourceTypeReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNSubscriptionsMonthlyReport)
- CarbonServiceClient.QueryCarbonEmissionReports (QueryCarbonEmissionTopNSubscriptionsReport)
- OperationsClient.NewListPager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessDecisionEnum ¶
type AccessDecisionEnum string
AccessDecisionEnum - Enum for Access Decision
const ( // AccessDecisionEnumAllowed - Access allowed AccessDecisionEnumAllowed AccessDecisionEnum = "Allowed" // AccessDecisionEnumDenied - Access denied AccessDecisionEnumDenied AccessDecisionEnum = "Denied" )
func PossibleAccessDecisionEnumValues ¶
func PossibleAccessDecisionEnumValues() []AccessDecisionEnum
PossibleAccessDecisionEnumValues returns the possible values for the AccessDecisionEnum const type.
type ActionType ¶
type ActionType string
ActionType - Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
const ( // ActionTypeInternal - Actions are for internal-only APIs. ActionTypeInternal ActionType = "Internal" )
func PossibleActionTypeValues ¶
func PossibleActionTypeValues() []ActionType
PossibleActionTypeValues returns the possible values for the ActionType const type.
type CarbonEmissionData ¶
type CarbonEmissionData struct { // REQUIRED; The data type of the query result, indicating the format of the returned response. DataType *ResponseDataTypeEnum // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
CarbonEmissionData - The basic response for different query report, all query report result will have these information
func (*CarbonEmissionData) GetCarbonEmissionData ¶
func (c *CarbonEmissionData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type CarbonEmissionData.
func (CarbonEmissionData) MarshalJSON ¶
func (c CarbonEmissionData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionData.
func (*CarbonEmissionData) UnmarshalJSON ¶
func (c *CarbonEmissionData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionData.
type CarbonEmissionDataAvailableDateRange ¶
type CarbonEmissionDataAvailableDateRange struct { // REQUIRED; End date parameter, format is yyyy-MM-dd EndDate *string // REQUIRED; Start date parameter, format is yyyy-MM-dd StartDate *string }
CarbonEmissionDataAvailableDateRange - Response for available date range of carbon emission data
func (CarbonEmissionDataAvailableDateRange) MarshalJSON ¶
func (c CarbonEmissionDataAvailableDateRange) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionDataAvailableDateRange.
func (*CarbonEmissionDataAvailableDateRange) UnmarshalJSON ¶
func (c *CarbonEmissionDataAvailableDateRange) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionDataAvailableDateRange.
type CarbonEmissionDataClassification ¶
type CarbonEmissionDataClassification interface { // GetCarbonEmissionData returns the CarbonEmissionData content of the underlying type. GetCarbonEmissionData() *CarbonEmissionData }
CarbonEmissionDataClassification provides polymorphic access to related types. Call the interface's GetCarbonEmissionData() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CarbonEmissionData, *CarbonEmissionItemDetailData, *CarbonEmissionMonthlySummaryData, *CarbonEmissionOverallSummaryData, - *CarbonEmissionTopItemMonthlySummaryData, *CarbonEmissionTopItemsSummaryData, *ResourceCarbonEmissionItemDetailData, - *ResourceCarbonEmissionTopItemMonthlySummaryData, *ResourceCarbonEmissionTopItemsSummaryData, *ResourceGroupCarbonEmissionItemDetailData, - *ResourceGroupCarbonEmissionTopItemMonthlySummaryData, *ResourceGroupCarbonEmissionTopItemsSummaryData
type CarbonEmissionDataListResult ¶
type CarbonEmissionDataListResult struct { // REQUIRED; The CarbonEmissionData items on this page Value []CarbonEmissionDataClassification // The pagination token to fetch next page data, it's null or empty if it doesn't have next page data SkipToken *string // The access decision list for each input subscription SubscriptionAccessDecisionList []*SubscriptionAccessDecision }
CarbonEmissionDataListResult - List of carbon emission results
func (CarbonEmissionDataListResult) MarshalJSON ¶
func (c CarbonEmissionDataListResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionDataListResult.
func (*CarbonEmissionDataListResult) UnmarshalJSON ¶
func (c *CarbonEmissionDataListResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionDataListResult.
type CarbonEmissionItemDetailData ¶
type CarbonEmissionItemDetailData struct { // REQUIRED; Item category, see supported type value defined in CategoryTypeEnum CategoryType *CategoryTypeEnum // REQUIRED; Item details data DataType *ResponseDataTypeEnum // REQUIRED; Item name, it can be resource name, resource type name, location, resource group name or subscriptionId. It depends // on category type. ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
CarbonEmissionItemDetailData - Response for detailed carbon emissions
func (*CarbonEmissionItemDetailData) GetCarbonEmissionData ¶
func (c *CarbonEmissionItemDetailData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type CarbonEmissionItemDetailData.
func (CarbonEmissionItemDetailData) MarshalJSON ¶
func (c CarbonEmissionItemDetailData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionItemDetailData.
func (*CarbonEmissionItemDetailData) UnmarshalJSON ¶
func (c *CarbonEmissionItemDetailData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionItemDetailData.
type CarbonEmissionMonthlySummaryData ¶
type CarbonEmissionMonthlySummaryData struct { // REQUIRED; Carbon intensity for the specified month, typically in units of kgCO2E per unit of normalized usage CarbonIntensity *float64 // REQUIRED; Monthly summary data DataType *ResponseDataTypeEnum // REQUIRED; The date, representing the month, for which the emissions data is reported, formatted as yyyy-MM-dd (e.g., 2024-03-01) Date *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
CarbonEmissionMonthlySummaryData - Response for Monthly Carbon Emissions Summary
func (*CarbonEmissionMonthlySummaryData) GetCarbonEmissionData ¶
func (c *CarbonEmissionMonthlySummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type CarbonEmissionMonthlySummaryData.
func (CarbonEmissionMonthlySummaryData) MarshalJSON ¶
func (c CarbonEmissionMonthlySummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionMonthlySummaryData.
func (*CarbonEmissionMonthlySummaryData) UnmarshalJSON ¶
func (c *CarbonEmissionMonthlySummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionMonthlySummaryData.
type CarbonEmissionOverallSummaryData ¶
type CarbonEmissionOverallSummaryData struct { // REQUIRED; Overall summary data DataType *ResponseDataTypeEnum // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
CarbonEmissionOverallSummaryData - Response for Overall Carbon Emissions Summary
func (*CarbonEmissionOverallSummaryData) GetCarbonEmissionData ¶
func (c *CarbonEmissionOverallSummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type CarbonEmissionOverallSummaryData.
func (CarbonEmissionOverallSummaryData) MarshalJSON ¶
func (c CarbonEmissionOverallSummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionOverallSummaryData.
func (*CarbonEmissionOverallSummaryData) UnmarshalJSON ¶
func (c *CarbonEmissionOverallSummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionOverallSummaryData.
type CarbonEmissionTopItemMonthlySummaryData ¶
type CarbonEmissionTopItemMonthlySummaryData struct { // REQUIRED; Item category, see supported type value defined in CategoryTypeEnum CategoryType *CategoryTypeEnum // REQUIRED; Top items Monthly summary data DataType *ResponseDataTypeEnum // REQUIRED; The date, representing the month, for which the emissions data is reported, formatted as yyyy-MM-dd (e.g., 2024-03-01) Date *string // REQUIRED; Item name, it can be resource name, resource type name, location, resource group name or subscriptionId. It depends // on category type. ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
CarbonEmissionTopItemMonthlySummaryData - Response for Top Items Carbon Emissions by Month
func (*CarbonEmissionTopItemMonthlySummaryData) GetCarbonEmissionData ¶
func (c *CarbonEmissionTopItemMonthlySummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type CarbonEmissionTopItemMonthlySummaryData.
func (CarbonEmissionTopItemMonthlySummaryData) MarshalJSON ¶
func (c CarbonEmissionTopItemMonthlySummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionTopItemMonthlySummaryData.
func (*CarbonEmissionTopItemMonthlySummaryData) UnmarshalJSON ¶
func (c *CarbonEmissionTopItemMonthlySummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionTopItemMonthlySummaryData.
type CarbonEmissionTopItemsSummaryData ¶
type CarbonEmissionTopItemsSummaryData struct { // REQUIRED; The category type of the item. This defines which dimension the emissions are aggregated by, and the supported // values are defined in CategoryTypeEnum (e.g., Subscription, ResourceGroup, Resource, etc.). CategoryType *CategoryTypeEnum // REQUIRED; Top items summary data DataType *ResponseDataTypeEnum // REQUIRED; The identifier of the item being reported on, which could refer to the resource name, resource type name, location, // resource group name, or subscription ID, depending on the specified category type. ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
CarbonEmissionTopItemsSummaryData - Response for Top Items by Category Type
func (*CarbonEmissionTopItemsSummaryData) GetCarbonEmissionData ¶
func (c *CarbonEmissionTopItemsSummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type CarbonEmissionTopItemsSummaryData.
func (CarbonEmissionTopItemsSummaryData) MarshalJSON ¶
func (c CarbonEmissionTopItemsSummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type CarbonEmissionTopItemsSummaryData.
func (*CarbonEmissionTopItemsSummaryData) UnmarshalJSON ¶
func (c *CarbonEmissionTopItemsSummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type CarbonEmissionTopItemsSummaryData.
type CarbonServiceClient ¶
type CarbonServiceClient struct {
// contains filtered or unexported fields
}
CarbonServiceClient contains the methods for the CarbonService group. Don't use this type directly, use NewCarbonServiceClient() instead.
func NewCarbonServiceClient ¶
func NewCarbonServiceClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*CarbonServiceClient, error)
NewCarbonServiceClient creates a new instance of CarbonServiceClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*CarbonServiceClient) QueryCarbonEmissionDataAvailableDateRange ¶
func (client *CarbonServiceClient) QueryCarbonEmissionDataAvailableDateRange(ctx context.Context, options *CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeOptions) (CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeResponse, error)
QueryCarbonEmissionDataAvailableDateRange - API for query carbon emission data available date range If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2025-04-01
- options - CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeOptions contains the optional parameters for the CarbonServiceClient.QueryCarbonEmissionDataAvailableDateRange method.
Example ¶
Generated from example definition: 2025-04-01/carbonEmissionsDataAvailableDateRange.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionDataAvailableDateRange(ctx, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeResponse{ // CarbonEmissionDataAvailableDateRange: &armcarbonoptimization.CarbonEmissionDataAvailableDateRange{ // StartDate: to.Ptr("2023-01-01"), // EndDate: to.Ptr("2023-05-01"), // }, // } }
Output:
func (*CarbonServiceClient) QueryCarbonEmissionReports ¶
func (client *CarbonServiceClient) QueryCarbonEmissionReports(ctx context.Context, queryParameters QueryFilterClassification, options *CarbonServiceClientQueryCarbonEmissionReportsOptions) (CarbonServiceClientQueryCarbonEmissionReportsResponse, error)
QueryCarbonEmissionReports - API for Carbon Emissions Reports If the operation fails it returns an *azcore.ResponseError type.
Generated from API version 2025-04-01
- queryParameters - Query parameters
- options - CarbonServiceClientQueryCarbonEmissionReportsOptions contains the optional parameters for the CarbonServiceClient.QueryCarbonEmissionReports method.
Example (QueryCarbonEmissionLocationItemDetailsReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsLocationItemDetailsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.ItemDetailsQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumItemDetailsReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), OrderBy: to.Ptr(armcarbonoptimization.OrderByColumnEnumLatestMonthEmissions), SortDirection: to.Ptr(armcarbonoptimization.SortDirectionEnumDesc), PageSize: to.Ptr[int32](100), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("east us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us 2"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us 3"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("east us 2"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionMonthlySummaryReportWithOptionalFilterLocationListResourceTypeListResourceGroupUrlList) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsMonthlySummaryReportWithOtherOptionalFilter.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.MonthlySummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumMonthlySummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-03-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, LocationList: []*string{ to.Ptr("east us"), to.Ptr("west us"), }, ResourceTypeList: []*string{ to.Ptr("microsoft.storage/storageaccounts"), to.Ptr("microsoft.databricks/workspaces"), }, ResourceGroupURLList: []*string{ to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-name"), }, }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // Date: to.Ptr("2024-05-01"), // CarbonIntensity: to.Ptr[float64](22), // }, // &armcarbonoptimization.CarbonEmissionMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // Date: to.Ptr("2024-04-01"), // CarbonIntensity: to.Ptr[float64](22), // }, // &armcarbonoptimization.CarbonEmissionMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // Date: to.Ptr("2024-03-01"), // CarbonIntensity: to.Ptr[float64](22), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionOverallMonthlySummaryReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsMonthlySummaryReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.MonthlySummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumMonthlySummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-03-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // Date: to.Ptr("2024-05-01"), // CarbonIntensity: to.Ptr[float64](22), // }, // &armcarbonoptimization.CarbonEmissionMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // Date: to.Ptr("2024-04-01"), // CarbonIntensity: to.Ptr[float64](22), // }, // &armcarbonoptimization.CarbonEmissionMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // Date: to.Ptr("2024-03-01"), // CarbonIntensity: to.Ptr[float64](22), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionOverallSummaryReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsOverallSummaryReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.OverallSummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumOverallSummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2023-06-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2023-06-01"); return t }()), }, }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionOverallSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumOverallSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionOverallSummaryReportWithOptionalFilterLocationListResourceTypeListResourceGroupUrlList) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsOverallSummaryReportWithOtherOptionalFilter.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.OverallSummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumOverallSummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2023-06-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2023-06-01"); return t }()), }, LocationList: []*string{ to.Ptr("east us"), to.Ptr("west us"), }, ResourceTypeList: []*string{ to.Ptr("microsoft.storage/storageaccounts"), to.Ptr("microsoft.databricks/workspaces"), }, ResourceGroupURLList: []*string{ to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-name"), }, }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionOverallSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumOverallSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionResourceGroupItemDetailsReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsResourceGroupItemDetailsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.ItemDetailsQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumItemDetailsReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), OrderBy: to.Ptr(armcarbonoptimization.OrderByColumnEnumLatestMonthEmissions), SortDirection: to.Ptr(armcarbonoptimization.SortDirectionEnumDesc), PageSize: to.Ptr[int32](100), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.ResourceGroupCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup1"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup2"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup3"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup3"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup4"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup4"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup5"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup5"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionResourceItemDetailsReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsResourceItemDetailsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.ItemDetailsQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumItemDetailsReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), OrderBy: to.Ptr(armcarbonoptimization.OrderByColumnEnumLatestMonthEmissions), SortDirection: to.Ptr(armcarbonoptimization.SortDirectionEnumDesc), PageSize: to.Ptr[int32](100), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName1"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName2"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName3"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName3"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName4"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName4"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName5"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName5"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // }, // SkipToken: to.Ptr("dGVzZGZhZGZzZnNkZg=="), // }, // } }
Output:
Example (QueryCarbonEmissionResourceItemDetailsReportWithPaginationToken) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsResourceItemDetailsReportWithPaginationToken.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.ItemDetailsQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumItemDetailsReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), OrderBy: to.Ptr(armcarbonoptimization.OrderByColumnEnumLatestMonthEmissions), SortDirection: to.Ptr(armcarbonoptimization.SortDirectionEnumDesc), PageSize: to.Ptr[int32](100), SkipToken: to.Ptr("dGVzZGZhZGZzZnNkZg=="), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName1"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName2"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName3"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName3"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName4"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName4"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // &armcarbonoptimization.ResourceCarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName5"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName5"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // ResourceType: to.Ptr("microsoft.storage/storageaccounts"), // Location: to.Ptr("east us"), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionResourceTypeItemDetailsReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsResourceTypeItemDetailsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.ItemDetailsQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumItemDetailsReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), OrderBy: to.Ptr(armcarbonoptimization.OrderByColumnEnumLatestMonthEmissions), SortDirection: to.Ptr(armcarbonoptimization.SortDirectionEnumDesc), PageSize: to.Ptr[int32](100), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.storage/storageaccounts"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.compute/disks"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.sql/servers"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.keyvault/vaults"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.compute/virtualmachines"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionSubscriptionsItemDetailsReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsSubscriptionItemDetailsReportReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.ItemDetailsQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumItemDetailsReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), OrderBy: to.Ptr(armcarbonoptimization.OrderByColumnEnumLatestMonthEmissions), SortDirection: to.Ptr(armcarbonoptimization.SortDirectionEnumDesc), PageSize: to.Ptr[int32](100), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000001"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000003"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionItemDetailData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumItemDetailsData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000004"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNLocationsMonthlyReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNLocationItemsMonthlyReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsMonthlySummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsMonthlySummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-03-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), TopItems: to.Ptr[int32](2), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("east us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("east us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("east us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // Date: to.Ptr("2024-03-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // Date: to.Ptr("2024-03-01"), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNLocationsReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNLocationItemsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsSummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsSummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), TopItems: to.Ptr[int32](5), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("east us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us 2"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("west us 3"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("east us 2"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumLocation), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNResourceGroupMonthlyReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNResourceGroupItemsMonthlyReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsMonthlySummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsMonthlySummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-03-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), TopItems: to.Ptr[int32](2), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup1"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup1"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup1"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // Date: to.Ptr("2024-03-01"), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup2"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup2"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup2"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // Date: to.Ptr("2024-03-01"), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNResourceGroupReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNResourceGroupItemsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsSummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsSummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), TopItems: to.Ptr[int32](5), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup1"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup2"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup3"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup3"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup4"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup4"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // &armcarbonoptimization.ResourceGroupCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceGroupTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgGroup5"), // ResourceGroupURL: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup5"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceGroup), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNResourceMonthlyReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNResourceItemsMonthlyReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsMonthlySummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsMonthlySummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-03-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), TopItems: to.Ptr[int32](2), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.ResourceCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName1"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName1"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName1"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // Date: to.Ptr("2024-03-01"), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName2"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName2"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName2"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // Date: to.Ptr("2024-03-01"), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNResourceReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNResourceItemsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsSummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsSummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), TopItems: to.Ptr[int32](5), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.ResourceCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName1"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName1"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName2"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName2"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName3"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName3"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName4"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName4"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // }, // &armcarbonoptimization.ResourceCarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumResourceTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("rgName5"), // ResourceGroup: to.Ptr("rgGroup"), // ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000002/resourceGroups/rgGroup/providers/microsoft.storage/storageaccounts/rgName5"), // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResource), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNResourceTypeMonthlyReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNResourceTypeItemsMonthlyReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsMonthlySummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsMonthlySummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-03-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), TopItems: to.Ptr[int32](2), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.storage/storageaccounts"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.storage/storageaccounts"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.storage/storageaccounts"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // Date: to.Ptr("2024-03-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.compute/disks"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.compute/disks"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.compute/disks"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // Date: to.Ptr("2024-03-01"), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNResourceTypeReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNResourceTypeItemsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsSummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsSummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), TopItems: to.Ptr[int32](5), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.storage/storageaccounts"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.compute/disks"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.sql/servers"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.keyvault/vaults"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("microsoft.compute/virtualmachines"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumResourceType), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNSubscriptionsMonthlyReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNSubscriptionItemsMonthlyReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsMonthlySummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsMonthlySummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-03-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), TopItems: to.Ptr[int32](2), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // Date: to.Ptr("2024-03-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000001"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // Date: to.Ptr("2024-05-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000001"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // Date: to.Ptr("2024-04-01"), // }, // &armcarbonoptimization.CarbonEmissionTopItemMonthlySummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsMonthlySummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000001"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // Date: to.Ptr("2024-03-01"), // }, // }, // }, // } }
Output:
Example (QueryCarbonEmissionTopNSubscriptionsReport) ¶
Generated from example definition: 2025-04-01/queryCarbonEmissionsTopNSubscriptionItemsReport.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" "time" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } res, err := clientFactory.NewCarbonServiceClient().QueryCarbonEmissionReports(ctx, &armcarbonoptimization.TopItemsSummaryReportQueryFilter{ ReportType: to.Ptr(armcarbonoptimization.ReportTypeEnumTopItemsSummaryReport), SubscriptionList: []*string{ to.Ptr("00000000-0000-0000-0000-000000000000"), to.Ptr("00000000-0000-0000-0000-000000000001,"), to.Ptr("00000000-0000-0000-0000-000000000002"), to.Ptr("00000000-0000-0000-0000-000000000003"), to.Ptr("00000000-0000-0000-0000-000000000004"), to.Ptr("00000000-0000-0000-0000-000000000005"), to.Ptr("00000000-0000-0000-0000-000000000006"), to.Ptr("00000000-0000-0000-0000-000000000007"), to.Ptr("00000000-0000-0000-0000-000000000008"), }, CarbonScopeList: []*armcarbonoptimization.EmissionScopeEnum{ to.Ptr(armcarbonoptimization.EmissionScopeEnumScope1), to.Ptr(armcarbonoptimization.EmissionScopeEnumScope3), }, DateRange: &armcarbonoptimization.DateRange{ Start: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), End: to.Ptr(func() time.Time { t, _ := time.Parse("2006-01-02", "2024-05-01"); return t }()), }, CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), TopItems: to.Ptr[int32](5), }, nil) if err != nil { log.Fatalf("failed to finish the request: %v", err) } // You could use response here. We use blank identifier for just demo purposes. _ = res // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // res = armcarbonoptimization.CarbonServiceClientQueryCarbonEmissionReportsResponse{ // CarbonEmissionDataListResult: &armcarbonoptimization.CarbonEmissionDataListResult{ // SubscriptionAccessDecisionList: []*armcarbonoptimization.SubscriptionAccessDecision{ // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000001"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000002"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000003"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000004"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000005"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumAllowed), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000006"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000007"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // }, // { // SubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000008"), // Decision: to.Ptr(armcarbonoptimization.AccessDecisionEnumDenied), // DenialReason: to.Ptr("Carbon Optimization Reader permisison required"), // }, // }, // Value: []armcarbonoptimization.CarbonEmissionDataClassification{ // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000000"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000001"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000002"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000003"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // &armcarbonoptimization.CarbonEmissionTopItemsSummaryData{ // DataType: to.Ptr(armcarbonoptimization.ResponseDataTypeEnumTopItemsSummaryData), // LatestMonthEmissions: to.Ptr[float64](0.1), // PreviousMonthEmissions: to.Ptr[float64](0.05), // MonthOverMonthEmissionsChangeRatio: to.Ptr[float64](1), // MonthlyEmissionsChangeValue: to.Ptr[float64](0.05), // ItemName: to.Ptr("00000000-0000-0000-0000-000000000004"), // CategoryType: to.Ptr(armcarbonoptimization.CategoryTypeEnumSubscription), // }, // }, // }, // } }
Output:
type CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeOptions ¶
type CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeOptions struct { }
CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeOptions contains the optional parameters for the CarbonServiceClient.QueryCarbonEmissionDataAvailableDateRange method.
type CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeResponse ¶
type CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeResponse struct { // Response for available date range of carbon emission data CarbonEmissionDataAvailableDateRange }
CarbonServiceClientQueryCarbonEmissionDataAvailableDateRangeResponse contains the response from method CarbonServiceClient.QueryCarbonEmissionDataAvailableDateRange.
type CarbonServiceClientQueryCarbonEmissionReportsOptions ¶
type CarbonServiceClientQueryCarbonEmissionReportsOptions struct { }
CarbonServiceClientQueryCarbonEmissionReportsOptions contains the optional parameters for the CarbonServiceClient.QueryCarbonEmissionReports method.
type CarbonServiceClientQueryCarbonEmissionReportsResponse ¶
type CarbonServiceClientQueryCarbonEmissionReportsResponse struct { // List of carbon emission results CarbonEmissionDataListResult }
CarbonServiceClientQueryCarbonEmissionReportsResponse contains the response from method CarbonServiceClient.QueryCarbonEmissionReports.
type CategoryTypeEnum ¶
type CategoryTypeEnum string
CategoryTypeEnum - Supported category types to be used with QueryParameter. Each type represents a different level of emissions data aggregation.
const ( // CategoryTypeEnumLocation - Emissions aggregated at the location level. CategoryTypeEnumLocation CategoryTypeEnum = "Location" // CategoryTypeEnumResource - Emissions aggregated at the resource level. CategoryTypeEnumResource CategoryTypeEnum = "Resource" // CategoryTypeEnumResourceGroup - Emissions aggregated at the resource group level. CategoryTypeEnumResourceGroup CategoryTypeEnum = "ResourceGroup" // CategoryTypeEnumResourceType - Emissions aggregated at the resource type level. CategoryTypeEnumResourceType CategoryTypeEnum = "ResourceType" // CategoryTypeEnumSubscription - Emissions aggregated at the subscription level. CategoryTypeEnumSubscription CategoryTypeEnum = "Subscription" )
func PossibleCategoryTypeEnumValues ¶
func PossibleCategoryTypeEnumValues() []CategoryTypeEnum
PossibleCategoryTypeEnumValues returns the possible values for the CategoryTypeEnum const type.
type ClientFactory ¶
type ClientFactory struct {
// contains filtered or unexported fields
}
ClientFactory is a client factory used to create any client in this module. Don't use this type directly, use NewClientFactory instead.
func NewClientFactory ¶
func NewClientFactory(credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error)
NewClientFactory creates a new instance of ClientFactory with the specified values. The parameter values will be propagated to any client created from this factory.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*ClientFactory) NewCarbonServiceClient ¶
func (c *ClientFactory) NewCarbonServiceClient() *CarbonServiceClient
NewCarbonServiceClient creates a new instance of CarbonServiceClient.
func (*ClientFactory) NewOperationsClient ¶
func (c *ClientFactory) NewOperationsClient() *OperationsClient
NewOperationsClient creates a new instance of OperationsClient.
type DateRange ¶
type DateRange struct { // REQUIRED; End date parameter in yyyy-MM-01 format. Only the first day of each month is accepted. End *time.Time // REQUIRED; Start date parameter in yyyy-MM-01 format. Only the first day of each month is accepted. Start *time.Time }
DateRange - Date range to be used with QueryParameter, it should be within 12 months between start and end date. In certain cases, start and end dates must be the same date.
func (DateRange) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type DateRange.
func (*DateRange) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type DateRange.
type EmissionScopeEnum ¶
type EmissionScopeEnum string
EmissionScopeEnum - Supported carbon emission scopes to be used with QueryParameter, as defined by the GHG Protocol. At least one scope must be specified. The output will return a total of all specified scopes.
const ( // EmissionScopeEnumScope1 - Scope1 carbon emission EmissionScopeEnumScope1 EmissionScopeEnum = "Scope1" // EmissionScopeEnumScope2 - Scope2 carbon emission EmissionScopeEnumScope2 EmissionScopeEnum = "Scope2" // EmissionScopeEnumScope3 - Scope3 carbon emission EmissionScopeEnumScope3 EmissionScopeEnum = "Scope3" )
func PossibleEmissionScopeEnumValues ¶
func PossibleEmissionScopeEnumValues() []EmissionScopeEnum
PossibleEmissionScopeEnumValues returns the possible values for the EmissionScopeEnum const type.
type ItemDetailsQueryFilter ¶
type ItemDetailsQueryFilter struct { // REQUIRED; List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, // Scope3) in list form. The output will include the total emissions for the specified scopes. CarbonScopeList []*EmissionScopeEnum // REQUIRED; Specifies the category type for detailed emissions data, such as Resource, ResourceGroup, ResourceType, Location, // or Subscription. See supported types in CategoryTypeEnum. CategoryType *CategoryTypeEnum // REQUIRED; The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, // only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 // and end: 2024-06-01). DateRange *DateRange // REQUIRED; The column name to order the results by. See supported values in OrderByColumnEnum. OrderBy *OrderByColumnEnum // REQUIRED; Number of items to return in one request, max value is 5000. PageSize *int32 // CONSTANT; Specifies that the report type is an item details report for granular carbon emissions data. This is a paginated // report. // Field has constant value ReportTypeEnumItemDetailsReport, any specified value is ignored. ReportType *ReportTypeEnum // REQUIRED; Direction for sorting results. See supported values in SortDirectionEnum. SortDirection *SortDirectionEnum // REQUIRED; List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should // be in lowercase format. The max length of list is 100. SubscriptionList []*string // List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., // 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. LocationList []*string // List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', // and should be in all lowercase. ResourceGroupURLList []*string // List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following // the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. ResourceTypeList []*string // Pagination token for fetching the next page of data. This token is nullable and will be returned in the previous response // if additional data pages are available. SkipToken *string }
ItemDetailsQueryFilter - Query Parameters for ItemDetailsReport
func (*ItemDetailsQueryFilter) GetQueryFilter ¶
func (i *ItemDetailsQueryFilter) GetQueryFilter() *QueryFilter
GetQueryFilter implements the QueryFilterClassification interface for type ItemDetailsQueryFilter.
func (ItemDetailsQueryFilter) MarshalJSON ¶
func (i ItemDetailsQueryFilter) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ItemDetailsQueryFilter.
func (*ItemDetailsQueryFilter) UnmarshalJSON ¶
func (i *ItemDetailsQueryFilter) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ItemDetailsQueryFilter.
type MonthlySummaryReportQueryFilter ¶
type MonthlySummaryReportQueryFilter struct { // REQUIRED; List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, // Scope3) in list form. The output will include the total emissions for the specified scopes. CarbonScopeList []*EmissionScopeEnum // REQUIRED; The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, // only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 // and end: 2024-06-01). DateRange *DateRange // CONSTANT; Specifies that the report type is a monthly summary report for carbon emissions data. // Field has constant value ReportTypeEnumMonthlySummaryReport, any specified value is ignored. ReportType *ReportTypeEnum // REQUIRED; List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should // be in lowercase format. The max length of list is 100. SubscriptionList []*string // List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., // 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. LocationList []*string // List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', // and should be in all lowercase. ResourceGroupURLList []*string // List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following // the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. ResourceTypeList []*string }
MonthlySummaryReportQueryFilter - Query filter parameter to configure MonthlySummaryReport queries.
func (*MonthlySummaryReportQueryFilter) GetQueryFilter ¶
func (m *MonthlySummaryReportQueryFilter) GetQueryFilter() *QueryFilter
GetQueryFilter implements the QueryFilterClassification interface for type MonthlySummaryReportQueryFilter.
func (MonthlySummaryReportQueryFilter) MarshalJSON ¶
func (m MonthlySummaryReportQueryFilter) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type MonthlySummaryReportQueryFilter.
func (*MonthlySummaryReportQueryFilter) UnmarshalJSON ¶
func (m *MonthlySummaryReportQueryFilter) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type MonthlySummaryReportQueryFilter.
type Operation ¶
type Operation struct { // Localized display information for this particular operation. Display *OperationDisplay // READ-ONLY; Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. ActionType *ActionType // READ-ONLY; Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure // Resource Manager/control-plane operations. IsDataAction *bool // READ-ONLY; The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write", // "Microsoft.Compute/virtualMachines/capture/action" Name *string // READ-ONLY; The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default // value is "user,system" Origin *Origin }
Operation - Details of a REST API operation, returned from the Resource Provider Operations API
func (Operation) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface for type Operation.
func (*Operation) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface for type Operation.
type OperationDisplay ¶
type OperationDisplay struct { // READ-ONLY; The short, localized friendly description of the operation; suitable for tool tips and detailed views. Description *string // READ-ONLY; The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual // Machine", "Restart Virtual Machine". Operation *string // READ-ONLY; The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft // Compute". Provider *string // READ-ONLY; The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job // Schedule Collections". Resource *string }
OperationDisplay - Localized display information for and operation.
func (OperationDisplay) MarshalJSON ¶
func (o OperationDisplay) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationDisplay.
func (*OperationDisplay) UnmarshalJSON ¶
func (o *OperationDisplay) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay.
type OperationListResult ¶
type OperationListResult struct { // REQUIRED; The Operation items on this page Value []*Operation // The link to the next page of items NextLink *string }
OperationListResult - A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.
func (OperationListResult) MarshalJSON ¶
func (o OperationListResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OperationListResult.
func (*OperationListResult) UnmarshalJSON ¶
func (o *OperationListResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OperationListResult.
type OperationsClient ¶
type OperationsClient struct {
// contains filtered or unexported fields
}
OperationsClient contains the methods for the Operations group. Don't use this type directly, use NewOperationsClient() instead.
func NewOperationsClient ¶
func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error)
NewOperationsClient creates a new instance of OperationsClient with the specified values.
- credential - used to authorize requests. Usually a credential from azidentity.
- options - pass nil to accept the default values.
func (*OperationsClient) NewListPager ¶
func (client *OperationsClient) NewListPager(options *OperationsClientListOptions) *runtime.Pager[OperationsClientListResponse]
NewListPager - List the operations for the provider
Generated from API version 2025-04-01
- options - OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
Example ¶
Generated from example definition: 2025-04-01/listOperations.json
package main import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/carbonoptimization/armcarbonoptimization" "log" ) func main() { cred, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Fatalf("failed to obtain a credential: %v", err) } ctx := context.Background() clientFactory, err := armcarbonoptimization.NewClientFactory(cred, nil) if err != nil { log.Fatalf("failed to create client: %v", err) } pager := clientFactory.NewOperationsClient().NewListPager(nil) for pager.More() { page, err := pager.NextPage(ctx) if err != nil { log.Fatalf("failed to advance page: %v", err) } for _, v := range page.Value { // You could use page here. We use blank identifier for just demo purposes. _ = v } // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. // page = armcarbonoptimization.OperationsClientListResponse{ // OperationListResult: armcarbonoptimization.OperationListResult{ // Value: []*armcarbonoptimization.Operation{ // { // Name: to.Ptr("Microsoft.Carbon/action"), // IsDataAction: to.Ptr(false), // Display: &armcarbonoptimization.OperationDisplay{ // Provider: to.Ptr("Microsoft.Carbon"), // Resource: to.Ptr("queryCarbonEmissionReport"), // Operation: to.Ptr("CarbonService_ListCarbonEmissionReports"), // Description: to.Ptr("Returns carbon emission reports."), // }, // }, // { // Name: to.Ptr("Microsoft.Carbon/action"), // IsDataAction: to.Ptr(false), // Display: &armcarbonoptimization.OperationDisplay{ // Provider: to.Ptr("Microsoft.Carbon"), // Resource: to.Ptr("QueryCarbonEmissionDataAvailableDateRange"), // Operation: to.Ptr("CarbonService_QueryCarbonEmissionDataAvailableDateRange"), // Description: to.Ptr("Returns carbon emission data available date range."), // }, // }, // }, // }, // } } }
Output:
type OperationsClientListOptions ¶
type OperationsClientListOptions struct { }
OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
type OperationsClientListResponse ¶
type OperationsClientListResponse struct { // A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. OperationListResult }
OperationsClientListResponse contains the response from method OperationsClient.NewListPager.
type OrderByColumnEnum ¶
type OrderByColumnEnum string
OrderByColumnEnum - Sorting is supported for columns in ItemDetailsReport. This object includes the column names that sorting is allowed for. Select one of these supported values
const ( // OrderByColumnEnumItemName - The itemName filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. OrderByColumnEnumItemName OrderByColumnEnum = "ItemName" // OrderByColumnEnumLatestMonthEmissions - The latestMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData // for more information. OrderByColumnEnumLatestMonthEmissions OrderByColumnEnum = "LatestMonthEmissions" // OrderByColumnEnumMonthOverMonthEmissionsChangeRatio - The monthOverMonthEmissionsChangeRatio filed in ItemDetailsReport // result, see CarbonEmissionItemDetailData for more information. OrderByColumnEnumMonthOverMonthEmissionsChangeRatio OrderByColumnEnum = "MonthOverMonthEmissionsChangeRatio" // OrderByColumnEnumMonthlyEmissionsChangeValue - The monthlyEmissionsChangeValue filed in ItemDetailsReport result, see CarbonEmissionItemDetailData // for more information. OrderByColumnEnumMonthlyEmissionsChangeValue OrderByColumnEnum = "MonthlyEmissionsChangeValue" // OrderByColumnEnumPreviousMonthEmissions - The previousMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData // for more information. OrderByColumnEnumPreviousMonthEmissions OrderByColumnEnum = "PreviousMonthEmissions" // OrderByColumnEnumResourceGroup - The resourceGroup filed in ResourceCarbonEmissionItemDetailData result, see ResourceCarbonEmissionItemDetailData // for more information. OrderByColumnEnumResourceGroup OrderByColumnEnum = "ResourceGroup" )
func PossibleOrderByColumnEnumValues ¶
func PossibleOrderByColumnEnumValues() []OrderByColumnEnum
PossibleOrderByColumnEnumValues returns the possible values for the OrderByColumnEnum const type.
type Origin ¶
type Origin string
Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system"
const ( // OriginSystem - Indicates the operation is initiated by a system. OriginSystem Origin = "system" // OriginUser - Indicates the operation is initiated by a user. OriginUser Origin = "user" // OriginUserSystem - Indicates the operation is initiated by a user or system. OriginUserSystem Origin = "user,system" )
func PossibleOriginValues ¶
func PossibleOriginValues() []Origin
PossibleOriginValues returns the possible values for the Origin const type.
type OverallSummaryReportQueryFilter ¶
type OverallSummaryReportQueryFilter struct { // REQUIRED; List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, // Scope3) in list form. The output will include the total emissions for the specified scopes. CarbonScopeList []*EmissionScopeEnum // REQUIRED; The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, // only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 // and end: 2024-06-01). DateRange *DateRange // CONSTANT; Specifies that the report type is a overall summary report for carbon emissions data. // Field has constant value ReportTypeEnumOverallSummaryReport, any specified value is ignored. ReportType *ReportTypeEnum // REQUIRED; List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should // be in lowercase format. The max length of list is 100. SubscriptionList []*string // List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., // 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. LocationList []*string // List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', // and should be in all lowercase. ResourceGroupURLList []*string // List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following // the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. ResourceTypeList []*string }
OverallSummaryReportQueryFilter - Query filter parameter to configure OverallSummaryReport queries.
func (*OverallSummaryReportQueryFilter) GetQueryFilter ¶
func (o *OverallSummaryReportQueryFilter) GetQueryFilter() *QueryFilter
GetQueryFilter implements the QueryFilterClassification interface for type OverallSummaryReportQueryFilter.
func (OverallSummaryReportQueryFilter) MarshalJSON ¶
func (o OverallSummaryReportQueryFilter) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type OverallSummaryReportQueryFilter.
func (*OverallSummaryReportQueryFilter) UnmarshalJSON ¶
func (o *OverallSummaryReportQueryFilter) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type OverallSummaryReportQueryFilter.
type QueryFilter ¶
type QueryFilter struct { // REQUIRED; List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, // Scope3) in list form. The output will include the total emissions for the specified scopes. CarbonScopeList []*EmissionScopeEnum // REQUIRED; The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, // only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 // and end: 2024-06-01). DateRange *DateRange // REQUIRED; The ReportType requested for carbon emissions data. Required. Specifies how data is aggregated and displayed // in the output, as explained in the ReportTypeEnum. ReportType *ReportTypeEnum // REQUIRED; List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should // be in lowercase format. The max length of list is 100. SubscriptionList []*string // List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., // 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. LocationList []*string // List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', // and should be in all lowercase. ResourceGroupURLList []*string // List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following // the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. ResourceTypeList []*string }
QueryFilter - Shared query filter parameter to configure carbon emissions data queries for all different report type defined in ReportTypeEnum.
func (*QueryFilter) GetQueryFilter ¶
func (q *QueryFilter) GetQueryFilter() *QueryFilter
GetQueryFilter implements the QueryFilterClassification interface for type QueryFilter.
func (QueryFilter) MarshalJSON ¶
func (q QueryFilter) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type QueryFilter.
func (*QueryFilter) UnmarshalJSON ¶
func (q *QueryFilter) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type QueryFilter.
type QueryFilterClassification ¶
type QueryFilterClassification interface { // GetQueryFilter returns the QueryFilter content of the underlying type. GetQueryFilter() *QueryFilter }
QueryFilterClassification provides polymorphic access to related types. Call the interface's GetQueryFilter() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ItemDetailsQueryFilter, *MonthlySummaryReportQueryFilter, *OverallSummaryReportQueryFilter, *QueryFilter, *TopItemsMonthlySummaryReportQueryFilter, - *TopItemsSummaryReportQueryFilter
type ReportTypeEnum ¶
type ReportTypeEnum string
ReportTypeEnum - Enum for Report Type, specifying different report formats for carbon emissions data. Each report type returns different aggregations of carbon emissions across various categories, date range, emissions scope, and other parameters.
const ( // ReportTypeEnumItemDetailsReport - ItemDetailsReport provides a granular list of items based on the specified CategoryType // (e.g., Resource, ResourceGroup, ResourceType, Location, or Subscription) for the query filter. This report can be queried // for only one month at a time, requiring the same values in the start and end fields within DateRange. ReportTypeEnumItemDetailsReport ReportTypeEnum = "ItemDetailsReport" // ReportTypeEnumMonthlySummaryReport - MonthlySummaryReport provides carbon emissions data by month for the specified query // parameters. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 // and end: 2024-06-01). ReportTypeEnumMonthlySummaryReport ReportTypeEnum = "MonthlySummaryReport" // ReportTypeEnumOverallSummaryReport - Overall summary report provides total carbon emissions for the specified date range // and query parameters, as well as comparative values for a high-level overview. This report type can accept different values // in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). ReportTypeEnumOverallSummaryReport ReportTypeEnum = "OverallSummaryReport" // ReportTypeEnumTopItemsMonthlySummaryReport - TopItemsMonthlyReport provides the N highest-emitting items by month for the // specified query filter. Returns emissions data for the top N items by month within the given date range. A maximum of N=10 // items can be returned at a time. ReportTypeEnumTopItemsMonthlySummaryReport ReportTypeEnum = "TopItemsMonthlySummaryReport" // ReportTypeEnumTopItemsSummaryReport - TopItemsSummaryReport provides the N highest-emitting items for the specified query // filters. This report returns data for a single month at a time, so it requires the same values for the start and end fields // within DateRange. A maximum of N=10 items can be returned at a time. ReportTypeEnumTopItemsSummaryReport ReportTypeEnum = "TopItemsSummaryReport" )
func PossibleReportTypeEnumValues ¶
func PossibleReportTypeEnumValues() []ReportTypeEnum
PossibleReportTypeEnumValues returns the possible values for the ReportTypeEnum const type.
type ResourceCarbonEmissionItemDetailData ¶
type ResourceCarbonEmissionItemDetailData struct { // REQUIRED; Resource Item category, see supported value defined in CategoryTypeEnum CategoryType *CategoryTypeEnum // REQUIRED; ResourceGroup's item details data DataType *ResponseDataTypeEnum // REQUIRED; It's resource name. ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // REQUIRED; Resource Group ResourceGroup *string // REQUIRED; The fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} ResourceID *string // REQUIRED; Subscription Id SubscriptionID *string // Resource Location (e.g., 'east us'). Location *string // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 // The type of resource, for example: microsoft.storage/storageaccounts ResourceType *string }
ResourceCarbonEmissionItemDetailData - Response for Resource detailed carbon emissions
func (*ResourceCarbonEmissionItemDetailData) GetCarbonEmissionData ¶
func (r *ResourceCarbonEmissionItemDetailData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type ResourceCarbonEmissionItemDetailData.
func (ResourceCarbonEmissionItemDetailData) MarshalJSON ¶
func (r ResourceCarbonEmissionItemDetailData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ResourceCarbonEmissionItemDetailData.
func (*ResourceCarbonEmissionItemDetailData) UnmarshalJSON ¶
func (r *ResourceCarbonEmissionItemDetailData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ResourceCarbonEmissionItemDetailData.
type ResourceCarbonEmissionTopItemMonthlySummaryData ¶
type ResourceCarbonEmissionTopItemMonthlySummaryData struct { // REQUIRED; Resource Item category CategoryType *CategoryTypeEnum // REQUIRED; Resource top items Monthly summary data DataType *ResponseDataTypeEnum // REQUIRED; Monthly date string, format is yyyy-MM-dd Date *string // REQUIRED; The resource name of resource for Resource Category ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // REQUIRED; Resource Group ResourceGroup *string // REQUIRED; The fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} ResourceID *string // REQUIRED; Subscription Id SubscriptionID *string // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
ResourceCarbonEmissionTopItemMonthlySummaryData - Response for top items carbon emissions by month for resource
func (*ResourceCarbonEmissionTopItemMonthlySummaryData) GetCarbonEmissionData ¶
func (r *ResourceCarbonEmissionTopItemMonthlySummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type ResourceCarbonEmissionTopItemMonthlySummaryData.
func (ResourceCarbonEmissionTopItemMonthlySummaryData) MarshalJSON ¶
func (r ResourceCarbonEmissionTopItemMonthlySummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ResourceCarbonEmissionTopItemMonthlySummaryData.
func (*ResourceCarbonEmissionTopItemMonthlySummaryData) UnmarshalJSON ¶
func (r *ResourceCarbonEmissionTopItemMonthlySummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ResourceCarbonEmissionTopItemMonthlySummaryData.
type ResourceCarbonEmissionTopItemsSummaryData ¶
type ResourceCarbonEmissionTopItemsSummaryData struct { // REQUIRED; The category type of the item. This defines which dimension the emissions are aggregated by, and the supported // values are defined in CategoryTypeEnum (e.g., Subscription, ResourceGroup, Resource, etc.). CategoryType *CategoryTypeEnum // REQUIRED; Data for the top items carbon emissions summary report specific to resource category DataType *ResponseDataTypeEnum // REQUIRED; The resource name of the resource for the Resource Category. ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // REQUIRED; Resource group name ResourceGroup *string // REQUIRED; Resource Id, The URI of the resource for the Resource Category. This identifies the resource being reported. ResourceID *string // REQUIRED; Subscription Id SubscriptionID *string // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
ResourceCarbonEmissionTopItemsSummaryData - Response for Top Items For Resource Category
func (*ResourceCarbonEmissionTopItemsSummaryData) GetCarbonEmissionData ¶
func (r *ResourceCarbonEmissionTopItemsSummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type ResourceCarbonEmissionTopItemsSummaryData.
func (ResourceCarbonEmissionTopItemsSummaryData) MarshalJSON ¶
func (r ResourceCarbonEmissionTopItemsSummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ResourceCarbonEmissionTopItemsSummaryData.
func (*ResourceCarbonEmissionTopItemsSummaryData) UnmarshalJSON ¶
func (r *ResourceCarbonEmissionTopItemsSummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ResourceCarbonEmissionTopItemsSummaryData.
type ResourceGroupCarbonEmissionItemDetailData ¶
type ResourceGroupCarbonEmissionItemDetailData struct { // REQUIRED; ResourceGroup Item category CategoryType *CategoryTypeEnum // REQUIRED; ResourceGroup item details data DataType *ResponseDataTypeEnum // REQUIRED; It's resource group name ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // REQUIRED; Resource Group url, value format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' ResourceGroupURL *string // REQUIRED; Subscription Id SubscriptionID *string // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
ResourceGroupCarbonEmissionItemDetailData - Response for Resource Group detailed carbon emissions
func (*ResourceGroupCarbonEmissionItemDetailData) GetCarbonEmissionData ¶
func (r *ResourceGroupCarbonEmissionItemDetailData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type ResourceGroupCarbonEmissionItemDetailData.
func (ResourceGroupCarbonEmissionItemDetailData) MarshalJSON ¶
func (r ResourceGroupCarbonEmissionItemDetailData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ResourceGroupCarbonEmissionItemDetailData.
func (*ResourceGroupCarbonEmissionItemDetailData) UnmarshalJSON ¶
func (r *ResourceGroupCarbonEmissionItemDetailData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGroupCarbonEmissionItemDetailData.
type ResourceGroupCarbonEmissionTopItemMonthlySummaryData ¶
type ResourceGroupCarbonEmissionTopItemMonthlySummaryData struct { // REQUIRED; ResourceGroup Item category CategoryType *CategoryTypeEnum // REQUIRED; Resource group top items Monthly summary data DataType *ResponseDataTypeEnum // REQUIRED; Monthly date string, format is yyyy-MM-dd Date *string // REQUIRED; It's resource group name for ResourceGroup category ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // REQUIRED; Resource Group url, the format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' ResourceGroupURL *string // REQUIRED; Subscription Id SubscriptionID *string // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
ResourceGroupCarbonEmissionTopItemMonthlySummaryData - Response for top items carbon emissions by month for resource group
func (*ResourceGroupCarbonEmissionTopItemMonthlySummaryData) GetCarbonEmissionData ¶
func (r *ResourceGroupCarbonEmissionTopItemMonthlySummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type ResourceGroupCarbonEmissionTopItemMonthlySummaryData.
func (ResourceGroupCarbonEmissionTopItemMonthlySummaryData) MarshalJSON ¶
func (r ResourceGroupCarbonEmissionTopItemMonthlySummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ResourceGroupCarbonEmissionTopItemMonthlySummaryData.
func (*ResourceGroupCarbonEmissionTopItemMonthlySummaryData) UnmarshalJSON ¶
func (r *ResourceGroupCarbonEmissionTopItemMonthlySummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGroupCarbonEmissionTopItemMonthlySummaryData.
type ResourceGroupCarbonEmissionTopItemsSummaryData ¶
type ResourceGroupCarbonEmissionTopItemsSummaryData struct { // REQUIRED; ResourceGroup Item category CategoryType *CategoryTypeEnum // REQUIRED; Resource group top items summary data DataType *ResponseDataTypeEnum // REQUIRED; The resourceGroup name of the resource for ResourceGroup Category ItemName *string // REQUIRED; Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions // over the specified date range (e.g., March-June). LatestMonthEmissions *float64 // REQUIRED; Total carbon emissions for the previous month’s date range, which is the same period as the specified date range // but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). // The value is measured in kgCO2E. PreviousMonthEmissions *float64 // REQUIRED; Resource Group url, value format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' ResourceGroupURL *string // REQUIRED; Subscription Id SubscriptionID *string // The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions // - previousMonthEmissions) / previousMonthEmissions. MonthOverMonthEmissionsChangeRatio *float64 // The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. MonthlyEmissionsChangeValue *float64 }
ResourceGroupCarbonEmissionTopItemsSummaryData - Response for Top Items For ResourceGroup
func (*ResourceGroupCarbonEmissionTopItemsSummaryData) GetCarbonEmissionData ¶
func (r *ResourceGroupCarbonEmissionTopItemsSummaryData) GetCarbonEmissionData() *CarbonEmissionData
GetCarbonEmissionData implements the CarbonEmissionDataClassification interface for type ResourceGroupCarbonEmissionTopItemsSummaryData.
func (ResourceGroupCarbonEmissionTopItemsSummaryData) MarshalJSON ¶
func (r ResourceGroupCarbonEmissionTopItemsSummaryData) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type ResourceGroupCarbonEmissionTopItemsSummaryData.
func (*ResourceGroupCarbonEmissionTopItemsSummaryData) UnmarshalJSON ¶
func (r *ResourceGroupCarbonEmissionTopItemsSummaryData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGroupCarbonEmissionTopItemsSummaryData.
type ResponseDataTypeEnum ¶
type ResponseDataTypeEnum string
ResponseDataTypeEnum - The response data type of Carbon emission data
const ( // ResponseDataTypeEnumItemDetailsData - The response data type for ItemDetailsReport ResponseDataTypeEnumItemDetailsData ResponseDataTypeEnum = "ItemDetailsData" // ResponseDataTypeEnumMonthlySummaryData - The response data type for MonthlySummaryReport ResponseDataTypeEnumMonthlySummaryData ResponseDataTypeEnum = "MonthlySummaryData" // ResponseDataTypeEnumOverallSummaryData - The response data type for OverallSummaryReport ResponseDataTypeEnumOverallSummaryData ResponseDataTypeEnum = "OverallSummaryData" // ResponseDataTypeEnumResourceGroupItemDetailsData - The response data type for ResourceGroup's ItemDetailsReport ResponseDataTypeEnumResourceGroupItemDetailsData ResponseDataTypeEnum = "ResourceGroupItemDetailsData" // ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData - The response data type for ResourceGroup's TopItemsMonthlySummaryReport ResponseDataTypeEnumResourceGroupTopItemsMonthlySummaryData ResponseDataTypeEnum = "ResourceGroupTopItemsMonthlySummaryData" // ResponseDataTypeEnumResourceGroupTopItemsSummaryData - The response data type for ResourceGroup's TopItemsSummaryReport ResponseDataTypeEnumResourceGroupTopItemsSummaryData ResponseDataTypeEnum = "ResourceGroupTopItemsSummaryData" // ResponseDataTypeEnumResourceItemDetailsData - The response data type for Resource's ItemDetailsReport ResponseDataTypeEnumResourceItemDetailsData ResponseDataTypeEnum = "ResourceItemDetailsData" // ResponseDataTypeEnumResourceTopItemsMonthlySummaryData - The response data type for Resource's TopItemsMonthlySummaryReport ResponseDataTypeEnumResourceTopItemsMonthlySummaryData ResponseDataTypeEnum = "ResourceTopItemsMonthlySummaryData" // ResponseDataTypeEnumResourceTopItemsSummaryData - The response data type for Resource's TopItemsSummaryReport ResponseDataTypeEnumResourceTopItemsSummaryData ResponseDataTypeEnum = "ResourceTopItemsSummaryData" // ResponseDataTypeEnumTopItemsMonthlySummaryData - The response data type for TopItemsMonthlySummaryReport ResponseDataTypeEnumTopItemsMonthlySummaryData ResponseDataTypeEnum = "TopItemsMonthlySummaryData" // ResponseDataTypeEnumTopItemsSummaryData - The response data type for TopItemsSummaryReport ResponseDataTypeEnumTopItemsSummaryData ResponseDataTypeEnum = "TopItemsSummaryData" )
func PossibleResponseDataTypeEnumValues ¶
func PossibleResponseDataTypeEnumValues() []ResponseDataTypeEnum
PossibleResponseDataTypeEnumValues returns the possible values for the ResponseDataTypeEnum const type.
type SortDirectionEnum ¶
type SortDirectionEnum string
SortDirectionEnum - Sorting is supported for columns in ItemDetailsReport. This object define sorting direction.
const ( // SortDirectionEnumAsc - Ascending order for query result. SortDirectionEnumAsc SortDirectionEnum = "Asc" // SortDirectionEnumDesc - Descending order for query result. SortDirectionEnumDesc SortDirectionEnum = "Desc" )
func PossibleSortDirectionEnumValues ¶
func PossibleSortDirectionEnumValues() []SortDirectionEnum
PossibleSortDirectionEnumValues returns the possible values for the SortDirectionEnum const type.
type SubscriptionAccessDecision ¶
type SubscriptionAccessDecision struct { // REQUIRED; Access decision to subscription Decision *AccessDecisionEnum // REQUIRED; Id of Subscription SubscriptionID *string // The reason why access request got denied DenialReason *string }
SubscriptionAccessDecision - Access Decision for each Subscription
func (SubscriptionAccessDecision) MarshalJSON ¶
func (s SubscriptionAccessDecision) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type SubscriptionAccessDecision.
func (*SubscriptionAccessDecision) UnmarshalJSON ¶
func (s *SubscriptionAccessDecision) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionAccessDecision.
type TopItemsMonthlySummaryReportQueryFilter ¶
type TopItemsMonthlySummaryReportQueryFilter struct { // REQUIRED; List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, // Scope3) in list form. The output will include the total emissions for the specified scopes. CarbonScopeList []*EmissionScopeEnum // REQUIRED; Specifies the category type to retrieve top-emitting items, aggregated by month. See supported types in CategoryTypeEnum. CategoryType *CategoryTypeEnum // REQUIRED; The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, // only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 // and end: 2024-06-01). DateRange *DateRange // CONSTANT; Specifies that the report type is a top items monthly summary report for carbon emissions data. // Field has constant value ReportTypeEnumTopItemsMonthlySummaryReport, any specified value is ignored. ReportType *ReportTypeEnum // REQUIRED; List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should // be in lowercase format. The max length of list is 100. SubscriptionList []*string // REQUIRED; The number of top items to return, based on emissions. Must be between 1 and 10. TopItems *int32 // List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., // 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. LocationList []*string // List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', // and should be in all lowercase. ResourceGroupURLList []*string // List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following // the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. ResourceTypeList []*string }
TopItemsMonthlySummaryReportQueryFilter - Query filter parameter to configure TopItemsMonthlySummaryReport queries.
func (*TopItemsMonthlySummaryReportQueryFilter) GetQueryFilter ¶
func (t *TopItemsMonthlySummaryReportQueryFilter) GetQueryFilter() *QueryFilter
GetQueryFilter implements the QueryFilterClassification interface for type TopItemsMonthlySummaryReportQueryFilter.
func (TopItemsMonthlySummaryReportQueryFilter) MarshalJSON ¶
func (t TopItemsMonthlySummaryReportQueryFilter) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type TopItemsMonthlySummaryReportQueryFilter.
func (*TopItemsMonthlySummaryReportQueryFilter) UnmarshalJSON ¶
func (t *TopItemsMonthlySummaryReportQueryFilter) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type TopItemsMonthlySummaryReportQueryFilter.
type TopItemsSummaryReportQueryFilter ¶
type TopItemsSummaryReportQueryFilter struct { // REQUIRED; List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, // Scope3) in list form. The output will include the total emissions for the specified scopes. CarbonScopeList []*EmissionScopeEnum // REQUIRED; Specifies the category type for which to retrieve top-emitting items. See supported values defined in CategoryTypeEnum. CategoryType *CategoryTypeEnum // REQUIRED; The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, // only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 // and end: 2024-06-01). DateRange *DateRange // CONSTANT; Specifies that the report type is a top items summary report for carbon emissions data, aggregated by category // type. // Field has constant value ReportTypeEnumTopItemsSummaryReport, any specified value is ignored. ReportType *ReportTypeEnum // REQUIRED; List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should // be in lowercase format. The max length of list is 100. SubscriptionList []*string // REQUIRED; The number of top items to return, based on emissions. This value must be between 1 and 10. TopItems *int32 // List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., // 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. LocationList []*string // List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', // and should be in all lowercase. ResourceGroupURLList []*string // List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following // the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. ResourceTypeList []*string }
TopItemsSummaryReportQueryFilter - Query filter parameter to configure TopItemsSummaryReport queries.
func (*TopItemsSummaryReportQueryFilter) GetQueryFilter ¶
func (t *TopItemsSummaryReportQueryFilter) GetQueryFilter() *QueryFilter
GetQueryFilter implements the QueryFilterClassification interface for type TopItemsSummaryReportQueryFilter.
func (TopItemsSummaryReportQueryFilter) MarshalJSON ¶
func (t TopItemsSummaryReportQueryFilter) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for type TopItemsSummaryReportQueryFilter.
func (*TopItemsSummaryReportQueryFilter) UnmarshalJSON ¶
func (t *TopItemsSummaryReportQueryFilter) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaller interface for type TopItemsSummaryReportQueryFilter.