billingprofiles

package
v0.20241023.1122425 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2024 License: MPL-2.0 Imports: 12 Imported by: 1

README

github.com/hashicorp/go-azure-sdk/resource-manager/billing/2020-05-01/billingprofiles Documentation

The billingprofiles SDK allows for interaction with Azure Resource Manager billing (API Version 2020-05-01).

This readme covers example usages, but further information on using this SDK can be found in the project root.

Import Path

import "github.com/hashicorp/go-azure-sdk/resource-manager/billing/2020-05-01/billingprofiles"

Client Initialization

client := billingprofiles.NewBillingProfilesClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: BillingProfilesClient.CreateOrUpdate

ctx := context.TODO()
id := billingprofiles.NewBillingProfileID("billingAccountName", "billingProfileName")

payload := billingprofiles.BillingProfile{
	// ...
}


if err := client.CreateOrUpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: BillingProfilesClient.Get

ctx := context.TODO()
id := billingprofiles.NewBillingProfileID("billingAccountName", "billingProfileName")

read, err := client.Get(ctx, id, billingprofiles.DefaultGetOperationOptions())
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: BillingProfilesClient.ListByBillingAccount

ctx := context.TODO()
id := billingprofiles.NewBillingAccountID("billingAccountName")

// alternatively `client.ListByBillingAccount(ctx, id, billingprofiles.DefaultListByBillingAccountOperationOptions())` can be used to do batched pagination
items, err := client.ListByBillingAccountComplete(ctx, id, billingprofiles.DefaultListByBillingAccountOperationOptions())
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForBillingProfileStatus

func PossibleValuesForBillingProfileStatus() []string

func PossibleValuesForBillingRelationshipType

func PossibleValuesForBillingRelationshipType() []string

func PossibleValuesForInvoiceSectionState

func PossibleValuesForInvoiceSectionState() []string

func PossibleValuesForSpendingLimit

func PossibleValuesForSpendingLimit() []string

func PossibleValuesForStatusReasonCode

func PossibleValuesForStatusReasonCode() []string

func PossibleValuesForTargetCloud

func PossibleValuesForTargetCloud() []string

func ValidateBillingAccountID

func ValidateBillingAccountID(input interface{}, key string) (warnings []string, errors []error)

ValidateBillingAccountID checks that 'input' can be parsed as a Billing Account ID

func ValidateBillingProfileID

func ValidateBillingProfileID(input interface{}, key string) (warnings []string, errors []error)

ValidateBillingProfileID checks that 'input' can be parsed as a Billing Profile ID

Types

type AddressDetails

type AddressDetails struct {
	AddressLine1 string  `json:"addressLine1"`
	AddressLine2 *string `json:"addressLine2,omitempty"`
	AddressLine3 *string `json:"addressLine3,omitempty"`
	City         *string `json:"city,omitempty"`
	CompanyName  *string `json:"companyName,omitempty"`
	Country      string  `json:"country"`
	District     *string `json:"district,omitempty"`
	Email        *string `json:"email,omitempty"`
	FirstName    *string `json:"firstName,omitempty"`
	LastName     *string `json:"lastName,omitempty"`
	MiddleName   *string `json:"middleName,omitempty"`
	PhoneNumber  *string `json:"phoneNumber,omitempty"`
	PostalCode   *string `json:"postalCode,omitempty"`
	Region       *string `json:"region,omitempty"`
}

type AzurePlan

type AzurePlan struct {
	SkuDescription *string `json:"skuDescription,omitempty"`
	SkuId          *string `json:"skuId,omitempty"`
}

type BillingAccountId

type BillingAccountId struct {
	BillingAccountName string
}

BillingAccountId is a struct representing the Resource ID for a Billing Account

func NewBillingAccountID

func NewBillingAccountID(billingAccountName string) BillingAccountId

NewBillingAccountID returns a new BillingAccountId struct

func ParseBillingAccountID

func ParseBillingAccountID(input string) (*BillingAccountId, error)

ParseBillingAccountID parses 'input' into a BillingAccountId

func ParseBillingAccountIDInsensitively

func ParseBillingAccountIDInsensitively(input string) (*BillingAccountId, error)

ParseBillingAccountIDInsensitively parses 'input' case-insensitively into a BillingAccountId note: this method should only be used for API response data and not user input

func (*BillingAccountId) FromParseResult

func (id *BillingAccountId) FromParseResult(input resourceids.ParseResult) error

func (BillingAccountId) ID

func (id BillingAccountId) ID() string

ID returns the formatted Billing Account ID

func (BillingAccountId) Segments

