billingbudget

package
v14.13.1 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: MPL-2.0 Imports: 7 Imported by: 0

README

google_billing_budget

Refer to the Terraform Registry for docs: google_billing_budget.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BillingBudget_GenerateConfigForImport

func BillingBudget_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource

Generates CDKTF code for importing a BillingBudget resource upon running "cdktf plan <stack-name>".

func BillingBudget_IsConstruct

func BillingBudget_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func BillingBudget_IsTerraformElement

func BillingBudget_IsTerraformElement(x interface{}) *bool

Experimental.

func BillingBudget_IsTerraformResource

func BillingBudget_IsTerraformResource(x interface{}) *bool

Experimental.

func BillingBudget_TfResourceType

func BillingBudget_TfResourceType() *string

func NewBillingBudgetAllUpdatesRuleOutputReference_Override

func NewBillingBudgetAllUpdatesRuleOutputReference_Override(b BillingBudgetAllUpdatesRuleOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudgetAmountOutputReference_Override

func NewBillingBudgetAmountOutputReference_Override(b BillingBudgetAmountOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudgetAmountSpecifiedAmountOutputReference_Override

func NewBillingBudgetAmountSpecifiedAmountOutputReference_Override(b BillingBudgetAmountSpecifiedAmountOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudgetBudgetFilterCustomPeriodEndDateOutputReference_Override

func NewBillingBudgetBudgetFilterCustomPeriodEndDateOutputReference_Override(b BillingBudgetBudgetFilterCustomPeriodEndDateOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudgetBudgetFilterCustomPeriodOutputReference_Override

func NewBillingBudgetBudgetFilterCustomPeriodOutputReference_Override(b BillingBudgetBudgetFilterCustomPeriodOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudgetBudgetFilterCustomPeriodStartDateOutputReference_Override

func NewBillingBudgetBudgetFilterCustomPeriodStartDateOutputReference_Override(b BillingBudgetBudgetFilterCustomPeriodStartDateOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudgetBudgetFilterOutputReference_Override

func NewBillingBudgetBudgetFilterOutputReference_Override(b BillingBudgetBudgetFilterOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudgetThresholdRulesList_Override

func NewBillingBudgetThresholdRulesList_Override(b BillingBudgetThresholdRulesList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewBillingBudgetThresholdRulesOutputReference_Override

func NewBillingBudgetThresholdRulesOutputReference_Override(b BillingBudgetThresholdRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewBillingBudgetTimeoutsOutputReference_Override

func NewBillingBudgetTimeoutsOutputReference_Override(b BillingBudgetTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewBillingBudget_Override

func NewBillingBudget_Override(b BillingBudget, scope constructs.Construct, id *string, config *BillingBudgetConfig)

Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget google_billing_budget} Resource.

Types

type BillingBudget

type BillingBudget interface {
	cdktf.TerraformResource
	AllUpdatesRule() BillingBudgetAllUpdatesRuleOutputReference
	AllUpdatesRuleInput() *BillingBudgetAllUpdatesRule
	Amount() BillingBudgetAmountOutputReference
	AmountInput() *BillingBudgetAmount
	BillingAccount() *string
	SetBillingAccount(val *string)
	BillingAccountInput() *string
	BudgetFilter() BillingBudgetBudgetFilterOutputReference
	BudgetFilterInput() *BillingBudgetBudgetFilter
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	DisplayName() *string
	SetDisplayName(val *string)
	DisplayNameInput() *string
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	Id() *string
	SetId(val *string)
	IdInput() *string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	Name() *string
	// The tree node.
	Node() constructs.Node
	OwnershipScope() *string
	SetOwnershipScope(val *string)
	OwnershipScopeInput() *string
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	ThresholdRules() BillingBudgetThresholdRulesList
	ThresholdRulesInput() interface{}
	Timeouts() BillingBudgetTimeoutsOutputReference
	TimeoutsInput() interface{}
	// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
	// Experimental.
	AddMoveTarget(moveTarget *string)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	HasResourceMove() interface{}
	// Experimental.
	ImportFrom(id *string, provider cdktf.TerraformProvider)
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Move the resource corresponding to "id" to this resource.
	//
	// Note that the resource being moved from must be marked as moved using it's instance function.
	// Experimental.
	MoveFromId(id *string)
	// Moves this resource to the target resource given by moveTarget.
	// Experimental.
	MoveTo(moveTarget *string, index interface{})
	// Moves this resource to the resource corresponding to "id".
	// Experimental.
	MoveToId(id *string)
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutAllUpdatesRule(value *BillingBudgetAllUpdatesRule)
	PutAmount(value *BillingBudgetAmount)
	PutBudgetFilter(value *BillingBudgetBudgetFilter)
	PutThresholdRules(value interface{})
	PutTimeouts(value *BillingBudgetTimeouts)
	ResetAllUpdatesRule()
	ResetBudgetFilter()
	ResetDisplayName()
	ResetId()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetOwnershipScope()
	ResetThresholdRules()
	ResetTimeouts()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget google_billing_budget}.

func NewBillingBudget

func NewBillingBudget(scope constructs.Construct, id *string, config *BillingBudgetConfig) BillingBudget

Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget google_billing_budget} Resource.

type BillingBudgetAllUpdatesRule

type BillingBudgetAllUpdatesRule 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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#disable_default_iam_recipients BillingBudget#disable_default_iam_recipients}
	DisableDefaultIamRecipients interface{} `field:"optional" json:"disableDefaultIamRecipients" yaml:"disableDefaultIamRecipients"`
	// When set to true, and when the budget has a single project configured, notifications will be sent to project level recipients of that project.
	//
	// This field will be ignored if the budget has multiple or no project configured.
	//
	// Currently, project level recipients are the users with Owner role on a cloud project.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#enable_project_level_recipients BillingBudget#enable_project_level_recipients}
	EnableProjectLevelRecipients interface{} `field:"optional" json:"enableProjectLevelRecipients" yaml:"enableProjectLevelRecipients"`
	// 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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#monitoring_notification_channels BillingBudget#monitoring_notification_channels}
	MonitoringNotificationChannels *[]*string `field:"optional" json:"monitoringNotificationChannels" yaml:"monitoringNotificationChannels"`
	// 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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#pubsub_topic BillingBudget#pubsub_topic}
	PubsubTopic *string `field:"optional" json:"pubsubTopic" yaml:"pubsubTopic"`
	// 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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#schema_version BillingBudget#schema_version}
	SchemaVersion *string `field:"optional" json:"schemaVersion" yaml:"schemaVersion"`
}

type BillingBudgetAllUpdatesRuleOutputReference

type BillingBudgetAllUpdatesRuleOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DisableDefaultIamRecipients() interface{}
	SetDisableDefaultIamRecipients(val interface{})
	DisableDefaultIamRecipientsInput() interface{}
	EnableProjectLevelRecipients() interface{}
	SetEnableProjectLevelRecipients(val interface{})
	EnableProjectLevelRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *BillingBudgetAllUpdatesRule
	SetInternalValue(val *BillingBudgetAllUpdatesRule)
	MonitoringNotificationChannels() *[]*string
	SetMonitoringNotificationChannels(val *[]*string)
	MonitoringNotificationChannelsInput() *[]*string
	PubsubTopic() *string
	SetPubsubTopic(val *string)
	PubsubTopicInput() *string
	SchemaVersion() *string
	SetSchemaVersion(val *string)
	SchemaVersionInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDisableDefaultIamRecipients()
	ResetEnableProjectLevelRecipients()
	ResetMonitoringNotificationChannels()
	ResetPubsubTopic()
	ResetSchemaVersion()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetAllUpdatesRuleOutputReference

func NewBillingBudgetAllUpdatesRuleOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetAllUpdatesRuleOutputReference

type BillingBudgetAmount

type BillingBudgetAmount 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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#last_period_amount BillingBudget#last_period_amount}
	LastPeriodAmount interface{} `field:"optional" json:"lastPeriodAmount" yaml:"lastPeriodAmount"`
	// specified_amount block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#specified_amount BillingBudget#specified_amount}
	SpecifiedAmount *BillingBudgetAmountSpecifiedAmount `field:"optional" json:"specifiedAmount" yaml:"specifiedAmount"`
}

type BillingBudgetAmountOutputReference

type BillingBudgetAmountOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *BillingBudgetAmount
	SetInternalValue(val *BillingBudgetAmount)
	LastPeriodAmount() interface{}
	SetLastPeriodAmount(val interface{})
	LastPeriodAmountInput() interface{}
	SpecifiedAmount() BillingBudgetAmountSpecifiedAmountOutputReference
	SpecifiedAmountInput() *BillingBudgetAmountSpecifiedAmount
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutSpecifiedAmount(value *BillingBudgetAmountSpecifiedAmount)
	ResetLastPeriodAmount()
	ResetSpecifiedAmount()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetAmountOutputReference

func NewBillingBudgetAmountOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetAmountOutputReference

type BillingBudgetAmountSpecifiedAmount

type BillingBudgetAmountSpecifiedAmount struct {
	// The 3-letter currency code defined in ISO 4217.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#currency_code BillingBudget#currency_code}
	CurrencyCode *string `field:"optional" json:"currencyCode" yaml:"currencyCode"`
	// 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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#nanos BillingBudget#nanos}
	Nanos *float64 `field:"optional" json:"nanos" yaml:"nanos"`
	// The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#units BillingBudget#units}
	Units *string `field:"optional" json:"units" yaml:"units"`
}

type BillingBudgetAmountSpecifiedAmountOutputReference

type BillingBudgetAmountSpecifiedAmountOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	CurrencyCode() *string
	SetCurrencyCode(val *string)
	CurrencyCodeInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *BillingBudgetAmountSpecifiedAmount
	SetInternalValue(val *BillingBudgetAmountSpecifiedAmount)
	Nanos() *float64
	SetNanos(val *float64)
	NanosInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Units() *string
	SetUnits(val *string)
	UnitsInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCurrencyCode()
	ResetNanos()
	ResetUnits()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetAmountSpecifiedAmountOutputReference

func NewBillingBudgetAmountSpecifiedAmountOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetAmountSpecifiedAmountOutputReference

type BillingBudgetBudgetFilter

type BillingBudgetBudgetFilter struct {
	// A CalendarPeriod represents the abstract concept of a recurring time period that has a canonical start.
	//
	// Grammatically, "the start of the current CalendarPeriod".
	// All calendar times begin at 12 AM US and Canadian Pacific Time (UTC-8).
	//
	// Exactly one of 'calendar_period', 'custom_period' must be provided. Possible values: ["MONTH", "QUARTER", "YEAR", "CALENDAR_PERIOD_UNSPECIFIED"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#calendar_period BillingBudget#calendar_period}
	CalendarPeriod *string `field:"optional" json:"calendarPeriod" yaml:"calendarPeriod"`
	// Optional.
	//
	// If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
	// this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
	// If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
	//
	// **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#credit_types BillingBudget#credit_types}
	CreditTypes *[]*string `field:"optional" json:"creditTypes" yaml:"creditTypes"`
	// 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"].
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#credit_types_treatment BillingBudget#credit_types_treatment}
	CreditTypesTreatment *string `field:"optional" json:"creditTypesTreatment" yaml:"creditTypesTreatment"`
	// custom_period block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#custom_period BillingBudget#custom_period}
	CustomPeriod *BillingBudgetBudgetFilterCustomPeriod `field:"optional" json:"customPeriod" yaml:"customPeriod"`
	// A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#labels BillingBudget#labels}
	Labels *map[string]*string `field:"optional" json:"labels" yaml:"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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#projects BillingBudget#projects}
	Projects *[]*string `field:"optional" json:"projects" yaml:"projects"`
	// A set of folder and organization names of the form folders/{folderId} or organizations/{organizationId}, specifying that usage from only this set of folders and organizations should be included in the budget.
	//
	// If omitted, the budget includes all usage that the billing account pays for. If the folder or organization
	// contains projects that are paid for by a different Cloud Billing account, the budget doesn't apply to those projects.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#resource_ancestors BillingBudget#resource_ancestors}
	ResourceAncestors *[]*string `field:"optional" json:"resourceAncestors" yaml:"resourceAncestors"`
	// 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.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#services BillingBudget#services}
	Services *[]*string `field:"optional" json:"services" yaml:"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.
	//
	// **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#subaccounts BillingBudget#subaccounts}
	Subaccounts *[]*string `field:"optional" json:"subaccounts" yaml:"subaccounts"`
}

type BillingBudgetBudgetFilterCustomPeriod

type BillingBudgetBudgetFilterCustomPeriod struct {
	// start_date block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#start_date BillingBudget#start_date}
	StartDate *BillingBudgetBudgetFilterCustomPeriodStartDate `field:"required" json:"startDate" yaml:"startDate"`
	// end_date block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#end_date BillingBudget#end_date}
	EndDate *BillingBudgetBudgetFilterCustomPeriodEndDate `field:"optional" json:"endDate" yaml:"endDate"`
}

type BillingBudgetBudgetFilterCustomPeriodEndDate

type BillingBudgetBudgetFilterCustomPeriodEndDate struct {
	// Day of a month. Must be from 1 to 31 and valid for the year and month.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#day BillingBudget#day}
	Day *float64 `field:"required" json:"day" yaml:"day"`
	// Month of a year. Must be from 1 to 12.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#month BillingBudget#month}
	Month *float64 `field:"required" json:"month" yaml:"month"`
	// Year of the date. Must be from 1 to 9999.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#year BillingBudget#year}
	Year *float64 `field:"required" json:"year" yaml:"year"`
}

type BillingBudgetBudgetFilterCustomPeriodEndDateOutputReference

type BillingBudgetBudgetFilterCustomPeriodEndDateOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Day() *float64
	SetDay(val *float64)
	DayInput() *float64
	// Experimental.
	Fqn() *string
	InternalValue() *BillingBudgetBudgetFilterCustomPeriodEndDate
	SetInternalValue(val *BillingBudgetBudgetFilterCustomPeriodEndDate)
	Month() *float64
	SetMonth(val *float64)
	MonthInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Year() *float64
	SetYear(val *float64)
	YearInput() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetBudgetFilterCustomPeriodEndDateOutputReference

func NewBillingBudgetBudgetFilterCustomPeriodEndDateOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetBudgetFilterCustomPeriodEndDateOutputReference

type BillingBudgetBudgetFilterCustomPeriodOutputReference

type BillingBudgetBudgetFilterCustomPeriodOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EndDate() BillingBudgetBudgetFilterCustomPeriodEndDateOutputReference
	EndDateInput() *BillingBudgetBudgetFilterCustomPeriodEndDate
	// Experimental.
	Fqn() *string
	InternalValue() *BillingBudgetBudgetFilterCustomPeriod
	SetInternalValue(val *BillingBudgetBudgetFilterCustomPeriod)
	StartDate() BillingBudgetBudgetFilterCustomPeriodStartDateOutputReference
	StartDateInput() *BillingBudgetBudgetFilterCustomPeriodStartDate
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutEndDate(value *BillingBudgetBudgetFilterCustomPeriodEndDate)
	PutStartDate(value *BillingBudgetBudgetFilterCustomPeriodStartDate)
	ResetEndDate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetBudgetFilterCustomPeriodOutputReference

func NewBillingBudgetBudgetFilterCustomPeriodOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetBudgetFilterCustomPeriodOutputReference

type BillingBudgetBudgetFilterCustomPeriodStartDate

type BillingBudgetBudgetFilterCustomPeriodStartDate struct {
	// Day of a month. Must be from 1 to 31 and valid for the year and month.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#day BillingBudget#day}
	Day *float64 `field:"required" json:"day" yaml:"day"`
	// Month of a year. Must be from 1 to 12.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#month BillingBudget#month}
	Month *float64 `field:"required" json:"month" yaml:"month"`
	// Year of the date. Must be from 1 to 9999.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#year BillingBudget#year}
	Year *float64 `field:"required" json:"year" yaml:"year"`
}

type BillingBudgetBudgetFilterCustomPeriodStartDateOutputReference

type BillingBudgetBudgetFilterCustomPeriodStartDateOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Day() *float64
	SetDay(val *float64)
	DayInput() *float64
	// Experimental.
	Fqn() *string
	InternalValue() *BillingBudgetBudgetFilterCustomPeriodStartDate
	SetInternalValue(val *BillingBudgetBudgetFilterCustomPeriodStartDate)
	Month() *float64
	SetMonth(val *float64)
	MonthInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Year() *float64
	SetYear(val *float64)
	YearInput() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetBudgetFilterCustomPeriodStartDateOutputReference

func NewBillingBudgetBudgetFilterCustomPeriodStartDateOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetBudgetFilterCustomPeriodStartDateOutputReference

type BillingBudgetBudgetFilterOutputReference

type BillingBudgetBudgetFilterOutputReference interface {
	cdktf.ComplexObject
	CalendarPeriod() *string
	SetCalendarPeriod(val *string)
	CalendarPeriodInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	CreditTypes() *[]*string
	SetCreditTypes(val *[]*string)
	CreditTypesInput() *[]*string
	CreditTypesTreatment() *string
	SetCreditTypesTreatment(val *string)
	CreditTypesTreatmentInput() *string
	CustomPeriod() BillingBudgetBudgetFilterCustomPeriodOutputReference
	CustomPeriodInput() *BillingBudgetBudgetFilterCustomPeriod
	// Experimental.
	Fqn() *string
	InternalValue() *BillingBudgetBudgetFilter
	SetInternalValue(val *BillingBudgetBudgetFilter)
	Labels() *map[string]*string
	SetLabels(val *map[string]*string)
	LabelsInput() *map[string]*string
	Projects() *[]*string
	SetProjects(val *[]*string)
	ProjectsInput() *[]*string
	ResourceAncestors() *[]*string
	SetResourceAncestors(val *[]*string)
	ResourceAncestorsInput() *[]*string
	Services() *[]*string
	SetServices(val *[]*string)
	ServicesInput() *[]*string
	Subaccounts() *[]*string
	SetSubaccounts(val *[]*string)
	SubaccountsInput() *[]*string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutCustomPeriod(value *BillingBudgetBudgetFilterCustomPeriod)
	ResetCalendarPeriod()
	ResetCreditTypes()
	ResetCreditTypesTreatment()
	ResetCustomPeriod()
	ResetLabels()
	ResetProjects()
	ResetResourceAncestors()
	ResetServices()
	ResetSubaccounts()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetBudgetFilterOutputReference

func NewBillingBudgetBudgetFilterOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetBudgetFilterOutputReference

type BillingBudgetConfig

type BillingBudgetConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// amount block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#amount BillingBudget#amount}
	Amount *BillingBudgetAmount `field:"required" json:"amount" yaml:"amount"`
	// ID of the billing account to set a budget on.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#billing_account BillingBudget#billing_account}
	BillingAccount *string `field:"required" json:"billingAccount" yaml:"billingAccount"`
	// all_updates_rule block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#all_updates_rule BillingBudget#all_updates_rule}
	AllUpdatesRule *BillingBudgetAllUpdatesRule `field:"optional" json:"allUpdatesRule" yaml:"allUpdatesRule"`
	// budget_filter block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#budget_filter BillingBudget#budget_filter}
	BudgetFilter *BillingBudgetBudgetFilter `field:"optional" json:"budgetFilter" yaml:"budgetFilter"`
	// User data for display name in UI. Must be <= 60 chars.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#display_name BillingBudget#display_name}
	DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#id BillingBudget#id}.
	//
	// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
	// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
	Id *string `field:"optional" json:"id" yaml:"id"`
	// The ownership scope of the budget.
	//
	// The ownership scope and users'
	// IAM permissions determine who has full access to the budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#ownership_scope BillingBudget#ownership_scope}
	OwnershipScope *string `field:"optional" json:"ownershipScope" yaml:"ownershipScope"`
	// threshold_rules block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#threshold_rules BillingBudget#threshold_rules}
	ThresholdRules interface{} `field:"optional" json:"thresholdRules" yaml:"thresholdRules"`
	// timeouts block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#timeouts BillingBudget#timeouts}
	Timeouts *BillingBudgetTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
}

type BillingBudgetThresholdRules

type BillingBudgetThresholdRules struct {
	// Send an alert when this threshold is exceeded.
	//
	// This is a
	// 1.0-based percentage, so 0.5 = 50%. Must be >= 0.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#threshold_percent BillingBudget#threshold_percent}
	ThresholdPercent *float64 `field:"required" json:"thresholdPercent" yaml:"thresholdPercent"`
	// The type of basis used to determine if spend has passed the threshold. Default value: "CURRENT_SPEND" Possible values: ["CURRENT_SPEND", "FORECASTED_SPEND"].
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#spend_basis BillingBudget#spend_basis}
	SpendBasis *string `field:"optional" json:"spendBasis" yaml:"spendBasis"`
}

type BillingBudgetThresholdRulesList

type BillingBudgetThresholdRulesList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) BillingBudgetThresholdRulesOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetThresholdRulesList

func NewBillingBudgetThresholdRulesList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) BillingBudgetThresholdRulesList

type BillingBudgetThresholdRulesOutputReference

type BillingBudgetThresholdRulesOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	SpendBasis() *string
	SetSpendBasis(val *string)
	SpendBasisInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	ThresholdPercent() *float64
	SetThresholdPercent(val *float64)
	ThresholdPercentInput() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetSpendBasis()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetThresholdRulesOutputReference

func NewBillingBudgetThresholdRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) BillingBudgetThresholdRulesOutputReference

type BillingBudgetTimeouts

type BillingBudgetTimeouts struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#create BillingBudget#create}.
	Create *string `field:"optional" json:"create" yaml:"create"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#delete BillingBudget#delete}.
	Delete *string `field:"optional" json:"delete" yaml:"delete"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/billing_budget#update BillingBudget#update}.
	Update *string `field:"optional" json:"update" yaml:"update"`
}

type BillingBudgetTimeoutsOutputReference

type BillingBudgetTimeoutsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	Create() *string
	SetCreate(val *string)
	CreateInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Delete() *string
	SetDelete(val *string)
	DeleteInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Update() *string
	SetUpdate(val *string)
	UpdateInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCreate()
	ResetDelete()
	ResetUpdate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewBillingBudgetTimeoutsOutputReference

func NewBillingBudgetTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) BillingBudgetTimeoutsOutputReference

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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