aws-cdk-lib 2.118.0__py3-none-any.whl → 2.119.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 (52) hide show
  1. aws_cdk/__init__.py +4 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.118.0.jsii.tgz → aws-cdk-lib@2.119.0.jsii.tgz} +0 -0
  4. aws_cdk/amzn_sdc/__init__.py +496 -0
  5. aws_cdk/aws_appsync/__init__.py +23 -9
  6. aws_cdk/aws_certificatemanager/__init__.py +164 -3
  7. aws_cdk/aws_cloud9/__init__.py +3 -3
  8. aws_cdk/aws_cloudfront/__init__.py +105 -5
  9. aws_cdk/aws_cloudtrail/__init__.py +54 -34
  10. aws_cdk/aws_cloudwatch_actions/__init__.py +105 -0
  11. aws_cdk/aws_codebuild/__init__.py +1 -0
  12. aws_cdk/aws_codecommit/__init__.py +9 -3
  13. aws_cdk/aws_codetest/__init__.py +788 -0
  14. aws_cdk/aws_cognito/__init__.py +104 -0
  15. aws_cdk/aws_connect/__init__.py +626 -78
  16. aws_cdk/aws_docdb/__init__.py +442 -0
  17. aws_cdk/aws_dynamodb/__init__.py +14 -0
  18. aws_cdk/aws_ec2/__init__.py +372 -44
  19. aws_cdk/aws_emrserverless/__init__.py +20 -13
  20. aws_cdk/aws_events/__init__.py +90 -1
  21. aws_cdk/aws_fis/__init__.py +12 -32
  22. aws_cdk/aws_globalaccelerator/__init__.py +19 -0
  23. aws_cdk/aws_glue/__init__.py +329 -0
  24. aws_cdk/aws_iam/__init__.py +30 -24
  25. aws_cdk/aws_iot/__init__.py +112 -0
  26. aws_cdk/aws_iotsitewise/__init__.py +4 -4
  27. aws_cdk/aws_kendra/__init__.py +10 -5
  28. aws_cdk/aws_kinesisfirehose/__init__.py +111 -0
  29. aws_cdk/aws_location/__init__.py +1132 -17
  30. aws_cdk/aws_mediatailor/__init__.py +120 -17
  31. aws_cdk/aws_networkfirewall/__init__.py +2 -2
  32. aws_cdk/aws_networkmanager/__init__.py +1 -1
  33. aws_cdk/aws_omics/__init__.py +4 -4
  34. aws_cdk/aws_opensearchservice/__init__.py +2 -0
  35. aws_cdk/aws_pinpoint/__init__.py +14 -6
  36. aws_cdk/aws_pipes/__init__.py +7 -2
  37. aws_cdk/aws_rds/__init__.py +15 -9
  38. aws_cdk/aws_redshift/__init__.py +103 -0
  39. aws_cdk/aws_route53/__init__.py +68 -20
  40. aws_cdk/aws_s3/__init__.py +2 -4
  41. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  42. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  43. aws_cdk/aws_signer/__init__.py +27 -4
  44. aws_cdk/aws_ssm/__init__.py +76 -13
  45. aws_cdk/aws_stepfunctions/__init__.py +110 -5
  46. aws_cdk/pipelines/__init__.py +136 -37
  47. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/METADATA +2 -2
  48. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/RECORD +52 -50
  49. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/LICENSE +0 -0
  50. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/NOTICE +0 -0
  51. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/WHEEL +0 -0
  52. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/top_level.txt +0 -0
@@ -3209,6 +3209,275 @@ class CfnCrawlerProps:
3209
3209
  )
3210
3210
 
3211
3211
 
