awsbudgets

package
v1.151.0-devpreview Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnBudget_CFN_RESOURCE_TYPE_NAME

func CfnBudget_CFN_RESOURCE_TYPE_NAME() *string

func CfnBudget_IsCfnElement

func CfnBudget_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnBudget_IsCfnResource

func CfnBudget_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnBudget_IsConstruct

func CfnBudget_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnBudgetsAction_CFN_RESOURCE_TYPE_NAME

func CfnBudgetsAction_CFN_RESOURCE_TYPE_NAME() *string

func CfnBudgetsAction_IsCfnElement

func CfnBudgetsAction_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnBudgetsAction_IsCfnResource

func CfnBudgetsAction_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnBudgetsAction_IsConstruct

func CfnBudgetsAction_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func NewCfnBudget_Override

func NewCfnBudget_Override(c CfnBudget, scope awscdk.Construct, id *string, props *CfnBudgetProps)

Create a new `AWS::Budgets::Budget`.

func NewCfnBudgetsAction_Override

func NewCfnBudgetsAction_Override(c CfnBudgetsAction, scope awscdk.Construct, id *string, props *CfnBudgetsActionProps)

Create a new `AWS::Budgets::BudgetsAction`.

Types

type CfnBudget

type CfnBudget interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The budget object that you want to create.
	Budget() interface{}
	SetBudget(val interface{})
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// A notification that you want to associate with a budget.
	//
	// A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your `CreateBudget` call, AWS creates the notifications and subscribers for you.
	NotificationsWithSubscribers() interface{}
	SetNotificationsWithSubscribers(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Budgets::Budget`.

The `AWS::Budgets::Budget` resource allows customers to take pre-defined actions that will trigger once a budget threshold has been exceeded. creates, replaces, or deletes budgets for Billing and Cost Management. For more information, see [Managing Your Costs with Budgets](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html) in the *AWS Billing and Cost Management User Guide* .

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"

var costFilters interface{}
var plannedBudgetLimits interface{}
cfnBudget := budgets.NewCfnBudget(this, jsii.String("MyCfnBudget"), &cfnBudgetProps{
	budget: &budgetDataProperty{
		budgetType: jsii.String("budgetType"),
		timeUnit: jsii.String("timeUnit"),

		// the properties below are optional
		budgetLimit: &spendProperty{
			amount: jsii.Number(123),
			unit: jsii.String("unit"),
		},
		budgetName: jsii.String("budgetName"),
		costFilters: costFilters,
		costTypes: &costTypesProperty{
			includeCredit: jsii.Boolean(false),
			includeDiscount: jsii.Boolean(false),
			includeOtherSubscription: jsii.Boolean(false),
			includeRecurring: jsii.Boolean(false),
			includeRefund: jsii.Boolean(false),
			includeSubscription: jsii.Boolean(false),
			includeSupport: jsii.Boolean(false),
			includeTax: jsii.Boolean(false),
			includeUpfront: jsii.Boolean(false),
			useAmortized: jsii.Boolean(false),
			useBlended: jsii.Boolean(false),
		},
		plannedBudgetLimits: plannedBudgetLimits,
		timePeriod: &timePeriodProperty{
			end: jsii.String("end"),
			start: jsii.String("start"),
		},
	},

	// the properties below are optional
	notificationsWithSubscribers: []interface{}{
		&notificationWithSubscribersProperty{
			notification: &notificationProperty{
				comparisonOperator: jsii.String("comparisonOperator"),
				notificationType: jsii.String("notificationType"),
				threshold: jsii.Number(123),

				// the properties below are optional
				thresholdType: jsii.String("thresholdType"),
			},
			subscribers: []interface{}{
				&subscriberProperty{
					address: jsii.String("address"),
					subscriptionType: jsii.String("subscriptionType"),
				},
			},
		},
	},
})

func NewCfnBudget

func NewCfnBudget(scope awscdk.Construct, id *string, props *CfnBudgetProps) CfnBudget

Create a new `AWS::Budgets::Budget`.

type CfnBudgetProps

type CfnBudgetProps struct {
	// The budget object that you want to create.
	Budget interface{} `json:"budget" yaml:"budget"`
	// A notification that you want to associate with a budget.
	//
	// A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your `CreateBudget` call, AWS creates the notifications and subscribers for you.
	NotificationsWithSubscribers interface{} `json:"notificationsWithSubscribers" yaml:"notificationsWithSubscribers"`
}

Properties for defining a `CfnBudget`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"

var costFilters interface{}
var plannedBudgetLimits interface{}
cfnBudgetProps := &cfnBudgetProps{
	budget: &budgetDataProperty{
		budgetType: jsii.String("budgetType"),
		timeUnit: jsii.String("timeUnit"),

		// the properties below are optional
		budgetLimit: &spendProperty{
			amount: jsii.Number(123),
			unit: jsii.String("unit"),
		},
		budgetName: jsii.String("budgetName"),
		costFilters: costFilters,
		costTypes: &costTypesProperty{
			includeCredit: jsii.Boolean(false),
			includeDiscount: jsii.Boolean(false),
			includeOtherSubscription: jsii.Boolean(false),
			includeRecurring: jsii.Boolean(false),
			includeRefund: jsii.Boolean(false),
			includeSubscription: jsii.Boolean(false),
			includeSupport: jsii.Boolean(false),
			includeTax: jsii.Boolean(false),
			includeUpfront: jsii.Boolean(false),
			useAmortized: jsii.Boolean(false),
			useBlended: jsii.Boolean(false),
		},
		plannedBudgetLimits: plannedBudgetLimits,
		timePeriod: &timePeriodProperty{
			end: jsii.String("end"),
			start: jsii.String("start"),
		},
	},

	// the properties below are optional
	notificationsWithSubscribers: []interface{}{
		&notificationWithSubscribersProperty{
			notification: &notificationProperty{
				comparisonOperator: jsii.String("comparisonOperator"),
				notificationType: jsii.String("notificationType"),
				threshold: jsii.Number(123),

				// the properties below are optional
				thresholdType: jsii.String("thresholdType"),
			},
			subscribers: []interface{}{
				&subscriberProperty{
					address: jsii.String("address"),
					subscriptionType: jsii.String("subscriptionType"),
				},
			},
		},
	},
}

type CfnBudget_BudgetDataProperty

type CfnBudget_BudgetDataProperty struct {
	// Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.
	BudgetType *string `json:"budgetType" yaml:"budgetType"`
	// The length of time until a budget resets the actual and forecasted spend.
	//
	// `DAILY` is available only for `RI_UTILIZATION` and `RI_COVERAGE` budgets.
	TimeUnit *string `json:"timeUnit" yaml:"timeUnit"`
	// The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget.
	//
	// `BudgetLimit` is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to `100` . This is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use `BudgetLimit` with `PlannedBudgetLimits` for `CreateBudget` and `UpdateBudget` actions.
	BudgetLimit interface{} `json:"budgetLimit" yaml:"budgetLimit"`
	// The name of a budget.
	//
	// The value must be unique within an account. `BudgetName` can't include `:` and `\` characters. If you don't include value for `BudgetName` in the template, Billing and Cost Management assigns your budget a randomly generated name.
	BudgetName *string `json:"budgetName" yaml:"budgetName"`
	// The cost filters, such as `Region` , `Service` , `member account` , `Tag` , or `Cost Category` , that are applied to a budget.
	//
	// AWS Budgets supports the following services as a `Service` filter for RI budgets:
	//
	// - Amazon EC2
	// - Amazon Redshift
	// - Amazon Relational Database Service
	// - Amazon ElastiCache
	// - Amazon OpenSearch Service.
	CostFilters interface{} `json:"costFilters" yaml:"costFilters"`
	// The types of costs that are included in this `COST` budget.
	//
	// `USAGE` , `RI_UTILIZATION` , `RI_COVERAGE` , `SAVINGS_PLANS_UTILIZATION` , and `SAVINGS_PLANS_COVERAGE` budgets do not have `CostTypes` .
	CostTypes interface{} `json:"costTypes" yaml:"costTypes"`
	// A map containing multiple `BudgetLimit` , including current or future limits.
	//
	// `PlannedBudgetLimits` is available for cost or usage budget and supports both monthly and quarterly `TimeUnit` .
	//
	// For monthly budgets, provide 12 months of `PlannedBudgetLimits` values. This must start from the current month and include the next 11 months. The `key` is the start of the month, `UTC` in epoch seconds.
	//
	// For quarterly budgets, provide four quarters of `PlannedBudgetLimits` value entries in standard calendar quarter increments. This must start from the current quarter and include the next three quarters. The `key` is the start of the quarter, `UTC` in epoch seconds.
	//
	// If the planned budget expires before 12 months for monthly or four quarters for quarterly, provide the `PlannedBudgetLimits` values only for the remaining periods.
	//
	// If the budget begins at a date in the future, provide `PlannedBudgetLimits` values from the start date of the budget.
	//
	// After all of the `BudgetLimit` values in `PlannedBudgetLimits` are used, the budget continues to use the last limit as the `BudgetLimit` . At that point, the planned budget provides the same experience as a fixed budget.
	//
	// `DescribeBudget` and `DescribeBudgets` response along with `PlannedBudgetLimits` also contain `BudgetLimit` representing the current month or quarter limit present in `PlannedBudgetLimits` . This only applies to budgets that are created with `PlannedBudgetLimits` . Budgets that are created without `PlannedBudgetLimits` only contain `BudgetLimit` . They don't contain `PlannedBudgetLimits` .
	PlannedBudgetLimits interface{} `json:"plannedBudgetLimits" yaml:"plannedBudgetLimits"`
	// The period of time that is covered by a budget.
	//
	// The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.
	//
	// The start date for a budget. If you created your budget and didn't specify a start date, the start date defaults to the start of the chosen time period (MONTHLY, QUARTERLY, or ANNUALLY). For example, if you create your budget on January 24, 2019, choose `MONTHLY` , and don't set a start date, the start date defaults to `01/01/19 00:00 UTC` . The defaults are the same for the AWS Billing and Cost Management console and the API.
	//
	// You can change your start date with the `UpdateBudget` operation.
	//
	// After the end date, AWS deletes the budget and all associated notifications and subscribers.
	TimePeriod interface{} `json:"timePeriod" yaml:"timePeriod"`
}

Represents the output of the `CreateBudget` operation.

The content consists of the detailed metadata and data file information, and the current status of the `budget` object.

This is the Amazon Resource Name (ARN) pattern for a budget:

`arn:aws:budgets::AccountId:budget/budgetName`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"

var costFilters interface{}
var plannedBudgetLimits interface{}
budgetDataProperty := &budgetDataProperty{
	budgetType: jsii.String("budgetType"),
	timeUnit: jsii.String("timeUnit"),

	// the properties below are optional
	budgetLimit: &spendProperty{
		amount: jsii.Number(123),
		unit: jsii.String("unit"),
	},
	budgetName: jsii.String("budgetName"),
	costFilters: costFilters,
	costTypes: &costTypesProperty{
		includeCredit: jsii.Boolean(false),
		includeDiscount: jsii.Boolean(false),
		includeOtherSubscription: jsii.Boolean(false),
		includeRecurring: jsii.Boolean(false),
		includeRefund: jsii.Boolean(false),
		includeSubscription: jsii.Boolean(false),
		includeSupport: jsii.Boolean(false),
		includeTax: jsii.Boolean(false),
		includeUpfront: jsii.Boolean(false),
		useAmortized: jsii.Boolean(false),
		useBlended: jsii.Boolean(false),
	},
	plannedBudgetLimits: plannedBudgetLimits,
	timePeriod: &timePeriodProperty{
		end: jsii.String("end"),
		start: jsii.String("start"),
	},
}

type CfnBudget_CostTypesProperty

type CfnBudget_CostTypesProperty struct {
	// Specifies whether a budget includes credits.
	//
	// The default value is `true` .
	IncludeCredit interface{} `json:"includeCredit" yaml:"includeCredit"`
	// Specifies whether a budget includes discounts.
	//
	// The default value is `true` .
	IncludeDiscount interface{} `json:"includeDiscount" yaml:"includeDiscount"`
	// Specifies whether a budget includes non-RI subscription costs.
	//
	// The default value is `true` .
	IncludeOtherSubscription interface{} `json:"includeOtherSubscription" yaml:"includeOtherSubscription"`
	// Specifies whether a budget includes recurring fees such as monthly RI fees.
	//
	// The default value is `true` .
	IncludeRecurring interface{} `json:"includeRecurring" yaml:"includeRecurring"`
	// Specifies whether a budget includes refunds.
	//
	// The default value is `true` .
	IncludeRefund interface{} `json:"includeRefund" yaml:"includeRefund"`
	// Specifies whether a budget includes subscriptions.
	//
	// The default value is `true` .
	IncludeSubscription interface{} `json:"includeSubscription" yaml:"includeSubscription"`
	// Specifies whether a budget includes support subscription fees.
	//
	// The default value is `true` .
	IncludeSupport interface{} `json:"includeSupport" yaml:"includeSupport"`
	// Specifies whether a budget includes taxes.
	//
	// The default value is `true` .
	IncludeTax interface{} `json:"includeTax" yaml:"includeTax"`
	// Specifies whether a budget includes upfront RI costs.
	//
	// The default value is `true` .
	IncludeUpfront interface{} `json:"includeUpfront" yaml:"includeUpfront"`
	// Specifies whether a budget uses the amortized rate.
	//
	// The default value is `false` .
	UseAmortized interface{} `json:"useAmortized" yaml:"useAmortized"`
	// Specifies whether a budget uses a blended rate.
	//
	// The default value is `false` .
	UseBlended interface{} `json:"useBlended" yaml:"useBlended"`
}

The types of cost that are included in a `COST` budget, such as tax and subscriptions.

`USAGE` , `RI_UTILIZATION` , `RI_COVERAGE` , `SAVINGS_PLANS_UTILIZATION` , and `SAVINGS_PLANS_COVERAGE` budgets don't have `CostTypes` .

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
costTypesProperty := &costTypesProperty{
	includeCredit: jsii.Boolean(false),
	includeDiscount: jsii.Boolean(false),
	includeOtherSubscription: jsii.Boolean(false),
	includeRecurring: jsii.Boolean(false),
	includeRefund: jsii.Boolean(false),
	includeSubscription: jsii.Boolean(false),
	includeSupport: jsii.Boolean(false),
	includeTax: jsii.Boolean(false),
	includeUpfront: jsii.Boolean(false),
	useAmortized: jsii.Boolean(false),
	useBlended: jsii.Boolean(false),
}

type CfnBudget_NotificationProperty

type CfnBudget_NotificationProperty struct {
	// The comparison that's used for this notification.
	ComparisonOperator *string `json:"comparisonOperator" yaml:"comparisonOperator"`
	// Specifies whether the notification is for how much you have spent ( `ACTUAL` ) or for how much that you're forecasted to spend ( `FORECASTED` ).
	NotificationType *string `json:"notificationType" yaml:"notificationType"`
	// The threshold that's associated with a notification.
	//
	// Thresholds are always a percentage, and many customers find value being alerted between 50% - 200% of the budgeted amount. The maximum limit for your threshold is 1,000,000% above the budgeted amount.
	Threshold *float64 `json:"threshold" yaml:"threshold"`
	// The type of threshold for a notification.
	//
	// For `ABSOLUTE_VALUE` thresholds, AWS notifies you when you go over or are forecasted to go over your total cost threshold. For `PERCENTAGE` thresholds, AWS notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a `PERCENTAGE` threshold of 80%, AWS notifies you when you go over 160 dollars.
	ThresholdType *string `json:"thresholdType" yaml:"thresholdType"`
}

A notification that's associated with a budget. A budget can have up to ten notifications.

Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

- A notificationType of `ACTUAL` - A `thresholdType` of `PERCENTAGE` - A `comparisonOperator` of `GREATER_THAN` - A notification `threshold` of `80`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
notificationProperty := &notificationProperty{
	comparisonOperator: jsii.String("comparisonOperator"),
	notificationType: jsii.String("notificationType"),
	threshold: jsii.Number(123),

	// the properties below are optional
	thresholdType: jsii.String("thresholdType"),
}

type CfnBudget_NotificationWithSubscribersProperty

type CfnBudget_NotificationWithSubscribersProperty struct {
	// The notification that's associated with a budget.
	Notification interface{} `json:"notification" yaml:"notification"`
	// A list of subscribers who are subscribed to this notification.
	Subscribers interface{} `json:"subscribers" yaml:"subscribers"`
}

A notification with subscribers.

A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
notificationWithSubscribersProperty := &notificationWithSubscribersProperty{
	notification: &notificationProperty{
		comparisonOperator: jsii.String("comparisonOperator"),
		notificationType: jsii.String("notificationType"),
		threshold: jsii.Number(123),

		// the properties below are optional
		thresholdType: jsii.String("thresholdType"),
	},
	subscribers: []interface{}{
		&subscriberProperty{
			address: jsii.String("address"),
			subscriptionType: jsii.String("subscriptionType"),
		},
	},
}

type CfnBudget_SpendProperty

type CfnBudget_SpendProperty struct {
	// The cost or usage amount that's associated with a budget forecast, actual spend, or budget threshold.
	Amount *float64 `json:"amount" yaml:"amount"`
	// The unit of measurement that's used for the budget forecast, actual spend, or budget threshold, such as USD or GBP.
	Unit *string `json:"unit" yaml:"unit"`
}

The amount of cost or usage that's measured for a budget.

For example, a `Spend` for `3 GB` of S3 usage has the following parameters:

- An `Amount` of `3` - A `unit` of `GB`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
spendProperty := &spendProperty{
	amount: jsii.Number(123),
	unit: jsii.String("unit"),
}

type CfnBudget_SubscriberProperty

type CfnBudget_SubscriberProperty struct {
	// The address that AWS sends budget notifications to, either an SNS topic or an email.
	//
	// When you create a subscriber, the value of `Address` can't contain line breaks.
	Address *string `json:"address" yaml:"address"`
	// The type of notification that AWS sends to a subscriber.
	SubscriptionType *string `json:"subscriptionType" yaml:"subscriptionType"`
}

The `Subscriber` property type specifies who to notify for a Billing and Cost Management budget notification.

The subscriber consists of a subscription type, and either an Amazon SNS topic or an email address.

For example, an email subscriber would have the following parameters:

- A `subscriptionType` of `EMAIL` - An `address` of `example@example.com`

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
subscriberProperty := &subscriberProperty{
	address: jsii.String("address"),
	subscriptionType: jsii.String("subscriptionType"),
}

type CfnBudget_TimePeriodProperty

type CfnBudget_TimePeriodProperty struct {
	// The end date for a budget.
	//
	// If you didn't specify an end date, AWS set your end date to `06/15/87 00:00 UTC` . The defaults are the same for the AWS Billing and Cost Management console and the API.
	//
	// After the end date, AWS deletes the budget and all the associated notifications and subscribers. You can change your end date with the `UpdateBudget` operation.
	End *string `json:"end" yaml:"end"`
	// The start date for a budget.
	//
	// If you created your budget and didn't specify a start date, the start date defaults to the start of the chosen time period (MONTHLY, QUARTERLY, or ANNUALLY). For example, if you create your budget on January 24, 2019, choose `MONTHLY` , and don't set a start date, the start date defaults to `01/01/19 00:00 UTC` . The defaults are the same for the AWS Billing and Cost Management console and the API.
	//
	// You can change your start date with the `UpdateBudget` operation.
	//
	// Valid values depend on the value of `BudgetType` :
	//
	// - If `BudgetType` is `COST` or `USAGE` : Valid values are `MONTHLY` , `QUARTERLY` , and `ANNUALLY` .
	// - If `BudgetType` is `RI_UTILIZATION` or `RI_COVERAGE` : Valid values are `DAILY` , `MONTHLY` , `QUARTERLY` , and `ANNUALLY` .
	Start *string `json:"start" yaml:"start"`
}

The period of time that is covered by a budget.

The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
timePeriodProperty := &timePeriodProperty{
	end: jsii.String("end"),
	start: jsii.String("start"),
}

type CfnBudgetsAction

type CfnBudgetsAction interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The trigger threshold of the action.
	ActionThreshold() interface{}
	SetActionThreshold(val interface{})
	// The type of action.
	//
	// This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.
	ActionType() *string
	SetActionType(val *string)
	// This specifies if the action needs manual or automatic approval.
	ApprovalModel() *string
	SetApprovalModel(val *string)
	// A system-generated universally unique identifier (UUID) for the action.
	AttrActionId() *string
	// A string that represents the budget name.
	//
	// ":" and "\" characters aren't allowed.
	BudgetName() *string
	SetBudgetName(val *string)
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// Specifies all of the type-specific parameters.
	Definition() interface{}
	SetDefinition(val interface{})
	// The role passed for action execution and reversion.
	//
	// Roles and actions must be in the same account.
	ExecutionRoleArn() *string
	SetExecutionRoleArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// The type of a notification.
	NotificationType() *string
	SetNotificationType(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// A list of subscribers.
	Subscribers() interface{}
	SetSubscribers(val interface{})
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Budgets::BudgetsAction`.

The `AWS::Budgets::BudgetsAction` resource enables you to take predefined actions that are initiated when a budget threshold has been exceeded. For more information, see [Managing Your Costs with Budgets](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html) in the *AWS Billing and Cost Management User Guide* .

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
cfnBudgetsAction := budgets.NewCfnBudgetsAction(this, jsii.String("MyCfnBudgetsAction"), &cfnBudgetsActionProps{
	actionThreshold: &actionThresholdProperty{
		type: jsii.String("type"),
		value: jsii.Number(123),
	},
	actionType: jsii.String("actionType"),
	budgetName: jsii.String("budgetName"),
	definition: &definitionProperty{
		iamActionDefinition: &iamActionDefinitionProperty{
			policyArn: jsii.String("policyArn"),

			// the properties below are optional
			groups: []*string{
				jsii.String("groups"),
			},
			roles: []*string{
				jsii.String("roles"),
			},
			users: []*string{
				jsii.String("users"),
			},
		},
		scpActionDefinition: &scpActionDefinitionProperty{
			policyId: jsii.String("policyId"),
			targetIds: []*string{
				jsii.String("targetIds"),
			},
		},
		ssmActionDefinition: &ssmActionDefinitionProperty{
			instanceIds: []*string{
				jsii.String("instanceIds"),
			},
			region: jsii.String("region"),
			subtype: jsii.String("subtype"),
		},
	},
	executionRoleArn: jsii.String("executionRoleArn"),
	notificationType: jsii.String("notificationType"),
	subscribers: []interface{}{
		&subscriberProperty{
			address: jsii.String("address"),
			type: jsii.String("type"),
		},
	},

	// the properties below are optional
	approvalModel: jsii.String("approvalModel"),
})

func NewCfnBudgetsAction

func NewCfnBudgetsAction(scope awscdk.Construct, id *string, props *CfnBudgetsActionProps) CfnBudgetsAction

Create a new `AWS::Budgets::BudgetsAction`.

type CfnBudgetsActionProps

type CfnBudgetsActionProps struct {
	// The trigger threshold of the action.
	ActionThreshold interface{} `json:"actionThreshold" yaml:"actionThreshold"`
	// The type of action.
	//
	// This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.
	ActionType *string `json:"actionType" yaml:"actionType"`
	// A string that represents the budget name.
	//
	// ":" and "\" characters aren't allowed.
	BudgetName *string `json:"budgetName" yaml:"budgetName"`
	// Specifies all of the type-specific parameters.
	Definition interface{} `json:"definition" yaml:"definition"`
	// The role passed for action execution and reversion.
	//
	// Roles and actions must be in the same account.
	ExecutionRoleArn *string `json:"executionRoleArn" yaml:"executionRoleArn"`
	// The type of a notification.
	NotificationType *string `json:"notificationType" yaml:"notificationType"`
	// A list of subscribers.
	Subscribers interface{} `json:"subscribers" yaml:"subscribers"`
	// This specifies if the action needs manual or automatic approval.
	ApprovalModel *string `json:"approvalModel" yaml:"approvalModel"`
}

Properties for defining a `CfnBudgetsAction`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
cfnBudgetsActionProps := &cfnBudgetsActionProps{
	actionThreshold: &actionThresholdProperty{
		type: jsii.String("type"),
		value: jsii.Number(123),
	},
	actionType: jsii.String("actionType"),
	budgetName: jsii.String("budgetName"),
	definition: &definitionProperty{
		iamActionDefinition: &iamActionDefinitionProperty{
			policyArn: jsii.String("policyArn"),

			// the properties below are optional
			groups: []*string{
				jsii.String("groups"),
			},
			roles: []*string{
				jsii.String("roles"),
			},
			users: []*string{
				jsii.String("users"),
			},
		},
		scpActionDefinition: &scpActionDefinitionProperty{
			policyId: jsii.String("policyId"),
			targetIds: []*string{
				jsii.String("targetIds"),
			},
		},
		ssmActionDefinition: &ssmActionDefinitionProperty{
			instanceIds: []*string{
				jsii.String("instanceIds"),
			},
			region: jsii.String("region"),
			subtype: jsii.String("subtype"),
		},
	},
	executionRoleArn: jsii.String("executionRoleArn"),
	notificationType: jsii.String("notificationType"),
	subscribers: []interface{}{
		&subscriberProperty{
			address: jsii.String("address"),
			type: jsii.String("type"),
		},
	},

	// the properties below are optional
	approvalModel: jsii.String("approvalModel"),
}

type CfnBudgetsAction_ActionThresholdProperty

type CfnBudgetsAction_ActionThresholdProperty struct {
	// The type of threshold for a notification.
	Type *string `json:"type" yaml:"type"`
	// The threshold of a notification.
	Value *float64 `json:"value" yaml:"value"`
}

The trigger threshold of the action.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
actionThresholdProperty := &actionThresholdProperty{
	type: jsii.String("type"),
	value: jsii.Number(123),
}

type CfnBudgetsAction_DefinitionProperty

type CfnBudgetsAction_DefinitionProperty struct {
	// The AWS Identity and Access Management ( IAM ) action definition details.
	IamActionDefinition interface{} `json:"iamActionDefinition" yaml:"iamActionDefinition"`
	// The service control policies (SCP) action definition details.
	ScpActionDefinition interface{} `json:"scpActionDefinition" yaml:"scpActionDefinition"`
	// The Amazon EC2 Systems Manager ( SSM ) action definition details.
	SsmActionDefinition interface{} `json:"ssmActionDefinition" yaml:"ssmActionDefinition"`
}

The definition is where you specify all of the type-specific parameters.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
definitionProperty := &definitionProperty{
	iamActionDefinition: &iamActionDefinitionProperty{
		policyArn: jsii.String("policyArn"),

		// the properties below are optional
		groups: []*string{
			jsii.String("groups"),
		},
		roles: []*string{
			jsii.String("roles"),
		},
		users: []*string{
			jsii.String("users"),
		},
	},
	scpActionDefinition: &scpActionDefinitionProperty{
		policyId: jsii.String("policyId"),
		targetIds: []*string{
			jsii.String("targetIds"),
		},
	},
	ssmActionDefinition: &ssmActionDefinitionProperty{
		instanceIds: []*string{
			jsii.String("instanceIds"),
		},
		region: jsii.String("region"),
		subtype: jsii.String("subtype"),
	},
}

type CfnBudgetsAction_IamActionDefinitionProperty

type CfnBudgetsAction_IamActionDefinitionProperty struct {
	// The Amazon Resource Name (ARN) of the policy to be attached.
	PolicyArn *string `json:"policyArn" yaml:"policyArn"`
	// A list of groups to be attached.
	//
	// There must be at least one group.
	Groups *[]*string `json:"groups" yaml:"groups"`
	// A list of roles to be attached.
	//
	// There must be at least one role.
	Roles *[]*string `json:"roles" yaml:"roles"`
	// A list of users to be attached.
	//
	// There must be at least one user.
	Users *[]*string `json:"users" yaml:"users"`
}

The AWS Identity and Access Management ( IAM ) action definition details.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
iamActionDefinitionProperty := &iamActionDefinitionProperty{
	policyArn: jsii.String("policyArn"),

	// the properties below are optional
	groups: []*string{
		jsii.String("groups"),
	},
	roles: []*string{
		jsii.String("roles"),
	},
	users: []*string{
		jsii.String("users"),
	},
}

type CfnBudgetsAction_ScpActionDefinitionProperty

type CfnBudgetsAction_ScpActionDefinitionProperty struct {
	// The policy ID attached.
	PolicyId *string `json:"policyId" yaml:"policyId"`
	// A list of target IDs.
	TargetIds *[]*string `json:"targetIds" yaml:"targetIds"`
}

The service control policies (SCP) action definition details.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
scpActionDefinitionProperty := &scpActionDefinitionProperty{
	policyId: jsii.String("policyId"),
	targetIds: []*string{
		jsii.String("targetIds"),
	},
}

type CfnBudgetsAction_SsmActionDefinitionProperty

type CfnBudgetsAction_SsmActionDefinitionProperty struct {
	// The EC2 and RDS instance IDs.
	InstanceIds *[]*string `json:"instanceIds" yaml:"instanceIds"`
	// The Region to run the ( SSM ) document.
	Region *string `json:"region" yaml:"region"`
	// The action subType.
	Subtype *string `json:"subtype" yaml:"subtype"`
}

The Amazon EC2 Systems Manager ( SSM ) action definition details.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
ssmActionDefinitionProperty := &ssmActionDefinitionProperty{
	instanceIds: []*string{
		jsii.String("instanceIds"),
	},
	region: jsii.String("region"),
	subtype: jsii.String("subtype"),
}

type CfnBudgetsAction_SubscriberProperty

type CfnBudgetsAction_SubscriberProperty struct {
	// The address that AWS sends budget notifications to, either an SNS topic or an email.
	//
	// When you create a subscriber, the value of `Address` can't contain line breaks.
	Address *string `json:"address" yaml:"address"`
	// The type of notification that AWS sends to a subscriber.
	Type *string `json:"type" yaml:"type"`
}

The subscriber to a budget notification.

The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

For example, an email subscriber has the following parameters:

- A `subscriptionType` of `EMAIL` - An `address` of `example@example.com`

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import budgets "github.com/aws/aws-cdk-go/awscdk/aws_budgets"
subscriberProperty := &subscriberProperty{
	address: jsii.String("address"),
	type: jsii.String("type"),
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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