billingprofile

package
v0.20241009.1142232 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2024 License: MPL-2.0 Imports: 15 Imported by: 0

README

github.com/hashicorp/go-azure-sdk/resource-manager/billing/2024-04-01/billingprofile Documentation

The billingprofile SDK allows for interaction with Azure Resource Manager billing (API Version 2024-04-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/2024-04-01/billingprofile"

Client Initialization

client := billingprofile.NewBillingProfileClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: BillingProfileClient.CreateOrUpdate

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

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


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

Example Usage: BillingProfileClient.Delete

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

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

Example Usage: BillingProfileClient.Get

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

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

Example Usage: BillingProfileClient.ListByBillingAccount

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

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

Example Usage: BillingProfileClient.ValidateDeleteEligibility

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForBillingProfileStatus

func PossibleValuesForBillingProfileStatus() []string

func PossibleValuesForBillingProfileStatusReasonCode

func PossibleValuesForBillingProfileStatusReasonCode() []string

func PossibleValuesForBillingRelationshipType

func PossibleValuesForBillingRelationshipType() []string

func PossibleValuesForDeleteBillingProfileEligibilityCode

func PossibleValuesForDeleteBillingProfileEligibilityCode() []string

func PossibleValuesForDeleteBillingProfileEligibilityStatus

func PossibleValuesForDeleteBillingProfileEligibilityStatus() []string

func PossibleValuesForProvisioningState

func PossibleValuesForProvisioningState() []string

func PossibleValuesForSpendingLimit

func PossibleValuesForSpendingLimit() []string

func PossibleValuesForSpendingLimitStatus

func PossibleValuesForSpendingLimitStatus() []string

func PossibleValuesForSpendingLimitType

func PossibleValuesForSpendingLimitType() []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"`
	IsValidAddress *bool   `json:"isValidAddress,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 {
	ProductId      *string `json:"productId,omitempty"`
	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"`
	SystemData *systemdata.SystemData    `json:"systemData,omitempty"`
	Tags       *map[string]string        `json:"tags,omitempty"`
	Type       *string                   `json:"type,omitempty"`
}

type BillingProfileClient

type BillingProfileClient struct {
	Client *resourcemanager.Client
}

func NewBillingProfileClientWithBaseURI

func NewBillingProfileClientWithBaseURI(sdkApi sdkEnv.Api) (*BillingProfileClient, error)

func (BillingProfileClient) CreateOrUpdate

CreateOrUpdate ...

func (BillingProfileClient) CreateOrUpdateThenPoll

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

CreateOrUpdateThenPoll performs CreateOrUpdate then polls until it's completed

func (BillingProfileClient) Delete

Delete ...

func (BillingProfileClient) DeleteThenPoll

func (c BillingProfileClient) DeleteThenPoll(ctx context.Context, id BillingProfileId) error

DeleteThenPoll performs Delete then polls until it's completed

func (BillingProfileClient) Get

Get ...

func (BillingProfileClient) ListByBillingAccount

ListByBillingAccount ...

func (BillingProfileClient) ListByBillingAccountComplete

ListByBillingAccountComplete retrieves all the results into a single object

func (BillingProfileClient) ListByBillingAccountCompleteMatchingPredicate

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

ListByBillingAccountCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (BillingProfileClient) ValidateDeleteEligibility

func (c BillingProfileClient) ValidateDeleteEligibility(ctx context.Context, id BillingProfileId) (result ValidateDeleteEligibilityOperationResponse, err error)

ValidateDeleteEligibility ...

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"`
	CurrentPaymentTerm       *PaymentTerm                    `json:"currentPaymentTerm,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"`
	InvoiceRecipients        *[]string                       `json:"invoiceRecipients,omitempty"`
	OtherPaymentTerms        *[]PaymentTerm                  `json:"otherPaymentTerms,omitempty"`
	PoNumber                 *string                         `json:"poNumber,omitempty"`
	ProvisioningState        *ProvisioningState              `json:"provisioningState,omitempty"`
	ShipTo                   *AddressDetails                 `json:"shipTo,omitempty"`
	SoldTo                   *AddressDetails                 `json:"soldTo,omitempty"`
	SpendingLimit            *SpendingLimit                  `json:"spendingLimit,omitempty"`
	SpendingLimitDetails     *[]SpendingLimitDetails         `json:"spendingLimitDetails,omitempty"`
	Status                   *BillingProfileStatus           `json:"status,omitempty"`
	StatusReasonCode         *BillingProfileStatusReasonCode `json:"statusReasonCode,omitempty"`
	SystemId                 *string                         `json:"systemId,omitempty"`
	Tags                     *map[string]string              `json:"tags,omitempty"`
	TargetClouds             *[]string                       `json:"targetClouds,omitempty"`
}

