budgets – github.com/aws/aws-sdk-go-v2/service/budgets Index | Files | Directories

package budgets

import "github.com/aws/aws-sdk-go-v2/service/budgets"

Package budgets provides the API client, operations, and parameter types for AWS Budgets.

The AWS Budgets API enables you to use AWS Budgets to plan your service usage, service costs, and instance reservations. The API reference provides descriptions, syntax, and usage examples for each of the actions and data types for AWS Budgets. Budgets provide you with a way to see the following information:

free tier limits

your Reserved Instances (RIs)

and how much your predicted usage will accrue in charges by the end of the month

AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets:

budgets - Plan how much you want to spend on a service.

Plan how much you want to use one or more services.

budgets - Define a utilization threshold, and receive alerts when your RI usage falls below that threshold. This lets you see if your RIs are unused or under-utilized.

receive alerts when the number of your instance hours that are covered by RIs fall below that threshold. This lets you see how much of your instance usage is covered by a reservation.

Service Endpoint The AWS Budgets API provides the following endpoint:

For information about costs that are associated with the AWS Budgets API, see AWS Cost Management Pricing (https://aws.amazon.com/aws-cost-management/pricing/).

Index

Constants

const ServiceAPIVersion = "2016-10-20"
const ServiceID = "Budgets"

Functions

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides the API client to make operations call for AWS Budgets.

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) CreateBudget

func (c *Client) CreateBudget(ctx context.Context, params *CreateBudgetInput, optFns ...func(*Options)) (*CreateBudgetOutput, error)

Creates a budget and, if included, notifications and subscribers. Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples) section.

func (*Client) CreateNotification

func (c *Client) CreateNotification(ctx context.Context, params *CreateNotificationInput, optFns ...func(*Options)) (*CreateNotificationOutput, error)

Creates a notification. You must create the budget before you create the associated notification.

func (*Client) CreateSubscriber

func (c *Client) CreateSubscriber(ctx context.Context, params *CreateSubscriberInput, optFns ...func(*Options)) (*CreateSubscriberOutput, error)

Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

func (*Client) DeleteBudget

func (c *Client) DeleteBudget(ctx context.Context, params *DeleteBudgetInput, optFns ...func(*Options)) (*DeleteBudgetOutput, error)

Deletes a budget. You can delete your budget at any time. Deleting a budget also deletes the notifications and subscribers that are associated with that budget.

func (*Client) DeleteNotification

func (c *Client) DeleteNotification(ctx context.Context, params *DeleteNotificationInput, optFns ...func(*Options)) (*DeleteNotificationOutput, error)

Deletes a notification. Deleting a notification also deletes the subscribers that are associated with the notification.

func (*Client) DeleteSubscriber

func (c *Client) DeleteSubscriber(ctx context.Context, params *DeleteSubscriberInput, optFns ...func(*Options)) (*DeleteSubscriberOutput, error)

Deletes a subscriber. Deleting the last subscriber to a notification also deletes the notification.

func (*Client) DescribeBudget

func (c *Client) DescribeBudget(ctx context.Context, params *DescribeBudgetInput, optFns ...func(*Options)) (*DescribeBudgetOutput, error)

Describes a budget. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples) section.

func (*Client) DescribeBudgetPerformanceHistory

func (c *Client) DescribeBudgetPerformanceHistory(ctx context.Context, params *DescribeBudgetPerformanceHistoryInput, optFns ...func(*Options)) (*DescribeBudgetPerformanceHistoryOutput, error)

Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.

func (*Client) DescribeBudgets

func (c *Client) DescribeBudgets(ctx context.Context, params *DescribeBudgetsInput, optFns ...func(*Options)) (*DescribeBudgetsOutput, error)

Lists the budgets that are associated with an account. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples) section.

func (*Client) DescribeNotificationsForBudget

func (c *Client) DescribeNotificationsForBudget(ctx context.Context, params *DescribeNotificationsForBudgetInput, optFns ...func(*Options)) (*DescribeNotificationsForBudgetOutput, error)

