v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

+groupName=billingbudget.google.kubeform.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: billingbudget.GroupName, Version: "v1alpha1"}

Functions

func GetDecoder

func GetDecoder() map[string]jsoniter.ValDecoder

func GetEncoder

func GetEncoder() map[string]jsoniter.ValEncoder

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type BillingBudget

type BillingBudget struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              BillingBudgetSpec   `json:"spec,omitempty"`
	Status            BillingBudgetStatus `json:"status,omitempty"`
}

func (*BillingBudget) DeepCopy

func (in *BillingBudget) DeepCopy() *BillingBudget

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudget.

func (*BillingBudget) DeepCopyInto

func (in *BillingBudget) DeepCopyInto(out *BillingBudget)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BillingBudget) DeepCopyObject

func (in *BillingBudget) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BillingBudget) SetupWebhookWithManager

func (r *BillingBudget) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*BillingBudget) ValidateCreate

func (r *BillingBudget) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*BillingBudget) ValidateDelete

func (r *BillingBudget) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*BillingBudget) ValidateUpdate

func (r *BillingBudget) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type BillingBudgetList

type BillingBudgetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of BillingBudget CRD objects
	Items []BillingBudget `json:"items,omitempty"`
}

BillingBudgetList is a list of BillingBudgets

func (*BillingBudgetList) DeepCopy

func (in *BillingBudgetList) DeepCopy() *BillingBudgetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetList.

func (*BillingBudgetList) DeepCopyInto

func (in *BillingBudgetList) DeepCopyInto(out *BillingBudgetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BillingBudgetList) DeepCopyObject