type BillingProfileStatus

type BillingProfileStatus string
const (
	BillingProfileStatusActive      BillingProfileStatus = "Active"
	BillingProfileStatusDeleted     BillingProfileStatus = "Deleted"
	BillingProfileStatusDisabled    BillingProfileStatus = "Disabled"
	BillingProfileStatusOther       BillingProfileStatus = "Other"
	BillingProfileStatusUnderReview BillingProfileStatus = "UnderReview"
	BillingProfileStatusWarned      BillingProfileStatus = "Warned"
)

func (*BillingProfileStatus) UnmarshalJSON

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

type BillingProfileStatusReasonCode

type BillingProfileStatusReasonCode string
const (
	BillingProfileStatusReasonCodeOther                BillingProfileStatusReasonCode = "Other"
	BillingProfileStatusReasonCodePastDue              BillingProfileStatusReasonCode = "PastDue"
	BillingProfileStatusReasonCodeSpendingLimitExpired BillingProfileStatusReasonCode = "SpendingLimitExpired"
	BillingProfileStatusReasonCodeSpendingLimitReached BillingProfileStatusReasonCode = "SpendingLimitReached"
	BillingProfileStatusReasonCodeUnusualActivity      BillingProfileStatusReasonCode = "UnusualActivity"
)

func (*BillingProfileStatusReasonCode) UnmarshalJSON

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

type BillingRelationshipType

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

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 DeleteBillingProfileEligibilityCode

type DeleteBillingProfileEligibilityCode string
const (
	DeleteBillingProfileEligibilityCodeActiveBillingSubscriptions DeleteBillingProfileEligibilityCode = "ActiveBillingSubscriptions"
	DeleteBillingProfileEligibilityCodeActiveCreditCard           DeleteBillingProfileEligibilityCode = "ActiveCreditCard"
	DeleteBillingProfileEligibilityCodeActiveCredits              DeleteBillingProfileEligibilityCode = "ActiveCredits"
	DeleteBillingProfileEligibilityCodeLastBillingProfile         DeleteBillingProfileEligibilityCode = "LastBillingProfile"
	DeleteBillingProfileEligibilityCodeNone                       DeleteBillingProfileEligibilityCode = "None"
	DeleteBillingProfileEligibilityCodeNotSupported               DeleteBillingProfileEligibilityCode = "NotSupported"
	DeleteBillingProfileEligibilityCodeOutstandingCharges         DeleteBillingProfileEligibilityCode = "OutstandingCharges"
	DeleteBillingProfileEligibilityCodePendingCharges             DeleteBillingProfileEligibilityCode = "PendingCharges"
	DeleteBillingProfileEligibilityCodeReservedInstances          DeleteBillingProfileEligibilityCode = "ReservedInstances"
)

func (*DeleteBillingProfileEligibilityCode) UnmarshalJSON

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

type DeleteBillingProfileEligibilityDetail

type DeleteBillingProfileEligibilityDetail struct {
	Code    *DeleteBillingProfileEligibilityCode `json:"code,omitempty"`
	Message *string                              `json:"message,omitempty"`
}

type DeleteBillingProfileEligibilityResult

type DeleteBillingProfileEligibilityResult struct {
	EligibilityDetails *[]DeleteBillingProfileEligibilityDetail `json:"eligibilityDetails,omitempty"`
	EligibilityStatus  *DeleteBillingProfileEligibilityStatus   `json:"eligibilityStatus,omitempty"`
}

type DeleteBillingProfileEligibilityStatus

type DeleteBillingProfileEligibilityStatus string
const (
	DeleteBillingProfileEligibilityStatusAllowed    DeleteBillingProfileEligibilityStatus = "Allowed"
	DeleteBillingProfileEligibilityStatusNotAllowed DeleteBillingProfileEligibilityStatus = "NotAllowed"
)

func (*DeleteBillingProfileEligibilityStatus) UnmarshalJSON

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

type DeleteOperationResponse

type DeleteOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

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 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 {
	Count          *bool
	Filter         *string
	IncludeDeleted *bool
	OrderBy        *string
	Search         *string
	Skip           *int64
	Top            *int64
}

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 PaymentTerm

type PaymentTerm struct {
	EndDate   *string `json:"endDate,omitempty"`
	IsDefault *bool   `json:"isDefault,omitempty"`
	StartDate *string `json:"startDate,omitempty"`
	Term      *string `json:"term,omitempty"`
}