Lists the notifications that are associated with a budget.

func (*Client) DescribeSubscribersForNotification

func (c *Client) DescribeSubscribersForNotification(ctx context.Context, params *DescribeSubscribersForNotificationInput, optFns ...func(*Options)) (*DescribeSubscribersForNotificationOutput, error)

Lists the subscribers that are associated with a notification.

func (*Client) UpdateBudget

func (c *Client) UpdateBudget(ctx context.Context, params *UpdateBudgetInput, optFns ...func(*Options)) (*UpdateBudgetOutput, error)

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting. Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples) section.

func (*Client) UpdateNotification

func (c *Client) UpdateNotification(ctx context.Context, params *UpdateNotificationInput, optFns ...func(*Options)) (*UpdateNotificationOutput, error)

Updates a notification.

func (*Client) UpdateSubscriber

func (c *Client) UpdateSubscriber(ctx context.Context, params *UpdateSubscriberInput, optFns ...func(*Options)) (*UpdateSubscriberOutput, error)

Updates a subscriber.

type CreateBudgetInput

type CreateBudgetInput struct {

	// The accountId that is associated with the budget.
	//
	// This member is required.
	AccountId *string

	// The budget object that you want to create.
	//
	// This member is required.
	Budget *types.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 []*types.NotificationWithSubscribers
}

Request of CreateBudget

type CreateBudgetOutput

type CreateBudgetOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of CreateBudget

type CreateNotificationInput

type CreateNotificationInput struct {

	// The accountId that is associated with the budget that you want to create a
	// notification for.
	//
	// This member is required.
	AccountId *string

	// The name of the budget that you want AWS to notify you about. Budget names must
	// be unique within an account.
	//
	// This member is required.
	BudgetName *string

	// The notification that you want to create.
	//
	// This member is required.
	Notification *types.Notification

	// A list of subscribers that you want to associate with the notification. Each
	// notification can have one SNS subscriber and up to 10 email subscribers.
	//
	// This member is required.
	Subscribers []*types.Subscriber
}

Request of CreateNotification

type CreateNotificationOutput

type CreateNotificationOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of CreateNotification

type CreateSubscriberInput

type CreateSubscriberInput struct {

	// The accountId that is associated with the budget that you want to create a
	// subscriber for.
	//
	// This member is required.
	AccountId *string

	// The name of the budget that you want to subscribe to. Budget names must be
	// unique within an account.
	//
	// This member is required.
	BudgetName *string

	// The notification that you want to create a subscriber for.
	//
	// This member is required.
	Notification *types.Notification

	// The subscriber that you want to associate with a budget notification.
	//
	// This member is required.
	Subscriber *types.Subscriber
}

Request of CreateSubscriber

type CreateSubscriberOutput

type CreateSubscriberOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of CreateSubscriber

type DeleteBudgetInput

type DeleteBudgetInput struct {

	// The accountId that is associated with the budget that you want to delete.
	//
	// This member is required.
	AccountId *string

	// The name of the budget that you want to delete.
	//
	// This member is required.
	BudgetName *string
}

Request of DeleteBudget

type DeleteBudgetOutput

type DeleteBudgetOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of DeleteBudget

type DeleteNotificationInput

type DeleteNotificationInput struct {

	// The accountId that is associated with the budget whose notification you want to
	// delete.
	//
	// This member is required.
	AccountId *string

	// The name of the budget whose notification you want to delete.
	//
	// This member is required.
	BudgetName *string

	// The notification that you want to delete.
	//
	// This member is required.
	Notification *types.Notification
}

Request of DeleteNotification

type DeleteNotificationOutput

type DeleteNotificationOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of DeleteNotification

type DeleteSubscriberInput

type DeleteSubscriberInput struct {

	// The accountId that is associated with the budget whose subscriber you want to
	// delete.
	//
	// This member is required.
	AccountId *string

	// The name of the budget whose subscriber you want to delete.
	//
	// This member is required.
	BudgetName *string

	// The notification whose subscriber you want to delete.
	//
	// This member is required.
	Notification *types.Notification

	// The subscriber that you want to delete.
	//
	// This member is required.
	Subscriber *types.Subscriber
}

