2017-08-05 18:30:20 +00:00
|
|
|
package billing
|
|
|
|
|
|
|
|
// 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.
|
|
|
|
//
|
2017-10-01 08:13:39 +00:00
|
|
|
// Code generated by Microsoft (R) AutoRest Code Generator.
|
|
|
|
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
2017-08-05 18:30:20 +00:00
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/Azure/go-autorest/autorest"
|
|
|
|
"github.com/Azure/go-autorest/autorest/date"
|
|
|
|
"github.com/Azure/go-autorest/autorest/to"
|
|
|
|
"net/http"
|
|
|
|
)
|
|
|
|
|
2017-10-01 08:13:39 +00:00
|
|
|
// DownloadURL is a secure URL that can be used to download a PDF invoice until the URL expires.
|
2017-08-05 18:30:20 +00:00
|
|
|
type DownloadURL struct {
|
|
|
|
ExpiryTime *date.Time `json:"expiryTime,omitempty"`
|
|
|
|
URL *string `json:"url,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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"`
|
|
|
|
}
|
|
|
|
|
2017-10-01 08:13:39 +00:00
|
|
|
// ErrorResponse is error response indicates that the service is not able to process the incoming request. The reason
|
|
|
|
// is provided in the error message.
|
2017-08-05 18:30:20 +00:00
|
|
|
type ErrorResponse struct {
|
|
|
|
Error *ErrorDetails `json:"error,omitempty"`
|
|
|
|
}
|
|
|
|
|
2017-10-01 08:13:39 +00:00
|
|
|
// Invoice is an invoice resource can be used download a PDF version of an invoice.
|
2017-08-05 18:30:20 +00:00
|
|
|
type Invoice struct {
|
|
|
|
autorest.Response `json:"-"`
|
|
|
|
ID *string `json:"id,omitempty"`
|
|
|
|
Name *string `json:"name,omitempty"`
|
|
|
|
Type *string `json:"type,omitempty"`
|
|
|
|
*InvoiceProperties `json:"properties,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// InvoiceProperties is the properties of the invoice.
|
|
|
|
type InvoiceProperties struct {
|
|
|
|
DownloadURL *DownloadURL `json:"downloadUrl,omitempty"`
|
|
|
|
InvoicePeriodStartDate *date.Date `json:"invoicePeriodStartDate,omitempty"`
|
|
|
|
InvoicePeriodEndDate *date.Date `json:"invoicePeriodEndDate,omitempty"`
|
|
|
|
BillingPeriodIds *[]string `json:"billingPeriodIds,omitempty"`
|
|
|
|
}
|
|
|
|
|
2017-10-01 08:13:39 +00:00
|
|
|
// InvoicesListResult is result of listing invoices. It contains a list of available invoices in reverse chronological
|
|
|
|
// order.
|
2017-08-05 18:30:20 +00:00
|
|
|
type InvoicesListResult struct {
|
|
|
|
autorest.Response `json:"-"`
|
|
|
|
Value *[]Invoice `json:"value,omitempty"`
|
|
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// InvoicesListResultPreparer prepares a request to retrieve the next set of results. It returns
|
|
|
|
// nil if no more results exist.
|
|
|
|
func (client InvoicesListResult) InvoicesListResultPreparer() (*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)))
|
|
|
|
}
|
|
|
|
|
|
|
|
// Operation is a Billing 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"`
|
|
|
|
}
|
|
|
|
|
2017-10-01 08:13:39 +00:00
|
|
|
// OperationListResult is result listing billing operations. It contains a list of operations and a URL link to get the
|
|
|
|
// next set of results.
|
2017-08-05 18:30:20 +00:00
|
|
|
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)))
|
|
|
|
}
|
|
|
|
|
|
|
|
// Period is a billing period resource.
|
|
|
|
type Period struct {
|
|
|
|
autorest.Response `json:"-"`
|
|
|
|
ID *string `json:"id,omitempty"`
|
|
|
|
Name *string `json:"name,omitempty"`
|
|
|
|
Type *string `json:"type,omitempty"`
|
|
|
|
*PeriodProperties `json:"properties,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// PeriodProperties is the properties of the billing period.
|
|
|
|
type PeriodProperties struct {
|
|
|
|
BillingPeriodStartDate *date.Date `json:"billingPeriodStartDate,omitempty"`
|
|
|
|
BillingPeriodEndDate *date.Date `json:"billingPeriodEndDate,omitempty"`
|
|
|
|
InvoiceIds *[]string `json:"invoiceIds,omitempty"`
|
|
|
|
}
|
|
|
|
|
2017-10-01 08:13:39 +00:00
|
|
|
// PeriodsListResult is result of listing billing periods. It contains a list of available billing periods in reverse
|
|
|
|
// chronological order.
|
2017-08-05 18:30:20 +00:00
|
|
|
type PeriodsListResult struct {
|
|
|
|
autorest.Response `json:"-"`
|
|
|
|
Value *[]Period `json:"value,omitempty"`
|
|
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// PeriodsListResultPreparer prepares a request to retrieve the next set of results. It returns
|
|
|
|
// nil if no more results exist.
|
|
|
|
func (client PeriodsListResult) PeriodsListResultPreparer() (*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"`
|
|
|
|
}
|