aws-sdk-budgets 1.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/aws-sdk-budgets/client.rb +684 -0
- data/lib/aws-sdk-budgets/client_api.rb +405 -0
- data/lib/aws-sdk-budgets/customizations.rb +7 -0
- data/lib/aws-sdk-budgets/errors.rb +23 -0
- data/lib/aws-sdk-budgets/resource.rb +25 -0
- data/lib/aws-sdk-budgets/types.rb +879 -0
- data/lib/aws-sdk-budgets.rb +47 -0
- metadata +80 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 589a04c8e6a2e92a45897cc3fb334b8f076cfdce
|
4
|
+
data.tar.gz: 78c6f4b511ae69c06e60e8fd97f9d39fedfff639
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 75ecf07036981c3b21c1d76922dc1d2cad69c7bcfdd01c384e65ffad38185af7f75f5fd59c135d4c5971cda60b9035e93af3c1a582a14b1175e1c903e38db1d4
|
7
|
+
data.tar.gz: 9832f1713e84f639eb43649177f64da7fdbd7e29cbb9f17ab7b5848086f3840b6b6c880d64f55d748ef90bda2b3fff507e7266949667cc7b7d19ef188fe9c6ba
|
@@ -0,0 +1,684 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
require 'seahorse/client/plugins/content_length.rb'
|
9
|
+
require 'aws-sdk-core/plugins/credentials_configuration.rb'
|
10
|
+
require 'aws-sdk-core/plugins/logging.rb'
|
11
|
+
require 'aws-sdk-core/plugins/param_converter.rb'
|
12
|
+
require 'aws-sdk-core/plugins/param_validator.rb'
|
13
|
+
require 'aws-sdk-core/plugins/user_agent.rb'
|
14
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
|
15
|
+
require 'aws-sdk-core/plugins/retry_errors.rb'
|
16
|
+
require 'aws-sdk-core/plugins/global_configuration.rb'
|
17
|
+
require 'aws-sdk-core/plugins/regional_endpoint.rb'
|
18
|
+
require 'aws-sdk-core/plugins/response_paging.rb'
|
19
|
+
require 'aws-sdk-core/plugins/stub_responses.rb'
|
20
|
+
require 'aws-sdk-core/plugins/idempotency_token.rb'
|
21
|
+
require 'aws-sdk-core/plugins/signature_v4.rb'
|
22
|
+
require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
|
23
|
+
|
24
|
+
Aws::Plugins::GlobalConfiguration.add_identifier(:budgets)
|
25
|
+
|
26
|
+
module Aws
|
27
|
+
module Budgets
|
28
|
+
class Client < Seahorse::Client::Base
|
29
|
+
|
30
|
+
include Aws::ClientStubs
|
31
|
+
|
32
|
+
@identifier = :budgets
|
33
|
+
|
34
|
+
set_api(ClientApi::API)
|
35
|
+
|
36
|
+
add_plugin(Seahorse::Client::Plugins::ContentLength)
|
37
|
+
add_plugin(Aws::Plugins::CredentialsConfiguration)
|
38
|
+
add_plugin(Aws::Plugins::Logging)
|
39
|
+
add_plugin(Aws::Plugins::ParamConverter)
|
40
|
+
add_plugin(Aws::Plugins::ParamValidator)
|
41
|
+
add_plugin(Aws::Plugins::UserAgent)
|
42
|
+
add_plugin(Aws::Plugins::HelpfulSocketErrors)
|
43
|
+
add_plugin(Aws::Plugins::RetryErrors)
|
44
|
+
add_plugin(Aws::Plugins::GlobalConfiguration)
|
45
|
+
add_plugin(Aws::Plugins::RegionalEndpoint)
|
46
|
+
add_plugin(Aws::Plugins::ResponsePaging)
|
47
|
+
add_plugin(Aws::Plugins::StubResponses)
|
48
|
+
add_plugin(Aws::Plugins::IdempotencyToken)
|
49
|
+
add_plugin(Aws::Plugins::SignatureV4)
|
50
|
+
add_plugin(Aws::Plugins::Protocols::JsonRpc)
|
51
|
+
|
52
|
+
# @option options [required, Aws::CredentialProvider] :credentials
|
53
|
+
# Your AWS credentials. This can be an instance of any one of the
|
54
|
+
# following classes:
|
55
|
+
#
|
56
|
+
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
57
|
+
# credentials.
|
58
|
+
#
|
59
|
+
# * `Aws::InstanceProfileCredentials` - Used for loading credentials
|
60
|
+
# from an EC2 IMDS on an EC2 instance.
|
61
|
+
#
|
62
|
+
# * `Aws::SharedCredentials` - Used for loading credentials from a
|
63
|
+
# shared file, such as `~/.aws/config`.
|
64
|
+
#
|
65
|
+
# * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
|
66
|
+
#
|
67
|
+
# When `:credentials` are not configured directly, the following
|
68
|
+
# locations will be searched for credentials:
|
69
|
+
#
|
70
|
+
# * `Aws.config[:credentials]`
|
71
|
+
# * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
|
72
|
+
# * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
|
73
|
+
# * `~/.aws/credentials`
|
74
|
+
# * `~/.aws/config`
|
75
|
+
# * EC2 IMDS instance profile - When used by default, the timeouts are
|
76
|
+
# very aggressive. Construct and pass an instance of
|
77
|
+
# `Aws::InstanceProfileCredentails` to enable retries and extended
|
78
|
+
# timeouts.
|
79
|
+
# @option options [required, String] :region
|
80
|
+
# The AWS region to connect to. The configured `:region` is
|
81
|
+
# used to determine the service `:endpoint`. When not passed,
|
82
|
+
# a default `:region` is search for in the following locations:
|
83
|
+
#
|
84
|
+
# * `Aws.config[:region]`
|
85
|
+
# * `ENV['AWS_REGION']`
|
86
|
+
# * `ENV['AMAZON_REGION']`
|
87
|
+
# * `ENV['AWS_DEFAULT_REGION']`
|
88
|
+
# * `~/.aws/credentials`
|
89
|
+
# * `~/.aws/config`
|
90
|
+
# @option options [String] :access_key_id
|
91
|
+
# @option options [Boolean] :convert_params (true)
|
92
|
+
# When `true`, an attempt is made to coerce request parameters into
|
93
|
+
# the required types.
|
94
|
+
# @option options [String] :endpoint
|
95
|
+
# The client endpoint is normally constructed from the `:region`
|
96
|
+
# option. You should only configure an `:endpoint` when connecting
|
97
|
+
# to test endpoints. This should be avalid HTTP(S) URI.
|
98
|
+
# @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
|
99
|
+
# The log formatter.
|
100
|
+
# @option options [Symbol] :log_level (:info)
|
101
|
+
# The log level to send messages to the `:logger` at.
|
102
|
+
# @option options [Logger] :logger
|
103
|
+
# The Logger instance to send log messages to. If this option
|
104
|
+
# is not set, logging will be disabled.
|
105
|
+
# @option options [String] :profile ("default")
|
106
|
+
# Used when loading credentials from the shared credentials file
|
107
|
+
# at HOME/.aws/credentials. When not specified, 'default' is used.
|
108
|
+
# @option options [Integer] :retry_limit (3)
|
109
|
+
# The maximum number of times to retry failed requests. Only
|
110
|
+
# ~ 500 level server errors and certain ~ 400 level client errors
|
111
|
+
# are retried. Generally, these are throttling errors, data
|
112
|
+
# checksum errors, networking errors, timeout errors and auth
|
113
|
+
# errors from expired credentials.
|
114
|
+
# @option options [String] :secret_access_key
|
115
|
+
# @option options [String] :session_token
|
116
|
+
# @option options [Boolean] :simple_json (false)
|
117
|
+
# Disables request parameter conversion, validation, and formatting.
|
118
|
+
# Also disable response data type conversions. This option is useful
|
119
|
+
# when you want to ensure the highest level of performance by
|
120
|
+
# avoiding overhead of walking request parameters and response data
|
121
|
+
# structures.
|
122
|
+
#
|
123
|
+
# When `:simple_json` is enabled, the request parameters hash must
|
124
|
+
# be formatted exactly as the DynamoDB API expects.
|
125
|
+
# @option options [Boolean] :stub_responses (false)
|
126
|
+
# Causes the client to return stubbed responses. By default
|
127
|
+
# fake responses are generated and returned. You can specify
|
128
|
+
# the response data to return or errors to raise by calling
|
129
|
+
# {ClientStubs#stub_responses}. See {ClientStubs} for more information.
|
130
|
+
#
|
131
|
+
# ** Please note ** When response stubbing is enabled, no HTTP
|
132
|
+
# requests are made, and retries are disabled.
|
133
|
+
# @option options [Boolean] :validate_params (true)
|
134
|
+
# When `true`, request parameters are validated before
|
135
|
+
# sending the request.
|
136
|
+
def initialize(*args)
|
137
|
+
super
|
138
|
+
end
|
139
|
+
|
140
|
+
# @!group API Operations
|
141
|
+
|
142
|
+
# Create a new budget
|
143
|
+
# @option params [required, String] :account_id
|
144
|
+
# Account Id of the customer. It should be a 12 digit number.
|
145
|
+
# @option params [required, Types::Budget] :budget
|
146
|
+
# AWS Budget model
|
147
|
+
# @option params [Array<Types::NotificationWithSubscribers>] :notifications_with_subscribers
|
148
|
+
# A list of Notifications, each with a list of subscribers.
|
149
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
150
|
+
#
|
151
|
+
# @example Request syntax with placeholder values
|
152
|
+
# resp = client.create_budget({
|
153
|
+
# account_id: "AccountId", # required
|
154
|
+
# budget: { # required
|
155
|
+
# budget_name: "BudgetName", # required
|
156
|
+
# budget_limit: { # required
|
157
|
+
# amount: "NumericValue", # required
|
158
|
+
# unit: "GenericString", # required
|
159
|
+
# },
|
160
|
+
# cost_filters: {
|
161
|
+
# "GenericString" => ["GenericString"],
|
162
|
+
# },
|
163
|
+
# cost_types: { # required
|
164
|
+
# include_tax: false, # required
|
165
|
+
# include_subscription: false, # required
|
166
|
+
# use_blended: false, # required
|
167
|
+
# },
|
168
|
+
# time_unit: "MONTHLY", # required, accepts MONTHLY, QUARTERLY, ANNUALLY
|
169
|
+
# time_period: { # required
|
170
|
+
# start: Time.now, # required
|
171
|
+
# end: Time.now, # required
|
172
|
+
# },
|
173
|
+
# calculated_spend: {
|
174
|
+
# actual_spend: { # required
|
175
|
+
# amount: "NumericValue", # required
|
176
|
+
# unit: "GenericString", # required
|
177
|
+
# },
|
178
|
+
# forecasted_spend: {
|
179
|
+
# amount: "NumericValue", # required
|
180
|
+
# unit: "GenericString", # required
|
181
|
+
# },
|
182
|
+
# },
|
183
|
+
# budget_type: "USAGE", # required, accepts USAGE, COST
|
184
|
+
# },
|
185
|
+
# notifications_with_subscribers: [
|
186
|
+
# {
|
187
|
+
# notification: { # required
|
188
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
189
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
190
|
+
# threshold: 1.0, # required
|
191
|
+
# },
|
192
|
+
# subscribers: [ # required
|
193
|
+
# {
|
194
|
+
# subscription_type: "SNS", # required, accepts SNS, EMAIL
|
195
|
+
# address: "GenericString", # required
|
196
|
+
# },
|
197
|
+
# ],
|
198
|
+
# },
|
199
|
+
# ],
|
200
|
+
# })
|
201
|
+
# @overload create_budget(params = {})
|
202
|
+
# @param [Hash] params ({})
|
203
|
+
def create_budget(params = {}, options = {})
|
204
|
+
req = build_request(:create_budget, params)
|
205
|
+
req.send_request(options)
|
206
|
+
end
|
207
|
+
|
208
|
+
# Create a new Notification with subscribers for a budget
|
209
|
+
# @option params [required, String] :account_id
|
210
|
+
# Account Id of the customer. It should be a 12 digit number.
|
211
|
+
# @option params [required, String] :budget_name
|
212
|
+
# A string represents the budget name. No ":" character is allowed.
|
213
|
+
# @option params [required, Types::Notification] :notification
|
214
|
+
# Notification model. Each budget may contain multiple notifications
|
215
|
+
# with different settings.
|
216
|
+
# @option params [required, Array<Types::Subscriber>] :subscribers
|
217
|
+
# A list of subscribers.
|
218
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
219
|
+
#
|
220
|
+
# @example Request syntax with placeholder values
|
221
|
+
# resp = client.create_notification({
|
222
|
+
# account_id: "AccountId", # required
|
223
|
+
# budget_name: "BudgetName", # required
|
224
|
+
# notification: { # required
|
225
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
226
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
227
|
+
# threshold: 1.0, # required
|
228
|
+
# },
|
229
|
+
# subscribers: [ # required
|
230
|
+
# {
|
231
|
+
# subscription_type: "SNS", # required, accepts SNS, EMAIL
|
232
|
+
# address: "GenericString", # required
|
233
|
+
# },
|
234
|
+
# ],
|
235
|
+
# })
|
236
|
+
# @overload create_notification(params = {})
|
237
|
+
# @param [Hash] params ({})
|
238
|
+
def create_notification(params = {}, options = {})
|
239
|
+
req = build_request(:create_notification, params)
|
240
|
+
req.send_request(options)
|
241
|
+
end
|
242
|
+
|
243
|
+
# Create a new Subscriber for a notification
|
244
|
+
# @option params [required, String] :account_id
|
245
|
+
# Account Id of the customer. It should be a 12 digit number.
|
246
|
+
# @option params [required, String] :budget_name
|
247
|
+
# A string represents the budget name. No ":" character is allowed.
|
248
|
+
# @option params [required, Types::Notification] :notification
|
249
|
+
# Notification model. Each budget may contain multiple notifications
|
250
|
+
# with different settings.
|
251
|
+
# @option params [required, Types::Subscriber] :subscriber
|
252
|
+
# Subscriber model. Each notification may contain multiple subscribers
|
253
|
+
# with different addresses.
|
254
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
255
|
+
#
|
256
|
+
# @example Request syntax with placeholder values
|
257
|
+
# resp = client.create_subscriber({
|
258
|
+
# account_id: "AccountId", # required
|
259
|
+
# budget_name: "BudgetName", # required
|
260
|
+
# notification: { # required
|
261
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
262
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
263
|
+
# threshold: 1.0, # required
|
264
|
+
# },
|
265
|
+
# subscriber: { # required
|
266
|
+
# subscription_type: "SNS", # required, accepts SNS, EMAIL
|
267
|
+
# address: "GenericString", # required
|
268
|
+
# },
|
269
|
+
# })
|
270
|
+
# @overload create_subscriber(params = {})
|
271
|
+
# @param [Hash] params ({})
|
272
|
+
def create_subscriber(params = {}, options = {})
|
273
|
+
req = build_request(:create_subscriber, params)
|
274
|
+
req.send_request(options)
|
275
|
+
end
|
276
|
+
|
277
|
+
# Delete a budget and related notifications
|
278
|
+
# @option params [required, String] :account_id
|
279
|
+
# Account Id of the customer. It should be a 12 digit number.
|
280
|
+
# @option params [required, String] :budget_name
|
281
|
+
# A string represents the budget name. No ":" character is allowed.
|
282
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
283
|
+
#
|
284
|
+
# @example Request syntax with placeholder values
|
285
|
+
# resp = client.delete_budget({
|
286
|
+
# account_id: "AccountId", # required
|
287
|
+
# budget_name: "BudgetName", # required
|
288
|
+
# })
|
289
|
+
# @overload delete_budget(params = {})
|
290
|
+
# @param [Hash] params ({})
|
291
|
+
def delete_budget(params = {}, options = {})
|
292
|
+
req = build_request(:delete_budget, params)
|
293
|
+
req.send_request(options)
|
294
|
+
end
|
295
|
+
|
296
|
+
# Delete a notification and related subscribers
|
297
|
+
# @option params [required, String] :account_id
|
298
|
+
# Account Id of the customer. It should be a 12 digit number.
|
299
|
+
# @option params [required, String] :budget_name
|
300
|
+
# A string represents the budget name. No ":" character is allowed.
|
301
|
+
# @option params [required, Types::Notification] :notification
|
302
|
+
# Notification model. Each budget may contain multiple notifications
|
303
|
+
# with different settings.
|
304
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
305
|
+
#
|
306
|
+
# @example Request syntax with placeholder values
|
307
|
+
# resp = client.delete_notification({
|
308
|
+
# account_id: "AccountId", # required
|
309
|
+
# budget_name: "BudgetName", # required
|
310
|
+
# notification: { # required
|
311
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
312
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
313
|
+
# threshold: 1.0, # required
|
314
|
+
# },
|
315
|
+
# })
|
316
|
+
# @overload delete_notification(params = {})
|
317
|
+
# @param [Hash] params ({})
|
318
|
+
def delete_notification(params = {}, options = {})
|
319
|
+
req = build_request(:delete_notification, params)
|
320
|
+
req.send_request(options)
|
321
|
+
end
|
322
|
+
|
323
|
+
# Delete a Subscriber for a notification
|
324
|
+
# @option params [required, String] :account_id
|
325
|
+
# Account Id of the customer. It should be a 12 digit number.
|
326
|
+
# @option params [required, String] :budget_name
|
327
|
+
# A string represents the budget name. No ":" character is allowed.
|
328
|
+
# @option params [required, Types::Notification] :notification
|
329
|
+
# Notification model. Each budget may contain multiple notifications
|
330
|
+
# with different settings.
|
331
|
+
# @option params [required, Types::Subscriber] :subscriber
|
332
|
+
# Subscriber model. Each notification may contain multiple subscribers
|
333
|
+
# with different addresses.
|
334
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
335
|
+
#
|
336
|
+
# @example Request syntax with placeholder values
|
337
|
+
# resp = client.delete_subscriber({
|
338
|
+
# account_id: "AccountId", # required
|
339
|
+
# budget_name: "BudgetName", # required
|
340
|
+
# notification: { # required
|
341
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
342
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
343
|
+
# threshold: 1.0, # required
|
344
|
+
# },
|
345
|
+
# subscriber: { # required
|
346
|
+
# subscription_type: "SNS", # required, accepts SNS, EMAIL
|
347
|
+
# address: "GenericString", # required
|
348
|
+
# },
|
349
|
+
# })
|
350
|
+
# @overload delete_subscriber(params = {})
|
351
|
+
# @param [Hash] params ({})
|
352
|
+
def delete_subscriber(params = {}, options = {})
|
353
|
+
req = build_request(:delete_subscriber, params)
|
354
|
+
req.send_request(options)
|
355
|
+
end
|
356
|
+
|
357
|
+
# Get a single budget
|
358
|
+
# @option params [required, String] :account_id
|
359
|
+
# Account Id of the customer. It should be a 12 digit number.
|
360
|
+
# @option params [required, String] :budget_name
|
361
|
+
# A string represents the budget name. No ":" character is allowed.
|
362
|
+
# @return [Types::DescribeBudgetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
363
|
+
#
|
364
|
+
# * {Types::DescribeBudgetResponse#budget #Budget} => Types::Budget
|
365
|
+
#
|
366
|
+
# @example Request syntax with placeholder values
|
367
|
+
# resp = client.describe_budget({
|
368
|
+
# account_id: "AccountId", # required
|
369
|
+
# budget_name: "BudgetName", # required
|
370
|
+
# })
|
371
|
+
#
|
372
|
+
# @example Response structure
|
373
|
+
# resp.budget.budget_name #=> String
|
374
|
+
# resp.budget.budget_limit.amount #=> String
|
375
|
+
# resp.budget.budget_limit.unit #=> String
|
376
|
+
# resp.budget.cost_filters #=> Hash
|
377
|
+
# resp.budget.cost_filters["GenericString"] #=> Array
|
378
|
+
# resp.budget.cost_filters["GenericString"][0] #=> String
|
379
|
+
# resp.budget.cost_types.include_tax #=> Boolean
|
380
|
+
# resp.budget.cost_types.include_subscription #=> Boolean
|
381
|
+
# resp.budget.cost_types.use_blended #=> Boolean
|
382
|
+
# resp.budget.time_unit #=> String, one of "MONTHLY", "QUARTERLY", "ANNUALLY"
|
383
|
+
# resp.budget.time_period.start #=> Time
|
384
|
+
# resp.budget.time_period.end #=> Time
|
385
|
+
# resp.budget.calculated_spend.actual_spend.amount #=> String
|
386
|
+
# resp.budget.calculated_spend.actual_spend.unit #=> String
|
387
|
+
# resp.budget.calculated_spend.forecasted_spend.amount #=> String
|
388
|
+
# resp.budget.calculated_spend.forecasted_spend.unit #=> String
|
389
|
+
# resp.budget.budget_type #=> String, one of "USAGE", "COST"
|
390
|
+
# @overload describe_budget(params = {})
|
391
|
+
# @param [Hash] params ({})
|
392
|
+
def describe_budget(params = {}, options = {})
|
393
|
+
req = build_request(:describe_budget, params)
|
394
|
+
req.send_request(options)
|
395
|
+
end
|
396
|
+
|
397
|
+
# Get all budgets for an account
|
398
|
+
# @option params [required, String] :account_id
|
399
|
+
# Account Id of the customer. It should be a 12 digit number.
|
400
|
+
# @option params [Integer] :max_results
|
401
|
+
# An integer to represent how many entries should a pagianted response
|
402
|
+
# contains. Maxium is set to 100.
|
403
|
+
# @option params [String] :next_token
|
404
|
+
# A generic String.
|
405
|
+
# @return [Types::DescribeBudgetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
406
|
+
#
|
407
|
+
# * {Types::DescribeBudgetsResponse#budgets #Budgets} => Array<Types::Budget>
|
408
|
+
# * {Types::DescribeBudgetsResponse#next_token #NextToken} => String
|
409
|
+
#
|
410
|
+
# @example Request syntax with placeholder values
|
411
|
+
# resp = client.describe_budgets({
|
412
|
+
# account_id: "AccountId", # required
|
413
|
+
# max_results: 1,
|
414
|
+
# next_token: "GenericString",
|
415
|
+
# })
|
416
|
+
#
|
417
|
+
# @example Response structure
|
418
|
+
# resp.budgets #=> Array
|
419
|
+
# resp.budgets[0].budget_name #=> String
|
420
|
+
# resp.budgets[0].budget_limit.amount #=> String
|
421
|
+
# resp.budgets[0].budget_limit.unit #=> String
|
422
|
+
# resp.budgets[0].cost_filters #=> Hash
|
423
|
+
# resp.budgets[0].cost_filters["GenericString"] #=> Array
|
424
|
+
# resp.budgets[0].cost_filters["GenericString"][0] #=> String
|
425
|
+
# resp.budgets[0].cost_types.include_tax #=> Boolean
|
426
|
+
# resp.budgets[0].cost_types.include_subscription #=> Boolean
|
427
|
+
# resp.budgets[0].cost_types.use_blended #=> Boolean
|
428
|
+
# resp.budgets[0].time_unit #=> String, one of "MONTHLY", "QUARTERLY", "ANNUALLY"
|
429
|
+
# resp.budgets[0].time_period.start #=> Time
|
430
|
+
# resp.budgets[0].time_period.end #=> Time
|
431
|
+
# resp.budgets[0].calculated_spend.actual_spend.amount #=> String
|
432
|
+
# resp.budgets[0].calculated_spend.actual_spend.unit #=> String
|
433
|
+
# resp.budgets[0].calculated_spend.forecasted_spend.amount #=> String
|
434
|
+
# resp.budgets[0].calculated_spend.forecasted_spend.unit #=> String
|
435
|
+
# resp.budgets[0].budget_type #=> String, one of "USAGE", "COST"
|
436
|
+
# resp.next_token #=> String
|
437
|
+
# @overload describe_budgets(params = {})
|
438
|
+
# @param [Hash] params ({})
|
439
|
+
def describe_budgets(params = {}, options = {})
|
440
|
+
req = build_request(:describe_budgets, params)
|
441
|
+
req.send_request(options)
|
442
|
+
end
|
443
|
+
|
444
|
+
# Get notifications of a budget
|
445
|
+
# @option params [required, String] :account_id
|
446
|
+
# Account Id of the customer. It should be a 12 digit number.
|
447
|
+
# @option params [required, String] :budget_name
|
448
|
+
# A string represents the budget name. No ":" character is allowed.
|
449
|
+
# @option params [Integer] :max_results
|
450
|
+
# An integer to represent how many entries should a pagianted response
|
451
|
+
# contains. Maxium is set to 100.
|
452
|
+
# @option params [String] :next_token
|
453
|
+
# A generic String.
|
454
|
+
# @return [Types::DescribeNotificationsForBudgetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
455
|
+
#
|
456
|
+
# * {Types::DescribeNotificationsForBudgetResponse#notifications #Notifications} => Array<Types::Notification>
|
457
|
+
# * {Types::DescribeNotificationsForBudgetResponse#next_token #NextToken} => String
|
458
|
+
#
|
459
|
+
# @example Request syntax with placeholder values
|
460
|
+
# resp = client.describe_notifications_for_budget({
|
461
|
+
# account_id: "AccountId", # required
|
462
|
+
# budget_name: "BudgetName", # required
|
463
|
+
# max_results: 1,
|
464
|
+
# next_token: "GenericString",
|
465
|
+
# })
|
466
|
+
#
|
467
|
+
# @example Response structure
|
468
|
+
# resp.notifications #=> Array
|
469
|
+
# resp.notifications[0].notification_type #=> String, one of "ACTUAL", "FORECASTED"
|
470
|
+
# resp.notifications[0].comparison_operator #=> String, one of "GREATER_THAN", "LESS_THAN", "EQUAL_TO"
|
471
|
+
# resp.notifications[0].threshold #=> Float
|
472
|
+
# resp.next_token #=> String
|
473
|
+
# @overload describe_notifications_for_budget(params = {})
|
474
|
+
# @param [Hash] params ({})
|
475
|
+
def describe_notifications_for_budget(params = {}, options = {})
|
476
|
+
req = build_request(:describe_notifications_for_budget, params)
|
477
|
+
req.send_request(options)
|
478
|
+
end
|
479
|
+
|
480
|
+
# Get subscribers of a notification
|
481
|
+
# @option params [required, String] :account_id
|
482
|
+
# Account Id of the customer. It should be a 12 digit number.
|
483
|
+
# @option params [required, String] :budget_name
|
484
|
+
# A string represents the budget name. No ":" character is allowed.
|
485
|
+
# @option params [required, Types::Notification] :notification
|
486
|
+
# Notification model. Each budget may contain multiple notifications
|
487
|
+
# with different settings.
|
488
|
+
# @option params [Integer] :max_results
|
489
|
+
# An integer to represent how many entries should a pagianted response
|
490
|
+
# contains. Maxium is set to 100.
|
491
|
+
# @option params [String] :next_token
|
492
|
+
# A generic String.
|
493
|
+
# @return [Types::DescribeSubscribersForNotificationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
494
|
+
#
|
495
|
+
# * {Types::DescribeSubscribersForNotificationResponse#subscribers #Subscribers} => Array<Types::Subscriber>
|
496
|
+
# * {Types::DescribeSubscribersForNotificationResponse#next_token #NextToken} => String
|
497
|
+
#
|
498
|
+
# @example Request syntax with placeholder values
|
499
|
+
# resp = client.describe_subscribers_for_notification({
|
500
|
+
# account_id: "AccountId", # required
|
501
|
+
# budget_name: "BudgetName", # required
|
502
|
+
# notification: { # required
|
503
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
504
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
505
|
+
# threshold: 1.0, # required
|
506
|
+
# },
|
507
|
+
# max_results: 1,
|
508
|
+
# next_token: "GenericString",
|
509
|
+
# })
|
510
|
+
#
|
511
|
+
# @example Response structure
|
512
|
+
# resp.subscribers #=> Array
|
513
|
+
# resp.subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
|
514
|
+
# resp.subscribers[0].address #=> String
|
515
|
+
# resp.next_token #=> String
|
516
|
+
# @overload describe_subscribers_for_notification(params = {})
|
517
|
+
# @param [Hash] params ({})
|
518
|
+
def describe_subscribers_for_notification(params = {}, options = {})
|
519
|
+
req = build_request(:describe_subscribers_for_notification, params)
|
520
|
+
req.send_request(options)
|
521
|
+
end
|
522
|
+
|
523
|
+
# Update the information of a budget already created
|
524
|
+
# @option params [required, String] :account_id
|
525
|
+
# Account Id of the customer. It should be a 12 digit number.
|
526
|
+
# @option params [required, Types::Budget] :new_budget
|
527
|
+
# AWS Budget model
|
528
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
529
|
+
#
|
530
|
+
# @example Request syntax with placeholder values
|
531
|
+
# resp = client.update_budget({
|
532
|
+
# account_id: "AccountId", # required
|
533
|
+
# new_budget: { # required
|
534
|
+
# budget_name: "BudgetName", # required
|
535
|
+
# budget_limit: { # required
|
536
|
+
# amount: "NumericValue", # required
|
537
|
+
# unit: "GenericString", # required
|
538
|
+
# },
|
539
|
+
# cost_filters: {
|
540
|
+
# "GenericString" => ["GenericString"],
|
541
|
+
# },
|
542
|
+
# cost_types: { # required
|
543
|
+
# include_tax: false, # required
|
544
|
+
# include_subscription: false, # required
|
545
|
+
# use_blended: false, # required
|
546
|
+
# },
|
547
|
+
# time_unit: "MONTHLY", # required, accepts MONTHLY, QUARTERLY, ANNUALLY
|
548
|
+
# time_period: { # required
|
549
|
+
# start: Time.now, # required
|
550
|
+
# end: Time.now, # required
|
551
|
+
# },
|
552
|
+
# calculated_spend: {
|
553
|
+
# actual_spend: { # required
|
554
|
+
# amount: "NumericValue", # required
|
555
|
+
# unit: "GenericString", # required
|
556
|
+
# },
|
557
|
+
# forecasted_spend: {
|
558
|
+
# amount: "NumericValue", # required
|
559
|
+
# unit: "GenericString", # required
|
560
|
+
# },
|
561
|
+
# },
|
562
|
+
# budget_type: "USAGE", # required, accepts USAGE, COST
|
563
|
+
# },
|
564
|
+
# })
|
565
|
+
# @overload update_budget(params = {})
|
566
|
+
# @param [Hash] params ({})
|
567
|
+
def update_budget(params = {}, options = {})
|
568
|
+
req = build_request(:update_budget, params)
|
569
|
+
req.send_request(options)
|
570
|
+
end
|
571
|
+
|
572
|
+
# Update the information about a notification already created
|
573
|
+
# @option params [required, String] :account_id
|
574
|
+
# Account Id of the customer. It should be a 12 digit number.
|
575
|
+
# @option params [required, String] :budget_name
|
576
|
+
# A string represents the budget name. No ":" character is allowed.
|
577
|
+
# @option params [required, Types::Notification] :old_notification
|
578
|
+
# Notification model. Each budget may contain multiple notifications
|
579
|
+
# with different settings.
|
580
|
+
# @option params [required, Types::Notification] :new_notification
|
581
|
+
# Notification model. Each budget may contain multiple notifications
|
582
|
+
# with different settings.
|
583
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
584
|
+
#
|
585
|
+
# @example Request syntax with placeholder values
|
586
|
+
# resp = client.update_notification({
|
587
|
+
# account_id: "AccountId", # required
|
588
|
+
# budget_name: "BudgetName", # required
|
589
|
+
# old_notification: { # required
|
590
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
591
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
592
|
+
# threshold: 1.0, # required
|
593
|
+
# },
|
594
|
+
# new_notification: { # required
|
595
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
596
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
597
|
+
# threshold: 1.0, # required
|
598
|
+
# },
|
599
|
+
# })
|
600
|
+
# @overload update_notification(params = {})
|
601
|
+
# @param [Hash] params ({})
|
602
|
+
def update_notification(params = {}, options = {})
|
603
|
+
req = build_request(:update_notification, params)
|
604
|
+
req.send_request(options)
|
605
|
+
end
|
606
|
+
|
607
|
+
# Update a subscriber
|
608
|
+
# @option params [required, String] :account_id
|
609
|
+
# Account Id of the customer. It should be a 12 digit number.
|
610
|
+
# @option params [required, String] :budget_name
|
611
|
+
# A string represents the budget name. No ":" character is allowed.
|
612
|
+
# @option params [required, Types::Notification] :notification
|
613
|
+
# Notification model. Each budget may contain multiple notifications
|
614
|
+
# with different settings.
|
615
|
+
# @option params [required, Types::Subscriber] :old_subscriber
|
616
|
+
# Subscriber model. Each notification may contain multiple subscribers
|
617
|
+
# with different addresses.
|
618
|
+
# @option params [required, Types::Subscriber] :new_subscriber
|
619
|
+
# Subscriber model. Each notification may contain multiple subscribers
|
620
|
+
# with different addresses.
|
621
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
622
|
+
#
|
623
|
+
# @example Request syntax with placeholder values
|
624
|
+
# resp = client.update_subscriber({
|
625
|
+
# account_id: "AccountId", # required
|
626
|
+
# budget_name: "BudgetName", # required
|
627
|
+
# notification: { # required
|
628
|
+
# notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
|
629
|
+
# comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
|
630
|
+
# threshold: 1.0, # required
|
631
|
+
# },
|
632
|
+
# old_subscriber: { # required
|
633
|
+
# subscription_type: "SNS", # required, accepts SNS, EMAIL
|
634
|
+
# address: "GenericString", # required
|
635
|
+
# },
|
636
|
+
# new_subscriber: { # required
|
637
|
+
# subscription_type: "SNS", # required, accepts SNS, EMAIL
|
638
|
+
# address: "GenericString", # required
|
639
|
+
# },
|
640
|
+
# })
|
641
|
+
# @overload update_subscriber(params = {})
|
642
|
+
# @param [Hash] params ({})
|
643
|
+
def update_subscriber(params = {}, options = {})
|
644
|
+
req = build_request(:update_subscriber, params)
|
645
|
+
req.send_request(options)
|
646
|
+
end
|
647
|
+
|
648
|
+
# @!endgroup
|
649
|
+
|
650
|
+
# @param params ({})
|
651
|
+
# @api private
|
652
|
+
def build_request(operation_name, params = {})
|
653
|
+
handlers = @handlers.for(operation_name)
|
654
|
+
context = Seahorse::Client::RequestContext.new(
|
655
|
+
operation_name: operation_name,
|
656
|
+
operation: config.api.operation(operation_name),
|
657
|
+
client: self,
|
658
|
+
params: params,
|
659
|
+
config: config)
|
660
|
+
context[:gem_name] = 'aws-sdk-budgets'
|
661
|
+
context[:gem_version] = '1.0.0.rc1'
|
662
|
+
Seahorse::Client::Request.new(handlers, context)
|
663
|
+
end
|
664
|
+
|
665
|
+
# @api private
|
666
|
+
# @deprecated
|
667
|
+
def waiter_names
|
668
|
+
[]
|
669
|
+
end
|
670
|
+
|
671
|
+
class << self
|
672
|
+
|
673
|
+
# @api private
|
674
|
+
attr_reader :identifier
|
675
|
+
|
676
|
+
# @api private
|
677
|
+
def errors_module
|
678
|
+
Errors
|
679
|
+
end
|
680
|
+
|
681
|
+
end
|
682
|
+
end
|
683
|
+
end
|
684
|
+
end
|