aws-cdk-lib 2.164.0__py3-none-any.whl → 2.165.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 (30) hide show
  1. aws_cdk/__init__.py +20 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.164.0.jsii.tgz → aws-cdk-lib@2.165.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appsync/__init__.py +24 -18
  5. aws_cdk/aws_autoscaling/__init__.py +145 -8
  6. aws_cdk/aws_backup/__init__.py +598 -0
  7. aws_cdk/aws_bedrock/__init__.py +8 -8
  8. aws_cdk/aws_codebuild/__init__.py +88 -33
  9. aws_cdk/aws_cognito/__init__.py +657 -95
  10. aws_cdk/aws_ec2/__init__.py +122 -32
  11. aws_cdk/aws_eks/__init__.py +10 -12
  12. aws_cdk/aws_elasticache/__init__.py +47 -6
  13. aws_cdk/aws_imagebuilder/__init__.py +183 -0
  14. aws_cdk/aws_iot/__init__.py +37 -43
  15. aws_cdk/aws_iotwireless/__init__.py +2 -2
  16. aws_cdk/aws_memorydb/__init__.py +41 -0
  17. aws_cdk/aws_qbusiness/__init__.py +21 -14
  18. aws_cdk/aws_rds/__init__.py +122 -32
  19. aws_cdk/aws_redshift/__init__.py +23 -23
  20. aws_cdk/aws_refactorspaces/__init__.py +56 -61
  21. aws_cdk/aws_resiliencehub/__init__.py +4 -4
  22. aws_cdk/aws_route53/__init__.py +3 -1
  23. aws_cdk/aws_sagemaker/__init__.py +69 -0
  24. aws_cdk/aws_sqs/__init__.py +9 -12
  25. {aws_cdk_lib-2.164.0.dist-info → aws_cdk_lib-2.165.0.dist-info}/METADATA +6 -6
  26. {aws_cdk_lib-2.164.0.dist-info → aws_cdk_lib-2.165.0.dist-info}/RECORD +30 -30
  27. {aws_cdk_lib-2.164.0.dist-info → aws_cdk_lib-2.165.0.dist-info}/LICENSE +0 -0
  28. {aws_cdk_lib-2.164.0.dist-info → aws_cdk_lib-2.165.0.dist-info}/NOTICE +0 -0
  29. {aws_cdk_lib-2.164.0.dist-info → aws_cdk_lib-2.165.0.dist-info}/WHEEL +0 -0
  30. {aws_cdk_lib-2.164.0.dist-info → aws_cdk_lib-2.165.0.dist-info}/top_level.txt +0 -0
@@ -4635,6 +4635,504 @@ class CfnFrameworkProps:
4635
4635
  )
4636
4636
 
4637
4637
 
