@robhan-cdk-lib/aws_grafana 0.0.1 → 0.0.3

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.
@@ -234,49 +234,68 @@ export interface VpcConfiguration {
234
234
  */
235
235
  export interface WorkspaceProps {
236
236
  /**
237
- * Type of account access for the workspace.
237
+ * Specifies whether the workspace can access AWS resources in this AWS account only, or whether
238
+ * it can also access AWS resources in other accounts in the same organization. If this is
239
+ * ORGANIZATION, the OrganizationalUnits parameter specifies which organizational units the
240
+ * workspace can access.
241
+ *
238
242
  * Required field.
239
243
  */
240
244
  readonly accountAccessType: AccountAccessType;
241
245
  /**
242
- * Authentication providers to enable for the workspace.
246
+ * Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to
247
+ * authenticate users for using the Grafana console within a workspace.
248
+ *
243
249
  * Required field.
244
250
  */
245
251
  readonly authenticationProviders: AuthenticationProviders[];
246
252
  /**
247
- * Client token for idempotent workspace creation.
253
+ * A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.
254
+ *
248
255
  * Must be 1-64 characters long and contain only printable ASCII characters.
249
256
  */
250
257
  readonly clientToken?: string;
251
258
  /**
252
- * List of data sources to enable for the workspace.
259
+ * Specifies the AWS data sources that have been configured to have IAM roles and permissions
260
+ * created to allow Amazon Managed Grafana to read data from these sources.
261
+ * This list is only used when the workspace was created through the AWS console, and the
262
+ * permissionType is SERVICE_MANAGED.
253
263
  */
254
264
  readonly dataSources?: string[];
255
265
  /**
256
- * Description of the workspace.
266
+ * The user-defined description of the workspace.
267
+ *
257
268
  * Maximum length of 2048 characters.
258
269
  */
259
270
  readonly description?: string;
260
271
  /**
261
- * Grafana version for the workspace.
272
+ * Specifies the version of Grafana to support in the workspace. Defaults to the latest version
273
+ * on create (for example, 9.4), or the current version of the workspace on update.
274
+ * Can only be used to upgrade (for example, from 8.4 to 9.4), not downgrade (for example, from
275
+ * 9.4 to 8.4).
276
+ *
262
277
  * Must be 1-255 characters long.
263
278
  */
264
279
  readonly grafanaVersion?: string;
265
280
  /**
266
- * Name of the workspace.
267
- * Must be 1-255 characters long and contain only alphanumeric characters, hyphens, dots, underscores, and tildes.
281
+ * The name of the workspace.
282
+ *
283
+ * Must be 1-255 characters long and contain only alphanumeric characters, hyphens, dots,
284
+ * underscores, and tildes.
268
285
  */
269
286
  readonly name?: string;
270
287
  /**
271
- * Network access control configuration for the workspace.
288
+ * The configuration settings for network access to your workspace.
272
289
  */
273
290
  readonly networkAccessControl?: NetworkAccessControl;
274
291
  /**
275
- * Notification destinations to enable for the workspace.
292
+ * The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles
293
+ * and permissions for, to allow Amazon Managed Grafana to use these channels.
276
294
  */
277
295
  readonly notificationDestinations?: NotificationDestinations[];
278
296
  /**
279
- * List of organizational units to include in the workspace.
297
+ * Specifies the organizational units that this workspace is allowed to use data sources from, if
298
+ * this workspace is in an account that is part of an organization.
280
299
  */
281
300
  readonly organizationalUnits?: string[];
282
301
  /**
@@ -285,29 +304,47 @@ export interface WorkspaceProps {
285
304
  */
286
305
  readonly organizationRoleName?: string;
287
306
  /**
288
- * Permission type for the workspace.
307
+ * If this is SERVICE_MANAGED, and the workplace was created through the Amazon Managed Grafana
308
+ * console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the
309
+ * permissions that the workspace needs to use AWS data sources and notification channels.
310
+ *
311
+ * If this is CUSTOMER_MANAGED, you must manage those roles and permissions yourself.
312
+ *
313
+ * If you are working with a workspace in a member account of an organization and that account is
314
+ * not a delegated administrator account, and you want the workspace to access data sources in
315
+ * other AWS accounts in the organization, this parameter must be set to CUSTOMER_MANAGED.
316
+ *
289
317
  * Required field.
290
318
  */
291
319
  readonly permissionType: PermissionTypes;
292
320
  /**
293
- * Whether to enable the Grafana plugin admin page.
321
+ * Whether plugin administration is enabled in the workspace. Setting to true allows workspace
322
+ * admins to install, uninstall, and update plugins from within the Grafana workspace.
323
+ *
324
+ * This option is only valid for workspaces that support Grafana version 9 or newer.
325
+ *
294
326
  * Default: false
295
327
  */
296
328
  readonly pluginAdminEnabled?: boolean;
297
329
  /**
298
- * IAM role to use for the workspace.
330
+ * The IAM role that grants permissions to the AWS resources that the workspace will view data
331
+ * from.
299
332
  */
300
333
  readonly role?: IRole;
301
334
  /**
302
- * SAML configuration for the workspace.
335
+ * If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace
336
+ * user information and define which groups in the assertion attribute are to have the Admin and
337
+ * Editor roles in the workspace.
303
338
  */
304
339
  readonly samlConfiguration?: SamlConfiguration;
305
340
  /**
306
- * Name of the CloudFormation stack set to use.
341
+ * The name of the AWS CloudFormation stack set that is used to generate IAM roles to be used for
342
+ * this workspace.
307
343
  */
308
344
  readonly stackSetName?: string;
309
345
  /**
310
- * VPC configuration for the workspace.
346
+ * The configuration settings for an Amazon VPC that contains data sources for your Grafana
347
+ * workspace to connect to.
311
348
  */
312
349
  readonly vpcConfiguration?: VpcConfiguration;
313
350
  }
@@ -374,10 +411,9 @@ export declare enum Status {
374
411
  LICENSE_REMOVAL_FAILED = "LICENSE_REMOVAL_FAILED"
375
412
  }
376
413
  /**
377
- * Represents an Amazon Managed Grafana workspace.
378
- *
379
- * This class provides a high-level abstraction for creating and managing
380
- * Amazon Managed Grafana workspaces using AWS CDK.
414
+ * Specifies a workspace. In a workspace, you can create Grafana dashboards and visualizations to
415
+ * analyze your metrics, logs, and traces. You don't have to build, package, or deploy any hardware
416
+ * to run the Grafana server.
381
417
  */
382
418
  export declare class Workspace extends Construct {
383
419
  /**
@@ -512,67 +548,93 @@ export declare class Workspace extends Construct {
512
548
  */
513
549
  private static validateProps;
514
550
  /**
515
- * The type of account access for the workspace.
551
+ * Specifies whether the workspace can access AWS resources in this AWS account only, or whether
552
+ * it can also access AWS resources in other accounts in the same organization. If this is
553
+ * ORGANIZATION, the OrganizationalUnits parameter specifies which organizational units the
554
+ * workspace can access.
516
555
  */
517
556
  readonly accountAccessType: AccountAccessType;
518
557
  /**
519
- * Authentication providers enabled for the workspace.
558
+ * Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to
559
+ * authenticate users for using the Grafana console within a workspace.
520
560
  */
521
561
  readonly authenticationProviders: AuthenticationProviders[];
522
562
  /**
523
- * Client token used for idempotent workspace creation.
563
+ * A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.
524
564
  */
525
565
  readonly clientToken?: string;
526
566
  /**
527
- * Data sources enabled for the workspace.
567
+ * Specifies the AWS data sources that have been configured to have IAM roles and permissions
568
+ * created to allow Amazon Managed Grafana to read data from these sources.
569
+ *
570
+ * This list is only used when the workspace was created through the AWS console, and the
571
+ * permissionType is SERVICE_MANAGED.
528
572
  */
529
573
  readonly dataSources?: string[];
530
574
  /**
531
- * Description of the workspace.
575
+ * The user-defined description of the workspace.
532
576
  */
533
577
  readonly description?: string;
534
578
  /**
535
- * Name of the workspace.
579
+ * The name of the workspace.
536
580
  */
537
581
  readonly name?: string;
538
582
  /**
539
- * Network access control configuration for the workspace.
583
+ * The configuration settings for network access to your workspace.
540
584
  */
541
585
  readonly networkAccessControl?: NetworkAccessControl;
542
586
  /**
543
- * Notification destinations enabled for the workspace.
587
+ * The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles
588
+ * and permissions for, to allow Amazon Managed Grafana to use these channels.
544
589
  */
545
590
  readonly notificationDestinations?: NotificationDestinations[];
546
591
  /**
547
- * Organizational units included in the workspace.
592
+ * Specifies the organizational units that this workspace is allowed to use data sources from, if
593
+ * this workspace is in an account that is part of an organization.
548
594
  */
549
595
  readonly organizationalUnits?: string[];
550
596
  /**
551
- * Name of the IAM role used for the organization.
597
+ * The name of the IAM role that is used to access resources through Organizations.
552
598
  */
553
599
  readonly organizationRoleName?: string;
554
600
  /**
555
- * Permission type for the workspace.
601
+ * If this is SERVICE_MANAGED, and the workplace was created through the Amazon Managed Grafana
602
+ * console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the
603
+ * permissions that the workspace needs to use AWS data sources and notification channels.
604
+ *
605
+ * If this is CUSTOMER_MANAGED, you must manage those roles and permissions yourself.
606
+ *
607
+ * If you are working with a workspace in a member account of an organization and that account is
608
+ * not a delegated administrator account, and you want the workspace to access data sources in
609
+ * other AWS accounts in the organization, this parameter must be set to CUSTOMER_MANAGED.
556
610
  */
557
611
  readonly permissionType: PermissionTypes;
558
612
  /**
559
- * Whether the Grafana plugin admin page is enabled.
613
+ * Whether plugin administration is enabled in the workspace. Setting to true allows workspace
614
+ * admins to install, uninstall, and update plugins from within the Grafana workspace.
615
+ *
616
+ * This option is only valid for workspaces that support Grafana version 9 or newer.
560
617
  */
561
618
  readonly pluginAdminEnabled?: boolean;
562
619
  /**
563
- * IAM role used for the workspace.
620
+ * The IAM role that grants permissions to the AWS resources that the workspace will view data
621
+ * from.
564
622
  */
565
623
  readonly role?: IRole;
566
624
  /**
567
- * SAML configuration for the workspace.
625
+ * If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace
626
+ * user information and define which groups in the assertion attribute are to have the Admin and
627
+ * Editor roles in the workspace.
568
628
  */
569
629
  readonly samlConfiguration?: SamlConfiguration;
570
630
  /**
571
- * Name of the CloudFormation stack set used.
631
+ * The name of the AWS CloudFormation stack set that is used to generate IAM roles to be used for
632
+ * this workspace.
572
633
  */
573
634
  readonly stackSetName?: string;
574
635
  /**
575
- * VPC configuration for the workspace.
636
+ * The configuration settings for an Amazon VPC that contains data sources for your Grafana
637
+ * workspace to connect to.
576
638
  */
577
639
  readonly vpcConfiguration?: VpcConfiguration;
578
640
  /**
@@ -580,45 +642,37 @@ export declare class Workspace extends Construct {
580
642
  */
581
643
  private readonly workspace;
582
644
  /**
583
- * Timestamp when the workspace was created.
645
+ * The date that the workspace was created.
584
646
  */
585
647
  readonly creationTimestamp: string;
586
648
  /**
587
- * Endpoint URL for the Grafana workspace.
649
+ * The URL that users can use to access the Grafana console in the workspace.
588
650
  */
589
651
  readonly endpoint: string;
590
652
  /**
591
- * Grafana version running in the workspace.
653
+ * Specifies the version of Grafana supported by this workspace.
592
654
  */
593
655
  readonly grafanaVersion: string;
594
656
  /**
595
- * Unique identifier for the workspace.
657
+ * The unique ID of this workspace.
596
658
  */
597
659
  readonly id: string;
598
660
  /**
599
- * Timestamp when the workspace was last modified.
661
+ * The most recent date that the workspace was modified.
600
662
  */
601
663
  readonly modificationTimestamp: string;
602
664
  /**
603
- * Status of SAML configuration for the workspace.
665
+ * Specifies whether the workspace's SAML configuration is complete.
604
666
  */
605
667
  readonly samlConfigurationStatus: SamlConfigurationStatuses;
606
668
  /**
607
- * SSO client ID for the workspace.
669
+ * The ID of the IAM Identity Center-managed application that is created by Amazon Managed
670
+ * Grafana.
608
671
  */
609
672
  readonly ssoClientId: string;
610
673
  /**
611
- * Current status of the workspace.
674
+ * The current status of the workspace.
612
675
  */
613
676
  readonly status: Status;
614
- /**
615
- * Creates a new Amazon Managed Grafana workspace.
616
- *
617
- * @param scope - The scope in which to define this construct
618
- * @param id - The scoped construct ID
619
- * @param props - Configuration properties for the workspace
620
- *
621
- * @throws Error if any of the provided properties fail validation
622
- */
623
677
  constructor(scope: Construct, id: string, props: WorkspaceProps);
624
678
  }