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/18.0.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"`
}