func (id BillingAccountId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Billing Account ID

func (BillingAccountId) String

func (id BillingAccountId) String() string

String returns a human-readable description of this Billing Account ID

type BillingProfile

type BillingProfile struct {
	Id         *string                   `json:"id,omitempty"`
	Name       *string                   `json:"name,omitempty"`
	Properties *BillingProfileProperties `json:"properties,omitempty"`
	Type       *string                   `json:"type,omitempty"`
}

type BillingProfileId

type BillingProfileId struct {
	BillingAccountName string
	BillingProfileName string
}

BillingProfileId is a struct representing the Resource ID for a Billing Profile

func NewBillingProfileID

func NewBillingProfileID(billingAccountName string, billingProfileName string) BillingProfileId

NewBillingProfileID returns a new BillingProfileId struct

func ParseBillingProfileID

func ParseBillingProfileID(input string) (*BillingProfileId, error)

ParseBillingProfileID parses 'input' into a BillingProfileId

func ParseBillingProfileIDInsensitively

func ParseBillingProfileIDInsensitively(input string) (*BillingProfileId, error)

ParseBillingProfileIDInsensitively parses 'input' case-insensitively into a BillingProfileId note: this method should only be used for API response data and not user input

func (*BillingProfileId) FromParseResult

func (id *BillingProfileId) FromParseResult(input resourceids.ParseResult) error

func (BillingProfileId) ID

func (id BillingProfileId) ID() string

ID returns the formatted Billing Profile ID

func (BillingProfileId) Segments

func (id BillingProfileId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Billing Profile ID

func (BillingProfileId) String

func (id BillingProfileId) String() string

String returns a human-readable description of this Billing Profile ID

type BillingProfileOperationPredicate

type BillingProfileOperationPredicate struct {
	Id   *string
	Name *string
	Type *string
}

func (BillingProfileOperationPredicate) Matches

type BillingProfileProperties

type BillingProfileProperties struct {
	BillTo                   *AddressDetails           `json:"billTo,omitempty"`
	BillingRelationshipType  *BillingRelationshipType  `json:"billingRelationshipType,omitempty"`
	Currency                 *string                   `json:"currency,omitempty"`
	DisplayName              *string                   `json:"displayName,omitempty"`
	EnabledAzurePlans        *[]AzurePlan              `json:"enabledAzurePlans,omitempty"`
	HasReadAccess            *bool                     `json:"hasReadAccess,omitempty"`
	IndirectRelationshipInfo *IndirectRelationshipInfo `json:"indirectRelationshipInfo,omitempty"`
	InvoiceDay               *int64                    `json:"invoiceDay,omitempty"`
	InvoiceEmailOptIn        *bool                     `json:"invoiceEmailOptIn,omitempty"`
	InvoiceSections          *InvoiceSectionsOnExpand  `json:"invoiceSections,omitempty"`
	PoNumber                 *string                   `json:"poNumber,omitempty"`
	SpendingLimit            *SpendingLimit            `json:"spendingLimit,omitempty"`
	Status                   *BillingProfileStatus     `json:"status,omitempty"`
	StatusReasonCode         *StatusReasonCode         `json:"statusReasonCode,omitempty"`
	SystemId                 *string                   `json:"systemId,omitempty"`
	Tags                     *map[string]string        `json:"tags,omitempty"`
	TargetClouds             *[]TargetCloud            `json:"targetClouds,omitempty"`
}

type BillingProfileStatus

type BillingProfileStatus string
const (
	BillingProfileStatusActive   BillingProfileStatus = "Active"
	BillingProfileStatusDisabled BillingProfileStatus = "Disabled"
	BillingProfileStatusWarned   BillingProfileStatus = "Warned"
)

func (*BillingProfileStatus) UnmarshalJSON

func (s *BillingProfileStatus) UnmarshalJSON(bytes []byte) error

type BillingProfilesClient

type BillingProfilesClient struct {
	Client *resourcemanager.Client
}

func NewBillingProfilesClientWithBaseURI

func NewBillingProfilesClientWithBaseURI(sdkApi sdkEnv.Api) (*BillingProfilesClient, error)

func (BillingProfilesClient) CreateOrUpdate

CreateOrUpdate ...

func (BillingProfilesClient) CreateOrUpdateThenPoll

func (c BillingProfilesClient) CreateOrUpdateThenPoll(ctx context.Context, id BillingProfileId, input BillingProfile) error

CreateOrUpdateThenPoll performs CreateOrUpdate then polls until it's completed

func (BillingProfilesClient) Get

Get ...

func (BillingProfilesClient) ListByBillingAccount

ListByBillingAccount ...

func (BillingProfilesClient) ListByBillingAccountComplete

ListByBillingAccountComplete retrieves all the results into a single object

func (BillingProfilesClient) ListByBillingAccountCompleteMatchingPredicate

func (c BillingProfilesClient) ListByBillingAccountCompleteMatchingPredicate(ctx context.Context, id BillingAccountId, options ListByBillingAccountOperationOptions, predicate BillingProfileOperationPredicate) (result ListByBillingAccountCompleteResult, err error)

ListByBillingAccountCompleteMatchingPredicate retrieves all the results and then applies the predicate

type BillingRelationshipType

type BillingRelationshipType string
const (
	BillingRelationshipTypeCSPPartner       BillingRelationshipType = "CSPPartner"
	BillingRelationshipTypeDirect           BillingRelationshipType = "Direct"
	BillingRelationshipTypeIndirectCustomer BillingRelationshipType = "IndirectCustomer"
	BillingRelationshipTypeIndirectPartner  BillingRelationshipType = "IndirectPartner"
)

func (*BillingRelationshipType) UnmarshalJSON

func (s *BillingRelationshipType) UnmarshalJSON(bytes []byte) error

type CreateOrUpdateOperationResponse

type CreateOrUpdateOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *BillingProfile
}

type GetOperationOptions

type GetOperationOptions struct {
	Expand *string
}

func DefaultGetOperationOptions

func DefaultGetOperationOptions() GetOperationOptions

func (GetOperationOptions) ToHeaders

func (o GetOperationOptions) ToHeaders() *client.Headers

func (GetOperationOptions) ToOData

func (o GetOperationOptions) ToOData() *odata.Query

func (GetOperationOptions) ToQuery

func (o GetOperationOptions) ToQuery() *client.QueryParams

type GetOperationResponse

type GetOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *BillingProfile
}

