aws-cdk-lib 2.179.0__py3-none-any.whl → 2.181.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 (70) hide show
  1. aws_cdk/__init__.py +92 -34
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.179.0.jsii.tgz → aws-cdk-lib@2.181.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +48 -1
  5. aws_cdk/aws_apigateway/__init__.py +6 -6
  6. aws_cdk/aws_appsync/__init__.py +4 -3
  7. aws_cdk/aws_backup/__init__.py +89 -0
  8. aws_cdk/aws_batch/__init__.py +89 -50
  9. aws_cdk/aws_bedrock/__init__.py +1265 -62
  10. aws_cdk/aws_chatbot/__init__.py +80 -53
  11. aws_cdk/aws_cloudformation/__init__.py +40 -8
  12. aws_cdk/aws_cloudfront/__init__.py +1046 -155
  13. aws_cdk/aws_cloudfront_origins/__init__.py +1338 -144
  14. aws_cdk/aws_cloudtrail/__init__.py +4 -8
  15. aws_cdk/aws_cloudwatch/__init__.py +1 -1
  16. aws_cdk/aws_codebuild/__init__.py +2 -2
  17. aws_cdk/aws_codepipeline/__init__.py +24 -0
  18. aws_cdk/aws_codepipeline_actions/__init__.py +28 -1
  19. aws_cdk/aws_codestar/__init__.py +2 -1
  20. aws_cdk/aws_cognito/__init__.py +100 -13
  21. aws_cdk/aws_config/__init__.py +3 -3
  22. aws_cdk/aws_connect/__init__.py +257 -0
  23. aws_cdk/aws_datasync/__init__.py +279 -50
  24. aws_cdk/aws_deadline/__init__.py +683 -6
  25. aws_cdk/aws_directoryservice/__init__.py +9 -4
  26. aws_cdk/aws_dlm/__init__.py +2 -2
  27. aws_cdk/aws_dms/__init__.py +3 -3
  28. aws_cdk/aws_dynamodb/__init__.py +4 -58
  29. aws_cdk/aws_ec2/__init__.py +377 -121
  30. aws_cdk/aws_ecs/__init__.py +37 -46
  31. aws_cdk/aws_efs/__init__.py +1 -1
  32. aws_cdk/aws_eks/__init__.py +19 -13
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +13 -27
  34. aws_cdk/aws_emrcontainers/__init__.py +44 -1
  35. aws_cdk/aws_events/__init__.py +8 -11
  36. aws_cdk/aws_fms/__init__.py +5 -5
  37. aws_cdk/aws_fsx/__init__.py +5 -4
  38. aws_cdk/aws_glue/__init__.py +161 -0
  39. aws_cdk/aws_groundstation/__init__.py +23 -1
  40. aws_cdk/aws_iam/__init__.py +12 -12
  41. aws_cdk/aws_iot/__init__.py +7 -0
  42. aws_cdk/aws_ivs/__init__.py +17 -8
  43. aws_cdk/aws_kinesis/__init__.py +689 -35
  44. aws_cdk/aws_lambda/__init__.py +10 -15
  45. aws_cdk/aws_lambda_event_sources/__init__.py +175 -2
  46. aws_cdk/aws_medialive/__init__.py +314 -4
  47. aws_cdk/aws_mediapackagev2/__init__.py +228 -0
  48. aws_cdk/aws_networkfirewall/__init__.py +3 -3
  49. aws_cdk/aws_opensearchserverless/__init__.py +31 -8
  50. aws_cdk/aws_organizations/__init__.py +3 -3
  51. aws_cdk/aws_pcaconnectorscep/__init__.py +1 -1
  52. aws_cdk/aws_rds/__init__.py +456 -100
  53. aws_cdk/aws_s3/__init__.py +278 -0
  54. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  55. aws_cdk/aws_ses/__init__.py +228 -8
  56. aws_cdk/aws_ssm/__init__.py +9 -10
  57. aws_cdk/aws_stepfunctions/__init__.py +345 -70
  58. aws_cdk/aws_stepfunctions_tasks/__init__.py +142 -142
  59. aws_cdk/aws_supportapp/__init__.py +7 -7
  60. aws_cdk/aws_transfer/__init__.py +829 -4
  61. aws_cdk/aws_wafv2/__init__.py +17 -9
  62. aws_cdk/aws_wisdom/__init__.py +149 -4
  63. aws_cdk/custom_resources/__init__.py +23 -26
  64. aws_cdk/cx_api/__init__.py +16 -0
  65. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/METADATA +1 -1
  66. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/RECORD +70 -70
  67. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/LICENSE +0 -0
  68. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/NOTICE +0 -0
  69. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/WHEEL +0 -0
  70. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/top_level.txt +0 -0