4638
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4639
+ class CfnLogicallyAirGappedBackupVault(
4640
+ _CfnResource_9df397a6,
4641
+ metaclass=jsii.JSIIMeta,
4642
+ jsii_type="aws-cdk-lib.aws_backup.CfnLogicallyAirGappedBackupVault",
4643
+ ):
4644
+ '''Creates a logical container to where backups may be copied.
4645
+
4646
+ This request includes a name, the Region, the maximum number of retention days, the minimum number of retention days, and optionally can include tags and a creator request ID.
4647
+ .. epigraph::
4648
+
4649
+ Do not include sensitive data, such as passport numbers, in the name of a backup vault.
4650
+
4651
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html
4652
+ :cloudformationResource: AWS::Backup::LogicallyAirGappedBackupVault
4653
+ :exampleMetadata: fixture=_generated
4654
+
4655
+ Example::
4656
+
4657
+ # The code below shows an example of how to instantiate this type.
4658
+ # The values are placeholders you should change.
4659
+ from aws_cdk import aws_backup as backup
4660
+
4661
+ # access_policy: Any
4662
+
4663
+ cfn_logically_air_gapped_backup_vault = backup.CfnLogicallyAirGappedBackupVault(self, "MyCfnLogicallyAirGappedBackupVault",
4664
+ backup_vault_name="backupVaultName",
4665
+ max_retention_days=123,
4666
+ min_retention_days=123,
4667
+
4668
+ # the properties below are optional
4669
+ access_policy=access_policy,
4670
+ backup_vault_tags={
4671
+ "backup_vault_tags_key": "backupVaultTags"
4672
+ },
4673
+ notifications=backup.CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty(
4674
+ backup_vault_events=["backupVaultEvents"],
4675
+ sns_topic_arn="snsTopicArn"
4676
+ ),
4677
+ vault_state="vaultState",
4678
+ vault_type="vaultType"
4679
+ )
4680
+ '''
4681
+
4682
+ def __init__(
4683
+ self,
4684
+ scope: _constructs_77d1e7e8.Construct,
4685
+ id: builtins.str,
4686
+ *,
4687
+ backup_vault_name: builtins.str,
4688
+ max_retention_days: jsii.Number,
4689
+ min_retention_days: jsii.Number,
4690
+ access_policy: typing.Any = None,
4691
+ backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4692
+ notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4693
+ vault_state: typing.Optional[builtins.str] = None,
4694
+ vault_type: typing.Optional[builtins.str] = None,
4695
+ ) -> None:
4696
+ '''
4697
+ :param scope: Scope in which this resource is defined.
4698
+ :param id: Construct identifier for this resource (unique in its scope).
4699
+ :param backup_vault_name:
4700
+ :param max_retention_days:
4701
+ :param min_retention_days:
4702
+ :param access_policy:
4703
+ :param backup_vault_tags:
4704
+ :param notifications:
4705
+ :param vault_state:
4706
+ :param vault_type:
4707
+ '''
4708
+ if __debug__:
4709
+ type_hints = typing.get_type_hints(_typecheckingstub__f46c2d817c43abec9e204fc8a7211b43dd15b93e11a637e67a9711664c3afd52)
4710
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4711
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4712
+ props = CfnLogicallyAirGappedBackupVaultProps(
4713
+ backup_vault_name=backup_vault_name,
4714
+ max_retention_days=max_retention_days,
4715
+ min_retention_days=min_retention_days,
4716
+ access_policy=access_policy,
4717
+ backup_vault_tags=backup_vault_tags,
4718
+ notifications=notifications,
4719
+ vault_state=vault_state,
4720
+ vault_type=vault_type,
4721
+ )
4722
+
4723
+ jsii.create(self.__class__, self, [scope, id, props])
4724
+
4725
+ @jsii.member(jsii_name="inspect")
4726
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4727
+ '''Examines the CloudFormation resource and discloses attributes.
4728
+
4729
+ :param inspector: tree inspector to collect and process attributes.
4730
+ '''
4731
+ if __debug__:
4732
+ type_hints = typing.get_type_hints(_typecheckingstub__415ff13e64a57b94538bf66464736e9dc201021da09242c46763584700ef7f37)
4733
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4734
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4735
+
4736
+ @jsii.member(jsii_name="renderProperties")
4737
+ def _render_properties(
4738
+ self,
4739
+ props: typing.Mapping[builtins.str, typing.Any],
4740
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4741
+ '''
4742
+ :param props: -
4743
+ '''
4744
+ if __debug__:
4745
+ type_hints = typing.get_type_hints(_typecheckingstub__90997f260b8fa85f8252a0ea2359e9f8366602c792a5b68ecfc147eaa74d69d2)
4746
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4747
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4748
+
4749
+ @jsii.python.classproperty
4750
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4751
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4752
+ '''The CloudFormation resource type name for this resource class.'''
4753
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4754
+
4755
+ @builtins.property
4756
+ @jsii.member(jsii_name="attrBackupVaultArn")
4757
+ def attr_backup_vault_arn(self) -> builtins.str:
4758
+ '''
4759
+ :cloudformationAttribute: BackupVaultArn
4760
+ '''
4761
+ return typing.cast(builtins.str, jsii.get(self, "attrBackupVaultArn"))
4762
+
4763
+ @builtins.property
4764
+ @jsii.member(jsii_name="attrEncryptionKeyArn")
4765
+ def attr_encryption_key_arn(self) -> builtins.str:
4766
+ '''
4767
+ :cloudformationAttribute: EncryptionKeyArn
4768
+ '''
4769
+ return typing.cast(builtins.str, jsii.get(self, "attrEncryptionKeyArn"))
4770
+
4771
+ @builtins.property
4772
+ @jsii.member(jsii_name="cdkTagManager")
4773
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4774
+ '''Tag Manager which manages the tags for this resource.'''
4775
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
4776
+
4777
+ @builtins.property
4778
+ @jsii.member(jsii_name="cfnProperties")
4779
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4780
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4781
+
4782
+ @builtins.property
4783
+ @jsii.member(jsii_name="backupVaultName")
4784
+ def backup_vault_name(self) -> builtins.str:
4785
+ return typing.cast(builtins.str, jsii.get(self, "backupVaultName"))
4786
+
4787
+ @backup_vault_name.setter
4788
+ def backup_vault_name(self, value: builtins.str) -> None:
4789
+ if __debug__:
4790
+ type_hints = typing.get_type_hints(_typecheckingstub__f39d44e1798aa90edd21caa75b2aedd9a4b35eaeadf66ac9f0915dfc43fc3b75)
4791
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4792
+ jsii.set(self, "backupVaultName", value) # pyright: ignore[reportArgumentType]
4793
+
4794
+ @builtins.property
4795
+ @jsii.member(jsii_name="maxRetentionDays")
4796
+ def max_retention_days(self) -> jsii.Number:
4797
+ return typing.cast(jsii.Number, jsii.get(self, "maxRetentionDays"))
4798
+
4799
+ @max_retention_days.setter
4800
+ def max_retention_days(self, value: jsii.Number) -> None:
4801
+ if __debug__:
4802
+ type_hints = typing.get_type_hints(_typecheckingstub__e59d02ebdb1e7c422e3f7f25e255cc0887eb06386383f296e54811f753cfe510)
4803
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4804
+ jsii.set(self, "maxRetentionDays", value) # pyright: ignore[reportArgumentType]
4805
+
4806
+ @builtins.property
4807
+ @jsii.member(jsii_name="minRetentionDays")
4808
+ def min_retention_days(self) -> jsii.Number:
4809
+ return typing.cast(jsii.Number, jsii.get(self, "minRetentionDays"))
4810
+
4811
+ @min_retention_days.setter
4812
+ def min_retention_days(self, value: jsii.Number) -> None:
4813
+ if __debug__:
4814
+ type_hints = typing.get_type_hints(_typecheckingstub__dd401ed590d402cdef7b7788713d25bd57d71a2ac64920c48582cd8343c69379)
4815
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4816
+ jsii.set(self, "minRetentionDays", value) # pyright: ignore[reportArgumentType]
4817
+
4818
+ @builtins.property
4819
+ @jsii.member(jsii_name="accessPolicy")
4820
+ def access_policy(self) -> typing.Any:
4821
+ return typing.cast(typing.Any, jsii.get(self, "accessPolicy"))
4822
+
4823
+ @access_policy.setter
4824
+ def access_policy(self, value: typing.Any) -> None:
4825
+ if __debug__:
4826
+ type_hints = typing.get_type_hints(_typecheckingstub__564f3be2b50608a32bfb4fa605889a2fb38d151207c69e4cc5f6ed3bffc34318)
4827
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4828
+ jsii.set(self, "accessPolicy", value) # pyright: ignore[reportArgumentType]
4829
+
4830
+ @builtins.property
4831
+ @jsii.member(jsii_name="backupVaultTags")
4832
+ def backup_vault_tags(
4833
+ self,
4834
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
4835
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "backupVaultTags"))
4836
+
4837
+ @backup_vault_tags.setter
4838
+ def backup_vault_tags(
4839
+ self,
4840
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
4841
+ ) -> None:
4842
+ if __debug__:
4843
+ type_hints = typing.get_type_hints(_typecheckingstub__27388048f12fa4b0d6686a7b40795dea7b4219e2f388afdfc5733f7043eef9a5)
4844
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4845
+ jsii.set(self, "backupVaultTags", value) # pyright: ignore[reportArgumentType]
4846
+
4847
+ @builtins.property
4848
+ @jsii.member(jsii_name="notifications")
4849
+ def notifications(
4850
+ self,
4851
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty"]]:
4852
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty"]], jsii.get(self, "notifications"))
4853
+
4854
+ @notifications.setter
4855
+ def notifications(
4856
+ self,
4857
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty"]],
4858
+ ) -> None:
4859
+ if __debug__:
4860
+ type_hints = typing.get_type_hints(_typecheckingstub__f1dc991e6a5cd9bb0776543a7419ba117220c8fec8f29ec2587f9a6747b5dcab)
4861
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4862
+ jsii.set(self, "notifications", value) # pyright: ignore[reportArgumentType]
4863
+
4864
+ @builtins.property
4865
+ @jsii.member(jsii_name="vaultState")
4866
+ def vault_state(self) -> typing.Optional[builtins.str]:
4867
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vaultState"))
4868
+
4869
+ @vault_state.setter
4870
+ def vault_state(self, value: typing.Optional[builtins.str]) -> None:
4871
+ if __debug__:
4872
+ type_hints = typing.get_type_hints(_typecheckingstub__b9497357ce276e248b82d9f2cf472851d2da1fd0eb5463b2a5d4077f02f8dbcd)
4873
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4874
+ jsii.set(self, "vaultState", value) # pyright: ignore[reportArgumentType]
4875
+
4876
+ @builtins.property
4877
+ @jsii.member(jsii_name="vaultType")
4878
+ def vault_type(self) -> typing.Optional[builtins.str]:
4879
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vaultType"))
4880
+
4881
+ @vault_type.setter
4882
+ def vault_type(self, value: typing.Optional[builtins.str]) -> None:
4883
+ if __debug__:
4884
+ type_hints = typing.get_type_hints(_typecheckingstub__8e682fdcee746b5e96b0b5dbd6b5ee449285d647373dce115026158d8424881d)
4885
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4886
+ jsii.set(self, "vaultType", value) # pyright: ignore[reportArgumentType]
4887
+
4888
+ @jsii.data_type(
4889
+ jsii_type="aws-cdk-lib.aws_backup.CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty",
4890
+ jsii_struct_bases=[],
4891
+ name_mapping={
4892
+ "backup_vault_events": "backupVaultEvents",
4893
+ "sns_topic_arn": "snsTopicArn",
4894
+ },
4895
+ )
4896
+ class NotificationObjectTypeProperty:
4897
+ def __init__(
4898
+ self,
4899
+ *,
4900
+ backup_vault_events: typing.Sequence[builtins.str],
4901
+ sns_topic_arn: builtins.str,
4902
+ ) -> None:
4903
+ '''
4904
+ :param backup_vault_events:
4905
+ :param sns_topic_arn:
4906
+
4907
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-logicallyairgappedbackupvault-notificationobjecttype.html
4908
+ :exampleMetadata: fixture=_generated
4909
+
4910
+ Example::
4911
+
4912
+ # The code below shows an example of how to instantiate this type.
4913
+ # The values are placeholders you should change.
4914
+ from aws_cdk import aws_backup as backup
4915
+
4916
+ notification_object_type_property = backup.CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty(
4917
+ backup_vault_events=["backupVaultEvents"],
4918
+ sns_topic_arn="snsTopicArn"
4919
+ )
4920
+ '''
4921
+ if __debug__:
4922
+ type_hints = typing.get_type_hints(_typecheckingstub__44eaedb9d731db6382000976b38651ee3871dd8abe22e4171998d7581dc60d48)
4923
+ check_type(argname="argument backup_vault_events", value=backup_vault_events, expected_type=type_hints["backup_vault_events"])
4924
+ check_type(argname="argument sns_topic_arn", value=sns_topic_arn, expected_type=type_hints["sns_topic_arn"])
4925
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4926
+ "backup_vault_events": backup_vault_events,
4927
+ "sns_topic_arn": sns_topic_arn,
4928
+ }
4929
+
4930
+ @builtins.property
4931
+ def backup_vault_events(self) -> typing.List[builtins.str]:
4932
+ '''
4933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-logicallyairgappedbackupvault-notificationobjecttype.html#cfn-backup-logicallyairgappedbackupvault-notificationobjecttype-backupvaultevents
4934
+ '''
4935
+ result = self._values.get("backup_vault_events")
4936
+ assert result is not None, "Required property 'backup_vault_events' is missing"
4937
+ return typing.cast(typing.List[builtins.str], result)
4938
+
4939
+ @builtins.property
4940
+ def sns_topic_arn(self) -> builtins.str:
4941
+ '''
4942
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-logicallyairgappedbackupvault-notificationobjecttype.html#cfn-backup-logicallyairgappedbackupvault-notificationobjecttype-snstopicarn
4943
+ '''
4944
+ result = self._values.get("sns_topic_arn")
4945
+ assert result is not None, "Required property 'sns_topic_arn' is missing"
4946
+ return typing.cast(builtins.str, result)
4947
+
4948
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4949
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4950
+
4951
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4952
+ return not (rhs == self)
4953
+
4954
+ def __repr__(self) -> str:
4955
+ return "NotificationObjectTypeProperty(%s)" % ", ".join(
4956
+ k + "=" + repr(v) for k, v in self._values.items()
4957
+ )
4958
+
4959
+
4960
+ @jsii.data_type(
4961
+ jsii_type="aws-cdk-lib.aws_backup.CfnLogicallyAirGappedBackupVaultProps",
4962
+ jsii_struct_bases=[],
4963
+ name_mapping={
4964
+ "backup_vault_name": "backupVaultName",
4965
+ "max_retention_days": "maxRetentionDays",
4966
+ "min_retention_days": "minRetentionDays",
4967
+ "access_policy": "accessPolicy",
4968
+ "backup_vault_tags": "backupVaultTags",
4969
+ "notifications": "notifications",
4970
+ "vault_state": "vaultState",
4971
+ "vault_type": "vaultType",
4972
+ },
4973
+ )
4974
+ class CfnLogicallyAirGappedBackupVaultProps:
4975
+ def __init__(
4976
+ self,
4977
+ *,
4978
+ backup_vault_name: builtins.str,
4979
+ max_retention_days: jsii.Number,
4980
+ min_retention_days: jsii.Number,
4981
+ access_policy: typing.Any = None,
4982
+ backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4983
+ notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4984
+ vault_state: typing.Optional[builtins.str] = None,
4985
+ vault_type: typing.Optional[builtins.str] = None,
4986
+ ) -> None:
4987
+ '''Properties for defining a ``CfnLogicallyAirGappedBackupVault``.
4988
+
4989
+ :param backup_vault_name:
4990
+ :param max_retention_days:
4991
+ :param min_retention_days:
4992
+ :param access_policy:
4993
+ :param backup_vault_tags:
4994
+ :param notifications:
4995
+ :param vault_state:
4996
+ :param vault_type:
4997
+
4998
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html
4999
+ :exampleMetadata: fixture=_generated
5000
+
5001
+ Example::
5002
+
5003
+ # The code below shows an example of how to instantiate this type.
5004
+ # The values are placeholders you should change.
5005
+ from aws_cdk import aws_backup as backup
5006
+
5007
+ # access_policy: Any
5008
+
5009
+ cfn_logically_air_gapped_backup_vault_props = backup.CfnLogicallyAirGappedBackupVaultProps(
5010
+ backup_vault_name="backupVaultName",
5011
+ max_retention_days=123,
5012
+ min_retention_days=123,
5013
+
5014
+ # the properties below are optional
5015
+ access_policy=access_policy,
5016
+ backup_vault_tags={
5017
+ "backup_vault_tags_key": "backupVaultTags"
5018
+ },
5019
+ notifications=backup.CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty(
5020
+ backup_vault_events=["backupVaultEvents"],
5021
+ sns_topic_arn="snsTopicArn"
5022
+ ),
5023
+ vault_state="vaultState",
5024
+ vault_type="vaultType"
5025
+ )
5026
+ '''
5027
+ if __debug__:
5028
+ type_hints = typing.get_type_hints(_typecheckingstub__5a3b99abcf3e8ad32b3307410738488461421bb759c6f2f630a99abc5f63bb3f)
5029
+ check_type(argname="argument backup_vault_name", value=backup_vault_name, expected_type=type_hints["backup_vault_name"])
5030
+ check_type(argname="argument max_retention_days", value=max_retention_days, expected_type=type_hints["max_retention_days"])
5031
+ check_type(argname="argument min_retention_days", value=min_retention_days, expected_type=type_hints["min_retention_days"])
5032
+ check_type(argname="argument access_policy", value=access_policy, expected_type=type_hints["access_policy"])
5033
+ check_type(argname="argument backup_vault_tags", value=backup_vault_tags, expected_type=type_hints["backup_vault_tags"])
5034
+ check_type(argname="argument notifications", value=notifications, expected_type=type_hints["notifications"])
5035
+ check_type(argname="argument vault_state", value=vault_state, expected_type=type_hints["vault_state"])
5036
+ check_type(argname="argument vault_type", value=vault_type, expected_type=type_hints["vault_type"])
5037
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5038
+ "backup_vault_name": backup_vault_name,
5039
+ "max_retention_days": max_retention_days,
5040
+ "min_retention_days": min_retention_days,
5041
+ }
5042
+ if access_policy is not None:
5043
+ self._values["access_policy"] = access_policy
5044
+ if backup_vault_tags is not None:
5045
+ self._values["backup_vault_tags"] = backup_vault_tags
5046
+ if notifications is not None:
5047
+ self._values["notifications"] = notifications
5048
+ if vault_state is not None:
5049
+ self._values["vault_state"] = vault_state
5050
+ if vault_type is not None:
5051
+ self._values["vault_type"] = vault_type
5052
+
5053
+ @builtins.property
5054
+ def backup_vault_name(self) -> builtins.str:
5055
+ '''
5056
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-backupvaultname
5057
+ '''
5058
+ result = self._values.get("backup_vault_name")
5059
+ assert result is not None, "Required property 'backup_vault_name' is missing"
5060
+ return typing.cast(builtins.str, result)
5061
+
5062
+ @builtins.property
5063
+ def max_retention_days(self) -> jsii.Number:
5064
+ '''
5065
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-maxretentiondays
5066
+ '''
5067
+ result = self._values.get("max_retention_days")
5068
+ assert result is not None, "Required property 'max_retention_days' is missing"
5069
+ return typing.cast(jsii.Number, result)
5070
+
5071
+ @builtins.property
5072
+ def min_retention_days(self) -> jsii.Number:
5073
+ '''
5074
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-minretentiondays
5075
+ '''
5076
+ result = self._values.get("min_retention_days")
5077
+ assert result is not None, "Required property 'min_retention_days' is missing"
5078
+ return typing.cast(jsii.Number, result)
5079
+
5080
+ @builtins.property
5081
+ def access_policy(self) -> typing.Any:
5082
+ '''
5083
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-accesspolicy
5084
+ '''
5085
+ result = self._values.get("access_policy")
5086
+ return typing.cast(typing.Any, result)
5087
+
5088
+ @builtins.property
5089
+ def backup_vault_tags(
5090
+ self,
5091
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
5092
+ '''
5093
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-backupvaulttags
5094
+ '''
5095
+ result = self._values.get("backup_vault_tags")
5096
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
5097
+
5098
+ @builtins.property
5099
+ def notifications(
5100
+ self,
5101
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty]]:
5102
+ '''
5103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-notifications
5104
+ '''
5105
+ result = self._values.get("notifications")
5106
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty]], result)
5107
+
5108
+ @builtins.property
5109
+ def vault_state(self) -> typing.Optional[builtins.str]:
5110
+ '''
5111
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-vaultstate
5112
+ '''
5113
+ result = self._values.get("vault_state")
5114
+ return typing.cast(typing.Optional[builtins.str], result)
5115
+
5116
+ @builtins.property
5117
+ def vault_type(self) -> typing.Optional[builtins.str]:
5118
+ '''
5119
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-vaulttype
5120
+ '''
5121
+ result = self._values.get("vault_type")
5122
+ return typing.cast(typing.Optional[builtins.str], result)
5123
+
5124
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5125
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5126
+
5127
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5128
+ return not (rhs == self)
5129
+
5130
+ def __repr__(self) -> str:
5131
+ return "CfnLogicallyAirGappedBackupVaultProps(%s)" % ", ".join(
5132
+ k + "=" + repr(v) for k, v in self._values.items()
5133
+ )
5134
+
5135
+
4638
5136
  @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4639
