robhan-cdk-lib.aws-grafana 0.0.106__py3-none-any.whl → 0.0.226__py3-none-any.whl

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.
@@ -127,7 +127,7 @@ class IWorkspace(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
127
127
 
128
128
  @builtins.property
129
129
  @jsii.member(jsii_name="accountAccessType")
130
- def account_access_type(self) -> AccountAccessType:
130
+ def account_access_type(self) -> "AccountAccessType":
131
131
  '''Specifies whether the workspace can access AWS resources in this AWS account only, or whether it can also access AWS resources in other accounts in the same organization.
132
132
 
133
133
  If this is
@@ -138,7 +138,7 @@ class IWorkspace(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
138
138
 
139
139
  @builtins.property
140
140
  @jsii.member(jsii_name="authenticationProviders")
141
- def authentication_providers(self) -> typing.List[AuthenticationProviders]:
141
+ def authentication_providers(self) -> typing.List["AuthenticationProviders"]:
142
142
  '''Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to authenticate users for using the Grafana console within a workspace.'''
143
143
  ...
144
144
 
@@ -241,7 +241,7 @@ class IWorkspace(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
241
241
 
242
242
  @builtins.property
243
243
  @jsii.member(jsii_name="role")
244
- def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
244
+ def role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
245
245
  '''The IAM role that grants permissions to the AWS resources that the workspace will view data from.'''
246
246
  ...
247
247
 
@@ -273,20 +273,20 @@ class _IWorkspaceProxy(
273
273
 
274
274
  @builtins.property
275
275
  @jsii.member(jsii_name="accountAccessType")
276
- def account_access_type(self) -> AccountAccessType:
276
+ def account_access_type(self) -> "AccountAccessType":
277
277
  '''Specifies whether the workspace can access AWS resources in this AWS account only, or whether it can also access AWS resources in other accounts in the same organization.
278
278
 
279
279
  If this is
280
280
  ORGANIZATION, the OrganizationalUnits parameter specifies which organizational units the
281
281
  workspace can access.
282
282
  '''
283
- return typing.cast(AccountAccessType, jsii.get(self, "accountAccessType"))
283
+ return typing.cast("AccountAccessType", jsii.get(self, "accountAccessType"))
284
284
 
285
285
  @builtins.property
286
286
  @jsii.member(jsii_name="authenticationProviders")
287
- def authentication_providers(self) -> typing.List[AuthenticationProviders]:
287
+ def authentication_providers(self) -> typing.List["AuthenticationProviders"]:
288
288
  '''Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to authenticate users for using the Grafana console within a workspace.'''
289
- return typing.cast(typing.List[AuthenticationProviders], jsii.get(self, "authenticationProviders"))
289
+ return typing.cast(typing.List["AuthenticationProviders"], jsii.get(self, "authenticationProviders"))
290
290
 
291
291
  @builtins.property
292
292
  @jsii.member(jsii_name="permissionType")
@@ -387,9 +387,9 @@ class _IWorkspaceProxy(
387
387
 
388
388
  @builtins.property
389
389
  @jsii.member(jsii_name="role")
390
- def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
390
+ def role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
391
391
  '''The IAM role that grants permissions to the AWS resources that the workspace will view data from.'''
392
- return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], jsii.get(self, "role"))
392
+ return typing.cast(typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"], jsii.get(self, "role"))
393
393
 
394
394
  @builtins.property
395
395
  @jsii.member(jsii_name="samlConfiguration")
@@ -422,8 +422,8 @@ class NetworkAccessControl:
422
422
  def __init__(
423
423
  self,
424
424
  *,
425
- prefix_lists: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.IPrefixList]] = None,
426
- vpc_endpoints: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.IVpcEndpoint]] = None,
425
+ prefix_lists: typing.Optional[typing.Sequence["_aws_cdk_aws_ec2_ceddda9d.IPrefixList"]] = None,
426
+ vpc_endpoints: typing.Optional[typing.Sequence["_aws_cdk_aws_ec2_ceddda9d.IVpcEndpoint"]] = None,
427
427
  ) -> None:
428
428
  '''The configuration settings for network access to your workspace.
429
429
 
@@ -443,7 +443,7 @@ class NetworkAccessControl:
443
443
  @builtins.property
444
444
  def prefix_lists(
445
445
  self,
446
- ) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.IPrefixList]]:
446
+ ) -> typing.Optional[typing.List["_aws_cdk_aws_ec2_ceddda9d.IPrefixList"]]:
447
447
  '''An array of prefix list IDs.
448
448
 
449
449
  A prefix list is a list of CIDR ranges of IP addresses. The IP
@@ -454,12 +454,12 @@ class NetworkAccessControl:
454
454
  Maximum of 5 prefix lists allowed.
455
455
  '''
456
456
  result = self._values.get("prefix_lists")
457
- return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.IPrefixList]], result)
457
+ return typing.cast(typing.Optional[typing.List["_aws_cdk_aws_ec2_ceddda9d.IPrefixList"]], result)
458
458
 
459
459
  @builtins.property
460
460
  def vpc_endpoints(
461
461
  self,
462
- ) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.IVpcEndpoint]]:
462
+ ) -> typing.Optional[typing.List["_aws_cdk_aws_ec2_ceddda9d.IVpcEndpoint"]]:
463
463
  '''An array of Amazon VPC endpoint IDs for the workspace.
464
464
 
465
465
  You can create VPC endpoints to your
@@ -470,7 +470,7 @@ class NetworkAccessControl:
470
470
  Maximum of 5 VPC endpoints allowed.
471
471
  '''
472
472
  result = self._values.get("vpc_endpoints")
473
- return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.IVpcEndpoint]], result)
473
+ return typing.cast(typing.Optional[typing.List["_aws_cdk_aws_ec2_ceddda9d.IVpcEndpoint"]], result)
474
474
 
475
475
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
476
476
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -648,7 +648,7 @@ class SamlConfiguration:
648
648
  *,
649
649
  idp_metadata: typing.Union["SamlIdpMetadata", typing.Dict[builtins.str, typing.Any]],
650
650
  allowed_organizations: typing.Optional[typing.Sequence[builtins.str]] = None,
