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 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&lt;Types::Budget&gt;
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&lt;Types::Notification&gt;
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&lt;Types::Subscriber&gt;
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