3212
+ @jsii.implements(_IInspectable_c2943556)
3213
+ class CfnCustomEntityType(
3214
+ _CfnResource_9df397a6,
3215
+ metaclass=jsii.JSIIMeta,
3216
+ jsii_type="aws-cdk-lib.aws_glue.CfnCustomEntityType",
3217
+ ):
3218
+ '''Creates a custom pattern that is used to detect sensitive data across the columns and rows of your structured data.
3219
+
3220
+ Each custom pattern you create specifies a regular expression and an optional list of context words. If no context words are passed only a regular expression is checked.
3221
+
3222
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html
3223
+ :cloudformationResource: AWS::Glue::CustomEntityType
3224
+ :exampleMetadata: fixture=_generated
3225
+
3226
+ Example::
3227
+
3228
+ # The code below shows an example of how to instantiate this type.
3229
+ # The values are placeholders you should change.
3230
+ from aws_cdk import aws_glue as glue
3231
+
3232
+ # tags: Any
3233
+
3234
+ cfn_custom_entity_type = glue.CfnCustomEntityType(self, "MyCfnCustomEntityType",
3235
+ context_words=["contextWords"],
3236
+ name="name",
3237
+ regex_string="regexString",
3238
+ tags=tags
3239
+ )
3240
+ '''
3241
+
3242
+ def __init__(
3243
+ self,
3244
+ scope: _constructs_77d1e7e8.Construct,
3245
+ id: builtins.str,
3246
+ *,
3247
+ context_words: typing.Optional[typing.Sequence[builtins.str]] = None,
3248
+ name: typing.Optional[builtins.str] = None,
3249
+ regex_string: typing.Optional[builtins.str] = None,
3250
+ tags: typing.Any = None,
3251
+ ) -> None:
3252
+ '''
3253
+ :param scope: Scope in which this resource is defined.
3254
+ :param id: Construct identifier for this resource (unique in its scope).
3255
+ :param context_words: A list of context words. If none of these context words are found within the vicinity of the regular expression the data will not be detected as sensitive data. If no context words are passed only a regular expression is checked.
3256
+ :param name: A name for the custom pattern that allows it to be retrieved or deleted later. This name must be unique per AWS account.
3257
+ :param regex_string: A regular expression string that is used for detecting sensitive data in a custom pattern.
3258
+ :param tags:
3259
+ '''
3260
+ if __debug__:
3261
+ type_hints = typing.get_type_hints(_typecheckingstub__513b5382e12edfa036d553799dc23a98aa5ab82a6014b0bf9734336e4df0b878)
3262
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3263
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3264
+ props = CfnCustomEntityTypeProps(
3265
+ context_words=context_words,
3266
+ name=name,
3267
+ regex_string=regex_string,
3268
+ tags=tags,
3269
+ )
3270
+
3271
+ jsii.create(self.__class__, self, [scope, id, props])
3272
+
3273
+ @jsii.member(jsii_name="inspect")
3274
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3275
+ '''Examines the CloudFormation resource and discloses attributes.
3276
+
3277
+ :param inspector: tree inspector to collect and process attributes.
3278
+ '''
3279
+ if __debug__:
3280
+ type_hints = typing.get_type_hints(_typecheckingstub__f1161ed4cb74764a76ad0a2a8d9218348384b8c59f0f79872699c83d6a9671c3)
3281
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
3282
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
3283
+
3284
+ @jsii.member(jsii_name="renderProperties")
3285
+ def _render_properties(
3286
+ self,
3287
+ props: typing.Mapping[builtins.str, typing.Any],
3288
+ ) -> typing.Mapping[builtins.str, typing.Any]:
3289
+ '''
3290
+ :param props: -
3291
+ '''
3292
+ if __debug__:
3293
+ type_hints = typing.get_type_hints(_typecheckingstub__5a44dbad5acfb5d1ab1a4900296aa7aa8dd3f89c6979168443c7cc1d42463a11)
3294
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3295
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3296
+
3297
+ @jsii.python.classproperty
3298
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3299
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3300
+ '''The CloudFormation resource type name for this resource class.'''
3301
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3302
+
3303
+ @builtins.property
3304
+ @jsii.member(jsii_name="attrId")
3305
+ def attr_id(self) -> builtins.str:
3306
+ '''
3307
+ :cloudformationAttribute: Id
3308
+ '''
3309
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
3310
+
3311
+ @builtins.property
3312
+ @jsii.member(jsii_name="cfnProperties")
3313
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3314
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3315
+
3316
+ @builtins.property
3317
+ @jsii.member(jsii_name="contextWords")
3318
+ def context_words(self) -> typing.Optional[typing.List[builtins.str]]:
3319
+ '''A list of context words.'''
3320
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "contextWords"))
3321
+
3322
+ @context_words.setter
3323
+ def context_words(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
3324
+ if __debug__:
3325
+ type_hints = typing.get_type_hints(_typecheckingstub__d9a1b7db0046368ee993569d7df3e7fd0804b6e98a87f04e557ae064873f7978)
3326
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3327
+ jsii.set(self, "contextWords", value)
3328
+
3329
+ @builtins.property
3330
+ @jsii.member(jsii_name="name")
3331
+ def name(self) -> typing.Optional[builtins.str]:
3332
+ '''A name for the custom pattern that allows it to be retrieved or deleted later.'''
3333
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
3334
+
3335
+ @name.setter
3336
+ def name(self, value: typing.Optional[builtins.str]) -> None:
3337
+ if __debug__:
3338
+ type_hints = typing.get_type_hints(_typecheckingstub__d11901df483ca1c3600c4415a97269b90d2adfe324a4327071f30bddc8fc6369)
3339
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3340
+ jsii.set(self, "name", value)
3341
+
3342
+ @builtins.property
3343
+ @jsii.member(jsii_name="regexString")
3344
+ def regex_string(self) -> typing.Optional[builtins.str]:
3345
+ '''A regular expression string that is used for detecting sensitive data in a custom pattern.'''
3346
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "regexString"))
3347
+
3348
+ @regex_string.setter
3349
+ def regex_string(self, value: typing.Optional[builtins.str]) -> None:
3350
+ if __debug__:
3351
+ type_hints = typing.get_type_hints(_typecheckingstub__258029d677ed510f6e111f28b88a3fd5ca710364677c254b86f15149c3939f01)
3352
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3353
+ jsii.set(self, "regexString", value)
3354
+
3355
+ @builtins.property
3356
+ @jsii.member(jsii_name="tags")
3357
+ def tags(self) -> typing.Any:
3358
+ return typing.cast(typing.Any, jsii.get(self, "tags"))
3359
+
3360
+ @tags.setter
3361
+ def tags(self, value: typing.Any) -> None:
3362
+ if __debug__:
3363
+ type_hints = typing.get_type_hints(_typecheckingstub__004ded3c6afee7c54be15b960f2dfa901eda8ff5ffd11f03dc0ad21cd665d3e9)
3364
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3365
+ jsii.set(self, "tags", value)
3366
+
3367
+
3368
+ @jsii.data_type(
3369
+ jsii_type="aws-cdk-lib.aws_glue.CfnCustomEntityTypeProps",
3370
+ jsii_struct_bases=[],
3371
+ name_mapping={
3372
+ "context_words": "contextWords",
3373
+ "name": "name",
3374
+ "regex_string": "regexString",
3375
+ "tags": "tags",
3376
+ },
3377
+ )
3378
+ class CfnCustomEntityTypeProps:
3379
+ def __init__(
3380
+ self,
3381
+ *,
3382
+ context_words: typing.Optional[typing.Sequence[builtins.str]] = None,
3383
+ name: typing.Optional[builtins.str] = None,
3384
+ regex_string: typing.Optional[builtins.str] = None,
3385
+ tags: typing.Any = None,
3386
+ ) -> None:
3387
+ '''Properties for defining a ``CfnCustomEntityType``.
3388
+
3389
+ :param context_words: A list of context words. If none of these context words are found within the vicinity of the regular expression the data will not be detected as sensitive data. If no context words are passed only a regular expression is checked.
3390
+ :param name: A name for the custom pattern that allows it to be retrieved or deleted later. This name must be unique per AWS account.
3391
+ :param regex_string: A regular expression string that is used for detecting sensitive data in a custom pattern.
3392
+ :param tags:
3393
+
3394
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html
3395
+ :exampleMetadata: fixture=_generated
3396
+
3397
+ Example::
3398
+
3399
+ # The code below shows an example of how to instantiate this type.
3400
+ # The values are placeholders you should change.
3401
+ from aws_cdk import aws_glue as glue
3402
+
3403
+ # tags: Any
3404
+
3405
+ cfn_custom_entity_type_props = glue.CfnCustomEntityTypeProps(
3406
+ context_words=["contextWords"],
3407
+ name="name",
3408
+ regex_string="regexString",
3409
+ tags=tags
3410
+ )
3411
+ '''
3412
+ if __debug__:
3413
+ type_hints = typing.get_type_hints(_typecheckingstub__b89d4d1c0831361548b8a9b2f2dbfff2bf67857569a0c9b0cc33179f8c618967)
3414
+ check_type(argname="argument context_words", value=context_words, expected_type=type_hints["context_words"])
3415
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3416
+ check_type(argname="argument regex_string", value=regex_string, expected_type=type_hints["regex_string"])
3417
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3418
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3419
+ if context_words is not None:
3420
+ self._values["context_words"] = context_words
3421
+ if name is not None:
3422
+ self._values["name"] = name
3423
+ if regex_string is not None:
3424
+ self._values["regex_string"] = regex_string
3425
+ if tags is not None:
3426
+ self._values["tags"] = tags
3427
+
3428
+ @builtins.property
3429
+ def context_words(self) -> typing.Optional[typing.List[builtins.str]]:
3430
+ '''A list of context words.
3431
+
3432
+ If none of these context words are found within the vicinity of the regular expression the data will not be detected as sensitive data.
3433
+
3434
+ If no context words are passed only a regular expression is checked.
3435
+
3436
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-contextwords
3437
+ '''
3438
+ result = self._values.get("context_words")
3439
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3440
+
3441
+ @builtins.property
3442
+ def name(self) -> typing.Optional[builtins.str]:
3443
+ '''A name for the custom pattern that allows it to be retrieved or deleted later.
3444
+
3445
+ This name must be unique per AWS account.
3446
+
3447
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-name
3448
+ '''
3449
+ result = self._values.get("name")
3450
+ return typing.cast(typing.Optional[builtins.str], result)
3451
+
3452
+ @builtins.property
3453
+ def regex_string(self) -> typing.Optional[builtins.str]:
3454
+ '''A regular expression string that is used for detecting sensitive data in a custom pattern.
3455
+
3456
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-regexstring
3457
+ '''
3458
+ result = self._values.get("regex_string")
3459
+ return typing.cast(typing.Optional[builtins.str], result)
3460
+
3461
+ @builtins.property
3462
+ def tags(self) -> typing.Any:
3463
+ '''
3464
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-tags
3465
+ '''
3466
+ result = self._values.get("tags")
3467
+ return typing.cast(typing.Any, result)
3468
+
3469
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3470
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3471
+
3472
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3473
+ return not (rhs == self)
3474
+
3475
+ def __repr__(self) -> str:
3476
+ return "CfnCustomEntityTypeProps(%s)" % ", ".join(
3477
+ k + "=" + repr(v) for k, v in self._values.items()
3478
+ )
3479
+
3480
+
3212
3481
  @jsii.implements(_IInspectable_c2943556)