func (*PaymentTerm) GetEndDateAsTime

func (o *PaymentTerm) GetEndDateAsTime() (*time.Time, error)

func (*PaymentTerm) GetStartDateAsTime

func (o *PaymentTerm) GetStartDateAsTime() (*time.Time, error)

func (*PaymentTerm) SetEndDateAsTime

func (o *PaymentTerm) SetEndDateAsTime(input time.Time)

func (*PaymentTerm) SetStartDateAsTime

func (o *PaymentTerm) SetStartDateAsTime(input time.Time)

type ProvisioningState

type ProvisioningState string
const (
	ProvisioningStateCanceled     ProvisioningState = "Canceled"
	ProvisioningStateFailed       ProvisioningState = "Failed"
	ProvisioningStateNew          ProvisioningState = "New"
	ProvisioningStatePending      ProvisioningState = "Pending"
	ProvisioningStateProvisioning ProvisioningState = "Provisioning"
	ProvisioningStateSucceeded    ProvisioningState = "Succeeded"
)

func (*ProvisioningState) UnmarshalJSON

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

type SpendingLimit

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

func (*SpendingLimit) UnmarshalJSON

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

type SpendingLimitDetails

type SpendingLimitDetails struct {
	Amount    *float64             `json:"amount,omitempty"`
	Currency  *string              `json:"currency,omitempty"`
	EndDate   *string              `json:"endDate,omitempty"`
	StartDate *string              `json:"startDate,omitempty"`
	Status    *SpendingLimitStatus `json:"status,omitempty"`
	Type      *SpendingLimitType   `json:"type,omitempty"`
}

func (*SpendingLimitDetails) GetEndDateAsTime

func (o *SpendingLimitDetails) GetEndDateAsTime() (*time.Time, error)

func (*SpendingLimitDetails) GetStartDateAsTime

func (o *SpendingLimitDetails) GetStartDateAsTime() (*time.Time, error)

func (*SpendingLimitDetails) SetEndDateAsTime

func (o *SpendingLimitDetails) SetEndDateAsTime(input time.Time)

func (*SpendingLimitDetails) SetStartDateAsTime

func (o *SpendingLimitDetails) SetStartDateAsTime(input time.Time)

type SpendingLimitStatus

type SpendingLimitStatus string
const (
	SpendingLimitStatusActive       SpendingLimitStatus = "Active"
	SpendingLimitStatusExpired      SpendingLimitStatus = "Expired"
	SpendingLimitStatusLimitReached SpendingLimitStatus = "LimitReached"
	SpendingLimitStatusLimitRemoved SpendingLimitStatus = "LimitRemoved"
	SpendingLimitStatusNone         SpendingLimitStatus = "None"
	SpendingLimitStatusOther        SpendingLimitStatus = "Other"
)

func (*SpendingLimitStatus) UnmarshalJSON

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

type SpendingLimitType

type SpendingLimitType string
const (
	SpendingLimitTypeAcademicSponsorship     SpendingLimitType = "AcademicSponsorship"
	SpendingLimitTypeAzureConsumptionCredit  SpendingLimitType = "AzureConsumptionCredit"
	SpendingLimitTypeAzureForStudents        SpendingLimitType = "AzureForStudents"
	SpendingLimitTypeAzureForStudentsStarter SpendingLimitType = "AzureForStudentsStarter"
	SpendingLimitTypeAzurePassSponsorship    SpendingLimitType = "AzurePassSponsorship"
	SpendingLimitTypeFreeAccount             SpendingLimitType = "FreeAccount"
	SpendingLimitTypeMSDN                    SpendingLimitType = "MSDN"
	SpendingLimitTypeMpnSponsorship          SpendingLimitType = "MpnSponsorship"
	SpendingLimitTypeNonProfitSponsorship    SpendingLimitType = "NonProfitSponsorship"
	SpendingLimitTypeNone                    SpendingLimitType = "None"
	SpendingLimitTypeOther                   SpendingLimitType = "Other"
	SpendingLimitTypeSandbox                 SpendingLimitType = "Sandbox"
	SpendingLimitTypeSponsorship             SpendingLimitType = "Sponsorship"
	SpendingLimitTypeStartupSponsorship      SpendingLimitType = "StartupSponsorship"
	SpendingLimitTypeVisualStudio            SpendingLimitType = "VisualStudio"
)

func (*SpendingLimitType) UnmarshalJSON

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

type ValidateDeleteEligibilityOperationResponse

type ValidateDeleteEligibilityOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *DeleteBillingProfileEligibilityResult
}

Jump to

Keyboard shortcuts

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