Request of DeleteSubscriber

type DeleteSubscriberOutput

type DeleteSubscriberOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of DeleteSubscriber

type DescribeBudgetInput

type DescribeBudgetInput struct {

	// The accountId that is associated with the budget that you want a description of.
	//
	// This member is required.
	AccountId *string

	// The name of the budget that you want a description of.
	//
	// This member is required.
	BudgetName *string
}

Request of DescribeBudget

type DescribeBudgetOutput

type DescribeBudgetOutput struct {

	// The description of the budget.
	Budget *types.Budget

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of DescribeBudget

type DescribeBudgetPerformanceHistoryInput

type DescribeBudgetPerformanceHistoryInput struct {

	// The account ID of the user. It should be a 12-digit number.
	//
	// This member is required.
	AccountId *string

	// A string that represents the budget name. The ":" and "\" characters aren't
	// allowed.
	//
	// This member is required.
	BudgetName *string

	// An integer that represents how many entries a paginated response contains. The
	// maximum is 100.
	MaxResults *int32

	// A generic string.
	NextToken *string

	// Retrieves how often the budget went into an ALARM state for the specified time
	// period.
	TimePeriod *types.TimePeriod
}

type DescribeBudgetPerformanceHistoryOutput

type DescribeBudgetPerformanceHistoryOutput struct {

	// The history of how often the budget has gone into an ALARM state. For DAILY
	// budgets, the history saves the state of the budget for the last 60 days. For
	// MONTHLY budgets, the history saves the state of the budget for the current month
	// plus the last 12 months. For QUARTERLY budgets, the history saves the state of
	// the budget for the last four quarters.
	BudgetPerformanceHistory *types.BudgetPerformanceHistory

	// A generic string.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DescribeBudgetsInput

type DescribeBudgetsInput struct {

	// The accountId that is associated with the budgets that you want descriptions of.
	//
	// This member is required.
	AccountId *string

	// An optional integer that represents how many entries a paginated response
	// contains. The maximum is 100.
	MaxResults *int32

	// The pagination token that you include in your request to indicate the next set
	// of results that you want to retrieve.
	NextToken *string
}

Request of DescribeBudgets

type DescribeBudgetsOutput

type DescribeBudgetsOutput struct {

	// A list of budgets.
	Budgets []*types.Budget

	// The pagination token in the service response that indicates the next set of
	// results that you can retrieve.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of DescribeBudgets

type DescribeNotificationsForBudgetInput

type DescribeNotificationsForBudgetInput struct {

	// The accountId that is associated with the budget whose notifications you want
	// descriptions of.
	//
	// This member is required.
	AccountId *string

	// The name of the budget whose notifications you want descriptions of.
	//
	// This member is required.
	BudgetName *string

	// An optional integer that represents how many entries a paginated response
	// contains. The maximum is 100.
	MaxResults *int32

	// The pagination token that you include in your request to indicate the next set
	// of results that you want to retrieve.
	NextToken *string
}

Request of DescribeNotificationsForBudget

type DescribeNotificationsForBudgetOutput

type DescribeNotificationsForBudgetOutput struct {

	// The pagination token in the service response that indicates the next set of
	// results that you can retrieve.
	NextToken *string

	// A list of notifications that are associated with a budget.
	Notifications []*types.Notification

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of GetNotificationsForBudget

type DescribeSubscribersForNotificationInput

type DescribeSubscribersForNotificationInput struct {

	// The accountId that is associated with the budget whose subscribers you want
	// descriptions of.
	//
	// This member is required.
	AccountId *string

	// The name of the budget whose subscribers you want descriptions of.
	//
	// This member is required.
	BudgetName *string

	// The notification whose subscribers you want to list.
	//
	// This member is required.
	Notification *types.Notification

	// An optional integer that represents how many entries a paginated response
	// contains. The maximum is 100.
	MaxResults *int32

	// The pagination token that you include in your request to indicate the next set
	// of results that you want to retrieve.
	NextToken *string
}

Request of DescribeSubscribersForNotification

type DescribeSubscribersForNotificationOutput

type DescribeSubscribersForNotificationOutput struct {

	// The pagination token in the service response that indicates the next set of
	// results that you can retrieve.
	NextToken *string

	// A list of subscribers that are associated with a notification.
	Subscribers []*types.Subscriber

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of DescribeSubscribersForNotification

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options ResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func WithEndpointResolver

func WithEndpointResolver(awsResolver aws.EndpointResolver, fallbackResolver EndpointResolver) EndpointResolver

WithEndpointResolver returns an EndpointResolver that first delegates endpoint resolution to the awsResolver. If awsResolver returns aws.EndpointNotFoundError error, the resolver will use the the provided fallbackResolver for resolution. awsResolver and fallbackResolver must not be nil

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options ResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options ResolverOptions) (endpoint aws.Endpoint, err error)

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time) error
}

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions ResolverOptions

	// The service endpoint resolver.
	EndpointResolver EndpointResolver

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The region to send requests to. (Required)
	Region string

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer.
	Retryer retry.Retryer

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  ResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type ResolverOptions

type ResolverOptions = internalendpoints.Options

ResolverOptions is the service endpoint resolver options

type UpdateBudgetInput

type UpdateBudgetInput struct {

	// The accountId that is associated with the budget that you want to update.
	//
	// This member is required.
	AccountId *string

	// The budget that you want to update your budget to.
	//
	// This member is required.
	NewBudget *types.Budget
}

Request of UpdateBudget

type UpdateBudgetOutput

type UpdateBudgetOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of UpdateBudget

type UpdateNotificationInput

type UpdateNotificationInput struct {

	// The accountId that is associated with the budget whose notification you want to
	// update.
	//
	// This member is required.
	AccountId *string

	// The name of the budget whose notification you want to update.
	//
	// This member is required.
	BudgetName *string

	// The updated notification to be associated with a budget.
	//
	// This member is required.
	NewNotification *types.Notification

	// The previous notification that is associated with a budget.
	//
	// This member is required.
	OldNotification *types.Notification
}

Request of UpdateNotification

type UpdateNotificationOutput

type UpdateNotificationOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of UpdateNotification

type UpdateSubscriberInput

type UpdateSubscriberInput struct {

	// The accountId that is associated with the budget whose subscriber you want to
	// update.
	//
	// This member is required.
	AccountId *string

	// The name of the budget whose subscriber you want to update.
	//
	// This member is required.
	BudgetName *string

	// The updated subscriber that is associated with a budget notification.
	//
	// This member is required.
	NewSubscriber *types.Subscriber

	// The notification whose subscriber you want to update.
	//
	// This member is required.
	Notification *types.Notification

	// The previous subscriber that is associated with a budget notification.
	//
	// This member is required.
	OldSubscriber *types.Subscriber
}

Request of UpdateSubscriber

type UpdateSubscriberOutput

type UpdateSubscriberOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Response of UpdateSubscriber

Source Files

api_client.go api_op_CreateBudget.go api_op_CreateNotification.go api_op_CreateSubscriber.go api_op_DeleteBudget.go api_op_DeleteNotification.go api_op_DeleteSubscriber.go api_op_DescribeBudget.go api_op_DescribeBudgetPerformanceHistory.go api_op_DescribeBudgets.go api_op_DescribeNotificationsForBudget.go api_op_DescribeSubscribersForNotification.go api_op_UpdateBudget.go api_op_UpdateNotification.go api_op_UpdateSubscriber.go deserializers.go doc.go endpoints.go serializers.go validators.go

Directories

PathSynopsis
internal
types
Version
v0.27.0
Published
Oct 17, 2020
Platform
js/wasm
Imports
26 packages
Last checked
now

Tools for package owners.