2
2
mirror of https://github.com/octoleo/restic.git synced 2024-09-27 14:09:01 +00:00
restic/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/models.go
2017-08-06 21:47:04 +02:00

142 lines
5.8 KiB
Go
Executable File

package consumption
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
import (
"github.com/Azure/go-autorest/autorest"
"github.com/Azure/go-autorest/autorest/date"
"github.com/Azure/go-autorest/autorest/to"
"github.com/shopspring/decimal"
"net/http"
)
// ErrorDetails is the details of the error.
type ErrorDetails struct {
Code *string `json:"code,omitempty"`
Message *string `json:"message,omitempty"`
Target *string `json:"target,omitempty"`
}
// ErrorResponse is error response indicates that the service is not able to
// process the incoming request. The reason is provided in the error message.
type ErrorResponse struct {
Error *ErrorDetails `json:"error,omitempty"`
}
// MeterDetails is the properties of the meter detail.
type MeterDetails struct {
MeterName *string `json:"meterName,omitempty"`
MeterCategory *string `json:"meterCategory,omitempty"`
MeterSubCategory *string `json:"meterSubCategory,omitempty"`
Unit *string `json:"unit,omitempty"`
MeterLocation *string `json:"meterLocation,omitempty"`
TotalIncludedQuantity *decimal.Decimal `json:"totalIncludedQuantity,omitempty"`
PretaxStandardRate *decimal.Decimal `json:"pretaxStandardRate,omitempty"`
}
// Operation is a Consumption REST API operation.
type Operation struct {
Name *string `json:"name,omitempty"`
Display *OperationDisplay `json:"display,omitempty"`
}
// OperationDisplay is the object that represents the operation.
type OperationDisplay struct {
Provider *string `json:"provider,omitempty"`
Resource *string `json:"resource,omitempty"`
Operation *string `json:"operation,omitempty"`
}
// OperationListResult is result of listing consumption operations. It contains
// a list of operations and a URL link to get the next set of results.
type OperationListResult struct {
autorest.Response `json:"-"`
Value *[]Operation `json:"value,omitempty"`
NextLink *string `json:"nextLink,omitempty"`
}
// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns
// nil if no more results exist.
func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) {
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
return nil, nil
}
return autorest.Prepare(&http.Request{},
autorest.AsJSON(),
autorest.AsGet(),
autorest.WithBaseURL(to.String(client.NextLink)))
}
// Resource is the Resource model definition.
type Resource struct {
ID *string `json:"id,omitempty"`
Name *string `json:"name,omitempty"`
Type *string `json:"type,omitempty"`
Tags *map[string]*string `json:"tags,omitempty"`
}
// UsageDetail is an usage detail resource.
type UsageDetail struct {
ID *string `json:"id,omitempty"`
Name *string `json:"name,omitempty"`
Type *string `json:"type,omitempty"`
Tags *map[string]*string `json:"tags,omitempty"`
*UsageDetailProperties `json:"properties,omitempty"`
}
// UsageDetailProperties is the properties of the usage detail.
type UsageDetailProperties struct {
BillingPeriodID *string `json:"billingPeriodId,omitempty"`
InvoiceID *string `json:"invoiceId,omitempty"`
UsageStart *date.Time `json:"usageStart,omitempty"`
UsageEnd *date.Time `json:"usageEnd,omitempty"`
InstanceName *string `json:"instanceName,omitempty"`
InstanceID *string `json:"instanceId,omitempty"`
InstanceLocation *string `json:"instanceLocation,omitempty"`
Currency *string `json:"currency,omitempty"`
UsageQuantity *decimal.Decimal `json:"usageQuantity,omitempty"`
BillableQuantity *decimal.Decimal `json:"billableQuantity,omitempty"`
PretaxCost *decimal.Decimal `json:"pretaxCost,omitempty"`
IsEstimated *bool `json:"isEstimated,omitempty"`
MeterID *string `json:"meterId,omitempty"`
MeterDetails *MeterDetails `json:"meterDetails,omitempty"`
AdditionalProperties *map[string]*string `json:"additionalProperties,omitempty"`
}
// UsageDetailsListResult is result of listing usage details. It contains a
// list of available usage details in reverse chronological order by billing
// period.
type UsageDetailsListResult struct {
autorest.Response `json:"-"`
Value *[]UsageDetail `json:"value,omitempty"`
NextLink *string `json:"nextLink,omitempty"`
}
// UsageDetailsListResultPreparer prepares a request to retrieve the next set of results. It returns
// nil if no more results exist.
func (client UsageDetailsListResult) UsageDetailsListResultPreparer() (*http.Request, error) {
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
return nil, nil
}
return autorest.Prepare(&http.Request{},
autorest.AsJSON(),
autorest.AsGet(),
autorest.WithBaseURL(to.String(client.NextLink)))
}