@@ -2366,6 +2366,12 @@ class CfnCrawler(
2366
2366
  dynamo_db_targets=[glue.CfnCrawler.DynamoDBTargetProperty(
2367
2367
  path="path"
2368
2368
  )],
2369
+ hudi_targets=[glue.CfnCrawler.HudiTargetProperty(
2370
+ connection_name="connectionName",
2371
+ exclusions=["exclusions"],
2372
+ maximum_traversal_depth=123,
2373
+ paths=["paths"]
2374
+ )],
2369
2375
  iceberg_targets=[glue.CfnCrawler.IcebergTargetProperty(
2370
2376
  connection_name="connectionName",
2371
2377
  exclusions=["exclusions"],
@@ -3015,6 +3021,121 @@ class CfnCrawler(
3015
3021
  k + "=" + repr(v) for k, v in self._values.items()
3016
3022
  )
3017
3023
 
3024
+ @jsii.data_type(
3025
+ jsii_type="aws-cdk-lib.aws_glue.CfnCrawler.HudiTargetProperty",
3026
+ jsii_struct_bases=[],
3027
+ name_mapping={
3028
+ "connection_name": "connectionName",
3029
+ "exclusions": "exclusions",
3030
+ "maximum_traversal_depth": "maximumTraversalDepth",
3031
+ "paths": "paths",
3032
+ },
3033
+ )
3034
+ class HudiTargetProperty:
3035
+ def __init__(
3036
+ self,
3037
+ *,
3038
+ connection_name: typing.Optional[builtins.str] = None,
3039
+ exclusions: typing.Optional[typing.Sequence[builtins.str]] = None,
3040
+ maximum_traversal_depth: typing.Optional[jsii.Number] = None,
3041
+ paths: typing.Optional[typing.Sequence[builtins.str]] = None,
3042
+ ) -> None:
3043
+ '''Specifies an Apache Hudi data source.
3044
+
3045
+ :param connection_name: The name of the connection to use to connect to the Hudi target. If your Hudi files are stored in buckets that require VPC authorization, you can set their connection properties here.
3046
+ :param exclusions: A list of glob patterns used to exclude from the crawl. For more information, see `Catalog Tables with a Crawler <https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html>`_ .
3047
+ :param maximum_traversal_depth: The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.
3048
+ :param paths: An array of Amazon S3 location strings for Hudi, each indicating the root folder with which the metadata files for a Hudi table resides. The Hudi folder may be located in a child folder of the root folder. The crawler will scan all folders underneath a path for a Hudi folder.
3049
+
3050
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-huditarget.html
3051
+ :exampleMetadata: fixture=_generated
3052
+
3053
+ Example::
3054
+
3055
+ # The code below shows an example of how to instantiate this type.
3056
+ # The values are placeholders you should change.
3057
+ from aws_cdk import aws_glue as glue
3058
+
3059
+ hudi_target_property = glue.CfnCrawler.HudiTargetProperty(
3060
+ connection_name="connectionName",
3061
+ exclusions=["exclusions"],
3062
+ maximum_traversal_depth=123,
3063
+ paths=["paths"]
3064
+ )
3065
+ '''
3066
+ if __debug__:
3067
+ type_hints = typing.get_type_hints(_typecheckingstub__422f458ef2b1c8c0aa3c32ff0df38cf66424c264aebb42dd4da159c2305a2c77)
3068
+ check_type(argname="argument connection_name", value=connection_name, expected_type=type_hints["connection_name"])
3069
+ check_type(argname="argument exclusions", value=exclusions, expected_type=type_hints["exclusions"])
3070
+ check_type(argname="argument maximum_traversal_depth", value=maximum_traversal_depth, expected_type=type_hints["maximum_traversal_depth"])
3071
+ check_type(argname="argument paths", value=paths, expected_type=type_hints["paths"])
3072
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3073
+ if connection_name is not None:
3074
+ self._values["connection_name"] = connection_name
3075
+ if exclusions is not None:
3076
+ self._values["exclusions"] = exclusions
3077
+ if maximum_traversal_depth is not None:
3078
+ self._values["maximum_traversal_depth"] = maximum_traversal_depth
3079
+ if paths is not None:
3080
+ self._values["paths"] = paths
3081
+
3082
+ @builtins.property
3083
+ def connection_name(self) -> typing.Optional[builtins.str]:
3084
+ '''The name of the connection to use to connect to the Hudi target.
3085
+
3086
+ If your Hudi files are stored in buckets that require VPC authorization, you can set their connection properties here.
3087
+
3088
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-huditarget.html#cfn-glue-crawler-huditarget-connectionname
3089
+ '''
3090
+ result = self._values.get("connection_name")
3091
+ return typing.cast(typing.Optional[builtins.str], result)
3092
+
3093
+ @builtins.property
3094
+ def exclusions(self) -> typing.Optional[typing.List[builtins.str]]:
3095
+ '''A list of glob patterns used to exclude from the crawl.
3096
+
3097
+ For more information, see `Catalog Tables with a Crawler <https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html>`_ .
3098
+
3099
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-huditarget.html#cfn-glue-crawler-huditarget-exclusions
3100
+ '''
3101
+ result = self._values.get("exclusions")
3102
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3103
+
3104
+ @builtins.property
3105
+ def maximum_traversal_depth(self) -> typing.Optional[jsii.Number]:
3106
+ '''The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path.
3107
+
3108
+ Used to limit the crawler run time.
3109
+
3110
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-huditarget.html#cfn-glue-crawler-huditarget-maximumtraversaldepth
3111
+ '''
3112
+ result = self._values.get("maximum_traversal_depth")
3113
+ return typing.cast(typing.Optional[jsii.Number], result)
3114
+
3115
+ @builtins.property
3116
+ def paths(self) -> typing.Optional[typing.List[builtins.str]]:
3117
+ '''An array of Amazon S3 location strings for Hudi, each indicating the root folder with which the metadata files for a Hudi table resides.
3118
+
3119
+ The Hudi folder may be located in a child folder of the root folder.
3120
+
3121
+ The crawler will scan all folders underneath a path for a Hudi folder.
3122
+
3123
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-huditarget.html#cfn-glue-crawler-huditarget-paths
3124
+ '''
3125
+ result = self._values.get("paths")
3126
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3127
+
3128
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3129
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3130
+
3131
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3132
+ return not (rhs == self)
3133
+
3134
+ def __repr__(self) -> str:
3135
+ return "HudiTargetProperty(%s)" % ", ".join(
3136
+ k + "=" + repr(v) for k, v in self._values.items()
3137
+ )
3138
+
3018
3139
  @jsii.data_type(
3019
3140
  jsii_type="aws-cdk-lib.aws_glue.CfnCrawler.IcebergTargetProperty",
3020
3141
  jsii_struct_bases=[],
@@ -3741,6 +3862,7 @@ class CfnCrawler(
3741
3862
  "catalog_targets": "catalogTargets",
3742
3863
  "delta_targets": "deltaTargets",
3743
3864
  "dynamo_db_targets": "dynamoDbTargets",
3865
+ "hudi_targets": "hudiTargets",
3744
3866
  "iceberg_targets": "icebergTargets",
3745
3867
  "jdbc_targets": "jdbcTargets",
3746
3868
  "mongo_db_targets": "mongoDbTargets",
@@ -3754,6 +3876,7 @@ class CfnCrawler(
3754
3876
  catalog_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCrawler.CatalogTargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3755
3877
  delta_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCrawler.DeltaTargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3756
3878
  dynamo_db_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCrawler.DynamoDBTargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3879
+ hudi_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCrawler.HudiTargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3757
3880
  iceberg_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCrawler.IcebergTargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3758
3881
  jdbc_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCrawler.JdbcTargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3759
3882
  mongo_db_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCrawler.MongoDBTargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -3764,6 +3887,7 @@ class CfnCrawler(
3764
3887
  :param catalog_targets: Specifies AWS Glue Data Catalog targets.
3765
3888
  :param delta_targets: Specifies an array of Delta data store targets.
3766
3889
  :param dynamo_db_targets: Specifies Amazon DynamoDB targets.
3890
+ :param hudi_targets: Specifies Apache Hudi data store targets.
3767
3891
  :param iceberg_targets: Specifies Apache Iceberg data store targets.
3768
3892
  :param jdbc_targets: Specifies JDBC targets.
3769
3893
  :param mongo_db_targets: A list of Mongo DB targets.
@@ -3795,6 +3919,12 @@ class CfnCrawler(
3795
3919
  dynamo_db_targets=[glue.CfnCrawler.DynamoDBTargetProperty(
3796
3920
  path="path"
3797
3921
  )],
3922
+ hudi_targets=[glue.CfnCrawler.HudiTargetProperty(
3923
+ connection_name="connectionName",
3924
+ exclusions=["exclusions"],
3925
+ maximum_traversal_depth=123,
3926
+ paths=["paths"]
3927
+ )],
3798
3928
  iceberg_targets=[glue.CfnCrawler.IcebergTargetProperty(
3799
3929
  connection_name="connectionName",
3800
3930
  exclusions=["exclusions"],
@@ -3826,6 +3956,7 @@ class CfnCrawler(
3826
3956
  check_type(argname="argument catalog_targets", value=catalog_targets, expected_type=type_hints["catalog_targets"])
3827
3957
  check_type(argname="argument delta_targets", value=delta_targets, expected_type=type_hints["delta_targets"])
3828
3958
  check_type(argname="argument dynamo_db_targets", value=dynamo_db_targets, expected_type=type_hints["dynamo_db_targets"])
3959
+ check_type(argname="argument hudi_targets", value=hudi_targets, expected_type=type_hints["hudi_targets"])
3829
3960
  check_type(argname="argument iceberg_targets", value=iceberg_targets, expected_type=type_hints["iceberg_targets"])
3830
3961
  check_type(argname="argument jdbc_targets", value=jdbc_targets, expected_type=type_hints["jdbc_targets"])
3831
3962
  check_type(argname="argument mongo_db_targets", value=mongo_db_targets, expected_type=type_hints["mongo_db_targets"])
@@ -3837,6 +3968,8 @@ class CfnCrawler(
3837
3968
  self._values["delta_targets"] = delta_targets
3838
3969
  if dynamo_db_targets is not None:
3839
3970
  self._values["dynamo_db_targets"] = dynamo_db_targets
3971
+ if hudi_targets is not None:
3972
+ self._values["hudi_targets"] = hudi_targets
3840
3973
  if iceberg_targets is not None:
3841
3974
  self._values["iceberg_targets"] = iceberg_targets
3842
3975
  if jdbc_targets is not None:
@@ -3879,6 +4012,17 @@ class CfnCrawler(
3879
4012
  result = self._values.get("dynamo_db_targets")
3880
4013
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCrawler.DynamoDBTargetProperty"]]]], result)
3881
4014
 
4015
+ @builtins.property
4016
+ def hudi_targets(
4017
+ self,
4018
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCrawler.HudiTargetProperty"]]]]:
4019
+ '''Specifies Apache Hudi data store targets.
4020
+
4021
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-huditargets
4022
+ '''
4023
+ result = self._values.get("hudi_targets")
4024
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCrawler.HudiTargetProperty"]]]], result)
4025
+
3882
4026
  @builtins.property
3883
4027
  def iceberg_targets(
3884
4028
  self,
@@ -4021,6 +4165,12 @@ class CfnCrawlerProps:
4021
4165
  dynamo_db_targets=[glue.CfnCrawler.DynamoDBTargetProperty(
4022
4166
  path="path"
4023
4167
  )],
4168
+ hudi_targets=[glue.CfnCrawler.HudiTargetProperty(
4169
+ connection_name="connectionName",
4170
+ exclusions=["exclusions"],
4171
+ maximum_traversal_depth=123,
4172
+ paths=["paths"]
4173
+ )],
4024
4174
  iceberg_targets=[glue.CfnCrawler.IcebergTargetProperty(
4025
4175
  connection_name="connectionName",
4026
4176
  exclusions=["exclusions"],
@@ -17464,6 +17614,16 @@ def _typecheckingstub__4c03ffc3d1fa17ed9770b2c448e87c012b6d363001f06ce8b95bdb9c6
17464
17614
  """Type checking stubs"""
17465
17615
  pass
17466
17616
 
17617
+ def _typecheckingstub__422f458ef2b1c8c0aa3c32ff0df38cf66424c264aebb42dd4da159c2305a2c77(
17618
+ *,
17619
+ connection_name: typing.Optional[builtins.str] = None,
17620
+ exclusions: typing.Optional[typing.Sequence[builtins.str]] = None,
17621
+ maximum_traversal_depth: typing.Optional[jsii.Number] = None,
17622
+ paths: typing.Optional[typing.Sequence[builtins.str]] = None,
17623
+ ) -> None:
17624
+ """Type checking stubs"""
17625
+ pass
17626
+
17467
17627
  def _typecheckingstub__fc4d48721f48f2b8be2bdcc36b62b7559b104ac87185a032281e5b09d46901e3(
17468
17628
  *,
17469
17629
  connection_name: typing.Optional[builtins.str] = None,
@@ -17539,6 +17699,7 @@ def _typecheckingstub__fe7a457ca9245ce0e51373e4e1d8daf444f9da978c352bc8529931e53
17539
17699
  catalog_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCrawler.CatalogTargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17540
17700
  delta_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCrawler.DeltaTargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17541
17701
  dynamo_db_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCrawler.DynamoDBTargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17702
+ hudi_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCrawler.HudiTargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17542
17703
  iceberg_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCrawler.IcebergTargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17543
17704
  jdbc_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCrawler.JdbcTargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17544
17705
  mongo_db_targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCrawler.MongoDBTargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -3030,6 +3030,7 @@ class CfnMissionProfile(
3030
3030
  contact_pre_pass_duration_seconds=123,
3031
3031
  streams_kms_key=groundstation.CfnMissionProfile.StreamsKmsKeyProperty(
3032
3032
  kms_alias_arn="kmsAliasArn",
3033
+ kms_alias_name="kmsAliasName",
3033
3034
  kms_key_arn="kmsKeyArn"
3034
3035
  ),
3035
3036
  streams_kms_role="streamsKmsRole",
@@ -3364,18 +3365,24 @@ class CfnMissionProfile(
3364
3365
  @jsii.data_type(
3365
3366
  jsii_type="aws-cdk-lib.aws_groundstation.CfnMissionProfile.StreamsKmsKeyProperty",
3366
3367
  jsii_struct_bases=[],
3367
- name_mapping={"kms_alias_arn": "kmsAliasArn", "kms_key_arn": "kmsKeyArn"},
3368
+ name_mapping={
3369
+ "kms_alias_arn": "kmsAliasArn",
3370
+ "kms_alias_name": "kmsAliasName",
3371
+ "kms_key_arn": "kmsKeyArn",
3372
+ },
3368
3373
  )
3369
3374
  class StreamsKmsKeyProperty:
3370
3375
  def __init__(
3371
3376
  self,
3372
3377
  *,
3373
3378
  kms_alias_arn: typing.Optional[builtins.str] = None,
3379
+ kms_alias_name: typing.Optional[builtins.str] = None,
3374
3380
  kms_key_arn: typing.Optional[builtins.str] = None,
3375
3381
  ) -> None:
3376
3382
  '''KMS key info.
3377
3383
 
3378
3384
  :param kms_alias_arn: KMS Alias Arn.
3385
+ :param kms_alias_name: KMS Alias Name.
3379
3386
  :param kms_key_arn: KMS Key Arn.
3380
3387
 
3381
3388
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-missionprofile-streamskmskey.html
@@ -3389,16 +3396,20 @@ class CfnMissionProfile(
3389
3396
 
3390
3397
  streams_kms_key_property = groundstation.CfnMissionProfile.StreamsKmsKeyProperty(
3391
3398
  kms_alias_arn="kmsAliasArn",
3399
+ kms_alias_name="kmsAliasName",
3392
3400
  kms_key_arn="kmsKeyArn"
3393
3401
  )
3394
3402
  '''
3395
3403
  if __debug__:
3396
3404
  type_hints = typing.get_type_hints(_typecheckingstub__9b72d6af08de28c6ebdf730f46ed7f026b1f417a505f1cd3c52737731cc4f6d0)
3397
3405
  check_type(argname="argument kms_alias_arn", value=kms_alias_arn, expected_type=type_hints["kms_alias_arn"])
3406
+ check_type(argname="argument kms_alias_name", value=kms_alias_name, expected_type=type_hints["kms_alias_name"])
3398
3407
  check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
3399
3408
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3400
3409
  if kms_alias_arn is not None:
3401
3410
  self._values["kms_alias_arn"] = kms_alias_arn
3411
+ if kms_alias_name is not None:
3412
+ self._values["kms_alias_name"] = kms_alias_name
3402
3413
  if kms_key_arn is not None:
3403
3414
  self._values["kms_key_arn"] = kms_key_arn
3404
3415
 
@@ -3411,6 +3422,15 @@ class CfnMissionProfile(
3411
3422
  result = self._values.get("kms_alias_arn")
3412
3423
  return typing.cast(typing.Optional[builtins.str], result)
3413
3424
 
3425
+ @builtins.property
3426
+ def kms_alias_name(self) -> typing.Optional[builtins.str]:
3427
+ '''KMS Alias Name.
3428
+
3429
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-missionprofile-streamskmskey.html#cfn-groundstation-missionprofile-streamskmskey-kmsaliasname
3430
+ '''
3431
+ result = self._values.get("kms_alias_name")
3432
+ return typing.cast(typing.Optional[builtins.str], result)
3433
+
3414
3434
  @builtins.property
3415
3435
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
3416
3436
  '''KMS Key Arn.
@@ -3496,6 +3516,7 @@ class CfnMissionProfileProps:
3496
3516
  contact_pre_pass_duration_seconds=123,
3497
3517
  streams_kms_key=groundstation.CfnMissionProfile.StreamsKmsKeyProperty(
3498
3518
  kms_alias_arn="kmsAliasArn",
3519
+ kms_alias_name="kmsAliasName",
3499
3520
  kms_key_arn="kmsKeyArn"
3500
3521
  ),
3501
3522
  streams_kms_role="streamsKmsRole",
@@ -4054,6 +4075,7 @@ def _typecheckingstub__b247611cb700acbb2d198be2f48ab39f22bafbf3844a6363be6523b5e
4054
4075
  def _typecheckingstub__9b72d6af08de28c6ebdf730f46ed7f026b1f417a505f1cd3c52737731cc4f6d0(
4055
4076
  *,
4056
4077
  kms_alias_arn: typing.Optional[builtins.str] = None,
4078
+ kms_alias_name: typing.Optional[builtins.str] = None,
4057
4079
  kms_key_arn: typing.Optional[builtins.str] = None,
4058
4080
  ) -> None:
4059
4081
  """Type checking stubs"""
@@ -10819,21 +10819,21 @@ class RoleProps:
10819
10819
 
10820
10820
  Example::
10821
10821
 
10822
- # Option 3: Create a new role that allows the account root principal to assume. Add this role in the `system:masters` and witch to this role from the AWS console.
10823
- # cluster: eks.Cluster
10824
-
10822
+ lambda_role = iam.Role(self, "Role",
10823
+ assumed_by=iam.ServicePrincipal("lambda.amazonaws.com"),
10824
+ description="Example role..."
10825
+ )
10825
10826
 
10826
- console_read_only_role = iam.Role(self, "ConsoleReadOnlyRole",
10827
- assumed_by=iam.ArnPrincipal("arn_for_trusted_principal")
10827
+ stream = kinesis.Stream(self, "MyEncryptedStream",
10828
+ encryption=kinesis.StreamEncryption.KMS
10829
+ )
10830
+ stream_consumer = kinesis.StreamConsumer(self, "MyStreamConsumer",
10831
+ stream_consumer_name="MyStreamConsumer",
10832
+ stream=stream
10828
10833
  )
10829
- console_read_only_role.add_to_policy(iam.PolicyStatement(
10830
- actions=["eks:AccessKubernetesApi", "eks:Describe*", "eks:List*"
10831
- ],
10832
- resources=[cluster.cluster_arn]
10833
- ))
10834
10834
 
10835
- # Add this role to system:masters RBAC group
10836
- cluster.aws_auth.add_masters_role(console_read_only_role)
10835
+ # give lambda permissions to read stream via the stream consumer
10836
+ stream_consumer.grant_read(lambda_role)
10837
10837
  '''
10838
10838
  if __debug__:
10839
10839
  type_hints = typing.get_type_hints(_typecheckingstub__9c9223cb9fa6dff45ee4fd7013629ab18542c2499a83f542c5405968fad2287c)
@@ -7540,6 +7540,13 @@ class CfnLogging(
7540
7540
  ):
7541
7541
  '''Configure logging.
7542
7542
 
7543
+ .. epigraph::
7544
+
7545
+ If you already set the log function of AWS IoT Core , you can't deploy the AWS Cloud Development Kit (AWS CDK) to change the logging settings. You can change the logging settings by either:
7546
+
7547
+ - Importing the existing logging resource into your AWS CloudFormation stack, such as with the `infrastructure as code generator (IaC generator) <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/generate-IaC.html>`_ .
7548
+ - Calling ``aws iot set-v2-logging-options --disable-all-logs`` before creating a new CloudFormation stack. This command disables all AWS IoT logging. As a result, no AWS IoT logs will be delivered to Amazon CloudWatch until you re-enable logging.
7549
+
7543
7550
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html
7544
7551
  :cloudformationResource: AWS::IoT::Logging
7545
7552
  :exampleMetadata: fixture=_generated
@@ -142,7 +142,7 @@ class CfnChannel(
142
142
  :param container_format: Indicates which content-packaging format is used (MPEG-TS or fMP4). If multitrackInputConfiguration is specified and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4. Otherwise, containerFormat may be set to TS or FRAGMENTED_MP4. Default: TS. Default: - "TS"
143
143
  :param insecure_ingest: Whether the channel allows insecure ingest. Default: - false
144
144
  :param latency_mode: Channel latency mode. Default: - "LOW"
145
- :param multitrack_input_configuration:
145
+ :param multitrack_input_configuration: Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.
146
146
  :param name: Channel. Default: - "-"
147
147
  :param preset: Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").
148
148
  :param recording_configuration_arn: Recording Configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (recording is disabled). Default: - ""
@@ -303,6 +303,7 @@ class CfnChannel(
303
303
  def multitrack_input_configuration(
304
304
  self,
305
305
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.MultitrackInputConfigurationProperty"]]:
306
+ '''Object specifying multitrack input configuration.'''
306
307
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.MultitrackInputConfigurationProperty"]], jsii.get(self, "multitrackInputConfiguration"))
307
308
 
308
309
  @multitrack_input_configuration.setter
@@ -397,7 +398,8 @@ class CfnChannel(
397
398
  maximum_resolution: typing.Optional[builtins.str] = None,
398
399
  policy: typing.Optional[builtins.str] = None,
399
400
  ) -> None:
400
- '''
401
+ '''A complex type that specifies multitrack input configuration.
402
+
401
403
  :param enabled: Indicates whether multitrack input is enabled. Can be set to true only if channel type is STANDARD. Setting enabled to true with any other channel type will cause an exception. If true, then policy, maximumResolution, and containerFormat are required, and containerFormat must be set to FRAGMENTED_MP4. Default: false. Default: - false
402
404
  :param maximum_resolution: Maximum resolution for multitrack input. Required if enabled is true.
403
405
  :param policy: Indicates whether multitrack input is allowed or required. Required if enabled is true.
@@ -516,7 +518,7 @@ class CfnChannelProps:
516
518
  :param container_format: Indicates which content-packaging format is used (MPEG-TS or fMP4). If multitrackInputConfiguration is specified and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4. Otherwise, containerFormat may be set to TS or FRAGMENTED_MP4. Default: TS. Default: - "TS"
517
519
  :param insecure_ingest: Whether the channel allows insecure ingest. Default: - false
518
520
  :param latency_mode: Channel latency mode. Default: - "LOW"
519
- :param multitrack_input_configuration:
521
+ :param multitrack_input_configuration: Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.
520
522
  :param name: Channel. Default: - "-"
521
523
  :param preset: Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").
522
524
  :param recording_configuration_arn: Recording Configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (recording is disabled). Default: - ""
@@ -640,7 +642,10 @@ class CfnChannelProps:
640
642
  def multitrack_input_configuration(
641
643
  self,
642
644
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.MultitrackInputConfigurationProperty]]:
643
- '''
645
+ '''Object specifying multitrack input configuration.
646
+
647
+ Default: no multitrack input configuration is specified.
648
+
644
649
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-multitrackinputconfiguration
645
650
  '''
646
651
  result = self._values.get("multitrack_input_configuration")
@@ -1529,7 +1534,7 @@ class CfnPlaybackKeyPair(
1529
1534
  :param scope: Scope in which this resource is defined.
1530
1535
  :param id: Construct identifier for this resource (unique in its scope).
1531
1536
  :param name: Playback-key-pair name. The value does not need to be unique.
1532
- :param public_key_material: The public portion of a customer-generated key pair.
1537
+ :param public_key_material: The public portion of a customer-generated key pair. Note that this field is required to create the AWS::IVS::PlaybackKeyPair resource.
1533
1538
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-playbackkeypair-tag.html>`_ .
1534
1539
  '''
1535
1540
  if __debug__:
@@ -1665,7 +1670,7 @@ class CfnPlaybackKeyPairProps:
1665
1670
  '''Properties for defining a ``CfnPlaybackKeyPair``.
1666
1671
 
1667
1672
  :param name: Playback-key-pair name. The value does not need to be unique.
1668
- :param public_key_material: The public portion of a customer-generated key pair.
1673
+ :param public_key_material: The public portion of a customer-generated key pair. Note that this field is required to create the AWS::IVS::PlaybackKeyPair resource.
1669
1674
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-playbackkeypair-tag.html>`_ .
1670
1675
 
1671
1676
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html
@@ -1714,6 +1719,8 @@ class CfnPlaybackKeyPairProps:
1714
1719
  def public_key_material(self) -> typing.Optional[builtins.str]:
1715
1720
  '''The public portion of a customer-generated key pair.
1716
1721
 
1722
+ Note that this field is required to create the AWS::IVS::PlaybackKeyPair resource.
1723
+
1717
1724
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html#cfn-ivs-playbackkeypair-publickeymaterial
1718
1725
  '''
1719
1726
  result = self._values.get("public_key_material")
@@ -2114,7 +2121,7 @@ class CfnPublicKey(
2114
2121
  :param scope: Scope in which this resource is defined.
2115
2122
  :param id: Construct identifier for this resource (unique in its scope).
2116
2123
  :param name: Public key name. The value does not need to be unique.
2117
- :param public_key_material: The public portion of a customer-generated key pair.
2124
+ :param public_key_material: The public portion of a customer-generated key pair. Note that this field is required to create the AWS::IVS::PublicKey resource.
2118
2125
  :param tags: An array of key-value pairs to apply to this resource.
2119
2126
  '''
2120
2127
  if __debug__:
@@ -2250,7 +2257,7 @@ class CfnPublicKeyProps:
2250
2257
  '''Properties for defining a ``CfnPublicKey``.
2251
2258
 
2252
2259
  :param name: Public key name. The value does not need to be unique.
2253
- :param public_key_material: The public portion of a customer-generated key pair.
2260
+ :param public_key_material: The public portion of a customer-generated key pair. Note that this field is required to create the AWS::IVS::PublicKey resource.
2254
2261
  :param tags: An array of key-value pairs to apply to this resource.
2255
2262
 
2256
2263
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html
@@ -2299,6 +2306,8 @@ class CfnPublicKeyProps:
2299
2306
  def public_key_material(self) -> typing.Optional[builtins.str]:
2300
2307
  '''The public portion of a customer-generated key pair.
2301
2308
 
2309
+ Note that this field is required to create the AWS::IVS::PublicKey resource.
2310
+
2302
2311
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html#cfn-ivs-publickey-publickeymaterial
2303
2312
  '''
2304
2313
  result = self._values.get("public_key_material")