aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.0__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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/top_level.txt +0 -0
@@ -241,6 +241,7 @@ from .. import (
241
241
  IInspectable as _IInspectable_c2943556,
242
242
  IResolvable as _IResolvable_da3f097b,
243
243
  ITaggable as _ITaggable_36806126,
244
+ ITaggableV2 as _ITaggableV2_4e6798f8,
244
245
  Resource as _Resource_45bc6135,
245
246
  TagManager as _TagManager_0a598cb3,
246
247
  TreeInspector as _TreeInspector_488e0dd5,
@@ -718,6 +719,700 @@ class CfnChannelProps:
718
719
  )
719
720
 
720
721
 
722
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
723
+ class CfnDashboard(
724
+ _CfnResource_9df397a6,
725
+ metaclass=jsii.JSIIMeta,
726
+ jsii_type="aws-cdk-lib.aws_cloudtrail.CfnDashboard",
727
+ ):
728
+ '''Creates a custom dashboard or the Highlights dashboard.
729
+
730
+ - *Custom dashboards* - Custom dashboards allow you to query events in any event data store type. You can add up to 10 widgets to a custom dashboard. You can manually refresh a custom dashboard, or you can set a refresh schedule.
731
+ - *Highlights dashboard* - You can create the Highlights dashboard to see a summary of key user activities and API usage across all your event data stores. CloudTrail Lake manages the Highlights dashboard and refreshes the dashboard every 6 hours. To create the Highlights dashboard, you must set and enable a refresh schedule.
732
+
733
+ CloudTrail runs queries to populate the dashboard's widgets during a manual or scheduled refresh. CloudTrail must be granted permissions to run the ``StartQuery`` operation on your behalf. To provide permissions, run the ``PutResourcePolicy`` operation to attach a resource-based policy to each event data store. For more information, see `Example: Allow CloudTrail to run queries to populate a dashboard <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html#security_iam_resource-based-policy-examples-eds-dashboard>`_ in the *AWS CloudTrail User Guide* .
734
+
735
+ To set a refresh schedule, CloudTrail must be granted permissions to run the ``StartDashboardRefresh`` operation to refresh the dashboard on your behalf. To provide permissions, run the ``PutResourcePolicy`` operation to attach a resource-based policy to the dashboard. For more information, see `Resource-based policy example for a dashboard <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html#security_iam_resource-based-policy-examples-dashboards>`_ in the *AWS CloudTrail User Guide* .
736
+
737
+ For more information about dashboards, see `CloudTrail Lake dashboards <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-dashboard.html>`_ in the *AWS CloudTrail User Guide* .
738
+
739
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html
740
+ :cloudformationResource: AWS::CloudTrail::Dashboard
741
+ :exampleMetadata: fixture=_generated
742
+
743
+ Example::
744
+
745
+ # The code below shows an example of how to instantiate this type.
746
+ # The values are placeholders you should change.
747
+ from aws_cdk import aws_cloudtrail as cloudtrail
748
+
749
+ cfn_dashboard = cloudtrail.CfnDashboard(self, "MyCfnDashboard",
750
+ name="name",
751
+ refresh_schedule=cloudtrail.CfnDashboard.RefreshScheduleProperty(
752
+ frequency=cloudtrail.CfnDashboard.FrequencyProperty(
753
+ unit="unit",
754
+ value=123
755
+ ),
756
+ status="status",
757
+ time_of_day="timeOfDay"
758
+ ),
759
+ tags=[CfnTag(
760
+ key="key",
761
+ value="value"
762
+ )],
763
+ termination_protection_enabled=False,
764
+ widgets=[cloudtrail.CfnDashboard.WidgetProperty(
765
+ query_statement="queryStatement",
766
+
767
+ # the properties below are optional
768
+ query_parameters=["queryParameters"],
769
+ view_properties={
770
+ "view_properties_key": "viewProperties"
771
+ }
772
+ )]
773
+ )
774
+ '''
775
+
776
+ def __init__(
777
+ self,
778
+ scope: _constructs_77d1e7e8.Construct,
779
+ id: builtins.str,
780
+ *,
781
+ name: typing.Optional[builtins.str] = None,
782
+ refresh_schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDashboard.RefreshScheduleProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
783
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
784
+ termination_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
785
+ widgets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDashboard.WidgetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
786
+ ) -> None:
787
+ '''
788
+ :param scope: Scope in which this resource is defined.
789
+ :param id: Construct identifier for this resource (unique in its scope).
790
+ :param name: The name of the dashboard. The name must be unique to your account. To create the Highlights dashboard, the name must be ``AWSCloudTrail-Highlights`` .
791
+ :param refresh_schedule: The schedule for a dashboard refresh.
792
+ :param tags: A list of tags.
793
+ :param termination_protection_enabled: Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.
794
+ :param widgets: An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets. You do not need to specify widgets for the Highlights dashboard.
795
+ '''
796
+ if __debug__:
797
+ type_hints = typing.get_type_hints(_typecheckingstub__65875e3ceabcc57155f97b1541ff9d435e4456c9c7f0c980c1dea0ac9bffc3ce)
798
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
799
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
800
+ props = CfnDashboardProps(
801
+ name=name,
802
+ refresh_schedule=refresh_schedule,
803
+ tags=tags,
804
+ termination_protection_enabled=termination_protection_enabled,
805
+ widgets=widgets,
806
+ )
807
+
808
+ jsii.create(self.__class__, self, [scope, id, props])
809
+
810
+ @jsii.member(jsii_name="inspect")
811
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
812
+ '''Examines the CloudFormation resource and discloses attributes.
813
+
814
+ :param inspector: tree inspector to collect and process attributes.
815
+ '''
816
+ if __debug__:
817
+ type_hints = typing.get_type_hints(_typecheckingstub__80aa78b7039f0746d57f08dc22b8127693ce2c2c4b3ede574289925bdfd4379f)
818
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
819
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
820
+
821
+ @jsii.member(jsii_name="renderProperties")
822
+ def _render_properties(
823
+ self,
824
+ props: typing.Mapping[builtins.str, typing.Any],
825
+ ) -> typing.Mapping[builtins.str, typing.Any]:
826
+ '''
827
+ :param props: -
828
+ '''
829
+ if __debug__:
830
+ type_hints = typing.get_type_hints(_typecheckingstub__e96a4620eb54251cb180709e3338de0cb20f46ad1ac13bee113fa445de8bc7dc)
831
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
832
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
833
+
834
+ @jsii.python.classproperty
835
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
836
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
837
+ '''The CloudFormation resource type name for this resource class.'''
838
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
839
+
840
+ @builtins.property
841
+ @jsii.member(jsii_name="attrCreatedTimestamp")
842
+ def attr_created_timestamp(self) -> builtins.str:
843
+ '''The timestamp that shows when the dashboard was created.
844
+
845
+ :cloudformationAttribute: CreatedTimestamp
846
+ '''
847
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedTimestamp"))
848
+
849
+ @builtins.property
850
+ @jsii.member(jsii_name="attrDashboardArn")
851
+ def attr_dashboard_arn(self) -> builtins.str:
852
+ '''The ARN for the dashboard.
853
+
854
+ :cloudformationAttribute: DashboardArn
855
+ '''
856
+ return typing.cast(builtins.str, jsii.get(self, "attrDashboardArn"))
857
+
858
+ @builtins.property
859
+ @jsii.member(jsii_name="attrStatus")
860
+ def attr_status(self) -> builtins.str:
861
+ '''The status of the dashboard.
862
+
863
+ :cloudformationAttribute: Status
864
+ '''
865
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
866
+
867
+ @builtins.property
868
+ @jsii.member(jsii_name="attrType")
869
+ def attr_type(self) -> builtins.str:
870
+ '''The type of dashboard.
871
+
872
+ :cloudformationAttribute: Type
873
+ '''
874
+ return typing.cast(builtins.str, jsii.get(self, "attrType"))
875
+
876
+ @builtins.property
877
+ @jsii.member(jsii_name="attrUpdatedTimestamp")
878
+ def attr_updated_timestamp(self) -> builtins.str:
879
+ '''The timestamp that shows when the dashboard was updated.
880
+
881
+ :cloudformationAttribute: UpdatedTimestamp
882
+ '''
883
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedTimestamp"))
884
+
885
+ @builtins.property
886
+ @jsii.member(jsii_name="cdkTagManager")
887
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
888
+ '''Tag Manager which manages the tags for this resource.'''
889
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
890
+
891
+ @builtins.property
892
+ @jsii.member(jsii_name="cfnProperties")
893
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
894
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
895
+
896
+ @builtins.property
897
+ @jsii.member(jsii_name="name")
898
+ def name(self) -> typing.Optional[builtins.str]:
899
+ '''The name of the dashboard.
900
+
901
+ The name must be unique to your account.
902
+ '''
903
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
904
+
905
+ @name.setter
906
+ def name(self, value: typing.Optional[builtins.str]) -> None:
907
+ if __debug__:
908
+ type_hints = typing.get_type_hints(_typecheckingstub__ad3cc4c5ce87019f2d65bf513eb6f6987758697d7edaf71a8c25d63e5adcd28a)
909
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
910
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
911
+
912
+ @builtins.property
913
+ @jsii.member(jsii_name="refreshSchedule")
914
+ def refresh_schedule(
915
+ self,
916
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDashboard.RefreshScheduleProperty"]]:
917
+ '''The schedule for a dashboard refresh.'''
918
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDashboard.RefreshScheduleProperty"]], jsii.get(self, "refreshSchedule"))
919
+
920
+ @refresh_schedule.setter
921
+ def refresh_schedule(
922
+ self,
923
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDashboard.RefreshScheduleProperty"]],
924
+ ) -> None:
925
+ if __debug__:
926
+ type_hints = typing.get_type_hints(_typecheckingstub__c189822248b924f49d3f78593489ebfdb50baaa5632423120ffc582017517a62)
927
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
928
+ jsii.set(self, "refreshSchedule", value) # pyright: ignore[reportArgumentType]
929
+
930
+ @builtins.property
931
+ @jsii.member(jsii_name="tags")
932
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
933
+ '''A list of tags.'''
934
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
935
+
936
+ @tags.setter
937
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
938
+ if __debug__:
939
+ type_hints = typing.get_type_hints(_typecheckingstub__f30292137ba2f648895c0e1f3beefbf660ef3c12168b20e06516352a881c1581)
940
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
941
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
942
+
943
+ @builtins.property
944
+ @jsii.member(jsii_name="terminationProtectionEnabled")
945
+ def termination_protection_enabled(
946
+ self,
947
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
948
+ '''Specifies whether termination protection is enabled for the dashboard.'''
949
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "terminationProtectionEnabled"))
950
+
951
+ @termination_protection_enabled.setter
952
+ def termination_protection_enabled(
953
+ self,
954
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
955
+ ) -> None:
956
+ if __debug__:
957
+ type_hints = typing.get_type_hints(_typecheckingstub__784f2dc9097025d1492e66bc4ea947ce69164f00c1538ca507daa506ba7efe22)
958
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
959
+ jsii.set(self, "terminationProtectionEnabled", value) # pyright: ignore[reportArgumentType]
960
+
961
+ @builtins.property
962
+ @jsii.member(jsii_name="widgets")
963
+ def widgets(
964
+ self,
965
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDashboard.WidgetProperty"]]]]:
966
+ '''An array of widgets for a custom dashboard.
967
+
968
+ A custom dashboard can have a maximum of ten widgets.
969
+ '''
970
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDashboard.WidgetProperty"]]]], jsii.get(self, "widgets"))
971
+
972
+ @widgets.setter
973
+ def widgets(
974
+ self,
975
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDashboard.WidgetProperty"]]]],
976
+ ) -> None:
977
+ if __debug__:
978
+ type_hints = typing.get_type_hints(_typecheckingstub__15acb7e7b87191d3aa52a0f02842d9b876d6cd2175319b3e4dd3ac6b352b2755)
979
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
980
+ jsii.set(self, "widgets", value) # pyright: ignore[reportArgumentType]
981
+
982
+ @jsii.data_type(
983
+ jsii_type="aws-cdk-lib.aws_cloudtrail.CfnDashboard.FrequencyProperty",
984
+ jsii_struct_bases=[],
985
+ name_mapping={"unit": "unit", "value": "value"},
986
+ )
987
+ class FrequencyProperty:
988
+ def __init__(self, *, unit: builtins.str, value: jsii.Number) -> None:
989
+ '''Specifies the frequency for a dashboard refresh schedule.
990
+
991
+ For a custom dashboard, you can schedule a refresh for every 1, 6, 12, or 24 hours, or every day.
992
+
993
+ :param unit: The unit to use for the refresh. For custom dashboards, the unit can be ``HOURS`` or ``DAYS`` . For the Highlights dashboard, the ``Unit`` must be ``HOURS`` .
994
+ :param value: The value for the refresh schedule. For custom dashboards, the following values are valid when the unit is ``HOURS`` : ``1`` , ``6`` , ``12`` , ``24`` For custom dashboards, the only valid value when the unit is ``DAYS`` is ``1`` . For the Highlights dashboard, the ``Value`` must be ``6`` .
995
+
996
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-frequency.html
997
+ :exampleMetadata: fixture=_generated
998
+
999
+ Example::
1000
+
1001
+ # The code below shows an example of how to instantiate this type.
1002
+ # The values are placeholders you should change.
1003
+ from aws_cdk import aws_cloudtrail as cloudtrail
1004
+
1005
+ frequency_property = cloudtrail.CfnDashboard.FrequencyProperty(
1006
+ unit="unit",
1007
+ value=123
1008
+ )
1009
+ '''
1010
+ if __debug__:
1011
+ type_hints = typing.get_type_hints(_typecheckingstub__2f2203e866b3e98fa21e0e9b0a804e36298f95797b075211e843ddc70bd28b8c)
1012
+ check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
1013
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1014
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1015
+ "unit": unit,
1016
+ "value": value,
1017
+ }
1018
+
1019
+ @builtins.property
1020
+ def unit(self) -> builtins.str:
1021
+ '''The unit to use for the refresh.
1022
+
1023
+ For custom dashboards, the unit can be ``HOURS`` or ``DAYS`` .
1024
+
1025
+ For the Highlights dashboard, the ``Unit`` must be ``HOURS`` .
1026
+
1027
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-frequency.html#cfn-cloudtrail-dashboard-frequency-unit
1028
+ '''
1029
+ result = self._values.get("unit")
1030
+ assert result is not None, "Required property 'unit' is missing"
1031
+ return typing.cast(builtins.str, result)
1032
+
1033
+ @builtins.property
1034
+ def value(self) -> jsii.Number:
1035
+ '''The value for the refresh schedule.
1036
+
1037
+ For custom dashboards, the following values are valid when the unit is ``HOURS`` : ``1`` , ``6`` , ``12`` , ``24``
1038
+
1039
+ For custom dashboards, the only valid value when the unit is ``DAYS`` is ``1`` .
1040
+
1041
+ For the Highlights dashboard, the ``Value`` must be ``6`` .
1042
+
1043
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-frequency.html#cfn-cloudtrail-dashboard-frequency-value
1044
+ '''
1045
+ result = self._values.get("value")
1046
+ assert result is not None, "Required property 'value' is missing"
1047
+ return typing.cast(jsii.Number, result)
1048
+
1049
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1050
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1051
+
1052
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1053
+ return not (rhs == self)
1054
+
1055
+ def __repr__(self) -> str:
1056
+ return "FrequencyProperty(%s)" % ", ".join(
1057
+ k + "=" + repr(v) for k, v in self._values.items()
1058
+ )
1059
+
1060
+ @jsii.data_type(
1061
+ jsii_type="aws-cdk-lib.aws_cloudtrail.CfnDashboard.RefreshScheduleProperty",
1062
+ jsii_struct_bases=[],
1063
+ name_mapping={
1064
+ "frequency": "frequency",
1065
+ "status": "status",
1066
+ "time_of_day": "timeOfDay",
1067
+ },
1068
+ )
1069
+ class RefreshScheduleProperty:
1070
+ def __init__(
1071
+ self,
1072
+ *,
1073
+ frequency: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDashboard.FrequencyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1074
+ status: typing.Optional[builtins.str] = None,
1075
+ time_of_day: typing.Optional[builtins.str] = None,
1076
+ ) -> None:
1077
+ '''The schedule for a dashboard refresh.
1078
+
1079
+ :param frequency: The frequency at which you want the dashboard refreshed.
1080
+ :param status: Specifies whether the refresh schedule is enabled. Set the value to ``ENABLED`` to enable the refresh schedule, or to ``DISABLED`` to turn off the refresh schedule.
1081
+ :param time_of_day: The time of day in UTC to run the schedule; for hourly only refer to minutes; default is 00:00.
1082
+
1083
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html
1084
+ :exampleMetadata: fixture=_generated
1085
+
1086
+ Example::
1087
+
1088
+ # The code below shows an example of how to instantiate this type.
1089
+ # The values are placeholders you should change.
1090
+ from aws_cdk import aws_cloudtrail as cloudtrail
1091
+
1092
+ refresh_schedule_property = cloudtrail.CfnDashboard.RefreshScheduleProperty(
1093
+ frequency=cloudtrail.CfnDashboard.FrequencyProperty(
1094
+ unit="unit",
1095
+ value=123
1096
+ ),
1097
+ status="status",
1098
+ time_of_day="timeOfDay"
1099
+ )
1100
+ '''
1101
+ if __debug__:
1102
+ type_hints = typing.get_type_hints(_typecheckingstub__e38849bc2b8e26a855d5c01196725a15d72db451889d0b2ed0891ec262db60d8)
1103
+ check_type(argname="argument frequency", value=frequency, expected_type=type_hints["frequency"])
1104
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
1105
+ check_type(argname="argument time_of_day", value=time_of_day, expected_type=type_hints["time_of_day"])
1106
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1107
+ if frequency is not None:
1108
+ self._values["frequency"] = frequency
1109
+ if status is not None:
1110
+ self._values["status"] = status
1111
+ if time_of_day is not None:
1112
+ self._values["time_of_day"] = time_of_day
1113
+
1114
+ @builtins.property
1115
+ def frequency(
1116
+ self,
1117
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDashboard.FrequencyProperty"]]:
1118
+ '''The frequency at which you want the dashboard refreshed.
1119
+
1120
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html#cfn-cloudtrail-dashboard-refreshschedule-frequency
1121
+ '''
1122
+ result = self._values.get("frequency")
1123
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDashboard.FrequencyProperty"]], result)
1124
+
1125
+ @builtins.property
1126
+ def status(self) -> typing.Optional[builtins.str]:
1127
+ '''Specifies whether the refresh schedule is enabled.
1128
+
1129
+ Set the value to ``ENABLED`` to enable the refresh schedule, or to ``DISABLED`` to turn off the refresh schedule.
1130
+
1131
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html#cfn-cloudtrail-dashboard-refreshschedule-status
1132
+ '''
1133
+ result = self._values.get("status")
1134
+ return typing.cast(typing.Optional[builtins.str], result)
1135
+
1136
+ @builtins.property
1137
+ def time_of_day(self) -> typing.Optional[builtins.str]:
1138
+ '''The time of day in UTC to run the schedule;
1139
+
1140
+ for hourly only refer to minutes; default is 00:00.
1141
+
1142
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html#cfn-cloudtrail-dashboard-refreshschedule-timeofday
1143
+ '''
1144
+ result = self._values.get("time_of_day")
1145
+ return typing.cast(typing.Optional[builtins.str], result)
1146
+
1147
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1148
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1149
+
1150
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1151
+ return not (rhs == self)
1152
+
1153
+ def __repr__(self) -> str:
1154
+ return "RefreshScheduleProperty(%s)" % ", ".join(
1155
+ k + "=" + repr(v) for k, v in self._values.items()
1156
+ )
1157
+
1158
+ @jsii.data_type(
1159
+ jsii_type="aws-cdk-lib.aws_cloudtrail.CfnDashboard.WidgetProperty",
1160
+ jsii_struct_bases=[],
1161
+ name_mapping={
1162
+ "query_statement": "queryStatement",
1163
+ "query_parameters": "queryParameters",
1164
+ "view_properties": "viewProperties",
1165
+ },
1166
+ )
1167
+ class WidgetProperty:
1168
+ def __init__(
1169
+ self,
1170
+ *,
1171
+ query_statement: builtins.str,
1172
+ query_parameters: typing.Optional[typing.Sequence[builtins.str]] = None,
1173
+ view_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
1174
+ ) -> None:
1175
+ '''Contains information about a widget on a CloudTrail Lake dashboard.
1176
+
1177
+ :param query_statement: The query statement for the widget. For custom dashboard widgets, you can query across multiple event data stores as long as all event data stores exist in your account. .. epigraph:: When a query uses ``?`` with ``eventTime`` , ``?`` must be surrounded by single quotes as follows: ``'?'`` .
1178
+ :param query_parameters: The optional query parameters. The following query parameters are valid: ``$StartTime$`` , ``$EndTime$`` , and ``$Period$`` .
1179
+ :param view_properties: The view properties for the widget. For more information about view properties, see `View properties for widgets <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-widget-properties.html>`_ in the *AWS CloudTrail User Guide* .
1180
+
1181
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html
1182
+ :exampleMetadata: fixture=_generated
1183
+
1184
+ Example::
1185
+
1186
+ # The code below shows an example of how to instantiate this type.
1187
+ # The values are placeholders you should change.
1188
+ from aws_cdk import aws_cloudtrail as cloudtrail
1189
+
1190
+ widget_property = cloudtrail.CfnDashboard.WidgetProperty(
1191
+ query_statement="queryStatement",
1192
+
1193
+ # the properties below are optional
1194
+ query_parameters=["queryParameters"],
1195
+ view_properties={
1196
+ "view_properties_key": "viewProperties"
1197
+ }
1198
+ )
1199
+ '''
1200
+ if __debug__:
1201
+ type_hints = typing.get_type_hints(_typecheckingstub__dc8abf1361e0023c8b0a4cba28dced78eff4f36aa3c868efa3feed153cec95df)
1202
+ check_type(argname="argument query_statement", value=query_statement, expected_type=type_hints["query_statement"])
1203
+ check_type(argname="argument query_parameters", value=query_parameters, expected_type=type_hints["query_parameters"])
1204
+ check_type(argname="argument view_properties", value=view_properties, expected_type=type_hints["view_properties"])
1205
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1206
+ "query_statement": query_statement,
1207
+ }
1208
+ if query_parameters is not None:
1209
+ self._values["query_parameters"] = query_parameters
1210
+ if view_properties is not None:
1211
+ self._values["view_properties"] = view_properties
1212
+
1213
+ @builtins.property
1214
+ def query_statement(self) -> builtins.str:
1215
+ '''The query statement for the widget.
1216
+
1217
+ For custom dashboard widgets, you can query across multiple event data stores as long as all event data stores exist in your account.
1218
+ .. epigraph::
1219
+
1220
+ When a query uses ``?`` with ``eventTime`` , ``?`` must be surrounded by single quotes as follows: ``'?'`` .
1221
+
1222
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html#cfn-cloudtrail-dashboard-widget-querystatement
1223
+ '''
1224
+ result = self._values.get("query_statement")
1225
+ assert result is not None, "Required property 'query_statement' is missing"
1226
+ return typing.cast(builtins.str, result)
1227
+
1228
+ @builtins.property
1229
+ def query_parameters(self) -> typing.Optional[typing.List[builtins.str]]:
1230
+ '''The optional query parameters.
1231
+
1232
+ The following query parameters are valid: ``$StartTime$`` , ``$EndTime$`` , and ``$Period$`` .
1233
+
1234
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html#cfn-cloudtrail-dashboard-widget-queryparameters
1235
+ '''
1236
+ result = self._values.get("query_parameters")
1237
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1238
+
1239
+ @builtins.property
1240
+ def view_properties(
1241
+ self,
1242
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
1243
+ '''The view properties for the widget.
1244
+
1245
+ For more information about view properties, see `View properties for widgets <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-widget-properties.html>`_ in the *AWS CloudTrail User Guide* .
1246
+
1247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html#cfn-cloudtrail-dashboard-widget-viewproperties
1248
+ '''
1249
+ result = self._values.get("view_properties")
1250
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
1251
+
1252
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1253
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1254
+
1255
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1256
+ return not (rhs == self)
1257
+
1258
+ def __repr__(self) -> str:
1259
+ return "WidgetProperty(%s)" % ", ".join(
1260
+ k + "=" + repr(v) for k, v in self._values.items()
1261
+ )
1262
+
1263
+
1264
+ @jsii.data_type(
1265
+ jsii_type="aws-cdk-lib.aws_cloudtrail.CfnDashboardProps",
1266
+ jsii_struct_bases=[],
1267
+ name_mapping={
1268
+ "name": "name",
1269
+ "refresh_schedule": "refreshSchedule",
1270
+ "tags": "tags",
1271
+ "termination_protection_enabled": "terminationProtectionEnabled",
1272
+ "widgets": "widgets",
1273
+ },
1274
+ )
1275
+ class CfnDashboardProps:
1276
+ def __init__(
1277
+ self,
1278
+ *,
1279
+ name: typing.Optional[builtins.str] = None,
1280
+ refresh_schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDashboard.RefreshScheduleProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1281
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1282
+ termination_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1283
+ widgets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDashboard.WidgetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1284
+ ) -> None:
1285
+ '''Properties for defining a ``CfnDashboard``.
1286
+
1287
+ :param name: The name of the dashboard. The name must be unique to your account. To create the Highlights dashboard, the name must be ``AWSCloudTrail-Highlights`` .
1288
+ :param refresh_schedule: The schedule for a dashboard refresh.
1289
+ :param tags: A list of tags.
1290
+ :param termination_protection_enabled: Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.
1291
+ :param widgets: An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets. You do not need to specify widgets for the Highlights dashboard.
1292
+
1293
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html
1294
+ :exampleMetadata: fixture=_generated
1295
+
1296
+ Example::
1297
+
1298
+ # The code below shows an example of how to instantiate this type.
1299
+ # The values are placeholders you should change.
1300
+ from aws_cdk import aws_cloudtrail as cloudtrail
1301
+
1302
+ cfn_dashboard_props = cloudtrail.CfnDashboardProps(
1303
+ name="name",
1304
+ refresh_schedule=cloudtrail.CfnDashboard.RefreshScheduleProperty(
1305
+ frequency=cloudtrail.CfnDashboard.FrequencyProperty(
1306
+ unit="unit",
1307
+ value=123
1308
+ ),
1309
+ status="status",
1310
+ time_of_day="timeOfDay"
1311
+ ),
1312
+ tags=[CfnTag(
1313
+ key="key",
1314
+ value="value"
1315
+ )],
1316
+ termination_protection_enabled=False,
1317
+ widgets=[cloudtrail.CfnDashboard.WidgetProperty(
1318
+ query_statement="queryStatement",
1319
+
1320
+ # the properties below are optional
1321
+ query_parameters=["queryParameters"],
1322
+ view_properties={
1323
+ "view_properties_key": "viewProperties"
1324
+ }
1325
+ )]
1326
+ )
1327
+ '''
1328
+ if __debug__:
1329
+ type_hints = typing.get_type_hints(_typecheckingstub__6929f557c8f41826314d27fdba0c2269a618fd42c6e748deaa518379a830e911)
1330
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1331
+ check_type(argname="argument refresh_schedule", value=refresh_schedule, expected_type=type_hints["refresh_schedule"])
1332
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1333
+ check_type(argname="argument termination_protection_enabled", value=termination_protection_enabled, expected_type=type_hints["termination_protection_enabled"])
1334
+ check_type(argname="argument widgets", value=widgets, expected_type=type_hints["widgets"])
1335
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1336
+ if name is not None:
1337
+ self._values["name"] = name
1338
+ if refresh_schedule is not None:
1339
+ self._values["refresh_schedule"] = refresh_schedule
1340
+ if tags is not None:
1341
+ self._values["tags"] = tags
1342
+ if termination_protection_enabled is not None:
1343
+ self._values["termination_protection_enabled"] = termination_protection_enabled
1344
+ if widgets is not None:
1345
+ self._values["widgets"] = widgets
1346
+
1347
+ @builtins.property
1348
+ def name(self) -> typing.Optional[builtins.str]:
1349
+ '''The name of the dashboard. The name must be unique to your account.
1350
+
1351
+ To create the Highlights dashboard, the name must be ``AWSCloudTrail-Highlights`` .
1352
+
1353
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-name
1354
+ '''
1355
+ result = self._values.get("name")
1356
+ return typing.cast(typing.Optional[builtins.str], result)
1357
+
1358
+ @builtins.property
1359
+ def refresh_schedule(
1360
+ self,
1361
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDashboard.RefreshScheduleProperty]]:
1362
+ '''The schedule for a dashboard refresh.
1363
+
1364
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-refreshschedule
1365
+ '''
1366
+ result = self._values.get("refresh_schedule")
1367
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDashboard.RefreshScheduleProperty]], result)
1368
+
1369
+ @builtins.property
1370
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1371
+ '''A list of tags.
1372
+
1373
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-tags
1374
+ '''
1375
+ result = self._values.get("tags")
1376
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1377
+
1378
+ @builtins.property
1379
+ def termination_protection_enabled(
1380
+ self,
1381
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1382
+ '''Specifies whether termination protection is enabled for the dashboard.
1383
+
1384
+ If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.
1385
+
1386
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-terminationprotectionenabled
1387
+ '''
1388
+ result = self._values.get("termination_protection_enabled")
1389
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1390
+
1391
+ @builtins.property
1392
+ def widgets(
1393
+ self,
1394
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDashboard.WidgetProperty]]]]:
1395
+ '''An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets.
1396
+
1397
+ You do not need to specify widgets for the Highlights dashboard.
1398
+
1399
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-widgets
1400
+ '''
1401
+ result = self._values.get("widgets")
1402
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDashboard.WidgetProperty]]]], result)
1403
+
1404
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1405
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1406
+
1407
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1408
+ return not (rhs == self)
1409
+
1410
+ def __repr__(self) -> str:
1411
+ return "CfnDashboardProps(%s)" % ", ".join(
1412
+ k + "=" + repr(v) for k, v in self._values.items()
1413
+ )
1414
+
1415
+
721
1416
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
722
1417
  class CfnEventDataStore(
723
1418
  _CfnResource_9df397a6,
@@ -1893,7 +2588,7 @@ class CfnResourcePolicy(
1893
2588
  metaclass=jsii.JSIIMeta,
1894
2589
  jsii_type="aws-cdk-lib.aws_cloudtrail.CfnResourcePolicy",
1895
2590
  ):
1896
- '''Attaches a resource-based permission policy to a CloudTrail channel that is used for an integration with an event source outside of AWS .
2591
+ '''Attaches a resource-based permission policy to a CloudTrail event data store, dashboard, or channel.
1897
2592
 
1898
2593
  For more information about resource-based policies, see `CloudTrail resource-based policy examples <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html>`_ in the *CloudTrail User Guide* .
1899
2594
 
@@ -1926,8 +2621,8 @@ class CfnResourcePolicy(
1926
2621
  '''
1927
2622
  :param scope: Scope in which this resource is defined.
1928
2623
  :param id: Construct identifier for this resource (unique in its scope).
1929
- :param resource_arn: The Amazon Resource Name (ARN) of the CloudTrail channel attached to the resource-based policy. The following is the format of a resource ARN: ``arn:aws:cloudtrail:us-east-2:123456789012:channel/MyChannel`` .
1930
- :param resource_policy: A JSON-formatted string for an AWS resource-based policy. The following are requirements for the resource policy: - Contains only one action: cloudtrail-data:PutAuditEvents - Contains at least one statement. The policy can have a maximum of 20 statements. - Each statement contains at least one principal. A statement can have a maximum of 50 principals.
2624
+ :param resource_arn: The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy. Example event data store ARN format: ``arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE`` Example dashboard ARN format: ``arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash`` Example channel ARN format: ``arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890``
2625
+ :param resource_policy: A JSON-formatted string for an AWS resource-based policy. For example resource-based policies, see `CloudTrail resource-based policy examples <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html>`_ in the *CloudTrail User Guide* .
1931
2626
  '''
1932
2627
  if __debug__:
1933
2628
  type_hints = typing.get_type_hints(_typecheckingstub__e63ea1d0937535109b462c5587b69e94988e2caeb02b49177c8a53040c569033)
@@ -1977,7 +2672,7 @@ class CfnResourcePolicy(
1977
2672
  @builtins.property
1978
2673
  @jsii.member(jsii_name="resourceArn")
1979
2674
  def resource_arn(self) -> builtins.str:
1980
- '''The Amazon Resource Name (ARN) of the CloudTrail channel attached to the resource-based policy.'''
2675
+ '''The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy.'''
1981
2676
  return typing.cast(builtins.str, jsii.get(self, "resourceArn"))
1982
2677
 
1983
2678
  @resource_arn.setter
@@ -2015,8 +2710,8 @@ class CfnResourcePolicyProps:
2015
2710
  ) -> None:
2016
2711
  '''Properties for defining a ``CfnResourcePolicy``.
2017
2712
 
2018
- :param resource_arn: The Amazon Resource Name (ARN) of the CloudTrail channel attached to the resource-based policy. The following is the format of a resource ARN: ``arn:aws:cloudtrail:us-east-2:123456789012:channel/MyChannel`` .
2019
- :param resource_policy: A JSON-formatted string for an AWS resource-based policy. The following are requirements for the resource policy: - Contains only one action: cloudtrail-data:PutAuditEvents - Contains at least one statement. The policy can have a maximum of 20 statements. - Each statement contains at least one principal. A statement can have a maximum of 50 principals.
2713
+ :param resource_arn: The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy. Example event data store ARN format: ``arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE`` Example dashboard ARN format: ``arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash`` Example channel ARN format: ``arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890``
2714
+ :param resource_policy: A JSON-formatted string for an AWS resource-based policy. For example resource-based policies, see `CloudTrail resource-based policy examples <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html>`_ in the *CloudTrail User Guide* .
2020
2715
 
2021
2716
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html
2022
2717
  :exampleMetadata: fixture=_generated
@@ -2045,9 +2740,13 @@ class CfnResourcePolicyProps:
2045
2740
 
2046
2741
  @builtins.property
2047
2742
  def resource_arn(self) -> builtins.str:
2048
- '''The Amazon Resource Name (ARN) of the CloudTrail channel attached to the resource-based policy.
2743
+ '''The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy.
2744
+
2745
+ Example event data store ARN format: ``arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE``
2049
2746
 
2050
- The following is the format of a resource ARN: ``arn:aws:cloudtrail:us-east-2:123456789012:channel/MyChannel`` .
2747
+ Example dashboard ARN format: ``arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash``
2748
+
2749
+ Example channel ARN format: ``arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890``
2051
2750
 
2052
2751
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html#cfn-cloudtrail-resourcepolicy-resourcearn
2053
2752
  '''
@@ -2059,11 +2758,7 @@ class CfnResourcePolicyProps:
2059
2758
  def resource_policy(self) -> typing.Any:
2060
2759
  '''A JSON-formatted string for an AWS resource-based policy.
2061
2760
 
2062
- The following are requirements for the resource policy:
2063
-
2064
- - Contains only one action: cloudtrail-data:PutAuditEvents
2065
- - Contains at least one statement. The policy can have a maximum of 20 statements.
2066
- - Each statement contains at least one principal. A statement can have a maximum of 50 principals.
2761
+ For example resource-based policies, see `CloudTrail resource-based policy examples <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html>`_ in the *CloudTrail User Guide* .
2067
2762
 
2068
2763
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html#cfn-cloudtrail-resourcepolicy-resourcepolicy
2069
2764
  '''
@@ -4406,6 +5101,8 @@ __all__ = [
4406
5101
  "AddEventSelectorOptions",
4407
5102
  "CfnChannel",
4408
5103
  "CfnChannelProps",
5104
+ "CfnDashboard",
5105
+ "CfnDashboardProps",
4409
5106
  "CfnEventDataStore",
4410
5107
  "CfnEventDataStoreProps",
4411
5108
  "CfnResourcePolicy",
@@ -4498,6 +5195,98 @@ def _typecheckingstub__767e83e8a394410f21e7f497da1effaf3ef0c04f6e829362db73a8f53
4498
5195
  """Type checking stubs"""
4499
5196
  pass
4500
5197
 
5198
+ def _typecheckingstub__65875e3ceabcc57155f97b1541ff9d435e4456c9c7f0c980c1dea0ac9bffc3ce(
5199
+ scope: _constructs_77d1e7e8.Construct,
5200
+ id: builtins.str,
5201
+ *,
5202
+ name: typing.Optional[builtins.str] = None,
5203
+ refresh_schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDashboard.RefreshScheduleProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5204
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5205
+ termination_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5206
+ widgets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDashboard.WidgetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5207
+ ) -> None:
5208
+ """Type checking stubs"""
5209
+ pass
5210
+
5211
+ def _typecheckingstub__80aa78b7039f0746d57f08dc22b8127693ce2c2c4b3ede574289925bdfd4379f(
5212
+ inspector: _TreeInspector_488e0dd5,
5213
+ ) -> None:
5214
+ """Type checking stubs"""
5215
+ pass
5216
+
5217
+ def _typecheckingstub__e96a4620eb54251cb180709e3338de0cb20f46ad1ac13bee113fa445de8bc7dc(
5218
+ props: typing.Mapping[builtins.str, typing.Any],
5219
+ ) -> None:
5220
+ """Type checking stubs"""
5221
+ pass
5222
+
5223
+ def _typecheckingstub__ad3cc4c5ce87019f2d65bf513eb6f6987758697d7edaf71a8c25d63e5adcd28a(
5224
+ value: typing.Optional[builtins.str],
5225
+ ) -> None:
5226
+ """Type checking stubs"""
5227
+ pass
5228
+
5229
+ def _typecheckingstub__c189822248b924f49d3f78593489ebfdb50baaa5632423120ffc582017517a62(
5230
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDashboard.RefreshScheduleProperty]],
5231
+ ) -> None:
5232
+ """Type checking stubs"""
5233
+ pass
5234
+
5235
+ def _typecheckingstub__f30292137ba2f648895c0e1f3beefbf660ef3c12168b20e06516352a881c1581(
5236
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
5237
+ ) -> None:
5238
+ """Type checking stubs"""
5239
+ pass
5240
+
5241
+ def _typecheckingstub__784f2dc9097025d1492e66bc4ea947ce69164f00c1538ca507daa506ba7efe22(
5242
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
5243
+ ) -> None:
5244
+ """Type checking stubs"""
5245
+ pass
5246
+
5247
+ def _typecheckingstub__15acb7e7b87191d3aa52a0f02842d9b876d6cd2175319b3e4dd3ac6b352b2755(
5248
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDashboard.WidgetProperty]]]],
5249
+ ) -> None:
5250
+ """Type checking stubs"""
5251
+ pass
5252
+
5253
+ def _typecheckingstub__2f2203e866b3e98fa21e0e9b0a804e36298f95797b075211e843ddc70bd28b8c(
5254
+ *,
5255
+ unit: builtins.str,
5256
+ value: jsii.Number,
5257
+ ) -> None:
5258
+ """Type checking stubs"""
5259
+ pass
5260
+
5261
+ def _typecheckingstub__e38849bc2b8e26a855d5c01196725a15d72db451889d0b2ed0891ec262db60d8(
5262
+ *,
5263
+ frequency: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDashboard.FrequencyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5264
+ status: typing.Optional[builtins.str] = None,
5265
+ time_of_day: typing.Optional[builtins.str] = None,
5266
+ ) -> None:
5267
+ """Type checking stubs"""
5268
+ pass
5269
+
5270
+ def _typecheckingstub__dc8abf1361e0023c8b0a4cba28dced78eff4f36aa3c868efa3feed153cec95df(
5271
+ *,
5272
+ query_statement: builtins.str,
5273
+ query_parameters: typing.Optional[typing.Sequence[builtins.str]] = None,
5274
+ view_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
5275
+ ) -> None:
5276
+ """Type checking stubs"""
5277
+ pass
5278
+
5279
+ def _typecheckingstub__6929f557c8f41826314d27fdba0c2269a618fd42c6e748deaa518379a830e911(
5280
+ *,
5281
+ name: typing.Optional[builtins.str] = None,
5282
+ refresh_schedule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDashboard.RefreshScheduleProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5283
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5284
+ termination_protection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5285
+ widgets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDashboard.WidgetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5286
+ ) -> None:
5287
+ """Type checking stubs"""
5288
+ pass
5289
+
4501
5290
  def _typecheckingstub__058a94222b13ad44b4607ad5932ec9b6a2defcb250ff436576e6e8976e7b2bee(
4502
5291
  scope: _constructs_77d1e7e8.Construct,
4503
5292
  id: builtins.str,