651
- assertion_atrributes: typing.Optional[typing.Union[SamlAssertionAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
651
+ assertion_atrributes: typing.Optional[typing.Union["SamlAssertionAttributes", typing.Dict[builtins.str, typing.Any]]] = None,
652
652
  login_validity_duration: typing.Optional[jsii.Number] = None,
653
653
  role_values: typing.Optional[typing.Union["SamlRoleValues", typing.Dict[builtins.str, typing.Any]]] = None,
654
654
  ) -> None:
@@ -707,10 +707,10 @@ class SamlConfiguration:
707
707
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
708
708
 
709
709
  @builtins.property
710
- def assertion_atrributes(self) -> typing.Optional[SamlAssertionAttributes]:
710
+ def assertion_atrributes(self) -> typing.Optional["SamlAssertionAttributes"]:
711
711
  '''A structure that defines which attributes in the SAML assertion are to be used to define information about the users authenticated by that IdP to use the workspace.'''
712
712
  result = self._values.get("assertion_atrributes")
713
- return typing.cast(typing.Optional[SamlAssertionAttributes], result)
713
+ return typing.cast(typing.Optional["SamlAssertionAttributes"], result)
714
714
 
715
715
  @builtins.property
716
716
  def login_validity_duration(self) -> typing.Optional[jsii.Number]:
@@ -897,8 +897,8 @@ class VpcConfiguration:
897
897
  def __init__(
898
898
  self,
899
899
  *,
900
- security_groups: typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup],
901
- subnets: typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISubnet],
900
+ security_groups: typing.Sequence["_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup"],
901
+ subnets: typing.Sequence["_aws_cdk_aws_ec2_ceddda9d.ISubnet"],
902
902
  ) -> None:
903
903
  '''The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.
904
904
 
@@ -915,7 +915,9 @@ class VpcConfiguration:
915
915
  }
916
916
 
917
917
  @builtins.property
918
- def security_groups(self) -> typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]:
918
+ def security_groups(
919
+ self,
920
+ ) -> typing.List["_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup"]:
919
921
  '''The list of Amazon EC2 security groups attached to the Amazon VPC for your Grafana workspace to connect.
920
922
 
921
923
  Duplicates not allowed.
@@ -926,10 +928,10 @@ class VpcConfiguration:
926
928
  '''
927
929
  result = self._values.get("security_groups")
928
930
  assert result is not None, "Required property 'security_groups' is missing"
929
- return typing.cast(typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup], result)
931
+ return typing.cast(typing.List["_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup"], result)
930
932
 
931
933
  @builtins.property
932
- def subnets(self) -> typing.List[_aws_cdk_aws_ec2_ceddda9d.ISubnet]:
934
+ def subnets(self) -> typing.List["_aws_cdk_aws_ec2_ceddda9d.ISubnet"]:
933
935
  '''The list of Amazon EC2 subnets created in the Amazon VPC for your Grafana workspace to connect. Duplicates not allowed.
934
936
 
935
937
  Array Members: Minimum number of 2 items. Maximum number of 6 items.
@@ -938,7 +940,7 @@ class VpcConfiguration:
938
940
  '''
939
941
  result = self._values.get("subnets")
940
942
  assert result is not None, "Required property 'subnets' is missing"
941
- return typing.cast(typing.List[_aws_cdk_aws_ec2_ceddda9d.ISubnet], result)
943
+ return typing.cast(typing.List["_aws_cdk_aws_ec2_ceddda9d.ISubnet"], result)
942
944
 
943
945
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
944
946
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -979,23 +981,23 @@ class WorkspaceAttributes:
979
981
  def __init__(
980
982
  self,
981
983
  *,
982
- account_access_type: AccountAccessType,
983
- authentication_providers: typing.Sequence[AuthenticationProviders],
984
- permission_type: PermissionTypes,
984
+ account_access_type: "AccountAccessType",
985
+ authentication_providers: typing.Sequence["AuthenticationProviders"],
986
+ permission_type: "PermissionTypes",
985
987
  workspace_arn: builtins.str,
986
988
  client_token: typing.Optional[builtins.str] = None,
987
989
  data_sources: typing.Optional[typing.Sequence[builtins.str]] = None,
988
990
  description: typing.Optional[builtins.str] = None,
989
991
  name: typing.Optional[builtins.str] = None,
990
- network_access_control: typing.Optional[typing.Union[NetworkAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
991
- notification_destinations: typing.Optional[typing.Sequence[NotificationDestinations]] = None,
992
+ network_access_control: typing.Optional[typing.Union["NetworkAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
993
+ notification_destinations: typing.Optional[typing.Sequence["NotificationDestinations"]] = None,
992
994
  organizational_units: typing.Optional[typing.Sequence[builtins.str]] = None,
993
995
  organization_role_name: typing.Optional[builtins.str] = None,
994
996
  plugin_admin_enabled: typing.Optional[builtins.bool] = None,
995
- role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
996
- saml_configuration: typing.Optional[typing.Union[SamlConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
997
+ role: typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"] = None,
998
+ saml_configuration: typing.Optional[typing.Union["SamlConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
997
999
  stack_set_name: typing.Optional[builtins.str] = None,
998
- vpc_configuration: typing.Optional[typing.Union[VpcConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1000
+ vpc_configuration: typing.Optional[typing.Union["VpcConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
999
1001
  ) -> None:
1000
1002
  '''
1001
1003
  :param account_access_type: Specifies whether the workspace can access AWS resources in this AWS account only, or whether it can also access AWS resources in other accounts in the same organization. If this is ORGANIZATION, the OrganizationalUnits parameter specifies which organizational units the workspace can access. Required field.
@@ -1075,7 +1077,7 @@ class WorkspaceAttributes:
1075
1077
  self._values["vpc_configuration"] = vpc_configuration
1076
1078
 
1077
1079
  @builtins.property
1078
- def account_access_type(self) -> AccountAccessType:
1080
+ def account_access_type(self) -> "AccountAccessType":
1079
1081
  '''Specifies whether the workspace can access AWS resources in this AWS account only, or whether it can also access AWS resources in other accounts in the same organization.
1080
1082
 
1081
1083
  If this is
@@ -1086,20 +1088,20 @@ class WorkspaceAttributes:
1086
1088
  '''
1087
1089
  result = self._values.get("account_access_type")
1088
1090
  assert result is not None, "Required property 'account_access_type' is missing"
1089
- return typing.cast(AccountAccessType, result)
1091
+ return typing.cast("AccountAccessType", result)
1090
1092
 
1091
1093
  @builtins.property
1092
- def authentication_providers(self) -> typing.List[AuthenticationProviders]:
1094
+ def authentication_providers(self) -> typing.List["AuthenticationProviders"]:
1093
1095
  '''Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to authenticate users for using the Grafana console within a workspace.
1094
1096
 
1095
1097
  Required field.
1096
1098
  '''
1097
1099
  result = self._values.get("authentication_providers")
1098
1100
  assert result is not None, "Required property 'authentication_providers' is missing"