type IndirectRelationshipInfo

type IndirectRelationshipInfo struct {
	BillingAccountName *string `json:"billingAccountName,omitempty"`
	BillingProfileName *string `json:"billingProfileName,omitempty"`
	DisplayName        *string `json:"displayName,omitempty"`
}

type InvoiceSection

type InvoiceSection struct {
	Id         *string                   `json:"id,omitempty"`
	Name       *string                   `json:"name,omitempty"`
	Properties *InvoiceSectionProperties `json:"properties,omitempty"`
	Type       *string                   `json:"type,omitempty"`
}

type InvoiceSectionProperties

type InvoiceSectionProperties struct {
	DisplayName *string              `json:"displayName,omitempty"`
	Labels      *map[string]string   `json:"labels,omitempty"`
	State       *InvoiceSectionState `json:"state,omitempty"`
	SystemId    *string              `json:"systemId,omitempty"`
	Tags        *map[string]string   `json:"tags,omitempty"`
	TargetCloud *TargetCloud         `json:"targetCloud,omitempty"`
}

type InvoiceSectionState

type InvoiceSectionState string
const (
	InvoiceSectionStateActive     InvoiceSectionState = "Active"
	InvoiceSectionStateRestricted InvoiceSectionState = "Restricted"
)

func (*InvoiceSectionState) UnmarshalJSON

func (s *InvoiceSectionState) UnmarshalJSON(bytes []byte) error

type InvoiceSectionsOnExpand

type InvoiceSectionsOnExpand struct {
	HasMoreResults *bool             `json:"hasMoreResults,omitempty"`
	Value          *[]InvoiceSection `json:"value,omitempty"`
}

type ListByBillingAccountCompleteResult

type ListByBillingAccountCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []BillingProfile
}

type ListByBillingAccountCustomPager added in v0.20240628.1153531

type ListByBillingAccountCustomPager struct {
	NextLink *odata.Link `json:"nextLink"`
}
func (p *ListByBillingAccountCustomPager) NextPageLink() *odata.Link

type ListByBillingAccountOperationOptions

type ListByBillingAccountOperationOptions struct {
	Expand *string
}

func DefaultListByBillingAccountOperationOptions

func DefaultListByBillingAccountOperationOptions() ListByBillingAccountOperationOptions

func (ListByBillingAccountOperationOptions) ToHeaders

func (ListByBillingAccountOperationOptions) ToOData

func (ListByBillingAccountOperationOptions) ToQuery

type ListByBillingAccountOperationResponse

type ListByBillingAccountOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]BillingProfile
}

type SpendingLimit

type SpendingLimit string
const (
	SpendingLimitOff SpendingLimit = "Off"
	SpendingLimitOn  SpendingLimit = "On"
)

func (*SpendingLimit) UnmarshalJSON

func (s *SpendingLimit) UnmarshalJSON(bytes []byte) error

type StatusReasonCode

type StatusReasonCode string
const (
	StatusReasonCodePastDue              StatusReasonCode = "PastDue"
	StatusReasonCodeSpendingLimitExpired StatusReasonCode = "SpendingLimitExpired"
	StatusReasonCodeSpendingLimitReached StatusReasonCode = "SpendingLimitReached"
)

func (*StatusReasonCode) UnmarshalJSON

func (s *StatusReasonCode) UnmarshalJSON(bytes []byte) error

type TargetCloud

type TargetCloud string
const (
	TargetCloudUSGov TargetCloud = "USGov"
	TargetCloudUSNat TargetCloud = "USNat"
	TargetCloudUSSec TargetCloud = "USSec"
)

func (*TargetCloud) UnmarshalJSON

func (s *TargetCloud) UnmarshalJSON(bytes []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL