aws-sdk-bcmdashboards 1.0.0

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.
@@ -0,0 +1,1012 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::BCMDashboards
11
+ module Types
12
+
13
+ # You do not have sufficient permissions to perform this action. Verify
14
+ # your IAM permissions and any resource policies.
15
+ #
16
+ # @!attribute [rw] message
17
+ # @return [String]
18
+ #
19
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/AccessDeniedException AWS API Documentation
20
+ #
21
+ class AccessDeniedException < Struct.new(
22
+ :message)
23
+ SENSITIVE = []
24
+ include Aws::Structure
25
+ end
26
+
27
+ # Defines the parameters for retrieving Amazon Web Services cost and
28
+ # usage data. Includes specifications for metrics, time periods,
29
+ # granularity, grouping dimensions, and filtering conditions.
30
+ #
31
+ # @!attribute [rw] metrics
32
+ # The specific cost and usage metrics to retrieve.
33
+ #
34
+ # <note markdown="1"> Valid values for CostAndUsageQuery metrics are `AmortizedCost`,
35
+ # `BlendedCost`, `NetAmortizedCost`, `NetUnblendedCost`,
36
+ # `NormalizedUsageAmount`, `UnblendedCost`, and `UsageQuantity`.
37
+ #
38
+ # </note>
39
+ # @return [Array<String>]
40
+ #
41
+ # @!attribute [rw] time_range
42
+ # The time period for which to retrieve data. Can be specified as
43
+ # absolute dates or relative time periods.
44
+ # @return [Types::DateTimeRange]
45
+ #
46
+ # @!attribute [rw] granularity
47
+ # The granularity of the retrieved data: `HOURLY`, `DAILY`, or
48
+ # `MONTHLY`.
49
+ # @return [String]
50
+ #
51
+ # @!attribute [rw] group_by
52
+ # Specifies how to group the retrieved data, such as by `SERVICE`,
53
+ # `ACCOUNT`, or `TAG`.
54
+ # @return [Array<Types::GroupDefinition>]
55
+ #
56
+ # @!attribute [rw] filter
57
+ # The filter expression to be applied to the cost and usage data.
58
+ # @return [Types::Expression]
59
+ #
60
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/CostAndUsageQuery AWS API Documentation
61
+ #
62
+ class CostAndUsageQuery < Struct.new(
63
+ :metrics,
64
+ :time_range,
65
+ :granularity,
66
+ :group_by,
67
+ :filter)
68
+ SENSITIVE = []
69
+ include Aws::Structure
70
+ end
71
+
72
+ # Specifies the values and match options for cost category-based
73
+ # filtering in cost and usage queries.
74
+ #
75
+ # @!attribute [rw] key
76
+ # The key of the cost category to filter on.
77
+ # @return [String]
78
+ #
79
+ # @!attribute [rw] values
80
+ # The values to match for the specified cost category key.
81
+ # @return [Array<String>]
82
+ #
83
+ # @!attribute [rw] match_options
84
+ # The match options for cost category values, such as `EQUALS`,
85
+ # `CONTAINS`, `STARTS_WITH`, or `ENDS_WITH`.
86
+ # @return [Array<String>]
87
+ #
88
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/CostCategoryValues AWS API Documentation
89
+ #
90
+ class CostCategoryValues < Struct.new(
91
+ :key,
92
+ :values,
93
+ :match_options)
94
+ SENSITIVE = []
95
+ include Aws::Structure
96
+ end
97
+
98
+ # @!attribute [rw] name
99
+ # The name of the dashboard. The name must be unique within your
100
+ # account.
101
+ # @return [String]
102
+ #
103
+ # @!attribute [rw] description
104
+ # A description of the dashboard's purpose or contents.
105
+ # @return [String]
106
+ #
107
+ # @!attribute [rw] widgets
108
+ # An array of widget configurations that define the visualizations to
109
+ # be displayed in the dashboard. Each dashboard can contain up to 20
110
+ # widgets.
111
+ # @return [Array<Types::Widget>]
112
+ #
113
+ # @!attribute [rw] resource_tags
114
+ # The tags to apply to the dashboard resource for organization and
115
+ # management.
116
+ # @return [Array<Types::ResourceTag>]
117
+ #
118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/CreateDashboardRequest AWS API Documentation
119
+ #
120
+ class CreateDashboardRequest < Struct.new(
121
+ :name,
122
+ :description,
123
+ :widgets,
124
+ :resource_tags)
125
+ SENSITIVE = []
126
+ include Aws::Structure
127
+ end
128
+
129
+ # @!attribute [rw] arn
130
+ # The ARN of the newly created dashboard.
131
+ # @return [String]
132
+ #
133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/CreateDashboardResponse AWS API Documentation
134
+ #
135
+ class CreateDashboardResponse < Struct.new(
136
+ :arn)
137
+ SENSITIVE = []
138
+ include Aws::Structure
139
+ end
140
+
141
+ # Contains basic information about a dashboard, including its ARN, name,
142
+ # type, and timestamps.
143
+ #
144
+ # @!attribute [rw] arn
145
+ # The ARN of the referenced dashboard.
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] name
149
+ # The name of the referenced dashboard.
150
+ # @return [String]
151
+ #
152
+ # @!attribute [rw] description
153
+ # The description of the referenced dashboard.
154
+ # @return [String]
155
+ #
156
+ # @!attribute [rw] type
157
+ # The dashboard type.
158
+ # @return [String]
159
+ #
160
+ # @!attribute [rw] created_at
161
+ # The timestamp when the dashboard was created.
162
+ # @return [Time]
163
+ #
164
+ # @!attribute [rw] updated_at
165
+ # The timestamp when the dashboard was last modified.
166
+ # @return [Time]
167
+ #
168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/DashboardReference AWS API Documentation
169
+ #
170
+ class DashboardReference < Struct.new(
171
+ :arn,
172
+ :name,
173
+ :description,
174
+ :type,
175
+ :created_at,
176
+ :updated_at)
177
+ SENSITIVE = []
178
+ include Aws::Structure
179
+ end
180
+
181
+ # Defines a time period with explicit start and end times for data
182
+ # queries.
183
+ #
184
+ # @!attribute [rw] start_time
185
+ # The start time of the date range for querying data.
186
+ # @return [Types::DateTimeValue]
187
+ #
188
+ # @!attribute [rw] end_time
189
+ # The end time of the date range for querying data.
190
+ # @return [Types::DateTimeValue]
191
+ #
192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/DateTimeRange AWS API Documentation
193
+ #
194
+ class DateTimeRange < Struct.new(
195
+ :start_time,
196
+ :end_time)
197
+ SENSITIVE = []
198
+ include Aws::Structure
199
+ end
200
+
201
+ # Represents a point in time that can be specified as either an absolute
202
+ # date (for example, "2025-07-01") or a relative time period using ISO
203
+ # 8601 duration format (for example, "-P3M" for three months ago).
204
+ #
205
+ # @!attribute [rw] type
206
+ # The type of date/time value: `ABSOLUTE` for specific dates or
207
+ # `RELATIVE` for dynamic time periods.
208
+ # @return [String]
209
+ #
210
+ # @!attribute [rw] value
211
+ # The actual date/time value.
212
+ # @return [String]
213
+ #
214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/DateTimeValue AWS API Documentation
215
+ #
216
+ class DateTimeValue < Struct.new(
217
+ :type,
218
+ :value)
219
+ SENSITIVE = []
220
+ include Aws::Structure
221
+ end
222
+
223
+ # @!attribute [rw] arn
224
+ # The ARN of the dashboard to be deleted.
225
+ # @return [String]
226
+ #
227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/DeleteDashboardRequest AWS API Documentation
228
+ #
229
+ class DeleteDashboardRequest < Struct.new(
230
+ :arn)
231
+ SENSITIVE = []
232
+ include Aws::Structure
233
+ end
234
+
235
+ # @!attribute [rw] arn
236
+ # The ARN of the dashboard that was deleted.
237
+ # @return [String]
238
+ #
239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/DeleteDashboardResponse AWS API Documentation
240
+ #
241
+ class DeleteDashboardResponse < Struct.new(
242
+ :arn)
243
+ SENSITIVE = []
244
+ include Aws::Structure
245
+ end
246
+
247
+ # Specifies the values and match options for dimension-based filtering
248
+ # in cost and usage queries.
249
+ #
250
+ # @!attribute [rw] key
251
+ # The key of the dimension to filter on (for example, `SERVICE`,
252
+ # `USAGE_TYPE`, or `OPERATION`).
253
+ # @return [String]
254
+ #
255
+ # @!attribute [rw] values
256
+ # The values to match for the specified dimension key.
257
+ # @return [Array<String>]
258
+ #
259
+ # @!attribute [rw] match_options
260
+ # The match options for dimension values, such as `EQUALS`,
261
+ # `CONTAINS`, `STARTS_WITH`, or `ENDS_WITH`.
262
+ # @return [Array<String>]
263
+ #
264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/DimensionValues AWS API Documentation
265
+ #
266
+ class DimensionValues < Struct.new(
267
+ :key,
268
+ :values,
269
+ :match_options)
270
+ SENSITIVE = []
271
+ include Aws::Structure
272
+ end
273
+
274
+ # Defines how the widget's data should be visualized, including chart
275
+ # type, color schemes, axis configurations, and other display
276
+ # preferences.
277
+ #
278
+ # @note DisplayConfig is a union - when making an API calls you must set exactly one of the members.
279
+ #
280
+ # @note DisplayConfig is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of DisplayConfig corresponding to the set member.
281
+ #
282
+ # @!attribute [rw] graph
283
+ # The configuration for graphical display of the widget data,
284
+ # including chart type and visual options.
285
+ # @return [Hash<String,Types::GraphDisplayConfig>]
286
+ #
287
+ # @!attribute [rw] table
288
+ # The configuration for tabular display of the widget data.
289
+ # @return [Types::TableDisplayConfigStruct]
290
+ #
291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/DisplayConfig AWS API Documentation
292
+ #
293
+ class DisplayConfig < Struct.new(
294
+ :graph,
295
+ :table,
296
+ :unknown)
297
+ SENSITIVE = []
298
+ include Aws::Structure
299
+ include Aws::Structure::Union
300
+
301
+ class Graph < DisplayConfig; end
302
+ class Table < DisplayConfig; end
303
+ class Unknown < DisplayConfig; end
304
+ end
305
+
306
+ # Defines complex filtering conditions using logical operators (`AND`,
307
+ # `OR`, `NOT`) and various filter types.
308
+ #
309
+ # @!attribute [rw] or
310
+ # A list of expressions to combine with OR logic.
311
+ # @return [Array<Types::Expression>]
312
+ #
313
+ # @!attribute [rw] and
314
+ # A list of expressions to combine with AND logic.
315
+ # @return [Array<Types::Expression>]
316
+ #
317
+ # @!attribute [rw] not
318
+ # An expression to negate with NOT logic.
319
+ # @return [Types::Expression]
320
+ #
321
+ # @!attribute [rw] dimensions
322
+ # The dimension values to include in the filter expression.
323
+ # @return [Types::DimensionValues]
324
+ #
325
+ # @!attribute [rw] tags
326
+ # The tag values to include in the filter expression.
327
+ # @return [Types::TagValues]
328
+ #
329
+ # @!attribute [rw] cost_categories
330
+ # The cost category values to include in the filter expression.
331
+ # @return [Types::CostCategoryValues]
332
+ #
333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/Expression AWS API Documentation
334
+ #
335
+ class Expression < Struct.new(
336
+ :or,
337
+ :and,
338
+ :not,
339
+ :dimensions,
340
+ :tags,
341
+ :cost_categories)
342
+ SENSITIVE = []
343
+ include Aws::Structure
344
+ end
345
+
346
+ # @!attribute [rw] arn
347
+ # The ARN of the dashboard to retrieve. This is required to uniquely
348
+ # identify the dashboard.
349
+ # @return [String]
350
+ #
351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/GetDashboardRequest AWS API Documentation
352
+ #
353
+ class GetDashboardRequest < Struct.new(
354
+ :arn)
355
+ SENSITIVE = []
356
+ include Aws::Structure
357
+ end
358
+
359
+ # @!attribute [rw] arn
360
+ # The ARN of the retrieved dashboard.
361
+ # @return [String]
362
+ #
363
+ # @!attribute [rw] name
364
+ # The name of the retrieved dashboard.
365
+ # @return [String]
366
+ #
367
+ # @!attribute [rw] description
368
+ # The description of the retrieved dashboard.
369
+ # @return [String]
370
+ #
371
+ # @!attribute [rw] type
372
+ # Indicates the dashboard type.
373
+ # @return [String]
374
+ #
375
+ # @!attribute [rw] widgets
376
+ # An array of widget configurations that make up the dashboard.
377
+ # @return [Array<Types::Widget>]
378
+ #
379
+ # @!attribute [rw] created_at
380
+ # The timestamp when the dashboard was created.
381
+ # @return [Time]
382
+ #
383
+ # @!attribute [rw] updated_at
384
+ # The timestamp when the dashboard was last modified.
385
+ # @return [Time]
386
+ #
387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/GetDashboardResponse AWS API Documentation
388
+ #
389
+ class GetDashboardResponse < Struct.new(
390
+ :arn,
391
+ :name,
392
+ :description,
393
+ :type,
394
+ :widgets,
395
+ :created_at,
396
+ :updated_at)
397
+ SENSITIVE = []
398
+ include Aws::Structure
399
+ end
400
+
401
+ # @!attribute [rw] resource_arn
402
+ # The ARN of the dashboard whose resource-based policy you want to
403
+ # retrieve.
404
+ # @return [String]
405
+ #
406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/GetResourcePolicyRequest AWS API Documentation
407
+ #
408
+ class GetResourcePolicyRequest < Struct.new(
409
+ :resource_arn)
410
+ SENSITIVE = []
411
+ include Aws::Structure
412
+ end
413
+
414
+ # @!attribute [rw] resource_arn
415
+ # The ARN of the dashboard for which the resource-based policy was
416
+ # retrieved.
417
+ # @return [String]
418
+ #
419
+ # @!attribute [rw] policy_document
420
+ # The JSON policy document that represents the dashboard's
421
+ # resource-based policy.
422
+ # @return [String]
423
+ #
424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/GetResourcePolicyResponse AWS API Documentation
425
+ #
426
+ class GetResourcePolicyResponse < Struct.new(
427
+ :resource_arn,
428
+ :policy_document)
429
+ SENSITIVE = []
430
+ include Aws::Structure
431
+ end
432
+
433
+ # Defines the visual representation settings for widget data, including
434
+ # the visualization type, styling options, and display preferences for
435
+ # different metric types.
436
+ #
437
+ # @!attribute [rw] visual_type
438
+ # The type of visualization to use for the data.
439
+ # @return [String]
440
+ #
441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/GraphDisplayConfig AWS API Documentation
442
+ #
443
+ class GraphDisplayConfig < Struct.new(
444
+ :visual_type)
445
+ SENSITIVE = []
446
+ include Aws::Structure
447
+ end
448
+
449
+ # Specifies how to group cost and usage data.
450
+ #
451
+ # @!attribute [rw] key
452
+ # The key to use for grouping cost and usage data.
453
+ # @return [String]
454
+ #
455
+ # @!attribute [rw] type
456
+ # The type of grouping to apply.
457
+ # @return [String]
458
+ #
459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/GroupDefinition AWS API Documentation
460
+ #
461
+ class GroupDefinition < Struct.new(
462
+ :key,
463
+ :type)
464
+ SENSITIVE = []
465
+ include Aws::Structure
466
+ end
467
+
468
+ # An internal error occurred while processing the request. Retry your
469
+ # request. If the problem persists, contact Amazon Web Services Support.
470
+ #
471
+ # @!attribute [rw] message
472
+ # @return [String]
473
+ #
474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/InternalServerException AWS API Documentation
475
+ #
476
+ class InternalServerException < Struct.new(
477
+ :message)
478
+ SENSITIVE = []
479
+ include Aws::Structure
480
+ end
481
+
482
+ # @!attribute [rw] max_results
483
+ # The maximum number of results to return in a single call. The
484
+ # default value is 20.
485
+ # @return [Integer]
486
+ #
487
+ # @!attribute [rw] next_token
488
+ # The token for the next page of results. Use the value returned in
489
+ # the previous response.
490
+ # @return [String]
491
+ #
492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ListDashboardsRequest AWS API Documentation
493
+ #
494
+ class ListDashboardsRequest < Struct.new(
495
+ :max_results,
496
+ :next_token)
497
+ SENSITIVE = []
498
+ include Aws::Structure
499
+ end
500
+
501
+ # @!attribute [rw] dashboards
502
+ # An array of dashboard references, containing basic information about
503
+ # each dashboard.
504
+ # @return [Array<Types::DashboardReference>]
505
+ #
506
+ # @!attribute [rw] next_token
507
+ # The token to use to retrieve the next page of results. Not returned
508
+ # if there are no more results to retrieve.
509
+ # @return [String]
510
+ #
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ListDashboardsResponse AWS API Documentation
512
+ #
513
+ class ListDashboardsResponse < Struct.new(
514
+ :dashboards,
515
+ :next_token)
516
+ SENSITIVE = []
517
+ include Aws::Structure
518
+ end
519
+
520
+ # @!attribute [rw] resource_arn
521
+ # The unique identifier for the resource.
522
+ # @return [String]
523
+ #
524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ListTagsForResourceRequest AWS API Documentation
525
+ #
526
+ class ListTagsForResourceRequest < Struct.new(
527
+ :resource_arn)
528
+ SENSITIVE = []
529
+ include Aws::Structure
530
+ end
531
+
532
+ # @!attribute [rw] resource_tags
533
+ # The list of tags associated with the specified dashboard resource.
534
+ # @return [Array<Types::ResourceTag>]
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ListTagsForResourceResponse AWS API Documentation
537
+ #
538
+ class ListTagsForResourceResponse < Struct.new(
539
+ :resource_tags)
540
+ SENSITIVE = []
541
+ include Aws::Structure
542
+ end
543
+
544
+ # Defines the data retrieval parameters for a widget.
545
+ #
546
+ # @note QueryParameters is a union - when making an API calls you must set exactly one of the members.
547
+ #
548
+ # @note QueryParameters is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of QueryParameters corresponding to the set member.
549
+ #
550
+ # @!attribute [rw] cost_and_usage
551
+ # The parameters for querying cost and usage data, including metrics,
552
+ # time range, granularity, grouping dimensions, and filters.
553
+ # @return [Types::CostAndUsageQuery]
554
+ #
555
+ # @!attribute [rw] savings_plans_coverage
556
+ # The parameters for querying Savings Plans coverage data, showing how
557
+ # much of your eligible compute usage is covered by Savings Plans.
558
+ # @return [Types::SavingsPlansCoverageQuery]
559
+ #
560
+ # @!attribute [rw] savings_plans_utilization
561
+ # The parameters for querying Savings Plans utilization data, showing
562
+ # how effectively your Savings Plans are being used.
563
+ # @return [Types::SavingsPlansUtilizationQuery]
564
+ #
565
+ # @!attribute [rw] reservation_coverage
566
+ # The parameters for querying Reserved Instance coverage data, showing
567
+ # how much of your eligible instance usage is covered by Reserved
568
+ # Instances.
569
+ # @return [Types::ReservationCoverageQuery]
570
+ #
571
+ # @!attribute [rw] reservation_utilization
572
+ # The parameters for querying Reserved Instance utilization data,
573
+ # showing how effectively your Reserved Instances are being used.
574
+ # @return [Types::ReservationUtilizationQuery]
575
+ #
576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/QueryParameters AWS API Documentation
577
+ #
578
+ class QueryParameters < Struct.new(
579
+ :cost_and_usage,
580
+ :savings_plans_coverage,
581
+ :savings_plans_utilization,
582
+ :reservation_coverage,
583
+ :reservation_utilization,
584
+ :unknown)
585
+ SENSITIVE = []
586
+ include Aws::Structure
587
+ include Aws::Structure::Union
588
+
589
+ class CostAndUsage < QueryParameters; end
590
+ class SavingsPlansCoverage < QueryParameters; end
591
+ class SavingsPlansUtilization < QueryParameters; end
592
+ class ReservationCoverage < QueryParameters; end
593
+ class ReservationUtilization < QueryParameters; end
594
+ class Unknown < QueryParameters; end
595
+ end
596
+
597
+ # Defines the parameters for querying Reserved Instance coverage data,
598
+ # including grouping options, metrics, and sorting preferences.
599
+ #
600
+ # @!attribute [rw] time_range
601
+ # Defines a time period with explicit start and end times for data
602
+ # queries.
603
+ # @return [Types::DateTimeRange]
604
+ #
605
+ # @!attribute [rw] group_by
606
+ # Specifies how to group the Reserved Instance coverage data, such as
607
+ # by service, Region, or instance type.
608
+ # @return [Array<Types::GroupDefinition>]
609
+ #
610
+ # @!attribute [rw] granularity
611
+ # The time granularity of the retrieved data: `HOURLY`, `DAILY`, or
612
+ # `MONTHLY`.
613
+ # @return [String]
614
+ #
615
+ # @!attribute [rw] filter
616
+ # Defines complex filtering conditions using logical operators (`AND`,
617
+ # `OR`, `NOT`) and various filter types.
618
+ # @return [Types::Expression]
619
+ #
620
+ # @!attribute [rw] metrics
621
+ # The coverage metrics to include in the results.
622
+ #
623
+ # <note markdown="1"> Valid values for ReservationCoverageQuery metrics are `Hour`,
624
+ # `Unit`, and `Cost`.
625
+ #
626
+ # </note>
627
+ # @return [Array<String>]
628
+ #
629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ReservationCoverageQuery AWS API Documentation
630
+ #
631
+ class ReservationCoverageQuery < Struct.new(
632
+ :time_range,
633
+ :group_by,
634
+ :granularity,
635
+ :filter,
636
+ :metrics)
637
+ SENSITIVE = []
638
+ include Aws::Structure
639
+ end
640
+
641
+ # Defines the parameters for querying Reserved Instance utilization
642
+ # data, including grouping options and time granularity.
643
+ #
644
+ # @!attribute [rw] time_range
645
+ # Defines a time period with explicit start and end times for data
646
+ # queries.
647
+ # @return [Types::DateTimeRange]
648
+ #
649
+ # @!attribute [rw] group_by
650
+ # Specifies how to group the Reserved Instance utilization data, such
651
+ # as by service, Region, or instance type.
652
+ # @return [Array<Types::GroupDefinition>]
653
+ #
654
+ # @!attribute [rw] granularity
655
+ # The time granularity of the retrieved data: `HOURLY`, `DAILY`, or
656
+ # `MONTHLY`.
657
+ # @return [String]
658
+ #
659
+ # @!attribute [rw] filter
660
+ # Defines complex filtering conditions using logical operators (`AND`,
661
+ # `OR`, `NOT`) and various filter types.
662
+ # @return [Types::Expression]
663
+ #
664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ReservationUtilizationQuery AWS API Documentation
665
+ #
666
+ class ReservationUtilizationQuery < Struct.new(
667
+ :time_range,
668
+ :group_by,
669
+ :granularity,
670
+ :filter)
671
+ SENSITIVE = []
672
+ include Aws::Structure
673
+ end
674
+
675
+ # The specified resource (dashboard, policy, or widget) was not found.
676
+ # Verify the ARN and try again.
677
+ #
678
+ # @!attribute [rw] message
679
+ # @return [String]
680
+ #
681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ResourceNotFoundException AWS API Documentation
682
+ #
683
+ class ResourceNotFoundException < Struct.new(
684
+ :message)
685
+ SENSITIVE = []
686
+ include Aws::Structure
687
+ end
688
+
689
+ # A key-value pair that can be attached to a dashboard for organization
690
+ # and management purposes.
691
+ #
692
+ # @!attribute [rw] key
693
+ # The key of the tag to be attached to the dashboard resource.
694
+ # @return [String]
695
+ #
696
+ # @!attribute [rw] value
697
+ # The value of the tag to be attached to the dashboard resource.
698
+ # @return [String]
699
+ #
700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ResourceTag AWS API Documentation
701
+ #
702
+ class ResourceTag < Struct.new(
703
+ :key,
704
+ :value)
705
+ SENSITIVE = []
706
+ include Aws::Structure
707
+ end
708
+
709
+ # Defines the parameters for querying Savings Plans coverage data,
710
+ # including metrics, grouping options, and time granularity.
711
+ #
712
+ # @!attribute [rw] time_range
713
+ # Defines a time period with explicit start and end times for data
714
+ # queries.
715
+ # @return [Types::DateTimeRange]
716
+ #
717
+ # @!attribute [rw] metrics
718
+ # The coverage metrics to include in the results.
719
+ #
720
+ # <note markdown="1"> Valid value for SavingsPlansCoverageQuery metrics is
721
+ # `SpendCoveredBySavingsPlans`.
722
+ #
723
+ # </note>
724
+ # @return [Array<String>]
725
+ #
726
+ # @!attribute [rw] granularity
727
+ # The time granularity of the retrieved data: `HOURLY`, `DAILY`, or
728
+ # `MONTHLY`.
729
+ # @return [String]
730
+ #
731
+ # @!attribute [rw] group_by
732
+ # Specifies how to group the Savings Plans coverage data, such as by
733
+ # service or instance family.
734
+ # @return [Array<Types::GroupDefinition>]
735
+ #
736
+ # @!attribute [rw] filter
737
+ # Defines complex filtering conditions using logical operators (`AND`,
738
+ # `OR`, `NOT`) and various filter types.
739
+ # @return [Types::Expression]
740
+ #
741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/SavingsPlansCoverageQuery AWS API Documentation
742
+ #
743
+ class SavingsPlansCoverageQuery < Struct.new(
744
+ :time_range,
745
+ :metrics,
746
+ :granularity,
747
+ :group_by,
748
+ :filter)
749
+ SENSITIVE = []
750
+ include Aws::Structure
751
+ end
752
+
753
+ # Defines the parameters for querying Savings Plans utilization data,
754
+ # including time granularity and sorting preferences.
755
+ #
756
+ # @!attribute [rw] time_range
757
+ # Defines a time period with explicit start and end times for data
758
+ # queries.
759
+ # @return [Types::DateTimeRange]
760
+ #
761
+ # @!attribute [rw] granularity
762
+ # The time granularity of the retrieved data: HOURLY, DAILY, or
763
+ # MONTHLY.
764
+ # @return [String]
765
+ #
766
+ # @!attribute [rw] filter
767
+ # Defines complex filtering conditions using logical operators (`AND`,
768
+ # `OR`, `NOT`) and various filter types.
769
+ # @return [Types::Expression]
770
+ #
771
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/SavingsPlansUtilizationQuery AWS API Documentation
772
+ #
773
+ class SavingsPlansUtilizationQuery < Struct.new(
774
+ :time_range,
775
+ :granularity,
776
+ :filter)
777
+ SENSITIVE = []
778
+ include Aws::Structure
779
+ end
780
+
781
+ # The request would exceed service quotas. For example, attempting to
782
+ # create more than 20 widgets in a dashboard or exceeding the maximum
783
+ # number of dashboards per account.
784
+ #
785
+ # @!attribute [rw] message
786
+ # @return [String]
787
+ #
788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ServiceQuotaExceededException AWS API Documentation
789
+ #
790
+ class ServiceQuotaExceededException < Struct.new(
791
+ :message)
792
+ SENSITIVE = []
793
+ include Aws::Structure
794
+ end
795
+
796
+ # Configuration structure for customizing the tabular display of widget
797
+ # data.
798
+ #
799
+ # @api private
800
+ #
801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/TableDisplayConfigStruct AWS API Documentation
802
+ #
803
+ class TableDisplayConfigStruct < Aws::EmptyStructure; end
804
+
805
+ # @!attribute [rw] resource_arn
806
+ # The unique identifier for the resource.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] resource_tags
810
+ # The tags to add to the dashboard resource.
811
+ # @return [Array<Types::ResourceTag>]
812
+ #
813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/TagResourceRequest AWS API Documentation
814
+ #
815
+ class TagResourceRequest < Struct.new(
816
+ :resource_arn,
817
+ :resource_tags)
818
+ SENSITIVE = []
819
+ include Aws::Structure
820
+ end
821
+
822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/TagResourceResponse AWS API Documentation
823
+ #
824
+ class TagResourceResponse < Aws::EmptyStructure; end
825
+
826
+ # Specifies tag-based filtering options for cost and usage queries.
827
+ #
828
+ # @!attribute [rw] key
829
+ # The key of the tag to filter on.
830
+ # @return [String]
831
+ #
832
+ # @!attribute [rw] values
833
+ # The values to match for the specified tag key.
834
+ # @return [Array<String>]
835
+ #
836
+ # @!attribute [rw] match_options
837
+ # The match options for tag values, such as `EQUALS`, `CONTAINS`,
838
+ # `STARTS_WITH`, or `ENDS_WITH`.
839
+ # @return [Array<String>]
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/TagValues AWS API Documentation
842
+ #
843
+ class TagValues < Struct.new(
844
+ :key,
845
+ :values,
846
+ :match_options)
847
+ SENSITIVE = []
848
+ include Aws::Structure
849
+ end
850
+
851
+ # The request was denied due to request throttling. Reduce the frequency
852
+ # of requests and use exponential backoff.
853
+ #
854
+ # @!attribute [rw] message
855
+ # @return [String]
856
+ #
857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ThrottlingException AWS API Documentation
858
+ #
859
+ class ThrottlingException < Struct.new(
860
+ :message)
861
+ SENSITIVE = []
862
+ include Aws::Structure
863
+ end
864
+
865
+ # @!attribute [rw] resource_arn
866
+ # The unique identifier for the resource.
867
+ # @return [String]
868
+ #
869
+ # @!attribute [rw] resource_tag_keys
870
+ # The keys of the tags to remove from the dashboard resource.
871
+ # @return [Array<String>]
872
+ #
873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/UntagResourceRequest AWS API Documentation
874
+ #
875
+ class UntagResourceRequest < Struct.new(
876
+ :resource_arn,
877
+ :resource_tag_keys)
878
+ SENSITIVE = []
879
+ include Aws::Structure
880
+ end
881
+
882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/UntagResourceResponse AWS API Documentation
883
+ #
884
+ class UntagResourceResponse < Aws::EmptyStructure; end
885
+
886
+ # @!attribute [rw] arn
887
+ # The ARN of the dashboard to update.
888
+ # @return [String]
889
+ #
890
+ # @!attribute [rw] name
891
+ # The new name for the dashboard. If not specified, the existing name
892
+ # is retained.
893
+ # @return [String]
894
+ #
895
+ # @!attribute [rw] description
896
+ # The new description for the dashboard. If not specified, the
897
+ # existing description is retained.
898
+ # @return [String]
899
+ #
900
+ # @!attribute [rw] widgets
901
+ # The updated array of widget configurations for the dashboard.
902
+ # Replaces all existing widgets.
903
+ # @return [Array<Types::Widget>]
904
+ #
905
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/UpdateDashboardRequest AWS API Documentation
906
+ #
907
+ class UpdateDashboardRequest < Struct.new(
908
+ :arn,
909
+ :name,
910
+ :description,
911
+ :widgets)
912
+ SENSITIVE = []
913
+ include Aws::Structure
914
+ end
915
+
916
+ # @!attribute [rw] arn
917
+ # The ARN of the updated dashboard.
918
+ # @return [String]
919
+ #
920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/UpdateDashboardResponse AWS API Documentation
921
+ #
922
+ class UpdateDashboardResponse < Struct.new(
923
+ :arn)
924
+ SENSITIVE = []
925
+ include Aws::Structure
926
+ end
927
+
928
+ # The input parameters do not satisfy the requirements. Check the error
929
+ # message for specific validation details.
930
+ #
931
+ # @!attribute [rw] message
932
+ # @return [String]
933
+ #
934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/ValidationException AWS API Documentation
935
+ #
936
+ class ValidationException < Struct.new(
937
+ :message)
938
+ SENSITIVE = []
939
+ include Aws::Structure
940
+ end
941
+
942
+ # A configurable visualization component within a dashboard that
943
+ # displays specific cost and usage metrics. Each widget can show data as
944
+ # charts or tables and includes settings for data querying, filtering,
945
+ # and visual presentation.
946
+ #
947
+ # @!attribute [rw] title
948
+ # The title of the widget.
949
+ # @return [String]
950
+ #
951
+ # @!attribute [rw] description
952
+ # A description of the widget's purpose or the data it displays.
953
+ # @return [String]
954
+ #
955
+ # @!attribute [rw] width
956
+ # The width of the widget in column spans. The dashboard layout
957
+ # consists of a grid system.
958
+ # @return [Integer]
959
+ #
960
+ # @!attribute [rw] height
961
+ # The height of the widget in row spans. The dashboard layout consists
962
+ # of a grid system.
963
+ # @return [Integer]
964
+ #
965
+ # @!attribute [rw] horizontal_offset
966
+ # Specifies the starting column position of the widget in the
967
+ # dashboard's grid layout. Used to control widget placement.
968
+ # @return [Integer]
969
+ #
970
+ # @!attribute [rw] configs
971
+ # An array of configurations that define the data queries and display
972
+ # settings for the widget.
973
+ # @return [Array<Types::WidgetConfig>]
974
+ #
975
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/Widget AWS API Documentation
976
+ #
977
+ class Widget < Struct.new(
978
+ :title,
979
+ :description,
980
+ :width,
981
+ :height,
982
+ :horizontal_offset,
983
+ :configs)
984
+ SENSITIVE = []
985
+ include Aws::Structure
986
+ end
987
+
988
+ # Defines the complete configuration for a widget, including data
989
+ # retrieval settings and visualization preferences.
990
+ #
991
+ # @!attribute [rw] query_parameters
992
+ # The parameters that define what data the widget should retrieve and
993
+ # how it should be filtered or grouped.
994
+ # @return [Types::QueryParameters]
995
+ #
996
+ # @!attribute [rw] display_config
997
+ # The configuration that determines how the retrieved data should be
998
+ # visualized in the widget.
999
+ # @return [Types::DisplayConfig]
1000
+ #
1001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-dashboards-2025-08-18/WidgetConfig AWS API Documentation
1002
+ #
1003
+ class WidgetConfig < Struct.new(
1004
+ :query_parameters,
1005
+ :display_config)
1006
+ SENSITIVE = []
1007
+ include Aws::Structure
1008
+ end
1009
+
1010
+ end
1011
+ end
1012
+