3213
3482
  class CfnDataCatalogEncryptionSettings(
3214
3483
  _CfnResource_9df397a6,
@@ -14312,6 +14581,8 @@ __all__ = [
14312
14581
  "CfnConnectionProps",
14313
14582
  "CfnCrawler",
14314
14583
  "CfnCrawlerProps",
14584
+ "CfnCustomEntityType",
14585
+ "CfnCustomEntityTypeProps",
14315
14586
  "CfnDataCatalogEncryptionSettings",
14316
14587
  "CfnDataCatalogEncryptionSettingsProps",
14317
14588
  "CfnDataQualityRuleset",
@@ -14741,6 +15012,64 @@ def _typecheckingstub__51125dcaf0f55fdaefa50d6b9c05a6e431008538b8ab24abc0fbe126f
14741
15012
  """Type checking stubs"""
14742
15013
  pass
14743
15014
 
15015
+ def _typecheckingstub__513b5382e12edfa036d553799dc23a98aa5ab82a6014b0bf9734336e4df0b878(
15016
+ scope: _constructs_77d1e7e8.Construct,
15017
+ id: builtins.str,
15018
+ *,
15019
+ context_words: typing.Optional[typing.Sequence[builtins.str]] = None,
15020
+ name: typing.Optional[builtins.str] = None,
15021
+ regex_string: typing.Optional[builtins.str] = None,
15022
+ tags: typing.Any = None,
15023
+ ) -> None:
15024
+ """Type checking stubs"""
15025
+ pass
15026
+
15027
+ def _typecheckingstub__f1161ed4cb74764a76ad0a2a8d9218348384b8c59f0f79872699c83d6a9671c3(
15028
+ inspector: _TreeInspector_488e0dd5,
15029
+ ) -> None:
15030
+ """Type checking stubs"""
15031
+ pass
15032
+
15033
+ def _typecheckingstub__5a44dbad5acfb5d1ab1a4900296aa7aa8dd3f89c6979168443c7cc1d42463a11(
15034
+ props: typing.Mapping[builtins.str, typing.Any],
15035
+ ) -> None:
15036
+ """Type checking stubs"""
15037
+ pass
15038
+
15039
+ def _typecheckingstub__d9a1b7db0046368ee993569d7df3e7fd0804b6e98a87f04e557ae064873f7978(
15040
+ value: typing.Optional[typing.List[builtins.str]],
15041
+ ) -> None:
15042
+ """Type checking stubs"""
15043
+ pass
15044
+
15045
+ def _typecheckingstub__d11901df483ca1c3600c4415a97269b90d2adfe324a4327071f30bddc8fc6369(
15046
+ value: typing.Optional[builtins.str],
15047
+ ) -> None:
15048
+ """Type checking stubs"""
15049
+ pass
15050
+
15051
+ def _typecheckingstub__258029d677ed510f6e111f28b88a3fd5ca710364677c254b86f15149c3939f01(
15052
+ value: typing.Optional[builtins.str],
15053
+ ) -> None:
15054
+ """Type checking stubs"""
15055
+ pass
15056
+
15057
+ def _typecheckingstub__004ded3c6afee7c54be15b960f2dfa901eda8ff5ffd11f03dc0ad21cd665d3e9(
15058
+ value: typing.Any,
15059
+ ) -> None:
15060
+ """Type checking stubs"""
15061
+ pass
15062
+
15063
+ def _typecheckingstub__b89d4d1c0831361548b8a9b2f2dbfff2bf67857569a0c9b0cc33179f8c618967(
15064
+ *,
15065
+ context_words: typing.Optional[typing.Sequence[builtins.str]] = None,
15066
+ name: typing.Optional[builtins.str] = None,
15067
+ regex_string: typing.Optional[builtins.str] = None,
15068
+ tags: typing.Any = None,
15069
+ ) -> None:
15070
+ """Type checking stubs"""
15071
+ pass
15072
+
14744
15073
  def _typecheckingstub__282fa6292001a27626ebcdd16c3756f6c1f39e2fce0bffe2aa07015e603b0c74(
14745
15074
  scope: _constructs_77d1e7e8.Construct,
14746
15075
  id: builtins.str,
@@ -9869,27 +9869,34 @@ class PolicyStatement(
9869
9869
  ):
9870
9870
  '''Represents a statement in an IAM policy document.
9871
9871
 
9872
- :exampleMetadata: infused
9872
+ :exampleMetadata: lit=aws-ec2/test/integ.vpc-endpoint.lit.ts infused
9873
9873
 
9874
9874
  Example::
9875
9875
 
9876
- cross_account_role_arn = "arn:aws:iam::OTHERACCOUNT:role/CrossAccountRoleName" # arn of role deployed in separate account
9876
+ # Add gateway endpoints when creating the VPC
9877
+ vpc = ec2.Vpc(self, "MyVpc",
9878
+ gateway_endpoints={
9879
+ "S3": cdk.aws_ec2.GatewayVpcEndpointOptions(
9880
+ service=ec2.GatewayVpcEndpointAwsService.S3
9881
+ )
9882
+ }
9883
+ )
9884
+
9885
+ # Alternatively gateway endpoints can be added on the VPC
9886
+ dynamo_db_endpoint = vpc.add_gateway_endpoint("DynamoDbEndpoint",
9887
+ service=ec2.GatewayVpcEndpointAwsService.DYNAMODB
9888
+ )
9877
9889
 
9878
- call_region = "us-west-1" # sdk call to be made in specified region (optional)
9890
+ # This allows to customize the endpoint policy
9891
+ dynamo_db_endpoint.add_to_policy(
9892
+ iam.PolicyStatement( # Restrict to listing and describing tables
9893
+ principals=[iam.AnyPrincipal()],
9894
+ actions=["dynamodb:DescribeTable", "dynamodb:ListTables"],
9895
+ resources=["*"]))
9879
9896
 
9880
- cr.AwsCustomResource(self, "CrossAccount",
9881
- on_create=cr.AwsSdkCall(
9882
- assumed_role_arn=cross_account_role_arn,
9883
- region=call_region, # optional
9884
- service="sts",
9885
- action="GetCallerIdentity",
9886
- physical_resource_id=cr.PhysicalResourceId.of("id")
9887
- ),
9888
- policy=cr.AwsCustomResourcePolicy.from_statements([iam.PolicyStatement.from_json({
9889
- "Effect": "Allow",
9890
- "Action": "sts:AssumeRole",
9891
- "Resource": cross_account_role_arn
9892
- })])
9897
+ # Add an interface endpoint
9898
+ vpc.add_interface_endpoint("EcrDockerEndpoint",
9899
+ service=ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER
9893
9900
  )
9894
9901
  '''
9895
9902
 
@@ -12843,17 +12850,16 @@ class Role(
12843
12850
 
12844
12851
  Example::
12845
12852
 
12846
- lambda_role = iam.Role(self, "Role",
12847
- assumed_by=iam.ServicePrincipal("lambda.amazonaws.com"),
12848
- description="Example role..."
12853
+ # definition: sfn.IChainable
12854
+ role = iam.Role(self, "Role",
12855
+ assumed_by=iam.ServicePrincipal("lambda.amazonaws.com")
12849
12856
  )
12850
-
12851
- stream = kinesis.Stream(self, "MyEncryptedStream",
12852
- encryption=kinesis.StreamEncryption.KMS
12857
+ state_machine = sfn.StateMachine(self, "StateMachine",
12858
+ definition_body=sfn.DefinitionBody.from_chainable(definition)
12853
12859
  )
12854
12860
 
12855
- # give lambda permissions to read stream
12856
- stream.grant_read(lambda_role)
12861
+ # Give role permission to get execution history of ALL executions for the state machine
12862
+ state_machine.grant_execution(role, "states:GetExecutionHistory")
12857
12863
  '''
12858
12864
 
12859
12865
  def __init__(
@@ -3545,6 +3545,9 @@ class CfnDomainConfiguration(
3545
3545
  domain_configuration_status="domainConfigurationStatus",
3546
3546
  domain_name="domainName",
3547
3547
  server_certificate_arns=["serverCertificateArns"],
3548
+ server_certificate_config=iot.CfnDomainConfiguration.ServerCertificateConfigProperty(
3549
+ enable_ocsp_check=False
3550
+ ),
3548
3551
  service_type="serviceType",
3549
3552
  tags=[CfnTag(
3550
3553
  key="key",
@@ -3567,6 +3570,7 @@ class CfnDomainConfiguration(
3567
3570
  domain_configuration_status: typing.Optional[builtins.str] = None,
3568
3571
  domain_name: typing.Optional[builtins.str] = None,
3569
3572
  server_certificate_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
3573
+ server_certificate_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomainConfiguration.ServerCertificateConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3570
3574
  service_type: typing.Optional[builtins.str] = None,
3571
3575
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3572
3576
  tls_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomainConfiguration.TlsConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -3580,6 +3584,7 @@ class CfnDomainConfiguration(
3580
3584
  :param domain_configuration_status: The status to which the domain configuration should be updated. Valid values: ``ENABLED`` | ``DISABLED``
3581
3585
  :param domain_name: The name of the domain.
3582
3586
  :param server_certificate_arns: The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for AWS -managed domains.
3587
+ :param server_certificate_config:
3583
3588
  :param service_type: The type of service delivered by the endpoint. .. epigraph:: AWS IoT Core currently supports only the ``DATA`` service type.
3584
3589
  :param tags: Metadata which can be used to manage the domain configuration. .. epigraph:: For URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
3585
3590
  :param tls_config: An object that specifies the TLS configuration for a domain.
@@ -3595,6 +3600,7 @@ class CfnDomainConfiguration(
3595
3600
  domain_configuration_status=domain_configuration_status,
3596
3601
  domain_name=domain_name,
3597
3602
  server_certificate_arns=server_certificate_arns,
3603
+ server_certificate_config=server_certificate_config,
3598
3604
  service_type=service_type,
3599
3605
  tags=tags,
3600
3606
  tls_config=tls_config,
@@ -3746,6 +3752,23 @@ class CfnDomainConfiguration(
3746
3752
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3747
3753
  jsii.set(self, "serverCertificateArns", value)
3748
3754
 
3755
+ @builtins.property
3756
+ @jsii.member(jsii_name="serverCertificateConfig")
3757
+ def server_certificate_config(
3758
+ self,
3759
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainConfiguration.ServerCertificateConfigProperty"]]:
3760
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainConfiguration.ServerCertificateConfigProperty"]], jsii.get(self, "serverCertificateConfig"))
3761
+
3762
+ @server_certificate_config.setter
3763
+ def server_certificate_config(
3764
+ self,
3765
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainConfiguration.ServerCertificateConfigProperty"]],
3766
+ ) -> None:
3767
+ if __debug__:
3768
+ type_hints = typing.get_type_hints(_typecheckingstub__e961d38604909272268f83e6241e14f8644edf3b972e95582c0126a54e77a342)
3769
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3770
+ jsii.set(self, "serverCertificateConfig", value)
3771
+
3749
3772
  @builtins.property
3750
3773
  @jsii.member(jsii_name="serviceType")
3751
3774
  def service_type(self) -> typing.Optional[builtins.str]:
@@ -3878,6 +3901,61 @@ class CfnDomainConfiguration(
3878
3901
  k + "=" + repr(v) for k, v in self._values.items()
3879
3902
  )
3880
3903
 
3904
+ @jsii.data_type(
3905
+ jsii_type="aws-cdk-lib.aws_iot.CfnDomainConfiguration.ServerCertificateConfigProperty",
3906
+ jsii_struct_bases=[],
3907
+ name_mapping={"enable_ocsp_check": "enableOcspCheck"},
3908
+ )
3909
+ class ServerCertificateConfigProperty:
3910
+ def __init__(
3911
+ self,
3912
+ *,
3913
+ enable_ocsp_check: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3914
+ ) -> None:
3915
+ '''
3916
+ :param enable_ocsp_check:
3917
+
3918
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificateconfig.html
3919
+ :exampleMetadata: fixture=_generated
3920
+
3921
+ Example::
3922
+
3923
+ # The code below shows an example of how to instantiate this type.
3924
+ # The values are placeholders you should change.
3925
+ from aws_cdk import aws_iot as iot
3926
+
3927
+ server_certificate_config_property = iot.CfnDomainConfiguration.ServerCertificateConfigProperty(
3928
+ enable_ocsp_check=False
3929
+ )
3930
+ '''
3931
+ if __debug__:
3932
+ type_hints = typing.get_type_hints(_typecheckingstub__c9e3f7a32bb1f35b034ddd61e39c252e74632db889671f02c46280c93d0573a2)
3933
+ check_type(argname="argument enable_ocsp_check", value=enable_ocsp_check, expected_type=type_hints["enable_ocsp_check"])
3934
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3935
+ if enable_ocsp_check is not None:
3936
+ self._values["enable_ocsp_check"] = enable_ocsp_check
3937
+
3938
+ @builtins.property
3939
+ def enable_ocsp_check(
3940
+ self,
3941
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3942
+ '''
3943
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificateconfig.html#cfn-iot-domainconfiguration-servercertificateconfig-enableocspcheck
3944
+ '''
3945
+ result = self._values.get("enable_ocsp_check")
3946
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3947
+
3948
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3949
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3950
+
3951
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3952
+ return not (rhs == self)
3953
+
3954
+ def __repr__(self) -> str:
3955
+ return "ServerCertificateConfigProperty(%s)" % ", ".join(
3956
+ k + "=" + repr(v) for k, v in self._values.items()
3957
+ )
3958
+
3881
3959
  @jsii.data_type(
3882
3960
  jsii_type="aws-cdk-lib.aws_iot.CfnDomainConfiguration.ServerCertificateSummaryProperty",
3883
3961
  jsii_struct_bases=[],
@@ -4034,6 +4112,7 @@ class CfnDomainConfiguration(
4034
4112
  "domain_configuration_status": "domainConfigurationStatus",
4035
4113
  "domain_name": "domainName",
4036
4114
  "server_certificate_arns": "serverCertificateArns",
4115
+ "server_certificate_config": "serverCertificateConfig",
4037
4116
  "service_type": "serviceType",
4038
4117
  "tags": "tags",
4039
4118
  "tls_config": "tlsConfig",
@@ -4049,6 +4128,7 @@ class CfnDomainConfigurationProps:
4049
4128
  domain_configuration_status: typing.Optional[builtins.str] = None,
4050
4129
  domain_name: typing.Optional[builtins.str] = None,
4051
4130
  server_certificate_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
4131
+ server_certificate_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainConfiguration.ServerCertificateConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4052
4132
  service_type: typing.Optional[builtins.str] = None,
4053
4133
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4054
4134
  tls_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainConfiguration.TlsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -4061,6 +4141,7 @@ class CfnDomainConfigurationProps:
4061
4141
  :param domain_configuration_status: The status to which the domain configuration should be updated. Valid values: ``ENABLED`` | ``DISABLED``
4062
4142
  :param domain_name: The name of the domain.
4063
4143
  :param server_certificate_arns: The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for AWS -managed domains.
4144
+ :param server_certificate_config:
4064
4145
  :param service_type: The type of service delivered by the endpoint. .. epigraph:: AWS IoT Core currently supports only the ``DATA`` service type.
4065
4146
  :param tags: Metadata which can be used to manage the domain configuration. .. epigraph:: For URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
4066
4147
  :param tls_config: An object that specifies the TLS configuration for a domain.
@@ -4084,6 +4165,9 @@ class CfnDomainConfigurationProps:
4084
4165
  domain_configuration_status="domainConfigurationStatus",
4085
4166
  domain_name="domainName",
4086
4167
  server_certificate_arns=["serverCertificateArns"],
4168
+ server_certificate_config=iot.CfnDomainConfiguration.ServerCertificateConfigProperty(
4169
+ enable_ocsp_check=False
4170
+ ),
4087
4171
  service_type="serviceType",
4088
4172
  tags=[CfnTag(
4089
4173
  key="key",
@@ -4102,6 +4186,7 @@ class CfnDomainConfigurationProps:
4102
4186
  check_type(argname="argument domain_configuration_status", value=domain_configuration_status, expected_type=type_hints["domain_configuration_status"])
4103
4187
  check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
4104
4188
  check_type(argname="argument server_certificate_arns", value=server_certificate_arns, expected_type=type_hints["server_certificate_arns"])
4189
+ check_type(argname="argument server_certificate_config", value=server_certificate_config, expected_type=type_hints["server_certificate_config"])
4105
4190
  check_type(argname="argument service_type", value=service_type, expected_type=type_hints["service_type"])
4106
4191
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4107
4192
  check_type(argname="argument tls_config", value=tls_config, expected_type=type_hints["tls_config"])
@@ -4117,6 +4202,8 @@ class CfnDomainConfigurationProps:
4117
4202
  self._values["domain_name"] = domain_name
4118
4203
  if server_certificate_arns is not None:
4119
4204
  self._values["server_certificate_arns"] = server_certificate_arns
4205
+ if server_certificate_config is not None:
4206
+ self._values["server_certificate_config"] = server_certificate_config
4120
4207
  if service_type is not None:
4121
4208
  self._values["service_type"] = service_type
4122
4209
  if tags is not None:
@@ -4179,6 +4266,16 @@ class CfnDomainConfigurationProps:
4179
4266
  result = self._values.get("server_certificate_arns")
4180
4267
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
4181
4268
 
4269
+ @builtins.property
4270
+ def server_certificate_config(
4271
+ self,
4272
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainConfiguration.ServerCertificateConfigProperty]]:
4273
+ '''
4274
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-servercertificateconfig
4275
+ '''
4276
+ result = self._values.get("server_certificate_config")
4277
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainConfiguration.ServerCertificateConfigProperty]], result)
4278
+
4182
4279
  @builtins.property
4183
4280
  def service_type(self) -> typing.Optional[builtins.str]:
4184
4281
  '''The type of service delivered by the endpoint.
@@ -19851,6 +19948,7 @@ def _typecheckingstub__58bae527b5502ff5c7ab6b93d68302d8e2cbc6a5632a832f2c6bf436e
19851
19948
  domain_configuration_status: typing.Optional[builtins.str] = None,
19852
19949
  domain_name: typing.Optional[builtins.str] = None,
19853
19950
  server_certificate_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
19951
+ server_certificate_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainConfiguration.ServerCertificateConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19854
19952
  service_type: typing.Optional[builtins.str] = None,
19855
19953
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19856
19954
  tls_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainConfiguration.TlsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -19901,6 +19999,12 @@ def _typecheckingstub__4ef4b6ed6999d8d891daa0bf8e467d208eea91e61d9cdcaced2d77c5c
19901
19999
  """Type checking stubs"""
19902
20000
  pass
19903
20001
 
20002
+ def _typecheckingstub__e961d38604909272268f83e6241e14f8644edf3b972e95582c0126a54e77a342(
20003
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainConfiguration.ServerCertificateConfigProperty]],
20004
+ ) -> None:
20005
+ """Type checking stubs"""
20006
+ pass
20007
+
19904
20008
  def _typecheckingstub__3f604d76719368707bcb524945346fee877b63e531c6c9f797711e29edad34ef(
19905
20009
  value: typing.Optional[builtins.str],
19906
20010
  ) -> None:
@@ -19933,6 +20037,13 @@ def _typecheckingstub__a0137c885f6ee06843b08b821c9785482f4c15e69984bf435ea564af6
19933
20037
  """Type checking stubs"""
19934
20038
  pass
19935
20039
 
20040
+ def _typecheckingstub__c9e3f7a32bb1f35b034ddd61e39c252e74632db889671f02c46280c93d0573a2(
20041
+ *,
20042
+ enable_ocsp_check: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20043
+ ) -> None:
20044
+ """Type checking stubs"""
20045
+ pass
20046
+
19936
20047
  def _typecheckingstub__a5a7581965c46613d884dede598616df654c4e0431faf31d853441c77e54a23c(
19937
20048
  *,
19938
20049
  server_certificate_arn: typing.Optional[builtins.str] = None,
@@ -19956,6 +20067,7 @@ def _typecheckingstub__af698e1a1ead0a2d7000837dd712796a150772065ad59ab9baf10a759
19956
20067
  domain_configuration_status: typing.Optional[builtins.str] = None,
19957
20068
  domain_name: typing.Optional[builtins.str] = None,
19958
20069
  server_certificate_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
20070
+ server_certificate_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainConfiguration.ServerCertificateConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19959
20071
  service_type: typing.Optional[builtins.str] = None,
19960
20072
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19961
20073
  tls_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainConfiguration.TlsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,