1099
- return typing.cast(typing.List[AuthenticationProviders], result)
1101
+ return typing.cast(typing.List["AuthenticationProviders"], result)
1100
1102
 
1101
1103
  @builtins.property
1102
- def permission_type(self) -> PermissionTypes:
1104
+ def permission_type(self) -> "PermissionTypes":
1103
1105
  '''If this is SERVICE_MANAGED, and the workplace was created through the Amazon Managed Grafana console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the workspace needs to use AWS data sources and notification channels.
1104
1106
 
1105
1107
  If this is CUSTOMER_MANAGED, you must manage those roles and permissions yourself.
@@ -1112,7 +1114,7 @@ class WorkspaceAttributes:
1112
1114
  '''
1113
1115
  result = self._values.get("permission_type")
1114
1116
  assert result is not None, "Required property 'permission_type' is missing"
1115
- return typing.cast(PermissionTypes, result)
1117
+ return typing.cast("PermissionTypes", result)
1116
1118
 
1117
1119
  @builtins.property
1118
1120
  def workspace_arn(self) -> builtins.str:
@@ -1160,18 +1162,18 @@ class WorkspaceAttributes:
1160
1162
  return typing.cast(typing.Optional[builtins.str], result)
1161
1163
 
1162
1164
  @builtins.property
1163
- def network_access_control(self) -> typing.Optional[NetworkAccessControl]:
1165
+ def network_access_control(self) -> typing.Optional["NetworkAccessControl"]:
1164
1166
  '''The configuration settings for network access to your workspace.'''
1165
1167
  result = self._values.get("network_access_control")
1166
- return typing.cast(typing.Optional[NetworkAccessControl], result)
1168
+ return typing.cast(typing.Optional["NetworkAccessControl"], result)
1167
1169
 
1168
1170
  @builtins.property
1169
1171
  def notification_destinations(
1170
1172
  self,
1171
- ) -> typing.Optional[typing.List[NotificationDestinations]]:
1173
+ ) -> typing.Optional[typing.List["NotificationDestinations"]]:
1172
1174
  '''The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles and permissions for, to allow Amazon Managed Grafana to use these channels.'''
1173
1175
  result = self._values.get("notification_destinations")
1174
- return typing.cast(typing.Optional[typing.List[NotificationDestinations]], result)
1176
+ return typing.cast(typing.Optional[typing.List["NotificationDestinations"]], result)
1175
1177
 
1176
1178
  @builtins.property