5137
  class CfnReportPlan(
4640
5138
  _CfnResource_9df397a6,
@@ -7074,6 +7572,8 @@ __all__ = [
7074
7572
  "CfnBackupVaultProps",
7075
7573
  "CfnFramework",
7076
7574
  "CfnFrameworkProps",
7575
+ "CfnLogicallyAirGappedBackupVault",
7576
+ "CfnLogicallyAirGappedBackupVaultProps",
7077
7577
  "CfnReportPlan",
7078
7578
  "CfnReportPlanProps",
7079
7579
  "CfnRestoreTestingPlan",
@@ -7617,6 +8117,104 @@ def _typecheckingstub__a04013c0cacc7cf95b5f7954572128dbc2c4529bb364b61a38c324e4d
7617
8117
  """Type checking stubs"""
7618
8118
  pass
7619
8119
 
8120
+ def _typecheckingstub__f46c2d817c43abec9e204fc8a7211b43dd15b93e11a637e67a9711664c3afd52(
8121
+ scope: _constructs_77d1e7e8.Construct,
8122
+ id: builtins.str,
8123
+ *,
8124
+ backup_vault_name: builtins.str,
8125
+ max_retention_days: jsii.Number,
8126
+ min_retention_days: jsii.Number,
8127
+ access_policy: typing.Any = None,
8128
+ backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8129
+ notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8130
+ vault_state: typing.Optional[builtins.str] = None,
8131
+ vault_type: typing.Optional[builtins.str] = None,
8132
+ ) -> None:
8133
+ """Type checking stubs"""
8134
+ pass
8135
+
8136
+ def _typecheckingstub__415ff13e64a57b94538bf66464736e9dc201021da09242c46763584700ef7f37(
8137
+ inspector: _TreeInspector_488e0dd5,
8138
+ ) -> None:
8139
+ """Type checking stubs"""
8140
+ pass
8141
+
8142
+ def _typecheckingstub__90997f260b8fa85f8252a0ea2359e9f8366602c792a5b68ecfc147eaa74d69d2(
8143
+ props: typing.Mapping[builtins.str, typing.Any],
8144
+ ) -> None:
8145
+ """Type checking stubs"""
8146
+ pass
8147
+
8148
+ def _typecheckingstub__f39d44e1798aa90edd21caa75b2aedd9a4b35eaeadf66ac9f0915dfc43fc3b75(
8149
+ value: builtins.str,
8150
+ ) -> None:
8151
+ """Type checking stubs"""
8152
+ pass
8153
+
8154
+ def _typecheckingstub__e59d02ebdb1e7c422e3f7f25e255cc0887eb06386383f296e54811f753cfe510(
8155
+ value: jsii.Number,
8156
+ ) -> None:
8157
+ """Type checking stubs"""
8158
+ pass
8159
+
8160
+ def _typecheckingstub__dd401ed590d402cdef7b7788713d25bd57d71a2ac64920c48582cd8343c69379(
8161
+ value: jsii.Number,
8162
+ ) -> None:
8163
+ """Type checking stubs"""
8164
+ pass
8165
+
8166
+ def _typecheckingstub__564f3be2b50608a32bfb4fa605889a2fb38d151207c69e4cc5f6ed3bffc34318(
8167
+ value: typing.Any,
8168
+ ) -> None:
8169
+ """Type checking stubs"""
8170
+ pass
8171
+
8172
+ def _typecheckingstub__27388048f12fa4b0d6686a7b40795dea7b4219e2f388afdfc5733f7043eef9a5(
8173
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
8174
+ ) -> None:
8175
+ """Type checking stubs"""
8176
+ pass
8177
+
8178
+ def _typecheckingstub__f1dc991e6a5cd9bb0776543a7419ba117220c8fec8f29ec2587f9a6747b5dcab(
8179
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty]],
8180
+ ) -> None:
8181
+ """Type checking stubs"""
8182
+ pass
8183
+
8184
+ def _typecheckingstub__b9497357ce276e248b82d9f2cf472851d2da1fd0eb5463b2a5d4077f02f8dbcd(
8185
+ value: typing.Optional[builtins.str],
8186
+ ) -> None:
8187
+ """Type checking stubs"""
8188
+ pass
8189
+
8190
+ def _typecheckingstub__8e682fdcee746b5e96b0b5dbd6b5ee449285d647373dce115026158d8424881d(
8191
+ value: typing.Optional[builtins.str],
8192
+ ) -> None:
8193
+ """Type checking stubs"""
8194
+ pass
8195
+
8196
+ def _typecheckingstub__44eaedb9d731db6382000976b38651ee3871dd8abe22e4171998d7581dc60d48(
8197
+ *,
8198
+ backup_vault_events: typing.Sequence[builtins.str],
8199
+ sns_topic_arn: builtins.str,
8200
+ ) -> None:
8201
+ """Type checking stubs"""
8202
+ pass
8203
+
8204
+ def _typecheckingstub__5a3b99abcf3e8ad32b3307410738488461421bb759c6f2f630a99abc5f63bb3f(
8205
+ *,
8206
+ backup_vault_name: builtins.str,
8207
+ max_retention_days: jsii.Number,
8208
+ min_retention_days: jsii.Number,
8209
+ access_policy: typing.Any = None,
8210
+ backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8211
+ notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8212
+ vault_state: typing.Optional[builtins.str] = None,
8213
+ vault_type: typing.Optional[builtins.str] = None,
8214
+ ) -> None:
8215
+ """Type checking stubs"""
8216
+ pass
8217
+
7620
8218
  def _typecheckingstub__5c6528de906751786b24f01244334abf14ddb763be763a416a6d4f3c8b779828(
7621
8219
  scope: _constructs_77d1e7e8.Construct,
7622
8220
  id: builtins.str,