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