1177
1179
  def organizational_units(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -1203,16 +1205,16 @@ class WorkspaceAttributes:
1203
1205
  return typing.cast(typing.Optional[builtins.bool], result)
1204
1206
 
1205
1207
  @builtins.property
1206
- def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
1208
+ def role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
1207
1209
  '''The IAM role that grants permissions to the AWS resources that the workspace will view data from.'''
1208
1210
  result = self._values.get("role")
1209
- return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], result)
1211
+ return typing.cast(typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"], result)
1210
1212
 
1211
1213
  @builtins.property
1212
- def saml_configuration(self) -> typing.Optional[SamlConfiguration]:
1214
+ def saml_configuration(self) -> typing.Optional["SamlConfiguration"]:
1213
1215
  '''If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the Admin and Editor roles in the workspace.'''
1214
1216
  result = self._values.get("saml_configuration")
1215
- return typing.cast(typing.Optional[SamlConfiguration], result)
1217
+ return typing.cast(typing.Optional["SamlConfiguration"], result)
1216
1218
 
1217
1219
  @builtins.property
1218
1220
  def stack_set_name(self) -> typing.Optional[builtins.str]:
@@ -1221,10 +1223,10 @@ class WorkspaceAttributes:
1221
1223
  return typing.cast(typing.Optional[builtins.str], result)
1222
1224
 
1223
1225
  @builtins.property
1224
- def vpc_configuration(self) -> typing.Optional[VpcConfiguration]:
1226
+ def vpc_configuration(self) -> typing.Optional["VpcConfiguration"]:
1225
1227
  '''The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.'''
1226
1228
  result = self._values.get("vpc_configuration")
1227
- return typing.cast(typing.Optional[VpcConfiguration], result)
1229
+ return typing.cast(typing.Optional["VpcConfiguration"], result)
1228
1230
 
1229
1231
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1230
1232
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1246,7 +1248,7 @@ class WorkspaceBase(
1246
1248
  ):
1247
1249
  def __init__(
1248
1250
  self,
1249
- scope: _constructs_77d1e7e8.Construct,
1251
+ scope: "_constructs_77d1e7e8.Construct",
1250
1252
  id: builtins.str,
1251
1253
  *,
1252
1254
  account: typing.Optional[builtins.str] = None,
@@ -1298,21 +1300,21 @@ class WorkspaceBase(
1298
1300
  @builtins.property
1299
1301
  @jsii.member(jsii_name="accountAccessType")
1300
1302
  @abc.abstractmethod
1301
- def account_access_type(self) -> AccountAccessType:
1303
+ def account_access_type(self) -> "AccountAccessType":
1302
1304
  '''The account access type for the workspace.'''
1303
1305
  ...
1304
1306
 
1305
1307
  @builtins.property
1306
1308
  @jsii.member(jsii_name="authenticationProviders")
1307
1309
  @abc.abstractmethod
1308
- def authentication_providers(self) -> typing.List[AuthenticationProviders]:
1310
+ def authentication_providers(self) -> typing.List["AuthenticationProviders"]:
1309
1311
  '''The authentication providers for the workspace.'''
1310
1312
  ...
1311
1313
 
1312
1314
  @builtins.property
1313
1315
  @jsii.member(jsii_name="permissionType")
1314
1316
  @abc.abstractmethod
1315
- def permission_type(self) -> PermissionTypes:
1317
+ def permission_type(self) -> "PermissionTypes":
1316
1318
  '''The permission type for the workspace.'''
1317
1319
  ...
1318
1320
 
@@ -1361,7 +1363,7 @@ class WorkspaceBase(
1361
1363
  @builtins.property
1362
1364
  @jsii.member(jsii_name="networkAccessControl")
1363
1365
  @abc.abstractmethod
1364
- def network_access_control(self) -> typing.Optional[NetworkAccessControl]:
1366
+ def network_access_control(self) -> typing.Optional["NetworkAccessControl"]:
1365
1367
  '''The configuration settings for network access to your workspace.'''
1366
1368
  ...
1367
1369
 
@@ -1370,7 +1372,7 @@ class WorkspaceBase(
1370
1372
  @abc.abstractmethod
1371
1373
  def notification_destinations(
1372
1374
  self,
1373
- ) -> typing.Optional[typing.List[NotificationDestinations]]:
1375
+ ) -> typing.Optional[typing.List["NotificationDestinations"]]:
1374
1376
  '''The notification destinations for the workspace.'''
1375
1377
  ...
1376
1378
 
@@ -1404,14 +1406,14 @@ class WorkspaceBase(
1404
1406
  @builtins.property
1405
1407
  @jsii.member(jsii_name="role")
1406
1408
  @abc.abstractmethod
1407
- def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
1409
+ def role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
1408
1410
  '''The IAM role that grants permissions to the AWS resources that the workspace will view data from.'''
1409
1411
  ...
1410
1412
 
1411
1413
  @builtins.property
1412
1414
  @jsii.member(jsii_name="samlConfiguration")
1413
1415
  @abc.abstractmethod
1414
- def saml_configuration(self) -> typing.Optional[SamlConfiguration]:
1416
+ def saml_configuration(self) -> typing.Optional["SamlConfiguration"]:
1415
1417
  '''If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the Admin and Editor roles in the workspace.'''
1416
1418
  ...
1417
1419
 
@@ -1425,7 +1427,7 @@ class WorkspaceBase(
1425
1427
  @builtins.property
1426
1428
  @jsii.member(jsii_name="vpcConfiguration")
1427
1429
  @abc.abstractmethod
1428
- def vpc_configuration(self) -> typing.Optional[VpcConfiguration]:
1430
+ def vpc_configuration(self) -> typing.Optional["VpcConfiguration"]:
1429
1431
  '''The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.'''
1430
1432
  ...
1431
1433
 
@@ -1436,21 +1438,21 @@ class _WorkspaceBaseProxy(
1436
1438
  ):
1437
1439
  @builtins.property
1438
1440
  @jsii.member(jsii_name="accountAccessType")
1439
- def account_access_type(self) -> AccountAccessType:
1441
+ def account_access_type(self) -> "AccountAccessType":
1440
1442
  '''The account access type for the workspace.'''
1441
- return typing.cast(AccountAccessType, jsii.get(self, "accountAccessType"))
1443
+ return typing.cast("AccountAccessType", jsii.get(self, "accountAccessType"))
1442
1444
 
1443
1445
  @builtins.property
1444
1446
  @jsii.member(jsii_name="authenticationProviders")
1445
- def authentication_providers(self) -> typing.List[AuthenticationProviders]:
1447
+ def authentication_providers(self) -> typing.List["AuthenticationProviders"]:
1446
1448
  '''The authentication providers for the workspace.'''
1447
- return typing.cast(typing.List[AuthenticationProviders], jsii.get(self, "authenticationProviders"))
1449
+ return typing.cast(typing.List["AuthenticationProviders"], jsii.get(self, "authenticationProviders"))
1448
1450
 
1449
1451
  @builtins.property
1450
1452
  @jsii.member(jsii_name="permissionType")
1451
- def permission_type(self) -> PermissionTypes:
1453
+ def permission_type(self) -> "PermissionTypes":
1452
1454
  '''The permission type for the workspace.'''
1453
- return typing.cast(PermissionTypes, jsii.get(self, "permissionType"))
1455
+ return typing.cast("PermissionTypes", jsii.get(self, "permissionType"))
1454
1456
 
1455
1457
  @builtins.property
1456
1458
  @jsii.member(jsii_name="workspaceArn")
@@ -1490,17 +1492,17 @@ class _WorkspaceBaseProxy(
1490
1492
 
1491
1493
  @builtins.property
1492
1494
  @jsii.member(jsii_name="networkAccessControl")
1493
- def network_access_control(self) -> typing.Optional[NetworkAccessControl]:
1495
+ def network_access_control(self) -> typing.Optional["NetworkAccessControl"]:
1494
1496
  '''The configuration settings for network access to your workspace.'''
1495
- return typing.cast(typing.Optional[NetworkAccessControl], jsii.get(self, "networkAccessControl"))
1497
+ return typing.cast(typing.Optional["NetworkAccessControl"], jsii.get(self, "networkAccessControl"))
1496
1498
 
1497
1499
  @builtins.property
1498
1500
  @jsii.member(jsii_name="notificationDestinations")
1499
1501
  def notification_destinations(
1500
1502
  self,
1501
- ) -> typing.Optional[typing.List[NotificationDestinations]]:
1503
+ ) -> typing.Optional[typing.List["NotificationDestinations"]]:
1502
1504
  '''The notification destinations for the workspace.'''
1503
- return typing.cast(typing.Optional[typing.List[NotificationDestinations]], jsii.get(self, "notificationDestinations"))
1505
+ return typing.cast(typing.Optional[typing.List["NotificationDestinations"]], jsii.get(self, "notificationDestinations"))
1504
1506
 
1505
1507
  @builtins.property
1506
1508
  @jsii.member(jsii_name="organizationalUnits")
@@ -1528,15 +1530,15 @@ class _WorkspaceBaseProxy(
1528
1530
 
1529
1531
  @builtins.property
1530
1532
  @jsii.member(jsii_name="role")
1531
- def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
1533
+ def role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
1532
1534
  '''The IAM role that grants permissions to the AWS resources that the workspace will view data from.'''
1533
- return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], jsii.get(self, "role"))
1535
+ return typing.cast(typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"], jsii.get(self, "role"))
1534
1536
 
1535
1537
  @builtins.property
1536
1538
  @jsii.member(jsii_name="samlConfiguration")
1537
- def saml_configuration(self) -> typing.Optional[SamlConfiguration]:
1539
+ def saml_configuration(self) -> typing.Optional["SamlConfiguration"]:
1538
1540
  '''If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the Admin and Editor roles in the workspace.'''
1539
- return typing.cast(typing.Optional[SamlConfiguration], jsii.get(self, "samlConfiguration"))
1541
+ return typing.cast(typing.Optional["SamlConfiguration"], jsii.get(self, "samlConfiguration"))
1540
1542
 
1541
1543
  @builtins.property
1542
1544
  @jsii.member(jsii_name="stackSetName")
@@ -1546,9 +1548,9 @@ class _WorkspaceBaseProxy(
1546
1548
 
1547
1549
  @builtins.property
1548
1550
  @jsii.member(jsii_name="vpcConfiguration")
1549
- def vpc_configuration(self) -> typing.Optional[VpcConfiguration]:
1551
+ def vpc_configuration(self) -> typing.Optional["VpcConfiguration"]:
1550
1552
  '''The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.'''
1551
- return typing.cast(typing.Optional[VpcConfiguration], jsii.get(self, "vpcConfiguration"))
1553
+ return typing.cast(typing.Optional["VpcConfiguration"], jsii.get(self, "vpcConfiguration"))
1552
1554
 
1553
1555
  # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
1554
1556
  typing.cast(typing.Any, WorkspaceBase).__jsii_proxy_class__ = lambda : _WorkspaceBaseProxy
@@ -1581,23 +1583,23 @@ class WorkspaceProps:
1581
1583
  def __init__(
1582
1584
  self,
1583
1585
  *,
1584
- account_access_type: AccountAccessType,
1585
- authentication_providers: typing.Sequence[AuthenticationProviders],
1586
- permission_type: PermissionTypes,
1586
+ account_access_type: "AccountAccessType",
1587
+ authentication_providers: typing.Sequence["AuthenticationProviders"],
1588
+ permission_type: "PermissionTypes",
1587
1589
  client_token: typing.Optional[builtins.str] = None,
1588
1590
  data_sources: typing.Optional[typing.Sequence[builtins.str]] = None,
1589
1591
  description: typing.Optional[builtins.str] = None,
1590
1592
  grafana_version: typing.Optional[builtins.str] = None,
1591
1593
  name: typing.Optional[builtins.str] = None,
1592
- network_access_control: typing.Optional[typing.Union[NetworkAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
1593
- notification_destinations: typing.Optional[typing.Sequence[NotificationDestinations]] = None,
1594
+ network_access_control: typing.Optional[typing.Union["NetworkAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
1595
+ notification_destinations: typing.Optional[typing.Sequence["NotificationDestinations"]] = None,
1594
1596
  organizational_units: typing.Optional[typing.Sequence[builtins.str]] = None,
1595
1597
  organization_role_name: typing.Optional[builtins.str] = None,
1596
1598
  plugin_admin_enabled: typing.Optional[builtins.bool] = None,
1597
- role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
1598
- saml_configuration: typing.Optional[typing.Union[SamlConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1599
+ role: typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"] = None,
1600
+ saml_configuration: typing.Optional[typing.Union["SamlConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
1599
1601
  stack_set_name: typing.Optional[builtins.str] = None,
1600
- vpc_configuration: typing.Optional[typing.Union[VpcConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1602
+ vpc_configuration: typing.Optional[typing.Union["VpcConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
1601
1603
  ) -> None:
1602
1604
  '''Properties for creating an Amazon Managed Grafana workspace.
1603
1605
 
@@ -1679,7 +1681,7 @@ class WorkspaceProps:
1679
1681
  self._values["vpc_configuration"] = vpc_configuration
1680
1682
 
1681
1683
  @builtins.property
1682
- def account_access_type(self) -> AccountAccessType:
1684
+ def account_access_type(self) -> "AccountAccessType":
1683
1685
  '''Specifies whether the workspace can access AWS resources in this AWS account only, or whether it can also access AWS resources in other accounts in the same organization.
1684
1686
 
1685
1687
  If this is
@@ -1690,20 +1692,20 @@ class WorkspaceProps:
1690
1692
  '''
1691
1693
  result = self._values.get("account_access_type")
1692
1694
  assert result is not None, "Required property 'account_access_type' is missing"
1693
- return typing.cast(AccountAccessType, result)
1695
+ return typing.cast("AccountAccessType", result)
1694
1696
 
1695
1697
  @builtins.property
1696
- def authentication_providers(self) -> typing.List[AuthenticationProviders]:
1698
+ def authentication_providers(self) -> typing.List["AuthenticationProviders"]:
1697
1699
  '''Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to authenticate users for using the Grafana console within a workspace.
1698
1700
 
1699
1701
  Required field.
1700
1702
  '''
1701
1703
  result = self._values.get("authentication_providers")
1702
1704
  assert result is not None, "Required property 'authentication_providers' is missing"
1703
- return typing.cast(typing.List[AuthenticationProviders], result)
1705
+ return typing.cast(typing.List["AuthenticationProviders"], result)
1704
1706
 
1705
1707
  @builtins.property
1706
- def permission_type(self) -> PermissionTypes:
1708
+ def permission_type(self) -> "PermissionTypes":
1707
1709
  '''If this is SERVICE_MANAGED, and the workplace was created through the Amazon Managed Grafana console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the workspace needs to use AWS data sources and notification channels.
1708
1710
 
1709
1711
  If this is CUSTOMER_MANAGED, you must manage those roles and permissions yourself.
@@ -1716,7 +1718,7 @@ class WorkspaceProps:
1716
1718
  '''
1717
1719
  result = self._values.get("permission_type")
1718
1720
  assert result is not None, "Required property 'permission_type' is missing"
1719
- return typing.cast(PermissionTypes, result)
1721
+ return typing.cast("PermissionTypes", result)
1720
1722
 
1721
1723
  @builtins.property
1722
1724
  def client_token(self) -> typing.Optional[builtins.str]:
@@ -1771,18 +1773,18 @@ class WorkspaceProps:
1771
1773
  return typing.cast(typing.Optional[builtins.str], result)
1772
1774
 
1773
1775
  @builtins.property
1774
- def network_access_control(self) -> typing.Optional[NetworkAccessControl]:
1776
+ def network_access_control(self) -> typing.Optional["NetworkAccessControl"]:
1775
1777
  '''The configuration settings for network access to your workspace.'''
1776
1778
  result = self._values.get("network_access_control")
1777
- return typing.cast(typing.Optional[NetworkAccessControl], result)
1779
+ return typing.cast(typing.Optional["NetworkAccessControl"], result)
1778
1780
 
1779
1781
  @builtins.property
1780
1782
  def notification_destinations(
1781
1783
  self,
1782
- ) -> typing.Optional[typing.List[NotificationDestinations]]:
1784
+ ) -> typing.Optional[typing.List["NotificationDestinations"]]:
1783
1785
  '''The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles and permissions for, to allow Amazon Managed Grafana to use these channels.'''
1784
1786
  result = self._values.get("notification_destinations")
1785
- return typing.cast(typing.Optional[typing.List[NotificationDestinations]], result)
1787
+ return typing.cast(typing.Optional[typing.List["NotificationDestinations"]], result)
1786
1788
 
1787
1789
  @builtins.property
1788
1790
  def organizational_units(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -1814,16 +1816,16 @@ class WorkspaceProps:
1814
1816
  return typing.cast(typing.Optional[builtins.bool], result)
1815
1817
 
1816
1818
  @builtins.property
1817
- def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
1819
+ def role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
1818
1820
  '''The IAM role that grants permissions to the AWS resources that the workspace will view data from.'''
1819
1821
  result = self._values.get("role")
1820
- return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], result)
1822
+ return typing.cast(typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"], result)
1821
1823
 
1822
1824
  @builtins.property
1823
- def saml_configuration(self) -> typing.Optional[SamlConfiguration]:
1825
+ def saml_configuration(self) -> typing.Optional["SamlConfiguration"]:
1824
1826
  '''If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the Admin and Editor roles in the workspace.'''
1825
1827
  result = self._values.get("saml_configuration")
1826
- return typing.cast(typing.Optional[SamlConfiguration], result)
1828
+ return typing.cast(typing.Optional["SamlConfiguration"], result)
1827
1829
 
1828
1830
  @builtins.property
1829
1831
  def stack_set_name(self) -> typing.Optional[builtins.str]:
@@ -1832,10 +1834,10 @@ class WorkspaceProps:
1832
1834
  return typing.cast(typing.Optional[builtins.str], result)
1833
1835
 
1834
1836
  @builtins.property
1835
- def vpc_configuration(self) -> typing.Optional[VpcConfiguration]:
1837
+ def vpc_configuration(self) -> typing.Optional["VpcConfiguration"]:
1836
1838
  '''The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.'''
1837
1839
  result = self._values.get("vpc_configuration")
1838
- return typing.cast(typing.Optional[VpcConfiguration], result)
1840
+ return typing.cast(typing.Optional["VpcConfiguration"], result)
1839
1841
 
1840
1842
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1841
1843
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1863,26 +1865,26 @@ class Workspace(
1863
1865
 
1864
1866
  def __init__(
1865
1867
  self,
1866
- scope: _constructs_77d1e7e8.Construct,
1868
+ scope: "_constructs_77d1e7e8.Construct",
1867
1869
  id: builtins.str,
1868
1870
  *,
1869
- account_access_type: AccountAccessType,
1870
- authentication_providers: typing.Sequence[AuthenticationProviders],
1871
- permission_type: PermissionTypes,
1871
+ account_access_type: "AccountAccessType",
1872
+ authentication_providers: typing.Sequence["AuthenticationProviders"],
1873
+ permission_type: "PermissionTypes",
1872
1874
  client_token: typing.Optional[builtins.str] = None,
1873
1875
  data_sources: typing.Optional[typing.Sequence[builtins.str]] = None,
1874
1876
  description: typing.Optional[builtins.str] = None,
1875
1877
  grafana_version: typing.Optional[builtins.str] = None,
1876
1878
  name: typing.Optional[builtins.str] = None,
1877
- network_access_control: typing.Optional[typing.Union[NetworkAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
1878
- notification_destinations: typing.Optional[typing.Sequence[NotificationDestinations]] = None,
1879
+ network_access_control: typing.Optional[typing.Union["NetworkAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
1880
+ notification_destinations: typing.Optional[typing.Sequence["NotificationDestinations"]] = None,
1879
1881
  organizational_units: typing.Optional[typing.Sequence[builtins.str]] = None,
1880
1882
  organization_role_name: typing.Optional[builtins.str] = None,
1881
1883
  plugin_admin_enabled: typing.Optional[builtins.bool] = None,
1882
- role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
1883
- saml_configuration: typing.Optional[typing.Union[SamlConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1884
+ role: typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"] = None,
1885
+ saml_configuration: typing.Optional[typing.Union["SamlConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
1884
1886
  stack_set_name: typing.Optional[builtins.str] = None,
1885
- vpc_configuration: typing.Optional[typing.Union[VpcConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1887
+ vpc_configuration: typing.Optional[typing.Union["VpcConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
1886
1888
  ) -> None:
1887
1889
  '''
1888
1890
  :param scope: -
@@ -1935,27 +1937,27 @@ class Workspace(
1935
1937
  @builtins.classmethod
1936
1938
  def from_workspace_attributes(
1937
1939
  cls,
1938
- scope: _constructs_77d1e7e8.Construct,
1940
+ scope: "_constructs_77d1e7e8.Construct",
1939
1941
  id: builtins.str,
1940
1942
  *,
1941
- account_access_type: AccountAccessType,
1942
- authentication_providers: typing.Sequence[AuthenticationProviders],
1943
- permission_type: PermissionTypes,
1943
+ account_access_type: "AccountAccessType",
1944
+ authentication_providers: typing.Sequence["AuthenticationProviders"],
1945
+ permission_type: "PermissionTypes",
1944
1946
  workspace_arn: builtins.str,
1945
1947
  client_token: typing.Optional[builtins.str] = None,
1946
1948
  data_sources: typing.Optional[typing.Sequence[builtins.str]] = None,
1947
1949
  description: typing.Optional[builtins.str] = None,
1948
1950
  name: typing.Optional[builtins.str] = None,
1949
- network_access_control: typing.Optional[typing.Union[NetworkAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
1950
- notification_destinations: typing.Optional[typing.Sequence[NotificationDestinations]] = None,
1951
+ network_access_control: typing.Optional[typing.Union["NetworkAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
1952
+ notification_destinations: typing.Optional[typing.Sequence["NotificationDestinations"]] = None,
1951
1953
  organizational_units: typing.Optional[typing.Sequence[builtins.str]] = None,
1952
1954
  organization_role_name: typing.Optional[builtins.str] = None,
1953
1955
  plugin_admin_enabled: typing.Optional[builtins.bool] = None,
1954
- role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
1955
- saml_configuration: typing.Optional[typing.Union[SamlConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1956
+ role: typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"] = None,
1957
+ saml_configuration: typing.Optional[typing.Union["SamlConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
1956
1958
  stack_set_name: typing.Optional[builtins.str] = None,
1957
- vpc_configuration: typing.Optional[typing.Union[VpcConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1958
- ) -> IWorkspace:
1959
+ vpc_configuration: typing.Optional[typing.Union["VpcConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
1960
+ ) -> "IWorkspace":
1959
1961
  '''
1960
1962
  :param scope: -
1961
1963
  :param id: -
@@ -2001,7 +2003,7 @@ class Workspace(
2001
2003
  vpc_configuration=vpc_configuration,
2002
2004
  )
2003
2005
 
2004
- return typing.cast(IWorkspace, jsii.sinvoke(cls, "fromWorkspaceAttributes", [scope, id, attrs]))
2006
+ return typing.cast("IWorkspace", jsii.sinvoke(cls, "fromWorkspaceAttributes", [scope, id, attrs]))
2005
2007
 
2006
2008
  @jsii.member(jsii_name="isWorkspace")
2007
2009
  @builtins.classmethod
@@ -2016,20 +2018,20 @@ class Workspace(
2016
2018
 
2017
2019
  @builtins.property
2018
2020
  @jsii.member(jsii_name="accountAccessType")
2019
- def account_access_type(self) -> AccountAccessType:
2021
+ def account_access_type(self) -> "AccountAccessType":
2020
2022
  '''Specifies whether the workspace can access AWS resources in this AWS account only, or whether it can also access AWS resources in other accounts in the same organization.
2021
2023
 
2022
2024
  If this is
2023
2025
  ORGANIZATION, the OrganizationalUnits parameter specifies which organizational units the
2024
2026
  workspace can access.
2025
2027
  '''
2026
- return typing.cast(AccountAccessType, jsii.get(self, "accountAccessType"))
2028
+ return typing.cast("AccountAccessType", jsii.get(self, "accountAccessType"))
2027
2029
 
2028
2030
  @builtins.property
2029
2031
  @jsii.member(jsii_name="authenticationProviders")
2030
- def authentication_providers(self) -> typing.List[AuthenticationProviders]:
2032
+ def authentication_providers(self) -> typing.List["AuthenticationProviders"]:
2031
2033
  '''Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to authenticate users for using the Grafana console within a workspace.'''
2032
- return typing.cast(typing.List[AuthenticationProviders], jsii.get(self, "authenticationProviders"))
2034
+ return typing.cast(typing.List["AuthenticationProviders"], jsii.get(self, "authenticationProviders"))
2033
2035
 
2034
2036
  @builtins.property
2035
2037
  @jsii.member(jsii_name="creationTimestamp")
@@ -2057,7 +2059,7 @@ class Workspace(
2057
2059
 
2058
2060
  @builtins.property
2059
2061
  @jsii.member(jsii_name="permissionType")
2060
- def permission_type(self) -> PermissionTypes:
2062
+ def permission_type(self) -> "PermissionTypes":
2061
2063
  '''If this is SERVICE_MANAGED, and the workplace was created through the Amazon Managed Grafana console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the workspace needs to use AWS data sources and notification channels.
2062
2064
 
2063
2065
  If this is CUSTOMER_MANAGED, you must manage those roles and permissions yourself.
@@ -2066,13 +2068,13 @@ class Workspace(
2066
2068
  not a delegated administrator account, and you want the workspace to access data sources in
2067
2069
  other AWS accounts in the organization, this parameter must be set to CUSTOMER_MANAGED.
2068
2070
  '''
2069
- return typing.cast(PermissionTypes, jsii.get(self, "permissionType"))
2071
+ return typing.cast("PermissionTypes", jsii.get(self, "permissionType"))
2070
2072
 
2071
2073
  @builtins.property
2072
2074
  @jsii.member(jsii_name="samlConfigurationStatus")
2073
- def saml_configuration_status(self) -> SamlConfigurationStatuses:
2075
+ def saml_configuration_status(self) -> "SamlConfigurationStatuses":
2074
2076
  '''Specifies whether the workspace's SAML configuration is complete.'''
2075
- return typing.cast(SamlConfigurationStatuses, jsii.get(self, "samlConfigurationStatus"))
2077
+ return typing.cast("SamlConfigurationStatuses", jsii.get(self, "samlConfigurationStatus"))
2076
2078
 
2077
2079
  @builtins.property
2078
2080
  @jsii.member(jsii_name="ssoClientId")
@@ -2082,9 +2084,9 @@ class Workspace(
2082
2084
 
2083
2085
  @builtins.property
2084
2086
  @jsii.member(jsii_name="status")
2085
- def status(self) -> Status:
2087
+ def status(self) -> "Status":
2086
2088
  '''The current status of the workspace.'''
2087
- return typing.cast(Status, jsii.get(self, "status"))
2089
+ return typing.cast("Status", jsii.get(self, "status"))
2088
2090
 
2089
2091
  @builtins.property
2090
2092
  @jsii.member(jsii_name="workspaceArn")
@@ -2128,17 +2130,17 @@ class Workspace(
2128
2130
 
2129
2131
  @builtins.property
2130
2132
  @jsii.member(jsii_name="networkAccessControl")
2131
- def network_access_control(self) -> typing.Optional[NetworkAccessControl]:
2133
+ def network_access_control(self) -> typing.Optional["NetworkAccessControl"]:
2132
2134
  '''The configuration settings for network access to your workspace.'''
2133
- return typing.cast(typing.Optional[NetworkAccessControl], jsii.get(self, "networkAccessControl"))
2135
+ return typing.cast(typing.Optional["NetworkAccessControl"], jsii.get(self, "networkAccessControl"))
2134
2136
 
2135
2137
  @builtins.property
2136
2138
  @jsii.member(jsii_name="notificationDestinations")
2137
2139
  def notification_destinations(
2138
2140
  self,
2139
- ) -> typing.Optional[typing.List[NotificationDestinations]]:
2141
+ ) -> typing.Optional[typing.List["NotificationDestinations"]]:
2140
2142
  '''The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles and permissions for, to allow Amazon Managed Grafana to use these channels.'''
2141
- return typing.cast(typing.Optional[typing.List[NotificationDestinations]], jsii.get(self, "notificationDestinations"))
2143
+ return typing.cast(typing.Optional[typing.List["NotificationDestinations"]], jsii.get(self, "notificationDestinations"))
2142
2144
 
2143
2145
  @builtins.property
2144
2146
  @jsii.member(jsii_name="organizationalUnits")
@@ -2166,15 +2168,15 @@ class Workspace(
2166
2168
 
2167
2169
  @builtins.property
2168
2170
  @jsii.member(jsii_name="role")
2169
- def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
2171
+ def role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
2170
2172
  '''The IAM role that grants permissions to the AWS resources that the workspace will view data from.'''
2171
- return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], jsii.get(self, "role"))
2173
+ return typing.cast(typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"], jsii.get(self, "role"))
2172
2174
 
2173
2175
  @builtins.property
2174
2176
  @jsii.member(jsii_name="samlConfiguration")
2175
- def saml_configuration(self) -> typing.Optional[SamlConfiguration]:
2177
+ def saml_configuration(self) -> typing.Optional["SamlConfiguration"]:
2176
2178
  '''If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the Admin and Editor roles in the workspace.'''
2177
- return typing.cast(typing.Optional[SamlConfiguration], jsii.get(self, "samlConfiguration"))
2179
+ return typing.cast(typing.Optional["SamlConfiguration"], jsii.get(self, "samlConfiguration"))
2178
2180
 
2179
2181
  @builtins.property
2180
2182
  @jsii.member(jsii_name="stackSetName")
@@ -2184,9 +2186,9 @@ class Workspace(
2184
2186
 
2185
2187
  @builtins.property
2186
2188
  @jsii.member(jsii_name="vpcConfiguration")
2187
- def vpc_configuration(self) -> typing.Optional[VpcConfiguration]:
2189
+ def vpc_configuration(self) -> typing.Optional["VpcConfiguration"]:
2188
2190
  '''The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.'''
2189
- return typing.cast(typing.Optional[VpcConfiguration], jsii.get(self, "vpcConfiguration"))
2191
+ return typing.cast(typing.Optional["VpcConfiguration"], jsii.get(self, "vpcConfiguration"))
2190
2192
 
2191
2193
 
2192
2194
  __all__ = [
@@ -2391,3 +2393,6 @@ def _typecheckingstub__8766b8935a0812af5a2370796de3e9ea5301499bca4f246f4d41b667f
2391
2393
  ) -> None:
2392
2394
  """Type checking stubs"""
2393
2395
  pass
2396
+
2397
+ for cls in [IWorkspace]:
2398
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
@@ -34,9 +34,9 @@ import robhan_cdk_lib.utils._jsii
34
34
 
35
35
  __jsii_assembly__ = jsii.JSIIAssembly.load(
36
36
  "@robhan-cdk-lib/aws_grafana",
37
- "0.0.106",
37
+ "0.0.226",
38
38
  __name__[0:-6],
39
- "aws_grafana@0.0.106.jsii.tgz",
39
+ "aws_grafana@0.0.226.jsii.tgz",
40
40
  )
41
41
 
42
42
  __all__ = [
@@ -1,4 +1,4 @@
1
- Copyright (c) 2025 Robert Hanuschke
1
+ Copyright (c) 2026 Robert Hanuschke
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robhan_cdk_lib.aws_grafana
3
- Version: 0.0.106
3
+ Version: 0.0.226
4
4
  Summary: AWS CDK Construct Library for Amazon Managed Grafana
5
5
  Home-page: https://github.com/robert-hanuschke/cdk-aws_grafana
6
6
  Author: Robert Hanuschke<robhan-cdk-lib@hanuschke.eu>
@@ -19,12 +19,12 @@ Classifier: License :: OSI Approved
19
19
  Requires-Python: ~=3.9
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
- Requires-Dist: aws-cdk-lib <3.0.0,>=2.198.0
22
+ Requires-Dist: aws-cdk-lib <3.0.0,>=2.224.0
23
23
  Requires-Dist: constructs <11.0.0,>=10.0.5
24
- Requires-Dist: jsii <2.0.0,>=1.114.1
24
+ Requires-Dist: jsii <2.0.0,>=1.125.0
25
25
  Requires-Dist: publication >=0.0.3
26
- Requires-Dist: robhan-cdk-lib.utils <0.0.40,>=0.0.39
27
- Requires-Dist: typeguard <4.3.0,>=2.13.3
26
+ Requires-Dist: robhan-cdk-lib.utils <0.0.149,>=0.0.148
27
+ Requires-Dist: typeguard ==2.13.3
28
28
 
29
29
  # @robhan-cdk-lib/aws_grafana
30
30
 
@@ -0,0 +1,9 @@
1
+ robhan_cdk_lib/aws_grafana/__init__.py,sha256=prprhmrlHZpnMa42kSQf4weyuUU7L9ekGjJChxT5LfE,130691
2
+ robhan_cdk_lib/aws_grafana/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
+ robhan_cdk_lib/aws_grafana/_jsii/__init__.py,sha256=YLcHB5pziXw9Nd2HWfFZlD61fEFqbZNHcPpc2x1Wtcc,1500
4
+ robhan_cdk_lib/aws_grafana/_jsii/aws_grafana@0.0.226.jsii.tgz,sha256=MLQcRTqhHnnvQgFArJ2QwYCgjlXPbTIBm72UVj37pKM,69482
5
+ robhan_cdk_lib_aws_grafana-0.0.226.dist-info/LICENSE,sha256=btERE5v6UR-1bO1bCAb1GwrWfR-XsvDA8ZJxli8TBKE,1060
6
+ robhan_cdk_lib_aws_grafana-0.0.226.dist-info/METADATA,sha256=_6733MosvWcyeO4khkGCToa1TFKAACzGudzzx1WNSE0,3275
7
+ robhan_cdk_lib_aws_grafana-0.0.226.dist-info/WHEEL,sha256=WnJ8fYhv8N4SYVK2lLYNI6N0kVATA7b0piVUNvqIIJE,91
8
+ robhan_cdk_lib_aws_grafana-0.0.226.dist-info/top_level.txt,sha256=P6XdVCMOK2Rt55vMQhnq4WJqpu14FeZZcktc4hoDIwI,15
9
+ robhan_cdk_lib_aws_grafana-0.0.226.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.2)
2
+ Generator: setuptools (75.3.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,9 +0,0 @@
1
- robhan_cdk_lib/aws_grafana/__init__.py,sha256=KCwHJd3shHY-FnFAOJLEgZnVxP4LVxIp8cVVM3AE56A,130225
2
- robhan_cdk_lib/aws_grafana/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
- robhan_cdk_lib/aws_grafana/_jsii/__init__.py,sha256=cwgxT8oJ4vPP5m2l7ZkrrZ-okVKOQWoYy7tAk1PvVLg,1500
4
- robhan_cdk_lib/aws_grafana/_jsii/aws_grafana@0.0.106.jsii.tgz,sha256=0tFs5Yskk0IMjgBBvRA9RcHHvbdhijkZJNIMnfYyxtM,62340
5
- robhan_cdk_lib_aws_grafana-0.0.106.dist-info/LICENSE,sha256=4XPjxtvMDZSu-9820NaFomMw08Ri6JrgByiDz0XZhDY,1060
6
- robhan_cdk_lib_aws_grafana-0.0.106.dist-info/METADATA,sha256=3y3rxCUbpo8CH7fvmXnlbTJO-SDgtz-fefWbMOl6K5g,3280
7
- robhan_cdk_lib_aws_grafana-0.0.106.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
8
- robhan_cdk_lib_aws_grafana-0.0.106.dist-info/top_level.txt,sha256=P6XdVCMOK2Rt55vMQhnq4WJqpu14FeZZcktc4hoDIwI,15
9
- robhan_cdk_lib_aws_grafana-0.0.106.dist-info/RECORD,,