budget

package module
v0.0.0-...-f0e6eb3 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

@cdktf/provider-budget

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Budget_IsConstruct

func Budget_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 Budget_IsTerraformElement

func Budget_IsTerraformElement(x interface{}) *bool

Experimental.

func NewBudget_Override

func NewBudget_Override(b Budget, scope constructs.Construct, id *string, config *BudgetConfig)

Types

type Budget

type Budget interface {
	cdktf.TerraformModule
	AlertPubsubTopic() *string
	SetAlertPubsubTopic(val *string)
	AlertSpendBasis() *string
	SetAlertSpendBasis(val *string)
	AlertSpentPercents() *[]*float64
	SetAlertSpentPercents(val *[]*float64)
	Amount() *float64
	SetAmount(val *float64)
	BillingAccount() *string
	SetBillingAccount(val *string)
	CalendarPeriod() *string
	SetCalendarPeriod(val *string)
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	CreateBudget() *bool
	SetCreateBudget(val *bool)
	CreditTypesTreatment() *string
	SetCreditTypesTreatment(val *string)
	CustomPeriodEndDate() *string
	SetCustomPeriodEndDate(val *string)
	CustomPeriodStartDate() *string
	SetCustomPeriodStartDate(val *string)
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	DisplayName() *string
	SetDisplayName(val *string)
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	Labels() *map[string]*string
	SetLabels(val *map[string]*string)
	MonitoringNotificationChannels() *[]*string
	SetMonitoringNotificationChannels(val *[]*string)
	NameOutput() *string
	// The tree node.
	Node() constructs.Node
	Projects() *[]*string
	SetProjects(val *[]*string)
	// Experimental.
	Providers() *[]interface{}
	// Experimental.
	RawOverrides() interface{}
	Services() *[]*string
	SetServices(val *[]*string)
	// Experimental.
	SkipAssetCreationFromLocalModules() *bool
	// Experimental.
	Source() *string
	// Experimental.
	Version() *string
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	AddProvider(provider interface{})
	// Experimental.
	GetString(output *string) *string
	// Experimental.
	InterpolationForOutput(moduleOutput *string) cdktf.IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Defines an Budget based on a Terraform module.

Docs at Terraform Registry: {@link https://registry.terraform.io/modules/terraform-google-modules/project-factory/google/14.4.0/submodules/budget terraform-google-modules/project-factory/google//modules/budget}

func NewBudget

func NewBudget(scope constructs.Construct, id *string, config *BudgetConfig) Budget

type BudgetConfig

type BudgetConfig struct {
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Providers *[]interface{} `field:"optional" json:"providers" yaml:"providers"`
	// Experimental.
	SkipAssetCreationFromLocalModules *bool `field:"optional" json:"skipAssetCreationFromLocalModules" yaml:"skipAssetCreationFromLocalModules"`
	// The amount to use as the budget.
	Amount *float64 `field:"required" json:"amount" yaml:"amount"`
	// ID of the billing account to set a budget on.
	BillingAccount *string `field:"required" json:"billingAccount" yaml:"billingAccount"`
	// The project ids to include in this budget.
	//
	// If empty budget will include all projects.
	Projects *[]*string `field:"required" json:"projects" yaml:"projects"`
	// The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form of `projects/{project_id}/topics/{topic_id}`.
	AlertPubsubTopic *string `field:"optional" json:"alertPubsubTopic" yaml:"alertPubsubTopic"`
	// The type of basis used to determine if spend has passed the threshold CURRENT_SPEND.
	AlertSpendBasis *string `field:"optional" json:"alertSpendBasis" yaml:"alertSpendBasis"`
	// A list of percentages of the budget to alert on when threshold is exceeded 0.5 0.7 1.
	AlertSpentPercents *[]*float64 `field:"optional" json:"alertSpentPercents" yaml:"alertSpentPercents"`
	// Specifies the calendar period for the budget.
	//
	// Possible values are MONTH, QUARTER, YEAR, CALENDAR_PERIOD_UNSPECIFIED, CUSTOM. custom_period_start_date and custom_period_end_date must be set if CUSTOM
	CalendarPeriod *string `field:"optional" json:"calendarPeriod" yaml:"calendarPeriod"`
	// If the budget should be created true.
	CreateBudget *bool `field:"optional" json:"createBudget" yaml:"createBudget"`
	// Specifies how credits should be treated when determining spend for threshold calculations INCLUDE_ALL_CREDITS.
	CreditTypesTreatment *string `field:"optional" json:"creditTypesTreatment" yaml:"creditTypesTreatment"`
	// Specifies the end date (DD-MM-YYYY) for the calendar_period CUSTOM.
	CustomPeriodEndDate *string `field:"optional" json:"customPeriodEndDate" yaml:"customPeriodEndDate"`
	// Specifies the start date (DD-MM-YYYY) for the calendar_period CUSTOM.
	CustomPeriodStartDate *string `field:"optional" json:"customPeriodStartDate" yaml:"customPeriodStartDate"`
	// The display name of the budget.
	//
	// If not set defaults to `Budget For <projects[0]|All Projects>`.
	DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"`
	// A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget.
	//
	// The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}
	Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"`
	// A list of monitoring notification channels in the form `[projects/{project_id}/notificationChannels/{channel_id}]`.
	//
	// A maximum of 5 channels are allowed.
	MonitoringNotificationChannels *[]*string `field:"optional" json:"monitoringNotificationChannels" yaml:"monitoringNotificationChannels"`
	// A list of services ids to be included in the budget.
	//
	// If omitted, all services will be included in the budget. Service ids can be found at https://cloud.google.com/skus/
	Services *[]*string `field:"optional" json:"services" yaml:"services"`
}

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

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