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 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"` }