func (in *BillingBudgetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BillingBudgetSpec

type BillingBudgetSpec struct {
	State *BillingBudgetSpecResource `json:"state,omitempty" tf:"-"`

	Resource BillingBudgetSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*BillingBudgetSpec) DeepCopy

func (in *BillingBudgetSpec) DeepCopy() *BillingBudgetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetSpec.

func (*BillingBudgetSpec) DeepCopyInto

func (in *BillingBudgetSpec) DeepCopyInto(out *BillingBudgetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BillingBudgetSpecAllUpdatesRule

type BillingBudgetSpecAllUpdatesRule struct {
	// Boolean. When set to true, disables default notifications sent
	// when a threshold is exceeded. Default recipients are
	// those with Billing Account Administrators and Billing
	// Account Users IAM roles for the target account.
	// +optional
	DisableDefaultIamRecipients *bool `json:"disableDefaultIamRecipients,omitempty" tf:"disable_default_iam_recipients"`
	// The full resource name of a monitoring notification
	// channel in the form
	// projects/{project_id}/notificationChannels/{channel_id}.
	// A maximum of 5 channels are allowed.
	// +optional
	MonitoringNotificationChannels []string `json:"monitoringNotificationChannels,omitempty" tf:"monitoring_notification_channels"`
	// The name of the Cloud Pub/Sub topic where budget related
	// messages will be published, in the form
	// projects/{project_id}/topics/{topic_id}. Updates are sent
	// at regular intervals to the topic.
	// +optional
	PubsubTopic *string `json:"pubsubTopic,omitempty" tf:"pubsub_topic"`
	// The schema version of the notification. Only "1.0" is
	// accepted. It represents the JSON schema as defined in
	// https://cloud.google.com/billing/docs/how-to/budgets#notification_format.
	// +optional
	SchemaVersion *string `json:"schemaVersion,omitempty" tf:"schema_version"`
}

func (*BillingBudgetSpecAllUpdatesRule) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetSpecAllUpdatesRule.

func (*BillingBudgetSpecAllUpdatesRule) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BillingBudgetSpecAllUpdatesRuleCodec

type BillingBudgetSpecAllUpdatesRuleCodec struct {
}

+k8s:deepcopy-gen=false

func (BillingBudgetSpecAllUpdatesRuleCodec) Decode

func (BillingBudgetSpecAllUpdatesRuleCodec) Encode

func (BillingBudgetSpecAllUpdatesRuleCodec) IsEmpty

type BillingBudgetSpecAmount

type BillingBudgetSpecAmount struct {
	// Configures a budget amount that is automatically set to 100% of
	// last period's spend.
	// Boolean. Set value to true to use. Do not set to false, instead
	// use the 'specified_amount' block.
	// +optional
	LastPeriodAmount *bool `json:"lastPeriodAmount,omitempty" tf:"last_period_amount"`
	// A specified amount to use as the budget. currencyCode is
	// optional. If specified, it must match the currency of the
	// billing account. The currencyCode is provided on output.
	// +optional
	SpecifiedAmount *BillingBudgetSpecAmountSpecifiedAmount `json:"specifiedAmount,omitempty" tf:"specified_amount"`
}

func (*BillingBudgetSpecAmount) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetSpecAmount.

func (*BillingBudgetSpecAmount) DeepCopyInto

func (in *BillingBudgetSpecAmount) DeepCopyInto(out *BillingBudgetSpecAmount)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BillingBudgetSpecAmountCodec

type BillingBudgetSpecAmountCodec struct {
}

+k8s:deepcopy-gen=false

func (BillingBudgetSpecAmountCodec) Decode

func (BillingBudgetSpecAmountCodec) Encode

func (BillingBudgetSpecAmountCodec) IsEmpty

type BillingBudgetSpecAmountSpecifiedAmount

type BillingBudgetSpecAmountSpecifiedAmount struct {
	// The 3-letter currency code defined in ISO 4217.
	// +optional
	CurrencyCode *string `json:"currencyCode,omitempty" tf:"currency_code"`
	// Number of nano (10^-9) units of the amount.
	// The value must be between -999,999,999 and +999,999,999
	// inclusive. If units is positive, nanos must be positive or
	// zero. If units is zero, nanos can be positive, zero, or
	// negative. If units is negative, nanos must be negative or
	// zero. For example $-1.75 is represented as units=-1 and
	// nanos=-750,000,000.
	// +optional
	Nanos *int64 `json:"nanos,omitempty" tf:"nanos"`
	// The whole units of the amount. For example if currencyCode
	// is "USD", then 1 unit is one US dollar.
	// +optional
	Units *string `json:"units,omitempty" tf:"units"`
}

func (*BillingBudgetSpecAmountSpecifiedAmount) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetSpecAmountSpecifiedAmount.

func (*BillingBudgetSpecAmountSpecifiedAmount) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BillingBudgetSpecAmountSpecifiedAmountCodec

type BillingBudgetSpecAmountSpecifiedAmountCodec struct {
}

+k8s:deepcopy-gen=false

func (BillingBudgetSpecAmountSpecifiedAmountCodec) Decode

func (BillingBudgetSpecAmountSpecifiedAmountCodec) Encode

func (BillingBudgetSpecAmountSpecifiedAmountCodec) IsEmpty

type BillingBudgetSpecBudgetFilter

type BillingBudgetSpecBudgetFilter struct {
	// A set of subaccounts of the form billingAccounts/{account_id},
	// specifying that usage from only this set of subaccounts should
	// be included in the budget. If a subaccount is set to the name of
	// the parent account, usage from the parent account will be included.
	// If the field is omitted, the report will include usage from the parent
	// account and all subaccounts, if they exist.
	// +optional
	CreditTypes []string `json:"creditTypes,omitempty" tf:"credit_types"`
	// Specifies how credits should be treated when determining spend
	// for threshold calculations. Default value: "INCLUDE_ALL_CREDITS" Possible values: ["INCLUDE_ALL_CREDITS", "EXCLUDE_ALL_CREDITS", "INCLUDE_SPECIFIED_CREDITS"]
	// +optional
	CreditTypesTreatment *string `json:"creditTypesTreatment,omitempty" tf:"credit_types_treatment"`
	// A single label and value pair specifying that usage from only
	// this set of labeled resources should be included in the budget.
	// +optional
	Labels *map[string]string `json:"labels,omitempty" tf:"labels"`
	// A set of projects of the form projects/{project_number},
	// specifying that usage from only this set of projects should be
	// included in the budget. If omitted, the report will include
	// all usage for the billing account, regardless of which project
	// the usage occurred on.
	// +optional
	Projects []string `json:"projects,omitempty" tf:"projects"`
	// A set of services of the form services/{service_id},
	// specifying that usage from only this set of services should be
	// included in the budget. If omitted, the report will include
	// usage for all the services. The service names are available
	// through the Catalog API:
	// https://cloud.google.com/billing/v1/how-tos/catalog-api.
	// +optional
	Services []string `json:"services,omitempty" tf:"services"`
	// A set of subaccounts of the form billingAccounts/{account_id},
	// specifying that usage from only this set of subaccounts should
	// be included in the budget. If a subaccount is set to the name of
	// the parent account, usage from the parent account will be included.
	// If the field is omitted, the report will include usage from the parent
	// account and all subaccounts, if they exist.
	// +optional
	Subaccounts []string `json:"subaccounts,omitempty" tf:"subaccounts"`
}

func (*BillingBudgetSpecBudgetFilter) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetSpecBudgetFilter.

func (*BillingBudgetSpecBudgetFilter) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BillingBudgetSpecBudgetFilterCodec

type BillingBudgetSpecBudgetFilterCodec struct {
}

+k8s:deepcopy-gen=false

func (BillingBudgetSpecBudgetFilterCodec) Decode

func (BillingBudgetSpecBudgetFilterCodec) Encode

func (BillingBudgetSpecBudgetFilterCodec) IsEmpty

type BillingBudgetSpecResource

type BillingBudgetSpecResource struct {
	Timeouts *base.ResourceTimeout `json:"timeouts,omitempty" tf:"timeouts"`

	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// Defines notifications that are sent on every update to the
	// billing account's spend, regardless of the thresholds defined
	// using threshold rules.
	// +optional
	AllUpdatesRule *BillingBudgetSpecAllUpdatesRule `json:"allUpdatesRule,omitempty" tf:"all_updates_rule"`
	// The budgeted amount for each usage period.
	Amount *BillingBudgetSpecAmount `json:"amount" tf:"amount"`
	// ID of the billing account to set a budget on.
	BillingAccount *string `json:"billingAccount" tf:"billing_account"`
	// Filters that define which resources are used to compute the actual
	// spend against the budget.
	// +optional
	BudgetFilter *BillingBudgetSpecBudgetFilter `json:"budgetFilter,omitempty" tf:"budget_filter"`
	// User data for display name in UI. Must be <= 60 chars.
	// +optional
	DisplayName *string `json:"displayName,omitempty" tf:"display_name"`
	// Resource name of the budget. The resource name
	// implies the scope of a budget. Values are of the form
	// billingAccounts/{billingAccountId}/budgets/{budgetId}.
	// +optional
	Name *string `json:"name,omitempty" tf:"name"`
	// Rules that trigger alerts (notifications of thresholds being
	// crossed) when spend exceeds the specified percentages of the
	// budget.
	ThresholdRules []BillingBudgetSpecThresholdRules `json:"thresholdRules" tf:"threshold_rules"`
}

func (*BillingBudgetSpecResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetSpecResource.

func (*BillingBudgetSpecResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BillingBudgetSpecThresholdRules

type BillingBudgetSpecThresholdRules struct {
	// The type of basis used to determine if spend has passed
	// the threshold. Default value: "CURRENT_SPEND" Possible values: ["CURRENT_SPEND", "FORECASTED_SPEND"]
	// +optional
	SpendBasis *string `json:"spendBasis,omitempty" tf:"spend_basis"`
	// Send an alert when this threshold is exceeded. This is a
	// 1.0-based percentage, so 0.5 = 50%. Must be >= 0.
	ThresholdPercent *float64 `json:"thresholdPercent" tf:"threshold_percent"`
}

func (*BillingBudgetSpecThresholdRules) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetSpecThresholdRules.

func (*BillingBudgetSpecThresholdRules) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BillingBudgetStatus

type BillingBudgetStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*BillingBudgetStatus) DeepCopy

func (in *BillingBudgetStatus) DeepCopy() *BillingBudgetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingBudgetStatus.

func (*BillingBudgetStatus) DeepCopyInto

func (in *BillingBudgetStatus) DeepCopyInto(out *BillingBudgetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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